#include <vtkAssembly.h>
Inheritance diagram for vtkAssembly:
Public Methods | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | AddPart (vtkProp3D *) |
void | RemovePart (vtkProp3D *) |
vtkProp3DCollection * | GetParts () |
void | ReleaseGraphicsResources (vtkWindow *) |
unsigned long int | GetMTime () |
void | ShallowCopy (vtkProp *prop) |
void | BuildPaths (vtkAssemblyPaths *paths, vtkAssemblyPath *path) |
void | GetActors (vtkPropCollection *) |
void | GetVolumes (vtkPropCollection *) |
int | RenderOpaqueGeometry (vtkViewport *ren) |
int | RenderTranslucentGeometry (vtkViewport *ren) |
void | InitPathTraversal () |
vtkAssemblyPath * | GetNextPath () |
int | GetNumberOfPaths () |
void | GetBounds (float bounds[6]) |
float * | GetBounds () |
Static Public Methods | |
vtkAssembly * | New () |
int | IsTypeOf (const char *type) |
vtkAssembly * | SafeDownCast (vtkObject *o) |
Protected Methods | |
vtkAssembly () | |
~vtkAssembly () | |
virtual void | UpdatePaths () |
Protected Attributes | |
vtkProp3DCollection * | Parts |
vtkTimeStamp | PathTime |
vtkAssembly is an object that groups vtkProp3Ds, its subclasses, and other assemblies into a tree-like hierarchy. The vtkProp3Ds and assemblies can then be transformed together by transforming just the root assembly of the hierarchy.
A vtkAssembly object can be used in place of an vtkProp3D since it is a subclass of vtkProp3D. The difference is that vtkAssembly maintains a list of vtkProp3D instances (its "parts") that form the assembly. Then, any operation that transforms (i.e., scales, rotates, translates) the parent assembly will transform all its parts. Note that this process is recursive: you can create groups consisting of assemblies and/or vtkProp3Ds to arbitrary depth.
To add an assembly to the renderer's list of props, you only need to add the root of the assembly. During rendering, the parts of the assembly are rendered during a hierarchical traversal process.
Definition at line 102 of file vtkAssembly.h.
|
|
|
|
|
Creates an instance with visibility=1, pickable=1, and dragable=1. Reimplemented from vtkProp. |
|
Return the class name as a string. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h. Reimplemented from vtkProp3D. |
|
Return 1 if this class type 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 vtkProp3D. |
|
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 vtkProp3D. |
|
Will cast the supplied object to vtkObject* is this is a safe operation (i.e., a safe downcast); otherwise NULL is returned. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h. Reimplemented from vtkProp3D. |
|
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 vtkProp3D. |
|
Add a part to the list of parts. |
|
Remove a part from the list of parts, |
|
Return the parts (direct descendants) of this assembly. Definition at line 197 of file vtkAssembly.h. |
|
For some exporters and other other operations we must be able to collect all the actors or volumes. These methods are used in that process. Reimplemented from vtkProp. |
|
For some exporters and other other operations we must be able to collect all the actors or volumes. These methods are used in that process. Reimplemented from vtkProp. |
|
Render this assembly and all its parts. The rendering process is recursive. Note that a mapper need not be defined. If not defined, then no geometry will be drawn for this assembly. This allows you to create "logical" assemblies; that is, assemblies that only serve to group and transform its parts. Reimplemented from vtkProp. |
|
Render this assembly and all its parts. The rendering process is recursive. Note that a mapper need not be defined. If not defined, then no geometry will be drawn for this assembly. This allows you to create "logical" assemblies; that is, assemblies that only serve to group and transform its parts. Reimplemented from vtkProp. |
|
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. |
|
Methods to traverse the parts of an assembly. Each part (starting from the root) will appear properly transformed and with the correct properties (depending upon the ApplyProperty and ApplyTransform ivars). Note that the part appears as an instance of vtkProp. 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 with the correct transformation or properties. To use the methods below - first invoke InitPathTraversal() followed by repeated calls to GetNextPath(). GetNextPath() returns a NULL pointer when the list is exhausted. Reimplemented from vtkProp3D. |
|
Methods to traverse the parts of an assembly. Each part (starting from the root) will appear properly transformed and with the correct properties (depending upon the ApplyProperty and ApplyTransform ivars). Note that the part appears as an instance of vtkProp. 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 with the correct transformation or properties. To use the methods below - first invoke InitPathTraversal() followed by repeated calls to GetNextPath(). GetNextPath() returns a NULL pointer when the list is exhausted. Reimplemented from vtkProp. |
|
Methods to traverse the parts of an assembly. Each part (starting from the root) will appear properly transformed and with the correct properties (depending upon the ApplyProperty and ApplyTransform ivars). Note that the part appears as an instance of vtkProp. 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 with the correct transformation or properties. To use the methods below - first invoke InitPathTraversal() followed by repeated calls to GetNextPath(). GetNextPath() returns a NULL pointer when the list is exhausted. Reimplemented from vtkProp. |
|
Get the bounds for the assembly as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax). Reimplemented from vtkProp3D. Definition at line 160 of file vtkAssembly.h. |
|
Get the bounds for the assembly as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax). Reimplemented from vtkProp3D. |
|
Override default GetMTime method to also consider all of the assembly's parts. Reimplemented from vtkObject. |
|
Shallow copy of an assembly. Overloads the virtual vtkProp method. Reimplemented from vtkProp3D. |
|
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS Overload the superclass' vtkProp BuildPaths() method. Paths consist of an ordered sequence of actors, with transformations properly concatenated. Reimplemented from vtkProp. |
|
|
|
Definition at line 184 of file vtkAssembly.h. |
|
Definition at line 188 of file vtkAssembly.h. |