35 #ifndef vtkUnstructuredGridVolumeZSweepMapper_h 36 #define vtkUnstructuredGridVolumeZSweepMapper_h 38 #include "vtkRenderingVolumeModule.h" 60 class vtkPixelListFrame;
63 class vtkSimpleScreenEdge;
64 class vtkDoubleScreenEdge;
66 class vtkPixelListEntryMemory;
87 vtkSetClampMacro(ImageSampleDistance,
float, 0.1f, 100.0f);
88 vtkGetMacro(ImageSampleDistance,
float);
96 vtkSetClampMacro(MinimumImageSampleDistance,
float, 0.1f, 100.0f);
97 vtkGetMacro(MinimumImageSampleDistance,
float);
105 vtkSetClampMacro(MaximumImageSampleDistance,
float, 0.1f, 100.0f);
106 vtkGetMacro(MaximumImageSampleDistance,
float);
116 vtkSetClampMacro(AutoAdjustSampleDistances,
vtkTypeBool, 0, 1);
117 vtkGetMacro(AutoAdjustSampleDistances,
vtkTypeBool);
118 vtkBooleanMacro(AutoAdjustSampleDistances,
vtkTypeBool);
126 vtkSetClampMacro(IntermixIntersectingGeometry,
vtkTypeBool, 0, 1);
127 vtkGetMacro(IntermixIntersectingGeometry,
vtkTypeBool);
128 vtkBooleanMacro(IntermixIntersectingGeometry,
vtkTypeBool);
137 int GetMaxPixelListSize();
144 void SetMaxPixelListSize(
int size);
162 vtkGetVectorMacro(ImageInUseSize,
int, 2);
163 vtkGetVectorMacro(ImageOrigin,
int, 2);
164 vtkGetVectorMacro(ImageViewportSize,
int, 2);
191 void CreateAndCleanPixelList();
203 void CompositeFunction(
double zTarget);
208 unsigned char ColorComponentRealToByte(
float color);
213 void RasterizeFace(
vtkIdType faceIds[3],
int externalSide);
221 void RasterizeTriangle(vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertexEntry* ve0,
222 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertexEntry* ve1,
223 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertexEntry* ve2,
bool exitFace);
231 void RasterizeSpan(
int y, vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkScreenEdge* left,
232 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkScreenEdge* right,
bool exitFace);
240 void RasterizeLine(vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertexEntry* v0,
241 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertexEntry* v1,
bool exitFace);
250 double GetZBufferValue(
int x,
int y);
269 void SavePixelListFrame();
281 int ImageViewportSize[2];
287 int ImageMemorySize[2];
293 int ImageInUseSize[2];
315 int ZBufferOrigin[2];
323 double FaceScalars[2];
326 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkSpan*
Span;
327 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkPixelListFrame*
PixelListFrame;
332 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkUseSet*
UseSet;
335 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertices*
Vertices;
345 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkSimpleScreenEdge*
SimpleEdge;
346 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkDoubleScreenEdge*
DoubleEdge;
361 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkPixelListEntryMemory*
MemoryManager;
vtkPriorityQueue * EventList
vtkRayCastImageDisplayHelper * ImageDisplayHelper
vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkSpan * Span
represents a volume (data & properties) in a rendered scene
vtkTimeStamp SavedTriangleListMTime
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
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
void Render(vtkRenderer *ren, vtkVolume *vol) override=0
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
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
static vtkAlgorithm * New()
float MaximumImageSampleDistance
vtkDoubleArray * NearIntersections
Unstructured grid volume mapper based the ZSweep Algorithm.
vtkDoubleArray * FarIntersections
vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkDoubleScreenEdge * DoubleEdge
vtkUnstructuredGridVolumeRayIntegrator * RayIntegrator