#include <vtkAssemblyPath.h>
vtkAssemblyPath represents an ordered list of assembly nodes that represent a fully evaluated assembly path. This class is used primarily for picking. Note that the use of this class is to add one or more assembly nodes to form the path. (An assembly node consists of an instance of vtkProp and vtkMatrix4x4, the matrix may be NULL.) As each node is added, the matrices are concatenated to create a final, evaluated matrix.
Definition at line 39 of file vtkAssemblyPath.h.
Public Types | |
typedef vtkCollection | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | AddNode (vtkProp *p, vtkMatrix4x4 *m) |
vtkAssemblyNode * | GetNextNode () |
vtkAssemblyNode * | GetFirstNode () |
vtkAssemblyNode * | GetLastNode () |
void | DeleteLastNode () |
void | ShallowCopy (vtkAssemblyPath *path) |
virtual unsigned long | GetMTime () |
vtkAssemblyNode * | GetNextNode (vtkCollectionSimpleIterator &cookie) |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkAssemblyPath * | SafeDownCast (vtkObject *o) |
static vtkAssemblyPath * | New () |
Protected Member Functions | |
vtkAssemblyPath () | |
~vtkAssemblyPath () | |
void | AddNode (vtkAssemblyNode *n) |
Protected Attributes | |
vtkTransform * | Transform |
vtkProp * | TransformedProp |
vtkAssemblyPath::vtkAssemblyPath | ( | ) | [protected] |
vtkAssemblyPath::~vtkAssemblyPath | ( | ) | [protected] |
virtual const char* vtkAssemblyPath::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkCollection.
static int vtkAssemblyPath::IsTypeOf | ( | const char * | name | ) | [static] |
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 vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkCollection.
virtual int vtkAssemblyPath::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 vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkCollection.
static vtkAssemblyPath* vtkAssemblyPath::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkCollection.
void vtkAssemblyPath::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 vtkCollection.
static vtkAssemblyPath* vtkAssemblyPath::New | ( | ) | [static] |
Instantiate empty path with identify matrix.
Reimplemented from vtkCollection.
void vtkAssemblyPath::AddNode | ( | vtkProp * | p, | |
vtkMatrix4x4 * | m | |||
) |
Convenience method adds a prop and matrix together, creating an assembly node transparently. The matrix pointer m may be NULL. Note: that matrix is the one, if any, associated with the prop.
vtkAssemblyNode* vtkAssemblyPath::GetNextNode | ( | ) |
Get the next assembly node in the list. The node returned contains a pointer to a prop and a 4x4 matrix. The matrix is evaluated based on the preceding assembly hierarchy (i.e., the matrix is not necessarily as the same as the one that was added with AddNode() because of the concatenation of matrices in the assembly hierarchy).
vtkAssemblyNode* vtkAssemblyPath::GetFirstNode | ( | ) |
Get the first assembly node in the list. See the comments for GetNextNode() regarding the contents of the returned node. (Note: This node corresponds to the vtkProp associated with the vtkRenderer.
vtkAssemblyNode* vtkAssemblyPath::GetLastNode | ( | ) |
Get the last assembly node in the list. See the comments for GetNextNode() regarding the contents of the returned node.
void vtkAssemblyPath::DeleteLastNode | ( | ) |
Delete the last assembly node in the list. This is like a stack pop.
void vtkAssemblyPath::ShallowCopy | ( | vtkAssemblyPath * | path | ) |
Perform a shallow copy (reference counted) on the incoming path.
virtual unsigned long vtkAssemblyPath::GetMTime | ( | ) | [virtual] |
Override the standard GetMTime() to check for the modified times of the nodes in this path.
Reimplemented from vtkObject.
vtkAssemblyNode* vtkAssemblyPath::GetNextNode | ( | vtkCollectionSimpleIterator & | cookie | ) | [inline] |
Reentrant safe way to get an object in a collection. Just pass the same cookie back and forth.
Definition at line 83 of file vtkAssemblyPath.h.
void vtkAssemblyPath::AddNode | ( | vtkAssemblyNode * | n | ) | [protected] |
vtkTransform* vtkAssemblyPath::Transform [protected] |
Definition at line 93 of file vtkAssemblyPath.h.
vtkProp* vtkAssemblyPath::TransformedProp [protected] |
Definition at line 94 of file vtkAssemblyPath.h.