vtkPrimitivePainter Class Reference

#include <vtkPrimitivePainter.h>

Inheritance diagram for vtkPrimitivePainter:

Inheritance graph
[legend]
Collaboration diagram for vtkPrimitivePainter:

Collaboration graph
[legend]

List of all members.


Detailed Description

superclass for class that handle single privmitives.

This is the abstract superclass for classes that handle single type of primitive i.e. verts, lines, polys or tstrips. Concrete subclasses will pass a Render() call to the delegate painter, if any, only if it could not render.

Thanks:
Support for generic vertex attributes in VTK was contributed in collaboration with Stephane Ploix at EDF.

Definition at line 37 of file vtkPrimitivePainter.h.


Public Types

typedef vtkPolyDataPainter Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual int GetSupportedPrimitive ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkPrimitivePainterSafeDownCast (vtkObject *o)

Protected Types

enum  {
  VTK_PDM_NORMALS = 0x01, VTK_PDM_COLORS = 0x02, VTK_PDM_TCOORDS = 0x04, VTK_PDM_CELL_COLORS = 0x08,
  VTK_PDM_CELL_NORMALS = 0x10, VTK_PDM_OPAQUE_COLORS = 0x20, VTK_PDM_FIELD_COLORS = 0x40, VTK_PDM_GENERIC_VERTEX_ATTRIBUTES = 0x80
}

Protected Member Functions

 vtkPrimitivePainter ()
 ~vtkPrimitivePainter ()
virtual void PrepareForRendering (vtkRenderer *, vtkActor *)
virtual void ProcessInformation (vtkInformation *)
virtual vtkDataObjectGetOutput ()
virtual void ReportReferences (vtkGarbageCollector *collector)
virtual void SetSupportedPrimitive (int)
virtual int RenderPrimitive (unsigned long flags, vtkDataArray *n, vtkUnsignedCharArray *c, vtkDataArray *t, vtkRenderer *ren)=0
virtual void RenderInternal (vtkRenderer *renderer, vtkActor *actor, unsigned long typeflags)

Protected Attributes

int SupportedPrimitive
int DisableScalarColor
vtkPolyDataOutputData
vtkTimeStamp OutputUpdateTime
bool GenericVertexAttributes

Member Typedef Documentation

Reimplemented from vtkPolyDataPainter.

Reimplemented in vtkLinesPainter, vtkPointsPainter, vtkPolygonsPainter, and vtkTStripsPainter.

Definition at line 40 of file vtkPrimitivePainter.h.


Member Enumeration Documentation

anonymous enum [protected]

Enumerator:
VTK_PDM_NORMALS 
VTK_PDM_COLORS 
VTK_PDM_TCOORDS 
VTK_PDM_CELL_COLORS 
VTK_PDM_CELL_NORMALS 
VTK_PDM_OPAQUE_COLORS 
VTK_PDM_FIELD_COLORS 
VTK_PDM_GENERIC_VERTEX_ATTRIBUTES 

Definition at line 54 of file vtkPrimitivePainter.h.


Constructor & Destructor Documentation

vtkPrimitivePainter::vtkPrimitivePainter (  )  [protected]

vtkPrimitivePainter::~vtkPrimitivePainter (  )  [protected]


Member Function Documentation

virtual const char* vtkPrimitivePainter::GetClassName (  )  [virtual]

static int vtkPrimitivePainter::IsTypeOf ( const char *  name  )  [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataPainter.

Reimplemented in vtkLinesPainter, vtkPointsPainter, vtkPolygonsPainter, and vtkTStripsPainter.

virtual int vtkPrimitivePainter::IsA ( const char *  name  )  [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataPainter.

Reimplemented in vtkLinesPainter, vtkPointsPainter, vtkPolygonsPainter, and vtkTStripsPainter.

static vtkPrimitivePainter* vtkPrimitivePainter::SafeDownCast ( vtkObject o  )  [static]

void vtkPrimitivePainter::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkPolyDataPainter.

Reimplemented in vtkLinesPainter, vtkPointsPainter, vtkPolygonsPainter, and vtkTStripsPainter.

virtual int vtkPrimitivePainter::GetSupportedPrimitive (  )  [virtual]

Get the type of primitive supported by this painter. This must be set by concrete subclasses.

virtual void vtkPrimitivePainter::PrepareForRendering ( vtkRenderer ,
vtkActor  
) [protected, virtual]

Some subclasses may need to do some preprocessing before the actual rendering can be done eg. build effecient representation for the data etc. This should be done here. This method get called after the ProcessInformation() but before RenderInternal(). This method is overridden to update the output data as per the input.

Reimplemented from vtkPainter.

virtual void vtkPrimitivePainter::ProcessInformation ( vtkInformation  )  [protected, virtual]

Called before RenderInternal() if the Information has been changed since the last time this method was called.

Reimplemented from vtkPolyDataPainter.

virtual vtkDataObject* vtkPrimitivePainter::GetOutput (  )  [protected, virtual]

Subclasses need to override this to return the output of the pipeline.

Reimplemented from vtkPainter.

virtual int vtkPrimitivePainter::RenderPrimitive ( unsigned long  flags,
vtkDataArray n,
vtkUnsignedCharArray c,
vtkDataArray t,
vtkRenderer ren 
) [protected, pure virtual]

The actual rendering happens here. This method is called only when SupportedPrimitive is present in typeflags when Render() is invoked. This method returns 1 when the rendering was successful. Concrete Primitive painters may support rendering a primitive only when the input data satifies certain criteria. The return value is used to decide if the subclasses succeeded in rendereing. If not the render request is forwarded to the delegate. On success, the request forwareded to the delegate does not include a request to render the supported primitive type.

Implemented in vtkLinesPainter, vtkPointsPainter, vtkPolygonsPainter, and vtkTStripsPainter.

virtual void vtkPrimitivePainter::RenderInternal ( vtkRenderer renderer,
vtkActor actor,
unsigned long  typeflags 
) [protected, virtual]

Based on the input polydata, setups certains flags and call RenderPrimitive() which is overridden by subclasses. If RenderPrimitive() is successful, the request forwarded to the delegate painter is with typeflags = (typeflags & ~this->SupportedPrimitive) i.e. the request is to render everything other than what the subclass rendered.

Reimplemented from vtkPainter.

Reimplemented in vtkLinesPainter.

virtual void vtkPrimitivePainter::ReportReferences ( vtkGarbageCollector collector  )  [protected, virtual]

Take part in garbage collection.

Reimplemented from vtkPainter.

virtual void vtkPrimitivePainter::SetSupportedPrimitive ( int   )  [protected, virtual]


Member Data Documentation

Definition at line 109 of file vtkPrimitivePainter.h.

Definition at line 110 of file vtkPrimitivePainter.h.

Definition at line 114 of file vtkPrimitivePainter.h.

Definition at line 115 of file vtkPrimitivePainter.h.

Definition at line 116 of file vtkPrimitivePainter.h.


The documentation for this class was generated from the following file:

Generated on Sat Dec 27 13:44:46 2008 for VTK by  doxygen 1.5.6