64 #ifndef vtkSmartVolumeMapper_h
65 #define vtkSmartVolumeMapper_h
68 #include "vtkRenderingVolumeOpenGL2Module.h"
71 VTK_ABI_NAMESPACE_BEGIN
100 vtkSetMacro(FinalColorWindow,
float);
107 vtkGetMacro(FinalColorWindow,
float);
118 vtkSetMacro(FinalColorLevel,
float);
125 vtkGetMacro(FinalColorLevel,
float);
131 DefaultRenderMode = 0,
132 RayCastRenderMode = 1,
134 OSPRayRenderMode = 3,
135 UndefinedRenderMode = 4,
136 InvalidRenderMode = 5
143 void SetRequestedRenderMode(
int mode);
150 void SetRequestedRenderModeToDefault();
157 void SetRequestedRenderModeToRayCast();
164 void SetRequestedRenderModeToGPU();
170 void SetRequestedRenderModeToOSPRay();
176 vtkGetMacro(RequestedRenderMode,
int);
183 int GetLastUsedRenderMode();
193 vtkSetMacro(MaxMemoryInBytes,
vtkIdType);
194 vtkGetMacro(MaxMemoryInBytes,
vtkIdType);
204 vtkSetClampMacro(MaxMemoryFraction,
float, 0.1f, 1.0f);
205 vtkGetMacro(MaxMemoryFraction,
float);
214 vtkGetMacro(InterpolationMode,
int);
215 void SetInterpolationModeToNearestNeighbor();
216 void SetInterpolationModeToLinear();
217 void SetInterpolationModeToCubic();
246 vtkSetClampMacro(InteractiveUpdateRate,
double, 1.0e-10, 1.0e10);
255 vtkGetMacro(InteractiveUpdateRate,
double);
267 vtkSetClampMacro(InteractiveAdjustSampleDistances,
vtkTypeBool, 0, 1);
268 vtkGetMacro(InteractiveAdjustSampleDistances,
vtkTypeBool);
269 vtkBooleanMacro(InteractiveAdjustSampleDistances,
vtkTypeBool);
282 vtkSetClampMacro(AutoAdjustSampleDistances,
vtkTypeBool, 0, 1);
283 vtkGetMacro(AutoAdjustSampleDistances,
vtkTypeBool);
284 vtkBooleanMacro(AutoAdjustSampleDistances,
vtkTypeBool);
295 vtkSetMacro(SampleDistance,
float);
296 vtkGetMacro(SampleDistance,
float);
306 vtkSetClampMacro(GlobalIlluminationReach,
float, 0.0f, 1.0f);
307 vtkGetMacro(GlobalIlluminationReach,
float);
317 vtkSetClampMacro(VolumetricScatteringBlending,
float, 0.0f, 2.0f);
318 vtkGetMacro(VolumetricScatteringBlending,
float);
350 void SetVectorMode(
int mode);
351 vtkGetMacro(VectorMode,
int);
353 vtkSetClampMacro(VectorComponent,
int, 0, 3);
354 vtkGetMacro(VectorComponent,
int);
361 vtkSetStringMacro(Transfer2DYAxisArray);
362 vtkGetStringMacro(Transfer2DYAxisArray);
375 LowResModeDisabled = 0,
376 LowResModeResample = 1,
379 vtkSetMacro(LowResMode,
int);
380 vtkGetMacro(LowResMode,
int)
384 ~vtkSmartVolumeMapper() override;
404 float FinalColorWindow;
405 float FinalColorLevel;
413 float MaxMemoryFraction;
419 int InterpolationMode;
427 int RequestedRenderMode;
428 int CurrentRenderMode;
438 int RayCastSupported;
439 int LowResGPUNecessary;
484 vtkGPUVolumeRayCastMapper* GPULowResMapper;
485 vtkGPUVolumeRayCastMapper* GPUMapper;
494 int InitializedBlendMode;
504 float SampleDistance;
509 float GlobalIlluminationReach = 0.0;
514 float VolumetricScatteringBlending = 0.0;
527 double InteractiveUpdateRate;
565 char* Transfer2DYAxisArray;
567 int LowResMode = LowResModeDisabled;
585 vtkSmartVolumeMapper(const vtkSmartVolumeMapper&) = delete;
586 void operator=(const vtkSmartVolumeMapper&) = delete;
591 VTK_ABI_NAMESPACE_END
represents a volume (data & properties) in a rendered scene
#define VTK_RESLICE_NEAREST
Abstract class for a volume mapper.
#define VTK_RESLICE_CUBIC
abstract class to specify dataset behavior
LowResModeType
LowResDisable disables low res mode (default) LowResResample enable low res mode by automatically res...
record modification and/or execution time
Resamples an image to be larger or smaller.
abstract specification for renderers
Mapper to render volumes defined as vtkMultiBlockDataSet.
void Render(vtkRenderer *ren, vtkVolume *vol) override=0
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
window superclass for vtkRenderWindow
VectorModeType
VectorMode is a special rendering mode for 3-component vectors which makes use of GPURayCastMapper's ...
a simple class to control print indentation
topologically and geometrically regular array of data
abstract superclass for arrays of numeric data
represents the common properties for rendering a volume.
void ReleaseGraphicsResources(vtkWindow *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
A fixed point mapper for volumes.
create a window for renderers to draw into
Removes link dependence on optional ospray module.
static vtkAlgorithm * New()
Ray casting performed on the GPU.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.