Go to the documentation of this file.
44 #ifndef vtkUnstructuredGridPreIntegration_h
45 #define vtkUnstructuredGridPreIntegration_h
47 #include "vtkRenderingVolumeModule.h"
65 float color[4])
override;
80 vtkSetMacro(IntegrationTableScalarResolution,
int);
81 vtkGetMacro(IntegrationTableScalarResolution,
int);
82 vtkSetMacro(IntegrationTableLengthResolution,
int);
83 vtkGetMacro(IntegrationTableLengthResolution,
int);
90 virtual double GetIntegrationTableScalarShift(
int component = 0);
91 virtual double GetIntegrationTableScalarScale(
int component = 0);
92 virtual double GetIntegrationTableLengthScale();
102 vtkGetMacro(IncrementalPreIntegration,
vtkTypeBool);
103 vtkSetMacro(IncrementalPreIntegration,
vtkTypeBool);
104 vtkBooleanMacro(IncrementalPreIntegration,
vtkTypeBool);
118 virtual float *GetPreIntegrationTable(
int component = 0);
124 float *GetTableEntry(
double scalar_front,
double scalar_back,
double length,
132 float *GetIndexedTableEntry(
int scalar_front_index,
int scalar_back_index,
157 virtual void BuildPreIntegrationTables(
vtkDataArray *scalars);
165 int scalar_front_index,
166 int scalar_back_index,
173 if (scalar_front_index < 0) scalar_front_index = 0;
176 if (scalar_back_index < 0) scalar_back_index = 0;
179 if (length_index < 0) length_index = 0;
187 + scalar_front_index));
193 int sfi = static_cast<int>( scalar_front
202 #endif //vtkUnstructuredGridPreIntegration_h
double * IntegrationTableScalarScale
a superclass for volume ray integration functions
virtual void Integrate(vtkDoubleArray *intersectionLengths, vtkDataArray *nearIntersections, vtkDataArray *farIntersections, float color[4])=0
Given a set of intersections (defined by the three arrays), compute the piecewise integration of the ...
represents a volume (data & properties) in a rendered scene
float * GetTableEntry(double scalar_front, double scalar_back, double length, int component=0)
Get an entry (RGBA) in one of the pre-integration tables.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
record modification and/or execution time
abstract superclass for arrays of numeric data
vtkTimeStamp IntegrationTableBuilt
performs ray integration with pre-integration tables.
int IntegrationTableScalarResolution
double * IntegrationTableScalarShift
double IntegrationTableLengthScale
vtkUnstructuredGridVolumeRayIntegrator * Integrator
int IntegrationTableLengthResolution
a simple class to control print indentation
float ** IntegrationTable
virtual void Initialize(vtkVolume *volume, vtkDataArray *scalars)=0
Set up the integrator with the given properties and scalars.
dynamic, self-adjusting array of double
float * GetIndexedTableEntry(int scalar_front_index, int scalar_back_index, int length_index, int component=0)
Like GetTableEntry, except the inputs are scaled indices into the table rather than than the actual s...
vtkTypeBool IncrementalPreIntegration
represents the common properties for rendering a volume.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkVolumeProperty * Property