39 #ifndef vtkGPUVolumeRayCastMapper_h
40 #define vtkGPUVolumeRayCastMapper_h
41 #include <unordered_map>
45 #include <vtkRenderingVolumeModule.h>
65 vtkSetClampMacro(AutoAdjustSampleDistances,
vtkTypeBool, 0, 1);
66 vtkGetMacro(AutoAdjustSampleDistances,
vtkTypeBool);
67 vtkBooleanMacro(AutoAdjustSampleDistances,
vtkTypeBool);
76 vtkSetClampMacro(LockSampleDistanceToInputSpacing,
vtkTypeBool, 0, 1);
77 vtkGetMacro(LockSampleDistanceToInputSpacing,
vtkTypeBool);
78 vtkBooleanMacro(LockSampleDistanceToInputSpacing,
vtkTypeBool);
120 vtkSetMacro(SampleDistance,
float);
121 vtkGetMacro(SampleDistance,
float);
132 vtkSetClampMacro(ImageSampleDistance,
float, 0.1f, 100.0f);
133 vtkGetMacro(ImageSampleDistance,
float);
141 vtkSetClampMacro(MinimumImageSampleDistance,
float, 0.1f, 100.0f);
142 vtkGetMacro(MinimumImageSampleDistance,
float);
150 vtkSetClampMacro(MaximumImageSampleDistance,
float, 0.1f, 100.0f);
151 vtkGetMacro(MaximumImageSampleDistance,
float);
168 vtkSetMacro(FinalColorWindow,
float);
169 vtkGetMacro(FinalColorWindow,
float);
170 vtkSetMacro(FinalColorLevel,
float);
171 vtkGetMacro(FinalColorLevel,
float);
180 vtkSetMacro(MaxMemoryInBytes,
vtkIdType);
181 vtkGetMacro(MaxMemoryInBytes,
vtkIdType);
190 vtkSetClampMacro(MaxMemoryFraction,
float, 0.1f, 1.0f);
191 vtkGetMacro(MaxMemoryFraction,
float);
203 vtkSetMacro(ReportProgress,
bool);
204 vtkGetMacro(ReportProgress,
bool);
220 double viewDirection[3],
double viewUp[3]);
258 vtkSetMacro(MaskType,
int);
259 vtkGetMacro(MaskType,
int);
260 void SetMaskTypeToBinary();
261 void SetMaskTypeToLabelMap();
273 vtkSetClampMacro(MaskBlendFactor,
float, 0.0f, 1.0f);
274 vtkGetMacro(MaskBlendFactor,
float);
303 vtkSetMacro(DepthImageScalarType,
int);
304 vtkGetMacro(DepthImageScalarType,
int);
305 void SetDepthImageScalarTypeToUnsignedChar();
306 void SetDepthImageScalarTypeToUnsignedShort();
307 void SetDepthImageScalarTypeToFloat();
324 vtkBooleanMacro(ClampDepthToBackface,
vtkTypeBool);
375 virtual void GetReductionRatio(
double ratio[3]) = 0;
400 vtkSetMacro(ColorRangeType,
int);
401 vtkGetMacro(ColorRangeType,
int);
402 vtkSetMacro(ScalarOpacityRangeType,
int);
403 vtkGetMacro(ScalarOpacityRangeType,
int);
404 vtkSetMacro(GradientOpacityRangeType,
int);
405 vtkGetMacro(GradientOpacityRangeType,
int);
458 void TransformInput(
const int port);
471 int ValidateInputs();
490 double scalarRange[2],
int numberOfScalarComponents,
unsigned int numberOfLevels) = 0;
495 virtual void PostRender(
vtkRenderer* ren,
int numberOfScalarComponents) = 0;
503 void SetCellFlag(
int cellFlag);
504 void RemovePortInternal(
const int port);
579 virtual void ClipCroppingRegionPlanes();
581 using DataMap = std::unordered_map<int, vtkImageData*>;
585 double ClippedCroppingRegionPlanes[6];