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 Member Functions

virtual int IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class. More...
 
vtkPrimitivePainterNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual int GetSupportedPrimitive ()
 Get the type of primitive supported by this painter. More...
 
- Public Member Functions inherited from vtkPolyDataPainter
vtkPolyDataPainterNewInstance () const
 
vtkPolyDataGetInputAsPolyData ()
 Get/set the poly data to render. More...
 
vtkPolyDataGetOutputAsPolyData ()
 Get the output polydata from this Painter. More...
 
virtual void Render (vtkRenderer *renderer, vtkActor *actor, unsigned long typeflags, bool forceCompileOnly)
 Overridden to stop the render call if input polydata is not set, since PolyDataPainter cannot paint without any polydata input. More...
 
- Public Member Functions inherited from vtkPainter
vtkPainterNewInstance () const
 
virtual void ReleaseGraphicsResources (vtkWindow *)
 Release any graphics resources that are being consumed by this painter. More...
 
virtual double GetTimeToDraw ()
 Get the time required to draw the geometry last time it was rendered. More...
 
virtual void UpdateBounds (double bounds[6])
 Expand or shrink the estimated bounds of the object based on the geometric transformations performed in the painter. More...
 
virtual vtkInformationGetInformation ()
 Get/Set the information object associated with this painter. More...
 
virtual void SetInformation (vtkInformation *)
 Get/Set the information object associated with this painter. More...
 
virtual vtkPainterGetDelegatePainter ()
 Set/Get the painter to which this painter should propagare its draw calls. More...
 
virtual void SetDelegatePainter (vtkPainter *)
 Set/Get the painter to which this painter should propagare its draw calls. More...
 
void Register (vtkObjectBase *o) override
 Take part in garbage collection. More...
 
void UnRegister (vtkObjectBase *o) override
 Take part in garbage collection. More...
 
virtual void SetProgress (double)
 Set/Get the execution progress of a process object. More...
 
virtual double GetProgress ()
 Set/Get the execution progress of a process object. More...
 
void SetInput (vtkDataObject *)
 Set the data object to paint. More...
 
virtual vtkDataObjectGetInput ()
 Set the data object to paint. More...
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on. More...
 
virtual void DebugOff ()
 Turn debugging output off. More...
 
bool GetDebug ()
 Get the value of the debug flag. More...
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag. More...
 
virtual void Modified ()
 Update the modification time for this object. More...
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time. More...
 
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)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
int HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
int HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Allow user to set the AbortFlagOn() with the return value of the callback method. More...
 
int InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
int InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string. More...
 
virtual void Delete ()
 Delete a VTK object. More...
 
virtual void FastDelete ()
 Delete a reference to this object. More...
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream. More...
 
int GetReferenceCount ()
 Return the current reference count of this object. More...
 
void SetReferenceCount (int)
 Sets the reference count. More...
 
void PrintRevisions (ostream &)
 Legacy. More...
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 

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 ()
 Keys used to specify control the behaviour of the painter. More...
 
static vtkInformationIntegerKeyDISABLE_SCALAR_COLOR ()
 Key added to disable any scalar coloring for the current pass. More...
 
static vtkInformationObjectBaseKeyDATA_ARRAY_TO_VERTEX_ATTRIBUTE ()
 
static vtkInformationObjectBaseKeySHADER_DEVICE_ADAPTOR ()
 Key to store the shader device adaptor. More...
 
- Static Public Member Functions inherited from vtkPainter
static int IsTypeOf (const char *type)
 
static vtkPainterSafeDownCast (vtkObjectBase *o)
 
static vtkInformationIntegerKeySTATIC_DATA ()
 Keys used to specify control the behaviour of the painter. More...
 
static vtkInformationIntegerKeyCONSERVE_MEMORY ()
 Keys used to specify control the behaviour of the painter. More...
 
static vtkInformationIntegerKeyHIGH_QUALITY ()
 Keys used to specify control the behaviour of the painter. More...
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes. More...
 
static void SetGlobalWarningDisplay (int val)
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static int GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class. More...
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 

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 *)
 Some subclasses may need to do some preprocessing before the actual rendering can be done eg. More...
 
virtual void ProcessInformation (vtkInformation *)
 Called before RenderInternal() if the Information has been changed since the last time this method was called. More...
 
virtual vtkDataObjectGetOutput ()
 Subclasses need to override this to return the output of the pipeline. More...
 
virtual int RenderPrimitive (unsigned long flags, vtkDataArray *n, vtkUnsignedCharArray *c, vtkDataArray *t, vtkRenderer *ren)=0
 The actual rendering happens here. More...
 
virtual void RenderInternal (vtkRenderer *renderer, vtkActor *actor, unsigned long typeflags, bool forceCompileOnly)
 Based on the input polydata, setups certains flags and call RenderPrimitive() which is overridden by subclasses. More...
 
void ReportReferences (vtkGarbageCollector *collector) override
 Take part in garbage collection. More...
 
virtual void SetSupportedPrimitive (int)
 
- Protected Member Functions inherited from vtkPolyDataPainter
 vtkPolyDataPainter ()
 
 ~vtkPolyDataPainter ()
 
virtual void SetBuildNormals (int)
 
- Protected Member Functions inherited from vtkPainter
 vtkPainter ()
 
 ~vtkPainter ()
 
void UpdateDelegatePainter ()
 Updates the delegate painter. More...
 
virtual void PassInformation (vtkPainter *toPainter)
 Pass on the information and data (output) from the this to the argument painter. More...
 
virtual void UpdateDelegateProgress (vtkPainter *delegate, double amount)
 Called when the delegate painter reports its progress. More...
 
virtual void ObserverPainterProgress (vtkPainter *toObserve)
 Adds a progress event observer to toObserve. More...
 
void UpdateProgress (double amount)
 Update the progress of the process object. More...
 
vtkAbstractArrayGetInputArrayToProcess (int fieldAssociation, int fieldAttributeType, vtkDataSet *ds, bool *use_cell_data=0)
 Helper method to get input array to process. More...
 
vtkAbstractArrayGetInputArrayToProcess (int fieldAssociation, const char *name, vtkDataSet *dsl, bool *use_cell_data=0)
 Helper method to get input array to process. More...
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
 ~vtkObject () override
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 These methods allow a command to exclusively grab all events. More...
 
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events. More...
 
- 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 39 of file vtkPrimitivePainter.h.

Member Typedef Documentation

Definition at line 42 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 57 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.

void vtkPrimitivePainter::ReportReferences ( vtkGarbageCollector collector)
overrideprotectedvirtual

Take part in garbage collection.

Reimplemented from vtkPainter.

virtual void vtkPrimitivePainter::SetSupportedPrimitive ( int  )
protectedvirtual

Member Data Documentation

int vtkPrimitivePainter::SupportedPrimitive
protected

Definition at line 121 of file vtkPrimitivePainter.h.

int vtkPrimitivePainter::DisableScalarColor
protected

Definition at line 122 of file vtkPrimitivePainter.h.

vtkPolyData* vtkPrimitivePainter::OutputData
protected

Definition at line 126 of file vtkPrimitivePainter.h.

vtkTimeStamp vtkPrimitivePainter::OutputUpdateTime
protected

Definition at line 127 of file vtkPrimitivePainter.h.

bool vtkPrimitivePainter::GenericVertexAttributes
protected

Definition at line 128 of file vtkPrimitivePainter.h.

bool vtkPrimitivePainter::MultiTextureAttributes
protected

Definition at line 129 of file vtkPrimitivePainter.h.


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