120#ifndef vtkHAVSVolumeMapper_h
121#define vtkHAVSVolumeMapper_h
123#include "vtkRenderingVolumeModule.h"
126#define VTK_KBUFFER_SIZE_2 0
127#define VTK_KBUFFER_SIZE_6 1
128#define VTK_FIELD_LEVEL_OF_DETAIL 0
129#define VTK_AREA_LEVEL_OF_DETAIL 1
133class vtkDepthRadixSortUnstructuredGrid;
134class vtkHAVSSortedFace;
149 vtkGetMacro(PartiallyRemoveNonConvexities,
bool);
157 vtkGetMacro(LevelOfDetailTargetTime,
float);
165 vtkGetMacro(LevelOfDetail,
bool);
173 vtkGetMacro(LevelOfDetailMethod,
int);
185 vtkGetMacro(KBufferSize,
int);
207 vtkGetMacro(GPUDataStructures,
bool);
220 void FRadixSort(vtkHAVSSortedFace *array, vtkHAVSSortedFace *temp,
int lo,
int up);
221 void FRadix(
int byte,
int len, vtkHAVSSortedFace *
source, vtkHAVSSortedFace *dest,
int *count);
231 UNSUPPORTED_EXTENSIONS=2,
240 double ScalarRange[2];
Hardware-Assisted Visibility Sorting unstructured grid mapper.
virtual void Initialize(vtkRenderer *ren, vtkVolume *vol)=0
vtkTimeStamp AlphaTransferFunctionMTime
bool CheckInitializationError()
void InitializeLevelOfDetail()
unsigned int NumberOfInternalTriangles
unsigned int NumberOfBoundaryTriangles
unsigned int NumberOfTriangles
virtual bool SupportedByHardware(vtkRenderer *vtkNotUsed(r))
Check hardware support for the HAVS algorithm.
static vtkHAVSVolumeMapper * New()
vtkTimeStamp UnstructuredGridMTime
unsigned int * OrderedTriangles
virtual void SetGPUDataStructures(bool)=0
Set/get whether or not the data structures should be stored on the GPU for better peformance.
vtkTimeStamp ColorTransferFunctionMTime
float LevelOfDetailMaxEdgeLength
vtkHAVSSortedFace * RadixTemp
vtkTimeStamp ScalarsMTime
void SetLevelOfDetailMethodField()
void UpdateLevelOfDetail(float targetTime)
void InitializeLookupTables(vtkVolume *vol)
bool PartiallyRemoveNonConvexities
unsigned int LevelOfDetailTriangleCount
void FRadixSort(vtkHAVSSortedFace *array, vtkHAVSSortedFace *temp, int lo, int up)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkHAVSSortedFace * SortedFaces
void InitializePrimitives(vtkVolume *vol)
void FRadix(int byte, int len, vtkHAVSSortedFace *source, vtkHAVSSortedFace *dest, int *count)
unsigned int * InternalTriangles
unsigned int NumberOfCells
void SetLevelOfDetailMethod(int)
Set/get the current level-of-detail method.
void SetLevelOfDetailMethodArea()
float CurrentLevelOfDetail
unsigned int NumberOfScalars
void PartialVisibilitySort(float *eye)
float LevelOfDetailTargetTime
unsigned int NumberOfVertices
unsigned int * BoundaryTriangles
a simple class to control print indentation
abstract specification for renderers
record modification and/or execution time
Abstract class for a unstructured grid volume mapper.
dataset represents arbitrary combinations of all possible cell types
represents a volume (data & properties) in a rendered scene
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
#define VTK_KBUFFER_SIZE_2
#define VTK_FIELD_LEVEL_OF_DETAIL
#define VTK_AREA_LEVEL_OF_DETAIL
#define VTK_KBUFFER_SIZE_6
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.