00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _SO_VOLUME_RENDERING_
00024 #define _SO_VOLUME_RENDERING_
00025
00026 #ifdef _WIN32
00027 # pragma warning( push )
00028 # pragma warning(disable:4251)
00029 # pragma warning(disable:4244)
00030 #endif
00031
00032 #include <VolumeViz/SoVolumeVizLibName.h>
00033
00034
00035
00036 #ifdef _WIN32
00037 # ifndef VolumeViz_EXPORTS
00038 # ifndef OIV_DISABLE_AUTOLINK
00039 # pragma comment(lib,__VOLUMEVIZLIB)
00040 # endif
00041 # endif
00042 #endif // _WIN32
00043
00044 #include <Inventor/nodes/SoSubNode.h>
00045 #include <LDM/SoLDMGlobalResourceParameters.h>
00046 #include <LDM/nodes/SoHardwareQuery.h>
00047
00048 #include <Inventor/SoModule.h>
00049 SO_MODULE_HEADER(SoVolumeViz, __VOLUMEVIZDLL)
00050
00051 class SoLDMTileManager;
00052
00085 class SoVolumeRendering {
00086
00087 public:
00107 static void init();
00108
00119 static void finish();
00120
00125 static bool isInitialized();
00126
00128
00129
00139 static void setWriteAlternateRep( SbBool flag );
00140
00144 static SbBool getWriteAlternateRep();
00145
00153 static void setReadAlternateRep( SbBool flag );
00154
00158 static SbBool getReadAlternateRep();
00159
00163 enum HW_Feature {
00174 HW_3DTEXMAP = SoHardwareQuery::HW_3DTEXMAP,
00180 HW_TEXCOLORMAP = SoHardwareQuery::HW_TEXCOLORMAP,
00185 HW_TEXCOMPRESSION = SoHardwareQuery::HW_TEXCOMPRESSION
00186 };
00187
00191 enum HW_SupportStatus {
00193 NO = SoHardwareQuery::NO,
00195 YES,
00197 UNKNOWN
00198 };
00199
00209 static HW_SupportStatus isSupported( HW_Feature feature );
00210
00211 #if 1 SoDEPRECATED
00224 static void setDelayedRendering( SbBool flag );
00225 SoDEPRECATED
00230 static SbBool getDelayedRendering();
00231
00232 #endif
00234
00235 private:
00236
00237 enum Cmd{
00238 SET_WRITE_ALTERNATE_REP = 0,
00239 SET_READ_ALTERNATE_REP,
00240 SET_DELAYED_RENDERING,
00241 SET_IGNORE_FULLY_TRANSPARENT_TILES,
00242 SET_MOVE_LOW_RES
00243 };
00244
00245 SoVolumeRendering();
00246
00247 private:
00248
00249
00250 static SbBool s_writeAlternateRep;
00251 static SbBool s_readAlternateRep;
00252 static SbBool s_delayedRendering;
00253 static int s_debugFlag;
00254
00255 static int s_initRefCount;
00256
00257 static const char* s_versionString;
00258 };
00259
00260 #if defined(_WIN32)
00261 #pragma warning( pop )
00262 #endif
00263
00264 #endif // _SO_VOLUME_RENDERING_
00265
00266
00267