VTK
|
Abstract class for drawing poly data. More...
#include <vtkPainter.h>
Public Types | |
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... | |
vtkPainter * | NewInstance () const |
virtual void | PrintSelf (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual vtkInformation * | GetInformation () |
Get/Set the information object associated with this painter. More... | |
virtual void | SetInformation (vtkInformation *) |
virtual vtkPainter * | GetDelegatePainter () |
Set/Get the painter to which this painter should propagare its draw calls. More... | |
virtual void | SetDelegatePainter (vtkPainter *) |
void | Register (vtkObjectBase *o) override |
Take part in garbage collection. More... | |
void | UnRegister (vtkObjectBase *o) override |
Decrease the reference count (release by another object). More... | |
virtual void | Render (vtkRenderer *renderer, vtkActor *actor, unsigned long typeflags, bool forceCompileOnly) |
Generates rendering primitives of appropriate type(s). More... | |
virtual void | ReleaseGraphicsResources (vtkWindow *) |
Release any graphics resources that are being consumed by this painter. More... | |
virtual void | SetProgress (double) |
Set/Get the execution progress of a process object. More... | |
virtual double | GetProgress () |
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... | |
void | SetInput (vtkDataObject *) |
Set the data object to paint. More... | |
virtual vtkDataObject * | GetInput () |
virtual vtkDataObject * | GetOutput () |
Get the output data object from this painter. More... | |
![]() | |
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 | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. More... | |
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) |
vtkCommand * | GetCommand (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) |
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) |
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) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
![]() | |
const char * | GetClassName () const |
Return the class name as a string. More... | |
virtual vtkTypeBool | IsA (const char *name) |
Return 1 if this class is the same type of (or a subclass of) the named class. 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... | |
virtual void | PrintSelf (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
virtual void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). More... | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). 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... | |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkPainter * | SafeDownCast (vtkObjectBase *o) |
static vtkInformationIntegerKey * | STATIC_DATA () |
Keys used to specify control the behaviour of the painter. More... | |
static vtkInformationIntegerKey * | CONSERVE_MEMORY () |
Keys used to specify control the behaviour of the painter. More... | |
static vtkInformationIntegerKey * | HIGH_QUALITY () |
Keys used to specify control the behaviour of the painter. More... | |
![]() | |
static vtkObject * | New () |
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 () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
![]() | |
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 vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkPainter () | |
~vtkPainter () | |
void | ReportReferences (vtkGarbageCollector *collector) override |
Take part in garbage collection. More... | |
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 | PrepareForRendering (vtkRenderer *, vtkActor *) |
Some subclasses may need to do some preprocessing before the actual rendering can be done eg. More... | |
virtual void | RenderInternal (vtkRenderer *renderer, vtkActor *actor, unsigned long typeflags, bool forceCompileOnly) |
Performs the actual rendering. More... | |
virtual void | UpdateDelegateProgress (vtkPainter *delegate, double amount) |
Called when the delegate painter reports its progress. More... | |
virtual void | ProcessInformation (vtkInformation *) |
Called before RenderInternal() if the Information has been changed since the last time this method was called. 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... | |
vtkAbstractArray * | GetInputArrayToProcess (int fieldAssociation, int fieldAttributeType, vtkDataSet *ds, bool *use_cell_data=0) |
Helper method to get input array to process. More... | |
vtkAbstractArray * | GetInputArrayToProcess (int fieldAssociation, const char *name, vtkDataSet *dsl, bool *use_cell_data=0) |
![]() | |
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 () |
![]() | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
virtual void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes | |
vtkTimeStamp | InformationProcessTime |
vtkPainterObserver * | Observer |
vtkInformation * | Information |
vtkPainter * | DelegatePainter |
double | Progress |
double | ProgressOffset |
double | ProgressScaleFactor |
double | TimeToDraw |
vtkTimerLog * | Timer |
vtkWeakPointer< vtkWindow > | LastWindow |
![]() | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
![]() | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
Friends | |
class | vtkPainterObserver |
Abstract class for drawing poly data.
This defines the interface for a Painter. Painters are helpers used by Mapper to perform the rendering. The mapper sets up a chain of painters and passes the render request to the painter. Every painter may have a delegate painter to which the render request is forwarded. The Painter may modify the request or data before passing it to the delegate painter. All the information to control the rendering must be passed to the painter using the vtkInformation object. A concrete painter may read special keys from the vtkInformation object and affect the rendering.
Definition at line 61 of file vtkPainter.h.
typedef vtkObject vtkPainter::Superclass |
Definition at line 64 of file vtkPainter.h.
anonymous enum |
Enumerator | |
---|---|
VERTS | |
LINES | |
POLYS | |
STRIPS |
Definition at line 114 of file vtkPainter.h.
|
protected |
|
protected |
|
static |
|
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 vtkObjectBase.
Reimplemented in vtkSurfaceLICDefaultPainter, vtkSurfaceLICPainter, vtkChooserPainter, vtkClipPlanesPainter, vtkCoincidentTopologyResolutionPainter, vtkCompositePainter, vtkDefaultPainter, vtkDisplayListPainter, vtkHardwareSelectionPolyDataPainter, vtkLightingPainter, vtkLinesPainter, vtkOpenGLClipPlanesPainter, vtkOpenGLCoincidentTopologyResolutionPainter, vtkOpenGLCompositePainter, vtkOpenGLDisplayListPainter, vtkOpenGLLightingPainter, vtkOpenGLRepresentationPainter, vtkOpenGLScalarsToColorsPainter, vtkPointsPainter, vtkPolyDataPainter, vtkPolygonsPainter, vtkPrimitivePainter, vtkRepresentationPainter, vtkScalarsToColorsPainter, vtkStandardPolyDataPainter, vtkTStripsPainter, vtkValuePainter, and vtkPSurfaceLICPainter.
|
static |
|
protectedvirtual |
Reimplemented in vtkSurfaceLICDefaultPainter, vtkSurfaceLICPainter, vtkChooserPainter, vtkClipPlanesPainter, vtkCoincidentTopologyResolutionPainter, vtkCompositePainter, vtkDefaultPainter, vtkDisplayListPainter, vtkHardwareSelectionPolyDataPainter, vtkLightingPainter, vtkLinesPainter, vtkOpenGLClipPlanesPainter, vtkOpenGLCoincidentTopologyResolutionPainter, vtkOpenGLCompositePainter, vtkOpenGLDisplayListPainter, vtkOpenGLLightingPainter, vtkOpenGLRepresentationPainter, vtkOpenGLScalarsToColorsPainter, vtkPointsPainter, vtkPolyDataPainter, vtkPolygonsPainter, vtkPrimitivePainter, vtkRepresentationPainter, vtkScalarsToColorsPainter, vtkStandardPolyDataPainter, vtkTStripsPainter, vtkValuePainter, and vtkPSurfaceLICPainter.
vtkPainter * vtkPainter::NewInstance | ( | ) | const |
|
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 vtkObject.
Reimplemented in vtkSurfaceLICDefaultPainter, vtkSurfaceLICPainter, vtkChooserPainter, vtkClipPlanesPainter, vtkCoincidentTopologyResolutionPainter, vtkCompositePainter, vtkDefaultPainter, vtkDisplayListPainter, vtkHardwareSelectionPolyDataPainter, vtkLightingPainter, vtkLinesPainter, vtkOpenGLClipPlanesPainter, vtkOpenGLCoincidentTopologyResolutionPainter, vtkOpenGLCompositePainter, vtkOpenGLDisplayListPainter, vtkOpenGLLightingPainter, vtkOpenGLRepresentationPainter, vtkOpenGLScalarsToColorsPainter, vtkPointsPainter, vtkPolyDataPainter, vtkPolygonsPainter, vtkPrimitivePainter, vtkRepresentationPainter, vtkScalarsToColorsPainter, vtkStandardPolyDataPainter, vtkTStripsPainter, vtkValuePainter, and vtkPSurfaceLICPainter.
|
static |
Keys used to specify control the behaviour of the painter.
When on, the painter assumes that the poly data changes infrequently. It is thus more likely to take time and memory to build auxiliary data structures for faster frame rates. Is off by default.
|
static |
Keys used to specify control the behaviour of the painter.
When on, the painter avoids using more memory than it has to. Thus, auxiliary data structures for faster rendering may not be built. Is off by default.
|
static |
Keys used to specify control the behaviour of the painter.
When off, the painter may make approximations that will make the rendering go faster but may degrade image quality. Is on by default.
|
virtual |
Get/Set the information object associated with this painter.
|
virtual |
|
virtual |
Set/Get the painter to which this painter should propagare its draw calls.
Reimplemented in vtkDefaultPainter.
|
virtual |
Reimplemented in vtkDefaultPainter.
|
overridevirtual |
Take part in garbage collection.
Reimplemented from vtkObjectBase.
|
overridevirtual |
Decrease the reference count (release by another object).
This has the same effect as invoking Delete() (i.e., it reduces the reference count by 1).
Reimplemented from vtkObjectBase.
|
virtual |
Generates rendering primitives of appropriate type(s).
Multiple types of primitives can be requested by or-ring the primitive flags. Default implementation calls UpdateDelegatePainter() to update the deletagate painter and then calls RenderInternal(). forceCompileOnly is passed to the display list painters.
Reimplemented in vtkDefaultPainter, and vtkPolyDataPainter.
|
virtual |
Release any graphics resources that are being consumed by this painter.
The parameter window could be used to determine which graphic resources to release. The call is propagated to the delegate painter, if any.
Reimplemented in vtkDefaultPainter, vtkOpenGLDisplayListPainter, vtkOpenGLScalarsToColorsPainter, and vtkSurfaceLICPainter.
|
virtual |
Set/Get the execution progress of a process object.
|
virtual |
|
virtual |
Get the time required to draw the geometry last time it was rendered.
Default implementation adds the current TimeToDraw with that of the delegate painter.
Reimplemented in vtkDisplayListPainter, vtkOpenGLLightingPainter, and vtkOpenGLRepresentationPainter.
|
virtual |
Expand or shrink the estimated bounds of the object based on the geometric transformations performed in the painter.
If the painter does not modify the geometry, the bounds are passed through.
Reimplemented in vtkSurfaceLICDefaultPainter, and vtkDefaultPainter.
void vtkPainter::SetInput | ( | vtkDataObject * | ) |
Set the data object to paint.
Currently we only support one data object per painter chain.
|
virtual |
|
inlinevirtual |
Get the output data object from this painter.
The default implementation simply forwards the input data object as the output.
Reimplemented in vtkSurfaceLICPainter, vtkCompositePainter, vtkPrimitivePainter, and vtkScalarsToColorsPainter.
Definition at line 174 of file vtkPainter.h.
|
overrideprotectedvirtual |
Take part in garbage collection.
Reimplemented from vtkObjectBase.
Reimplemented in vtkPrimitivePainter, and vtkScalarsToColorsPainter.
|
protected |
Updates the delegate painter.
This method is called just before the Render call is passed on to the DelegatePainter. Hence, it gets called only if the DelegatePainter is set. Internally calls PassInformation with argument as this->DelegatePainter. Subclasses must not override this method, instead override PassInformation().
|
protectedvirtual |
Pass on the information and data (output) from the this to the argument painter.
The method passes the information only if it has changed.
|
inlineprotectedvirtual |
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().
Reimplemented in vtkChooserPainter, vtkPrimitivePainter, and vtkScalarsToColorsPainter.
Definition at line 210 of file vtkPainter.h.
|
protectedvirtual |
Performs the actual rendering.
Subclasses may override this method. default implementation merely call a Render on the DelegatePainter, if any. When RenderInternal() is called, it is assured that the DelegatePainter is in sync with this painter i.e. UpdateDelegatePainter() has been called.
Reimplemented in vtkSurfaceLICPainter, vtkChooserPainter, vtkCompositePainter, vtkHardwareSelectionPolyDataPainter, vtkLinesPainter, vtkOpenGLClipPlanesPainter, vtkOpenGLCoincidentTopologyResolutionPainter, vtkOpenGLDisplayListPainter, vtkOpenGLLightingPainter, vtkOpenGLRepresentationPainter, vtkOpenGLScalarsToColorsPainter, vtkPrimitivePainter, vtkStandardPolyDataPainter, and vtkValuePainter.
|
protectedvirtual |
Called when the delegate painter reports its progress.
Default implementation reports the delegate's progress as its own.
|
inlineprotectedvirtual |
Called before RenderInternal() if the Information has been changed since the last time this method was called.
Reimplemented in vtkClipPlanesPainter, vtkCoincidentTopologyResolutionPainter, vtkDisplayListPainter, vtkPolyDataPainter, vtkPrimitivePainter, vtkScalarsToColorsPainter, vtkStandardPolyDataPainter, vtkValuePainter, vtkSurfaceLICPainter, and vtkCompositePainter.
Definition at line 233 of file vtkPainter.h.
|
protectedvirtual |
Adds a progress event observer to toObserve.
This provides a means for the subclasses to observe progress events from painters.
|
protected |
Update the progress of the process object.
Then set the Progress ivar to amount. The parameter amount should range between (0,1). Raises vtkCommand::ProgressEvent.
|
protected |
Helper method to get input array to process.
|
protected |
|
friend |
Definition at line 263 of file vtkPainter.h.
|
protected |
Definition at line 262 of file vtkPainter.h.
|
protected |
Definition at line 264 of file vtkPainter.h.
|
protected |
Definition at line 266 of file vtkPainter.h.
|
protected |
Definition at line 267 of file vtkPainter.h.
|
protected |
Definition at line 269 of file vtkPainter.h.
|
protected |
Definition at line 270 of file vtkPainter.h.
|
protected |
Definition at line 271 of file vtkPainter.h.
|
protected |
Definition at line 273 of file vtkPainter.h.
|
protected |
Definition at line 274 of file vtkPainter.h.
|
protected |
Definition at line 277 of file vtkPainter.h.