VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkPropAssembly Class Reference

create hierarchies of props More...

#include <vtkPropAssembly.h>

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

Public Types

typedef vtkProp Superclass
 
- Public Types inherited from vtkProp
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...
 
vtkPropAssemblyNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
void AddPart (vtkProp *)
 Add a part to the list of parts. More...
 
void RemovePart (vtkProp *)
 Remove a part from the list of parts,. More...
 
vtkPropCollectionGetParts ()
 Return the list of parts. More...
 
int HasTranslucentPolygonalGeometry () override
 Does this prop have some translucent polygonal geometry? More...
 
void ReleaseGraphicsResources (vtkWindow *) override
 Release any graphics resources that are being consumed by this actor. More...
 
doubleGetBounds () override
 Get the bounds for this prop assembly as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax). More...
 
void ShallowCopy (vtkProp *Prop) override
 Shallow copy of this vtkPropAssembly. More...
 
vtkMTimeType GetMTime () override
 Override default GetMTime method to also consider all of the prop assembly's parts. More...
 
void BuildPaths (vtkAssemblyPaths *paths, vtkAssemblyPath *path) override
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS Overload the superclass' vtkProp BuildPaths() method. More...
 
int RenderOpaqueGeometry (vtkViewport *ren) override
 Render this assembly and all its parts. More...
 
int RenderTranslucentPolygonalGeometry (vtkViewport *ren) override
 Render this assembly and all its parts. More...
 
int RenderVolumetricGeometry (vtkViewport *ren) override
 Render this assembly and all its parts. More...
 
int RenderOverlay (vtkViewport *ren) override
 Render this assembly and all its parts. More...
 
void InitPathTraversal () override
 Methods to traverse the paths (i.e., leaf nodes) of a prop assembly. More...
 
vtkAssemblyPathGetNextPath () override
 Methods to traverse the paths (i.e., leaf nodes) of a prop assembly. More...
 
int GetNumberOfPaths () override
 Methods to traverse the paths (i.e., leaf nodes) of a prop assembly. More...
 
- Public Member Functions inherited from vtkProp
vtkPropNewInstance () const
 
virtual void GetActors (vtkPropCollection *)
 For some exporters and other other operations we must be able to collect all the actors or volumes. More...
 
virtual void GetActors2D (vtkPropCollection *)
 
virtual void GetVolumes (vtkPropCollection *)
 
virtual void Pick ()
 Method fires PickEvent if the prop is picked. More...
 
virtual vtkMTimeType GetRedrawMTime ()
 Return the mtime of anything that would cause the rendered image to appear differently. More...
 
virtual void PokeMatrix (vtkMatrix4x4 *vtkNotUsed(matrix))
 These methods are used by subclasses to place a matrix (if any) in the prop prior to rendering. More...
 
virtual vtkMatrix4x4GetMatrix ()
 
virtual bool HasKeys (vtkInformation *requiredKeys)
 Tells if the prop has all the required keys. More...
 
virtual bool RenderFilteredOpaqueGeometry (vtkViewport *v, vtkInformation *requiredKeys)
 Render the opaque geometry only if the prop has all the requiredKeys. More...
 
virtual bool RenderFilteredTranslucentPolygonalGeometry (vtkViewport *v, vtkInformation *requiredKeys)
 Render the translucent polygonal geometry only if the prop has all the requiredKeys. More...
 
virtual bool RenderFilteredVolumetricGeometry (vtkViewport *v, vtkInformation *requiredKeys)
 Render the volumetric geometry only if the prop has all the requiredKeys. More...
 
virtual bool RenderFilteredOverlay (vtkViewport *v, vtkInformation *requiredKeys)
 Render in the overlay of the viewport only if the prop has all the requiredKeys. More...
 
virtual double GetEstimatedRenderTime (vtkViewport *)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS The EstimatedRenderTime may be used to select between different props, for example in LODProp it is used to select the level-of-detail. More...
 
