35 #ifndef vtkUnstructuredGridVolumeZSweepMapper_h 36 #define vtkUnstructuredGridVolumeZSweepMapper_h 38 #include "vtkRenderingVolumeModule.h" 60 class vtkPixelListFrame;
63 class vtkSimpleScreenEdge;
64 class vtkDoubleScreenEdge;
66 class vtkPixelListEntryMemory;
73 void PrintSelf( ostream& os,
vtkIndent indent )
override;
86 vtkSetClampMacro( ImageSampleDistance,
float, 0.1f, 100.0f );
87 vtkGetMacro( ImageSampleDistance,
float );
95 vtkSetClampMacro( MinimumImageSampleDistance,
float, 0.1f, 100.0f );
96 vtkGetMacro( MinimumImageSampleDistance,
float );
104 vtkSetClampMacro( MaximumImageSampleDistance,
float, 0.1f, 100.0f );
105 vtkGetMacro( MaximumImageSampleDistance,
float );
115 vtkSetClampMacro( AutoAdjustSampleDistances,
vtkTypeBool, 0, 1 );
116 vtkGetMacro( AutoAdjustSampleDistances,
vtkTypeBool );
117 vtkBooleanMacro( AutoAdjustSampleDistances,
vtkTypeBool );
125 vtkSetClampMacro( IntermixIntersectingGeometry,
vtkTypeBool, 0, 1 );
126 vtkGetMacro( IntermixIntersectingGeometry,
vtkTypeBool );
127 vtkBooleanMacro( IntermixIntersectingGeometry,
vtkTypeBool );
136 int GetMaxPixelListSize();
143 void SetMaxPixelListSize(
int size);
162 vtkGetVectorMacro( ImageInUseSize,
int, 2 );
163 vtkGetVectorMacro( ImageOrigin,
int, 2 );
164 vtkGetVectorMacro( ImageViewportSize,
int , 2 );
193 void CreateAndCleanPixelList();
205 void CompositeFunction(
double zTarget);
210 unsigned char ColorComponentRealToByte(
float color);
215 void RasterizeFace(
vtkIdType faceIds[3],
int externalSide);
223 void RasterizeTriangle(
224 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertexEntry *ve0,
225 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertexEntry *ve1,
226 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertexEntry *ve2,
235 void RasterizeSpan(
int y,
236 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkScreenEdge *left,
237 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkScreenEdge *right,
247 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertexEntry *v0,
248 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertexEntry *v1,
261 double GetZBufferValue(
int x,
282 void SavePixelListFrame();
294 int ImageViewportSize[2];
300 int ImageMemorySize[2];
306 int ImageInUseSize[2];
328 int ZBufferOrigin[2];
336 double FaceScalars[2];
339 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkSpan *
Span;
340 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkPixelListFrame *
PixelListFrame;
345 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkUseSet *
UseSet;
348 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertices *
Vertices;
358 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkSimpleScreenEdge *
SimpleEdge;
359 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkDoubleScreenEdge *
DoubleEdge;
375 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkPixelListEntryMemory *
MemoryManager;
vtkPriorityQueue * EventList
vtkRayCastImageDisplayHelper * ImageDisplayHelper
vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkSpan * Span
represents a volume (data & properties) in a rendered scene
vtkTimeStamp SavedTriangleListMTime
represent and manipulate 4x4 transformation matrices
float ImageSampleDistance
vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkPixelListEntryMemory * MemoryManager
vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkSimpleScreenEdge * SimpleEdge
record modification and/or execution time
vtkVolume ** RenderVolumeTable
abstract specification for renderers
vtkTypeBool AutoAdjustSampleDistances
provides thread-safe access to cells
vtkTypeBool IntermixIntersectingGeometry
vtkUnstructuredGridVolumeRayIntegrator * RealRayIntegrator
helper class that draws the image to the screen
vtkMatrix4x4 * PerspectiveMatrix
vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertices * Vertices
dynamic, self-adjusting array of double
a list of ids arranged in priority order
a superclass for volume ray integration functions
abstract class to specify cell behavior
float MinimumImageSampleDistance
int MaxPixelListSizeReached
a simple class to control print indentation
vtkIdType MaxRecordedPixelListSize
Abstract class for an unstructured grid volume mapper.
list of point or cell ids
vtkTransform * PerspectiveTransform
abstract superclass for arrays of numeric data
vtkRenderer ** RenderRendererTable
vtkDoubleArray * IntersectionLengths
represents the common properties for rendering a volume.
vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkPixelListFrame * PixelListFrame
vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkUseSet * UseSet
create a window for renderers to draw into
float MaximumImageSampleDistance
vtkDoubleArray * NearIntersections
Unstructured grid volume mapper based the ZSweep Algorithm.
vtkDoubleArray * FarIntersections
vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkDoubleScreenEdge * DoubleEdge
vtkUnstructuredGridVolumeRayIntegrator * RayIntegrator