30 #ifndef vtkGPUVolumeRayCastMapper_h
31 #define vtkGPUVolumeRayCastMapper_h
32 #include <unordered_map>
35 #include <vtkRenderingVolumeModule.h>
57 vtkSetClampMacro( AutoAdjustSampleDistances,
vtkTypeBool, 0, 1 );
58 vtkGetMacro( AutoAdjustSampleDistances,
vtkTypeBool );
59 vtkBooleanMacro( AutoAdjustSampleDistances,
vtkTypeBool );
68 vtkSetClampMacro( LockSampleDistanceToInputSpacing,
vtkTypeBool, 0, 1 );
69 vtkGetMacro( LockSampleDistanceToInputSpacing,
vtkTypeBool );
70 vtkBooleanMacro( LockSampleDistanceToInputSpacing,
vtkTypeBool );
79 vtkSetClampMacro( UseJittering,
vtkTypeBool, 0, 1 );
93 vtkSetClampMacro( UseDepthPass,
vtkTypeBool, 0, 1 );
112 vtkSetMacro( SampleDistance,
float );
113 vtkGetMacro( SampleDistance,
float );
124 vtkSetClampMacro( ImageSampleDistance,
float, 0.1f, 100.0f );
125 vtkGetMacro( ImageSampleDistance,
float );
133 vtkSetClampMacro( MinimumImageSampleDistance,
float, 0.1f, 100.0f );
134 vtkGetMacro( MinimumImageSampleDistance,
float );
142 vtkSetClampMacro( MaximumImageSampleDistance,
float, 0.1f, 100.0f );
143 vtkGetMacro( MaximumImageSampleDistance,
float );
161 vtkSetMacro( FinalColorWindow,
float );
162 vtkGetMacro( FinalColorWindow,
float );
163 vtkSetMacro( FinalColorLevel,
float );
164 vtkGetMacro( FinalColorLevel,
float );
173 vtkSetMacro( MaxMemoryInBytes,
vtkIdType );
174 vtkGetMacro( MaxMemoryInBytes,
vtkIdType );
183 vtkSetClampMacro( MaxMemoryFraction,
float, 0.1f, 1.0f );
184 vtkGetMacro( MaxMemoryFraction,
float );
196 vtkSetMacro(ReportProgress,
bool);
197 vtkGetMacro(ReportProgress,
bool);
216 double viewDirection[3],
245 enum { BinaryMaskType = 0, LabelMapMaskType };
252 vtkSetMacro( MaskType,
int );
253 vtkGetMacro( MaskType,
int );
254 void SetMaskTypeToBinary();
255 void SetMaskTypeToLabelMap();
267 vtkSetClampMacro(MaskBlendFactor,
float,0.0f,1.0f);
268 vtkGetMacro(MaskBlendFactor,
float);
297 vtkSetMacro(DepthImageScalarType,
int);
298 vtkGetMacro(DepthImageScalarType,
int);
299 void SetDepthImageScalarTypeToUnsignedChar();
300 void SetDepthImageScalarTypeToUnsignedShort();
301 void SetDepthImageScalarTypeToFloat();
318 vtkBooleanMacro(ClampDepthToBackface,
vtkTypeBool);
369 virtual void GetReductionRatio(
double ratio[3])=0;
394 vtkSetMacro(ColorRangeType,
int);
395 vtkGetMacro(ColorRangeType,
int);
396 vtkSetMacro(ScalarOpacityRangeType,
int);
397 vtkGetMacro(ScalarOpacityRangeType,
int);
398 vtkSetMacro(GradientOpacityRangeType,
int);
399 vtkGetMacro(GradientOpacityRangeType,
int);
455 void TransformInput(
const int port);
468 int ValidateInputs();
488 double datasetBounds[6],
489 double scalarRange[2],
490 int numberOfScalarComponents,
491 unsigned int numberOfLevels)=0;
496 unsigned int level)=0;
499 int numberOfScalarComponents)=0;
507 void SetCellFlag(
int cellFlag);
508 void RemovePortInternal(
const int port);
583 virtual void ClipCroppingRegionPlanes();
585 using DataMap = std::unordered_map<int, vtkImageData*>;
589 double ClippedCroppingRegionPlanes[6];