virtual double GetEstimatedRenderTime ()
 
virtual void SetEstimatedRenderTime (double t)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS This method is used by, for example, the vtkLODProp3D in order to initialize the estimated render time at start-up to some user defined value. More...
 
virtual void RestoreEstimatedRenderTime ()
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS When the EstimatedRenderTime is first set to 0.0 (in the SetAllocatedRenderTime method) the old value is saved. More...
 
virtual void AddEstimatedRenderTime (double t, vtkViewport *vtkNotUsed(vp))
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS This method is intended to allow the renderer to add to the EstimatedRenderTime in props that require information that the renderer has in order to do this. More...
 
void SetRenderTimeMultiplier (double t)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS Get/Set the multiplier for the render time. More...
 
virtual double GetRenderTimeMultiplier ()
 
virtual bool GetSupportsSelection ()
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS Used by vtkHardwareSelector to determine if the prop supports hardware selection. More...
 
virtual void SetVisibility (int)
 Set/Get visibility of this vtkProp. More...
 
virtual int GetVisibility ()
 Set/Get visibility of this vtkProp. More...
 
virtual void VisibilityOn ()
 Set/Get visibility of this vtkProp. More...
 
virtual void VisibilityOff ()
 Set/Get visibility of this vtkProp. More...
 
virtual void SetPickable (int)
 Set/Get the pickable instance variable. More...
 
virtual int GetPickable ()
 Set/Get the pickable instance variable. More...
 
virtual void PickableOn ()
 Set/Get the pickable instance variable. More...
 
virtual void PickableOff ()
 Set/Get the pickable instance variable. More...
 
virtual void SetDragable (int)
 Set/Get the value of the dragable instance variable. More...
 
virtual int GetDragable ()
 Set/Get the value of the dragable instance variable. More...
 
virtual void DragableOn ()
 Set/Get the value of the dragable instance variable. More...
 
virtual void DragableOff ()
 Set/Get the value of the dragable instance variable. More...
 
virtual void SetUseBounds (bool)
 In case the Visibility flag is true, tell if the bounds of this prop should be taken into account or ignored during the computation of other bounding boxes, like in vtkRenderer::ResetCamera(). More...
 
virtual bool GetUseBounds ()
 In case the Visibility flag is true, tell if the bounds of this prop should be taken into account or ignored during the computation of other bounding boxes, like in vtkRenderer::ResetCamera(). More...
 
virtual void UseBoundsOn ()
 In case the Visibility flag is true, tell if the bounds of this prop should be taken into account or ignored during the computation of other bounding boxes, like in vtkRenderer::ResetCamera(). More...
 
virtual void UseBoundsOff ()
 In case the Visibility flag is true, tell if the bounds of this prop should be taken into account or ignored during the computation of other bounding boxes, like in vtkRenderer::ResetCamera(). More...
 
virtual vtkInformationGetPropertyKeys ()
 Set/Get property keys. More...
 
virtual void SetPropertyKeys (vtkInformation *keys)
 Set/Get property keys. More...
 
virtual void SetAllocatedRenderTime (double t, vtkViewport *vtkNotUsed(v))
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS The renderer may use the allocated rendering time to determine how to render this actor. More...
 
virtual double GetAllocatedRenderTime ()
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS. More...
 
virtual int GetNumberOfConsumers ()
 Get the number of consumers. More...
 
void AddConsumer (vtkObject *c)
 Add or remove or get or check a consumer,. More...
 
void RemoveConsumer (vtkObject *c)
 Add or remove or get or check a consumer,. More...
 
vtkObjectGetConsumer (int i)
 Add or remove or get or check a consumer,. More...
 
int IsConsumer (vtkObject *c)
 Add or remove or get or check a consumer,. 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...
 
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...
 
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 int IsTypeOf (const char *type)
 
static vtkPropAssemblySafeDownCast (vtkObjectBase *o)
 
static vtkPropAssemblyNew ()
 Create with an empty parts list. More...
 
