VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
vtkPrimitivePainter Class Referenceabstract

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

#include <vtkPrimitivePainter.h>

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

Public Types

typedef vtkPolyDataPainter Superclass
 
- Public Types inherited from vtkPolyDataPainter
typedef vtkPainter Superclass
 
- Public Types inherited from vtkPainter
enum  { VERTS = 0x1, LINES = 0x2, POLYS = 0x4, STRIPS = 0x8 }
 
typedef vtkObject Superclass
 
- Public Types inherited from vtkObject
typedef vtkObjectBase Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkPrimitivePainterNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual int GetSupportedPrimitive ()
 
- Public Member Functions inherited from vtkPolyDataPainter
vtkPolyDataPainterNewInstance () const
 
vtkPolyDataGetInputAsPolyData ()
 
vtkPolyDataGetOutputAsPolyData ()
 
virtual void Render (vtkRenderer *renderer, vtkActor *actor, unsigned long typeflags, bool forceCompileOnly)
 
- Public Member Functions inherited from vtkPainter
vtkPainterNewInstance () const
 
virtual void ReleaseGraphicsResources (vtkWindow *)
 
virtual double GetTimeToDraw ()
 
virtual void UpdateBounds (double bounds[6])
 
virtual vtkInformationGetInformation ()
 
virtual void SetInformation (vtkInformation *)
 
virtual vtkPainterGetDelegatePainter ()
 
virtual void SetDelegatePainter (vtkPainter *)
 
virtual void Register (vtkObjectBase *o)
 
virtual void UnRegister (vtkObjectBase *o)
 
virtual void SetProgress (double)
 
virtual double GetProgress ()
 
void SetInput (vtkDataObject *)
 
virtual vtkDataObjectGetInput ()
 
- Public Member Functions inherited from vtkObject
vtkObjectNewInstance () const
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool debugFlag)
 
virtual void Modified ()
 
virtual unsigned long GetMTime ()
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
int HasObserver (unsigned long event)
 
int HasObserver (const char *event)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
int InvokeEvent (unsigned long event, void *callData)
 
int InvokeEvent (const char *event, void *callData)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 
virtual void Delete ()
 
virtual void FastDelete ()
 
void Print (ostream &os)
 
void SetReferenceCount (int)
 
void PrintRevisions (ostream &)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkPrimitivePainterSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkPolyDataPainter
static int IsTypeOf (const char *type)
 
static vtkPolyDataPainterSafeDownCast (vtkObjectBase *o)
 
static vtkInformationIntegerKeyBUILD_NORMALS ()
 
static vtkInformationIntegerKeyDISABLE_SCALAR_COLOR ()
 
static vtkInformationObjectBaseKeyDATA_ARRAY_TO_VERTEX_ATTRIBUTE ()
 
static vtkInformationObjectBaseKeySHADER_DEVICE_ADAPTOR ()
 
- Static Public Member Functions inherited from vtkPainter
static int IsTypeOf (const char *type)
 
static vtkPainterSafeDownCast (vtkObjectBase *o)
 
static vtkInformationIntegerKeySTATIC_DATA ()
 
static vtkInformationIntegerKeyCONSERVE_MEMORY ()
 
static vtkInformationIntegerKeyHIGH_QUALITY ()
 
- Static Public Member Functions inherited from vtkObject
static int IsTypeOf (const char *type)
 
static vtkObjectSafeDownCast (vtkObjectBase *o)
 
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static int IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 

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 Member Functions inherited from vtkPolyDataPainter
 vtkPolyDataPainter ()
 
 ~vtkPolyDataPainter ()
 
virtual void SetBuildNormals (int)
 
- Protected Member Functions inherited from vtkPainter
 vtkPainter ()
 
 ~vtkPainter ()
 
void UpdateDelegatePainter ()
 
virtual void PassInformation (vtkPainter *toPainter)
 
virtual void UpdateDelegateProgress (vtkPainter *delegate, double amount)
 
virtual void ObserverPainterProgress (vtkPainter *toObserve)
 
void UpdateProgress (double amount)
 
vtkAbstractArrayGetInputArrayToProcess (int fieldAssociation, int fieldAttributeType, vtkDataSet *ds, bool *use_cell_data=0)
 
vtkAbstractArrayGetInputArrayToProcess (int fieldAssociation, const char *name, vtkDataSet *dsl, bool *use_cell_data=0)
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
virtual void RegisterInternal (vtkObjectBase *, int check)
 
virtual void UnRegisterInternal (vtkObjectBase *, int check)
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

int SupportedPrimitive
 
int DisableScalarColor
 
vtkPolyDataOutputData
 
vtkTimeStamp OutputUpdateTime
 
bool GenericVertexAttributes
 
bool MultiTextureAttributes
 
- Protected Attributes inherited from vtkPolyDataPainter
int BuildNormals
 
- Protected Attributes inherited from vtkPainter
vtkTimeStamp InformationProcessTime
 
vtkPainterObserverObserver
 
vtkInformationInformation
 
vtkPainterDelegatePainter
 
double Progress
 
double ProgressOffset
 
double ProgressScaleFactor
 
double TimeToDraw
 
vtkTimerLogTimer
 
vtkWeakPointer< vtkWindowLastWindow
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

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

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

vtkPrimitivePainter::vtkPrimitivePainter ( )
protected
vtkPrimitivePainter::~vtkPrimitivePainter ( )
protected

Member Function Documentation

static int vtkPrimitivePainter::IsTypeOf ( const char *  type)
static
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.

static vtkPrimitivePainter* vtkPrimitivePainter::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkPrimitivePainter::NewInstanceInternal ( ) const
protectedvirtual
vtkPrimitivePainter* vtkPrimitivePainter::NewInstance ( ) const
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 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  
)
protectedvirtual

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 )
protectedvirtual

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

Reimplemented from vtkPolyDataPainter.

virtual vtkDataObject* vtkPrimitivePainter::GetOutput ( )
protectedvirtual

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 
)
protectedpure 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 
)
protectedvirtual

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)
protectedvirtual

Take part in garbage collection.

Reimplemented from vtkPainter.

virtual void vtkPrimitivePainter::SetSupportedPrimitive ( int  )
protectedvirtual

Member Data Documentation

int vtkPrimitivePainter::SupportedPrimitive
protected

Definition at line 112 of file vtkPrimitivePainter.h.

int vtkPrimitivePainter::DisableScalarColor
protected

Definition at line 113 of file vtkPrimitivePainter.h.

vtkPolyData* vtkPrimitivePainter::OutputData
protected

Definition at line 117 of file vtkPrimitivePainter.h.

vtkTimeStamp vtkPrimitivePainter::OutputUpdateTime
protected

Definition at line 118 of file vtkPrimitivePainter.h.

bool vtkPrimitivePainter::GenericVertexAttributes
protected

Definition at line 119 of file vtkPrimitivePainter.h.

bool vtkPrimitivePainter::MultiTextureAttributes
protected

Definition at line 120 of file vtkPrimitivePainter.h.


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