32 #ifndef vtkVolumeRayCastSpaceLeapingImageFilter_h
33 #define vtkVolumeRayCastSpaceLeapingImageFilter_h
35 #include "vtkRenderingVolumeModule.h"
61 vtkGetMacro( IndependentComponents,
int );
69 vtkGetMacro( ComputeGradientOpacity,
int );
78 vtkGetMacro( ComputeMinMax,
int );
88 vtkGetMacro( UpdateGradientOpacityFlags,
int );
97 {
return LastMinMaxBuildTime.GetMTime(); }
104 {
return LastMinMaxFlagTime.GetMTime(); }
115 vtkSetVector4Macro( TableShift,
float );
116 vtkGetVector4Macro( TableShift,
float );
117 vtkSetVector4Macro( TableScale,
float );
118 vtkGetVector4Macro( TableScale,
float );
119 vtkSetVector4Macro( TableSize,
int );
120 vtkGetVector4Macro( TableSize,
int );
213 unsigned short * ScalarOpacityTable[4];
214 unsigned short * GradientOpacityTable[4];
232 int outExt[6],
int id);
abstract superclass for arrays of numeric data
general representation of visualization data
topologically and geometrically regular array of data
a simple class to control print indentation
Generic filter that has one input.
record modification and/or execution time
Builds the space leaping data structure.
~vtkVolumeRayCastSpaceLeapingImageFilter()
static void ComputeInputExtentsForOutput(int inExt[6], int inDim[3], int outExt[6], vtkImageData *inData)
Compute the extents and dimensions of the input that's required to generate an output min-max structu...
vtkIdType ComputeOffset(const int ext[6], const int wholeExt[6], int nComponents)
INTERNAL - Do not use Compute the offset within an image of whole extents wholeExt,...
static vtkVolumeRayCastSpaceLeapingImageFilter * New()
void FillScalarOpacityFlags(vtkImageData *minMaxVolume, int outExt[6])
Fill the flags after processing the min/max/gradient structure.
vtkMTimeType GetLastMinMaxFlagTime()
Get the last execution time.
int UpdateGradientOpacityFlags
unsigned short * MinNonZeroScalarIndex
int ComputeGradientOpacity
void FillScalarAndGradientOpacityFlags(vtkImageData *minMaxVolume, int outExt[6])
Fill the flags after processing the min/max/gradient structure.
void ComputeFirstNonZeroOpacityIndices()
Compute the first non-zero scalar opacity and gradient opacity values that are encountered when march...
int GetNumberOfIndependentComponents()
Get the number of independent components for which we need to keep track of min/max.
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
See superclass for details.
unsigned char * MinNonZeroGradientMagnitudeIndex
unsigned short * GetMinNonZeroScalarIndex()
Get the first non-zero scalar opacity and gradient opacity indices for each independent copmonent INT...
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
vtkVolumeRayCastSpaceLeapingImageFilter()
void InternalRequestUpdateExtent(int *, int *)
virtual vtkImageData * AllocateOutputData(vtkDataObject *out, vtkInformation *outInfo)
vtkDataArray * CurrentScalars
unsigned short * GetMinMaxVolume(int dims[4])
Get the raw pointer to the final computed space leaping datastructure.
virtual void SetCurrentScalars(vtkDataArray *)
Set the scalars.
vtkTimeStamp LastMinMaxBuildTime
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Subclasses can reimplement this method to collect information from their inputs and set information f...
unsigned char ** GetGradientMagnitude()
void ThreadedRequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int outExt[6], int id)
If the subclass does not define an Execute method, then the task will be broken up,...
unsigned char * GetMinNonZeroGradientMagnitudeIndex()
virtual void AllocateOutputData(vtkImageData *out, vtkInformation *outInfo, int *uExtent)
Allocate the output data.
void SetGradientOpacityTable(int c, unsigned short *t)
virtual void SetCache(vtkImageData *imageCache)
INTERNAL - Do not use Set the last cached min-max volume, as used by vtkFixedPointVolumeRayCastMapper...
unsigned char ** GradientMagnitude
void SetGradientMagnitude(unsigned char **gradientMagnitude)
Pointer to the pre-computed gradient magnitude structure.
int IndependentComponents
vtkMTimeType GetLastMinMaxBuildTime()
Get the last execution time.
vtkTimeStamp LastMinMaxFlagTime
void SetScalarOpacityTable(int c, unsigned short *t)
Set the scalar opacity and gradient opacity tables computed for each component by the vtkFixedPointVo...
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkTypeUInt64 vtkMTimeType