- Static Public Member Functions inherited from vtkProp
static int IsTypeOf (const char *type)
 
static vtkPropSafeDownCast (vtkObjectBase *o)
 
static vtkInformationIntegerKeyGeneralTextureUnit ()
 Optional Key Indicating the texture unit for general texture mapping Old OpenGL was a state machine where you would push or pop items. More...
 
static vtkInformationDoubleVectorKeyGeneralTextureTransform ()
 Optional Key Indicating the texture transform for general texture mapping Old OpenGL was a state machine where you would push or pop items. 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 Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkPropAssembly ()
 
 ~vtkPropAssembly () override
 
void UpdatePaths ()
 
- Protected Member Functions inherited from vtkProp
 vtkProp ()
 
 ~vtkProp () override
 
- 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=nullptr)
 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 &)
 

Protected Attributes

vtkPropCollectionParts
 
double Bounds [6]
 
vtkTimeStamp PathTime
 
- Protected Attributes inherited from vtkProp
int Visibility
 
int Pickable
 
int Dragable
 
bool UseBounds
 
double AllocatedRenderTime
 
double EstimatedRenderTime
 
double SavedEstimatedRenderTime
 
double RenderTimeMultiplier
 
int NumberOfConsumers
 
vtkObject ** Consumers
 
vtkAssemblyPathsPaths
 
vtkInformationPropertyKeys
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

create hierarchies of props

vtkPropAssembly is an object that groups props and other prop assemblies into a tree-like hierarchy. The props can then be treated as a group (e.g., turning visibility on and off).

A vtkPropAssembly object can be used in place of an vtkProp since it is a subclass of vtkProp. The difference is that vtkPropAssembly maintains a list of other prop and prop assembly instances (its "parts") that form the assembly. Note that this process is recursive: you can create groups consisting of prop assemblies to arbitrary depth.

vtkPropAssembly's and vtkProp's that compose a prop assembly need not be added to a renderer's list of props, as long as the parent assembly is in the prop list. This is because they are automatically renderered during the hierarchical traversal process.

Warning
vtkPropAssemblies can consist of hierarchies of assemblies, where one actor or assembly used in one hierarchy is also used in other hierarchies. However, make that there are no cycles (e.g., parent->child->parent), this will cause program failure.
See also
vtkProp3D vtkActor vtkAssembly vtkActor2D vtkVolume
Examples:
vtkPropAssembly (Examples)
Tests:
vtkPropAssembly (Tests)

Definition at line 56 of file vtkPropAssembly.h.

Member Typedef Documentation

Definition at line 59 of file vtkPropAssembly.h.

Constructor & Destructor Documentation

vtkPropAssembly::vtkPropAssembly ( )
protected
vtkPropAssembly::~vtkPropAssembly ( )
overrideprotected

Member Function Documentation

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

static vtkPropAssembly* vtkPropAssembly::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkPropAssembly::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkProp.

vtkPropAssembly* vtkPropAssembly::NewInstance ( ) const
void vtkPropAssembly::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

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 vtkProp.

static vtkPropAssembly* vtkPropAssembly::New ( )
static

Create with an empty parts list.

void vtkPropAssembly::AddPart ( vtkProp )

Add a part to the list of parts.

void vtkPropAssembly::RemovePart ( vtkProp )

Remove a part from the list of parts,.

vtkPropCollection* vtkPropAssembly::GetParts ( )

Return the list of parts.

int vtkPropAssembly::RenderOpaqueGeometry ( vtkViewport ren)
overridevirtual

Render this assembly and all its parts.

The rendering process is recursive. The parts of each assembly are rendered only if the visibility for the prop is turned on.

Reimplemented from vtkProp.

int vtkPropAssembly::RenderTranslucentPolygonalGeometry ( vtkViewport ren)
overridevirtual

Render this assembly and all its parts.

The rendering process is recursive. The parts of each assembly are rendered only if the visibility for the prop is turned on.

