VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
vtkPrimitivePainter Class Reference

superclass for class that handle single privmitives. More...

#include <vtkPrimitivePainter.h>

Inheritance diagram for vtkPrimitivePainter:
Inheritance graph
[legend]
Collaboration diagram for vtkPrimitivePainter:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkPolyDataPainter Superclass

Public Member Functions

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

Static Public Member Functions

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

Protected Types

enum  {
  VTK_PDM_NORMALS = 0x001, VTK_PDM_COLORS = 0x002, VTK_PDM_TCOORDS = 0x004, VTK_PDM_CELL_COLORS = 0x008,
  VTK_PDM_CELL_NORMALS = 0x010, VTK_PDM_OPAQUE_COLORS = 0x020, VTK_PDM_FIELD_COLORS = 0x040, VTK_PDM_EDGEFLAGS = 0x080,
  VTK_PDM_GENERIC_VERTEX_ATTRIBUTES = 0x100
}

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 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, bool forceCompileOnly)

Protected Attributes

int SupportedPrimitive
int DisableScalarColor
vtkPolyDataOutputData
vtkTimeStamp OutputUpdateTime
bool GenericVertexAttributes
bool MultiTextureAttributes

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 38 of file vtkPrimitivePainter.h.


Member Typedef Documentation

Reimplemented from vtkPolyDataPainter.

Reimplemented in vtkLinesPainter, vtkPointsPainter, vtkPolygonsPainter, and vtkTStripsPainter.

Definition at line 41 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_EDGEFLAGS 
VTK_PDM_GENERIC_VERTEX_ATTRIBUTES 

Definition at line 55 of file vtkPrimitivePainter.h.


Constructor & Destructor Documentation


Member Function Documentation

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 vtkTypeMacro 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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataPainter.

Reimplemented in vtkLinesPainter, vtkPointsPainter, vtkPolygonsPainter, and vtkTStripsPainter.

virtual vtkObjectBase* vtkPrimitivePainter::NewInstanceInternal ( ) const [protected, virtual]
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.

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 efficient 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,
bool  forceCompileOnly 
) [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 112 of file vtkPrimitivePainter.h.

Definition at line 113 of file vtkPrimitivePainter.h.

Definition at line 117 of file vtkPrimitivePainter.h.

Definition at line 118 of file vtkPrimitivePainter.h.

Definition at line 119 of file vtkPrimitivePainter.h.

Definition at line 120 of file vtkPrimitivePainter.h.


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