VTK
|
An adapter between a vtkPainter and a rendering device. More...
#include <vtkPainterDeviceAdapter.h>
Public Types | |
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... | |
vtkPainterDeviceAdapter * | NewInstance () const |
virtual void | PrintSelf (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual void | BeginPrimitive (int mode)=0 |
Signals the start of sending a primitive to the graphics card. More... | |
virtual void | EndPrimitive ()=0 |
Signals the end of sending a primitive to the graphics card. More... | |
virtual int | IsAttributesSupported (int attribute)=0 |
Returns if the given attribute type is supported by the device. More... | |
virtual void | SendMultiTextureCoords (int numcomp, int type, const void *attribute, int idx, vtkIdType offset)=0 |
Calls glMultiTex. More... | |
virtual void | SendAttribute (int index, int components, int type, const void *attribute, vtkIdType offset=0)=0 |
Sends a single attribute to the graphics card. More... | |
void | SetAttributePointer (int index, vtkDataArray *attributeArray) |
Sets an array of attributes. More... | |
virtual void | SetAttributePointer (int index, int numcomponents, int type, int stride, const void *pointer)=0 |
Sets an array of attributes. More... | |
virtual void | DrawArrays (int mode, vtkIdType first, vtkIdType count)=0 |
Send a section of the enabled attribute pointers to the graphics card to define a primitive. More... | |
virtual void | DrawElements (int mode, vtkIdType count, int type, void *indices)=0 |
Send items in the attribute pointers to the graphics card to define a primitive. More... | |
virtual int | Compatible (vtkRenderer *renderer)=0 |
Returns true if this device adapter is compatible with the given vtkRenderer. More... | |
virtual void | MakeVertexEmphasis (bool mode)=0 |
Turns emphasis of vertices on or off for vertex selection. More... | |
virtual void | EnableAttributeArray (int index)=0 |
Enable/disable the attribute array set with SetAttributePointer. More... | |
virtual void | DisableAttributeArray (int index)=0 |
Enable/disable the attribute array set with SetAttributePointer. More... | |
virtual void | Stencil (int on)=0 |
Control use of the stencil buffer (for vertex selection). More... | |
virtual void | WriteStencil (vtkIdType value)=0 |
Control use of the stencil buffer (for vertex selection). More... | |
virtual void | TestStencil (vtkIdType value)=0 |
Control use of the stencil buffer (for vertex selection). 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... | |
vtkCommand * | GetCommand (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... | |
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... | |
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 vtkPainterDeviceAdapter * | New () |
static int | IsTypeOf (const char *type) |
static vtkPainterDeviceAdapter * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkObject | |
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 () |
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 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 |
vtkPainterDeviceAdapter () | |
~vtkPainterDeviceAdapter () | |
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 &) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Additional Inherited Members | |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
An adapter between a vtkPainter and a rendering device.
This class is an adapter between a vtkPainter and a rendering device (such as an OpenGL machine). Having an abstract adapter allows vtkPainters to be re-used for any rendering system.
Although VTK really only uses OpenGL right now, there are reasons to swap out the rendering functions. Sometimes MESA with mangled names is used. Also, different shader extensions use different functions. Furthermore, Cg also has its own interface.
The interface for this class should be familier to anyone experienced with OpenGL.
Definition at line 55 of file vtkPainterDeviceAdapter.h.
Definition at line 59 of file vtkPainterDeviceAdapter.h.
|
protected |
|
protected |
|
static |
|
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 vtkOpenGLPainterDeviceAdapter.
|
static |
|
protectedvirtual |
Reimplemented in vtkOpenGLPainterDeviceAdapter.
vtkPainterDeviceAdapter* vtkPainterDeviceAdapter::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 vtkOpenGLPainterDeviceAdapter.
|
pure virtual |
Signals the start of sending a primitive to the graphics card.
The mode is one of VTK_VERTEX, VTK_POLY_VERTEX, VTK_LINE, VTK_POLY_LINE, VTK_TRIANGLE, VTK_TRIANGLE_STRIP, VTK_POLYGON, or VTK_QUAD. The primitive is defined by the attributes sent between the calls to BeginPrimitive and EndPrimitive. You do not need to call EndPrimitive/BeginPrimitive between primitives that have a constant number of points (i.e. VTK_VERTEX, VTK_LINE, VTK_TRIANGLE, and VTK_QUAD).
Implemented in vtkOpenGLPainterDeviceAdapter.
|
pure virtual |
Signals the end of sending a primitive to the graphics card.
Implemented in vtkOpenGLPainterDeviceAdapter.
Returns if the given attribute type is supported by the device.
Returns 1 is supported, 0 otherwise.
Implemented in vtkOpenGLPainterDeviceAdapter.
|
pure virtual |
Calls glMultiTex.
Implemented in vtkOpenGLPainterDeviceAdapter.
|
pure virtual |
Sends a single attribute to the graphics card.
The index parameter identifies the attribute. Some indices have special meaning (see vtkPainter for details). The components parameter gives the number of components in the attribute. In general, components must be between 1-4, but a rendering system may impose even more constraints. The type parameter is a VTK type enumeration (VTK_FLOAT, VTK_INT, etc.). Again, a rendering system may not support all types for all attributes. The attribute parameter is the actual data for the attribute. If offset is specified, it is added to attribute pointer after it has been casted to the proper type.
Implemented in vtkOpenGLPainterDeviceAdapter.
|
inline |
Sets an array of attributes.
This allows you to send all the data for a particular attribute with one call, thus greatly reducing function call overhead. Once set, the array is enabled with EnableAttributeArray, and the data is sent with a call to DrawArrays DrawElements.
Definition at line 200 of file vtkPainterDeviceAdapter.h.
|
pure virtual |
Sets an array of attributes.
This allows you to send all the data for a particular attribute with one call, thus greatly reducing function call overhead. Once set, the array is enabled with EnableAttributeArray, and the data is sent with a call to DrawArrays DrawElements.
index
the index of the attribute. numcomponents
the number of components in each attribute entry. type
the data type (VTK_FLOAT, VTK_UNSIGNED_CHAR, etc.). stride
the byte offset between entries in the array (0 for tightly packed). pointer
the array holding the data. Implemented in vtkOpenGLPainterDeviceAdapter.
|
pure virtual |
Enable/disable the attribute array set with SetAttributePointer.
Implemented in vtkOpenGLPainterDeviceAdapter.
|
pure virtual |
Enable/disable the attribute array set with SetAttributePointer.
Implemented in vtkOpenGLPainterDeviceAdapter.
|
pure virtual |
Send a section of the enabled attribute pointers to the graphics card to define a primitive.
The mode is one of VTK_VERTEX, VTK_POLY_VERTEX, VTK_LINE, VTK_POLY_LINE, VTK_TRIANGLE, VTK_TRIANGLE_STRIP, VTK_POLYGON, or VTK_QUAD. It identifies which type of primitive the attribute data is defining. The parameters first and count identify what part of the attribute arrays define the given primitive. If mode is a primitive that has a constant number of points (i.e. VTK_VERTEX, VTK_LINE, VTK_TRIANGLE, and VTK_QUAD), you may draw multiple primitives with one call to DrawArrays.
Implemented in vtkOpenGLPainterDeviceAdapter.
|
pure virtual |
Send items in the attribute pointers to the graphics card to define a primitive.
The mode is one of VTK_VERTEX, VTK_POLY_VERTEX, VTK_LINE, VTK_POLY_LINE, VTK_TRIANGLE, VTK_TRIANGLE_STRIP, VTK_POLYGON, or VTK_QUAD. It identifies which type of primitive the attribute data is defining. The indices array holds the list of attribute elements that define the primitive. The count and type parameters give the number and data type of the indices array. The type parameter is a VTK type enumeration (VTK_UNSIGNED_INT, ...). The type should be an integer type (for obvious reasons). If mode is a primitive that has a constant number of points (i.e. VTK_VERTEX, VTK_LINE, VTK_TRIANGLE, and VTK_QUAD), you may draw multiple primitives with one call to DrawArrays.
Implemented in vtkOpenGLPainterDeviceAdapter.
|
pure virtual |
Returns true if this device adapter is compatible with the given vtkRenderer.
Implemented in vtkOpenGLPainterDeviceAdapter.
|
pure virtual |
Turns emphasis of vertices on or off for vertex selection.
Implemented in vtkOpenGLPainterDeviceAdapter.
|
pure virtual |
Control use of the stencil buffer (for vertex selection).
Implemented in vtkOpenGLPainterDeviceAdapter.
|
pure virtual |
Control use of the stencil buffer (for vertex selection).
Implemented in vtkOpenGLPainterDeviceAdapter.
|
pure virtual |
Control use of the stencil buffer (for vertex selection).
Implemented in vtkOpenGLPainterDeviceAdapter.