38 #ifndef vtkUnstructuredGridVolumeZSweepMapper_h
39 #define vtkUnstructuredGridVolumeZSweepMapper_h
41 #include "vtkRenderingVolumeModule.h"
63 class vtkPixelListFrame;
66 class vtkSimpleScreenEdge;
67 class vtkDoubleScreenEdge;
69 class vtkPixelListEntryMemory;
89 vtkSetClampMacro( ImageSampleDistance,
float, 0.1f, 100.0f );
90 vtkGetMacro( ImageSampleDistance,
float );
98 vtkSetClampMacro( MinimumImageSampleDistance,
float, 0.1f, 100.0f );
99 vtkGetMacro( MinimumImageSampleDistance,
float );
107 vtkSetClampMacro( MaximumImageSampleDistance,
float, 0.1f, 100.0f );
108 vtkGetMacro( MaximumImageSampleDistance,
float );
118 vtkSetClampMacro( AutoAdjustSampleDistances,
int, 0, 1 );
119 vtkGetMacro( AutoAdjustSampleDistances,
int );
128 vtkSetClampMacro( IntermixIntersectingGeometry,
int, 0, 1 );
129 vtkGetMacro( IntermixIntersectingGeometry,
int );
139 int GetMaxPixelListSize();
146 void SetMaxPixelListSize(
int size);
165 vtkGetVectorMacro( ImageInUseSize,
int, 2 );
166 vtkGetVectorMacro( ImageOrigin,
int, 2 );
167 vtkGetVectorMacro( ImageViewportSize,
int , 2 );
196 void CreateAndCleanPixelList();
208 void CompositeFunction(
double zTarget);
213 unsigned char ColorComponentRealToByte(
float color);
218 void RasterizeFace(
vtkIdType faceIds[3],
int externalSide);
226 void RasterizeTriangle(
227 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertexEntry *ve0,
228 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertexEntry *ve1,
229 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertexEntry *ve2,
238 void RasterizeSpan(
int y,
239 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkScreenEdge *left,
240 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkScreenEdge *right,
250 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertexEntry *v0,
251 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertexEntry *v1,
264 double GetZBufferValue(
int x,
285 void SavePixelListFrame();
297 int ImageViewportSize[2];
303 int ImageMemorySize[2];
309 int ImageInUseSize[2];
331 int ZBufferOrigin[2];
339 double FaceScalars[2];
342 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkSpan *
Span;
343 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkPixelListFrame *
PixelListFrame;
348 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkUseSet *
UseSet;
351 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkVertices *
Vertices;
361 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkSimpleScreenEdge *
SimpleEdge;
362 vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkDoubleScreenEdge *
DoubleEdge;
378 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
virtual void Render(vtkRenderer *ren, vtkVolume *vol)=0
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
float ImageSampleDistance
vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkPixelListEntryMemory * MemoryManager
vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkSimpleScreenEdge * SimpleEdge
record modification and/or execution time
vtkVolume ** RenderVolumeTable
abstract specification for renderers
provides thread-safe access to cells
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 a 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()
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
int IntermixIntersectingGeometry
float MaximumImageSampleDistance
vtkDoubleArray * NearIntersections
int AutoAdjustSampleDistances
Unstructured grid volume mapper based the ZSweep Algorithm.
vtkDoubleArray * FarIntersections
vtkUnstructuredGridVolumeZSweepMapperNamespace::vtkDoubleScreenEdge * DoubleEdge
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkUnstructuredGridVolumeRayIntegrator * RayIntegrator