117 #ifndef vtkHAVSVolumeMapper_h 118 #define vtkHAVSVolumeMapper_h 120 #include "vtkRenderingVolumeModule.h" 123 #define VTK_KBUFFER_SIZE_2 0 124 #define VTK_KBUFFER_SIZE_6 1 125 #define VTK_FIELD_LEVEL_OF_DETAIL 0 126 #define VTK_AREA_LEVEL_OF_DETAIL 1 130 class vtkDepthRadixSortUnstructuredGrid;
131 class vtkHAVSSortedFace;
146 vtkGetMacro(PartiallyRemoveNonConvexities,
bool);
154 vtkGetMacro(LevelOfDetailTargetTime,
float);
162 vtkGetMacro(LevelOfDetail,
bool);
169 void SetLevelOfDetailMethod(
int);
170 vtkGetMacro(LevelOfDetailMethod,
int);
182 vtkGetMacro(KBufferSize,
int);
203 virtual void SetGPUDataStructures(
bool) = 0;
204 vtkGetMacro(GPUDataStructures,
bool);
212 void InitializePrimitives(
vtkVolume *vol);
213 void InitializeScalars();
214 void InitializeLevelOfDetail();
215 void InitializeLookupTables(
vtkVolume *vol);
217 void FRadixSort(vtkHAVSSortedFace *array, vtkHAVSSortedFace *temp,
int lo,
int up);
218 void FRadix(
int byte,
int len, vtkHAVSSortedFace *
source, vtkHAVSSortedFace *dest,
int *count);
220 void UpdateLevelOfDetail(
float targetTime);
221 void PartialVisibilitySort(
float *eye);
222 bool CheckInitializationError();
228 UNSUPPORTED_EXTENSIONS=2,
237 double ScalarRange[2];
vtkTimeStamp ColorTransferFunctionMTime
unsigned int * InternalTriangles
#define VTK_KBUFFER_SIZE_2
represents a volume (data & properties) in a rendered scene
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
unsigned int NumberOfVertices
record modification and/or execution time
void SetLevelOfDetailMethodArea()
Set/get the current level-of-detail method.
virtual bool SupportedByHardware(vtkRenderer *vtkNotUsed(r))
Check hardware support for the HAVS algorithm.
unsigned int NumberOfBoundaryTriangles
abstract specification for renderers
void SetLevelOfDetailMethodField()
Set/get the current level-of-detail method.
#define VTK_FIELD_LEVEL_OF_DETAIL
vtkTimeStamp ScalarsMTime
unsigned int NumberOfInternalTriangles
a simple class to control print indentation
Abstract class for a unstructured grid volume mapper.
#define VTK_AREA_LEVEL_OF_DETAIL
#define VTK_KBUFFER_SIZE_6
float LevelOfDetailTargetTime
dataset represents arbitrary combinations of all possible cell types
vtkTimeStamp AlphaTransferFunctionMTime
unsigned int * OrderedTriangles
unsigned int NumberOfScalars
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void SetKBufferSizeTo2()
Set the kbuffer size.
float CurrentLevelOfDetail
boost::graph_traits< vtkGraph *>::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
bool PartiallyRemoveNonConvexities
vtkHAVSSortedFace * SortedFaces
float LevelOfDetailMaxEdgeLength
static vtkAlgorithm * New()
vtkHAVSSortedFace * RadixTemp
unsigned int * BoundaryTriangles
unsigned int LevelOfDetailTriangleCount
vtkTimeStamp UnstructuredGridMTime
void SetKBufferSizeTo6()
Set the kbuffer size.
Hardware-Assisted Visibility Sorting unstructured grid mapper.
unsigned int NumberOfTriangles
unsigned int NumberOfCells