44#ifndef vtkUnstructuredGridPreIntegration_h
45#define vtkUnstructuredGridPreIntegration_h
47#include "vtkRenderingVolumeModule.h"
78 vtkSetMacro(IntegrationTableScalarResolution,
int);
79 vtkGetMacro(IntegrationTableScalarResolution,
int);
80 vtkSetMacro(IntegrationTableLengthResolution,
int);
81 vtkGetMacro(IntegrationTableLengthResolution,
int);
122 float* GetTableEntry(
double scalar_front,
double scalar_back,
double length,
int component = 0);
129 float* GetIndexedTableEntry(
130 int scalar_front_index,
int scalar_back_index,
int length_index,
int component = 0);
162 int scalar_front_index,
int scalar_back_index,
int length_index,
int component)
167 if (scalar_front_index < 0)
168 scalar_front_index = 0;
171 if (scalar_back_index < 0)
172 scalar_back_index = 0;
175 if (length_index < 0)
184 scalar_front_index));
abstract superclass for arrays of numeric data
dynamic, self-adjusting array of double
a simple class to control print indentation
record modification and/or execution time
performs ray integration with pre-integration tables.
vtkTimeStamp IntegrationTableBuilt
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...
void Integrate(vtkDoubleArray *intersectionLengths, vtkDataArray *nearIntersections, vtkDataArray *farIntersections, float color[4]) override
Given a set of intersections (defined by the three arrays), compute the piecewise integration of the ...
double IntegrationTableLengthScale
static vtkUnstructuredGridPreIntegration * New()
double * IntegrationTableScalarShift
virtual double GetIntegrationTableScalarScale(int component=0)
Get how an integration table is indexed.
vtkTypeBool IncrementalPreIntegration
int IntegrationTableLengthResolution
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int IntegrationTableScalarResolution
vtkVolumeProperty * Property
float * GetTableEntry(double scalar_front, double scalar_back, double length, int component=0)
Get an entry (RGBA) in one of the pre-integration tables.
virtual double GetIntegrationTableScalarShift(int component=0)
Get how an integration table is indexed.
float ** IntegrationTable
virtual double GetIntegrationTableLengthScale()
Get how an integration table is indexed.
virtual float * GetPreIntegrationTable(int component=0)
Get the partial pre-integration table for the given scalar component.
virtual void BuildPreIntegrationTables(vtkDataArray *scalars)
double * IntegrationTableScalarScale
vtkUnstructuredGridPreIntegration()
~vtkUnstructuredGridPreIntegration() override
void Initialize(vtkVolume *volume, vtkDataArray *scalars) override
Set up the integrator with the given properties and scalars.
virtual void SetIntegrator(vtkUnstructuredGridVolumeRayIntegrator *)
The class used to fill the pre integration table.
vtkUnstructuredGridVolumeRayIntegrator * Integrator
a superclass for volume ray integration functions
represents the common properties for rendering a volume.
represents a volume (data & properties) in a rendered scene