Reimplemented from vtkProp.

int vtkPropAssembly::RenderVolumetricGeometry ( vtkViewport ren)
overridevirtual

Render this assembly and all its parts.

The rendering process is recursive. The parts of each assembly are rendered only if the visibility for the prop is turned on.

Reimplemented from vtkProp.

int vtkPropAssembly::RenderOverlay ( vtkViewport ren)
overridevirtual

Render this assembly and all its parts.

The rendering process is recursive. The parts of each assembly are rendered only if the visibility for the prop is turned on.

Reimplemented from vtkProp.

int vtkPropAssembly::HasTranslucentPolygonalGeometry ( )
overridevirtual

Does this prop have some translucent polygonal geometry?

Reimplemented from vtkProp.

void vtkPropAssembly::ReleaseGraphicsResources ( vtkWindow )
overridevirtual

Release any graphics resources that are being consumed by this actor.

The parameter window could be used to determine which graphic resources to release.

Reimplemented from vtkProp.

double* vtkPropAssembly::GetBounds ( )
overridevirtual

Get the bounds for this prop assembly as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).

May return NULL in some cases (meaning the bounds is undefined).

Reimplemented from vtkProp.

void vtkPropAssembly::ShallowCopy ( vtkProp Prop)
overridevirtual

Shallow copy of this vtkPropAssembly.

Reimplemented from vtkProp.

vtkMTimeType vtkPropAssembly::GetMTime ( )
overridevirtual

Override default GetMTime method to also consider all of the prop assembly's parts.

Reimplemented from vtkObject.

void vtkPropAssembly::InitPathTraversal ( )
overridevirtual

Methods to traverse the paths (i.e., leaf nodes) of a prop assembly.

These methods should be contrasted to those that traverse the list of parts using GetParts(). GetParts() returns a list of children of this assembly, not necessarily the leaf nodes of the assembly. To use the methods below - first invoke InitPathTraversal() followed by repeated calls to GetNextPath(). GetNextPath() returns a NULL pointer when the list is exhausted. (See the superclass vtkProp for more information about paths.)

Reimplemented from vtkProp.

vtkAssemblyPath* vtkPropAssembly::GetNextPath ( )
overridevirtual

Methods to traverse the paths (i.e., leaf nodes) of a prop assembly.

These methods should be contrasted to those that traverse the list of parts using GetParts(). GetParts() returns a list of children of this assembly, not necessarily the leaf nodes of the assembly. To use the methods below - first invoke InitPathTraversal() followed by repeated calls to GetNextPath(). GetNextPath() returns a NULL pointer when the list is exhausted. (See the superclass vtkProp for more information about paths.)

Reimplemented from vtkProp.

int vtkPropAssembly::GetNumberOfPaths ( )
overridevirtual

Methods to traverse the paths (i.e., leaf nodes) of a prop assembly.

These methods should be contrasted to those that traverse the list of parts using GetParts(). GetParts() returns a list of children of this assembly, not necessarily the leaf nodes of the assembly. To use the methods below - first invoke InitPathTraversal() followed by repeated calls to GetNextPath(). GetNextPath() returns a NULL pointer when the list is exhausted. (See the superclass vtkProp for more information about paths.)

Reimplemented from vtkProp.

void vtkPropAssembly::BuildPaths ( vtkAssemblyPaths paths,
vtkAssemblyPath path 
)
overridevirtual

WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS Overload the superclass' vtkProp BuildPaths() method.

Reimplemented from vtkProp.

void vtkPropAssembly::UpdatePaths ( )
protected

Member Data Documentation

vtkPropCollection* vtkPropAssembly::Parts
protected

Definition at line 150 of file vtkPropAssembly.h.

double vtkPropAssembly::Bounds[6]
protected

Definition at line 151 of file vtkPropAssembly.h.

vtkTimeStamp vtkPropAssembly::PathTime
protected

Definition at line 154 of file vtkPropAssembly.h.


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