VTK: vtkAssembly Class Reference

| VTK 9.3.1

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

create hierarchies of vtkProp3Ds (transformable props) More...

`#include <vtkAssembly.h>`

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

## Public Types
typedef vtkProp3D | Superclass
Public Types inherited from vtkProp3D
typedef vtkProp | Superclass
enum | CoordinateSystems { WORLD = 0 , PHYSICAL = 1 , DEVICE = 2 }
| Specify the coordinate system that this prop is relative to. More...
Public Types inherited from vtkProp
typedef vtkObject | Superclass

## Public Member Functions
virtual vtkTypeBool | IsA (const char *type)
| Return 1 if this class is the same type of (or a subclass of) the named class. More...
vtkAssembly * | NewInstance () const
void | PrintSelf (ostream &os, vtkIndent indent) override
| Methods invoked by print to print information about the object including superclasses. More...
void | AddPart (vtkProp3D *)
| Add a part to the list of parts. More...
void | RemovePart (vtkProp3D *)
| Remove a part from the list of parts,. More...
vtkProp3DCollection * | GetParts ()
| Return the parts (direct descendants) of this assembly. More...
vtkTypeBool | 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...
void | GetBounds (double bounds[6])
| Get the bounds for the assembly as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax). More...
double * | GetBounds () override
| Return a reference to the Prop3D's composite transform. More...
vtkMTimeType | GetMTime () override
| Override default GetMTime method to also consider all of the assembly's parts. More...
void | ShallowCopy (vtkProp *prop) override
| Shallow copy of an assembly. 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...
void | GetActors (vtkPropCollection *) override
| For some exporters and other other operations we must be able to collect all the actors or volumes. More...
void | GetVolumes (vtkPropCollection *) override
| For some exporters and other other operations we must be able to collect all the actors or volumes. 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...
void | InitPathTraversal () override
| Methods to traverse the parts of an assembly. More...
vtkAssemblyPath * | GetNextPath () override
| Methods to traverse the parts of an assembly. More...
int | GetNumberOfPaths () override
| Methods to traverse the parts of an assembly. More...
Public Member Functions inherited from vtkProp3D
vtkProp3D * | NewInstance () const
void | PrintSelf (ostream &os, vtkIndent indent) override
| Methods invoked by print to print information about the object including superclasses. More...
void | ShallowCopy (vtkProp *prop) override
| Shallow copy of this vtkProp3D. More...
virtual void | SetPosition (double pos[3])
virtual double * | GetPosition ()
virtual void | GetPosition (double data[3])
void | AddPosition (double deltaPosition[3])
void | AddPosition (double deltaX, double deltaY, double deltaZ)
void | SetScale (double s)
| Method to set the scale isotropically. More...
virtual void | SetPropertiesFromModelToWorldMatrix (vtkMatrix4x4 *modelToWorld)
| Set the position, scale, orientation from a provided model to world matrix. More...
double * | GetCenter ()
| Get the center of the bounding box in world coordinates. More...
double * | GetXRange ()
| Get the Prop3D's x range in world coordinates. More...
double * | GetYRange ()
| Get the Prop3D's y range in world coordinates. More...
double * | GetZRange ()
| Get the Prop3D's z range in world coordinates. More...
double | GetLength ()
| Get the length of the diagonal of the bounding box. More...
void | RotateX (double)
| Rotate the Prop3D in degrees about the X axis using the right hand rule. More...
void | RotateY (double)
| Rotate the Prop3D in degrees about the Y axis using the right hand rule. More...
void | RotateZ (double)
| Rotate the Prop3D in degrees about the Z axis using the right hand rule. More...
void | RotateWXYZ (double w, double x, double y, double z)
| Rotate the Prop3D in degrees about an arbitrary axis specified by the last three arguments. More...
void | SetOrientation (double x, double y, double z)
| Sets the orientation of the Prop3D. More...
void | SetOrientation (double orientation[3])
| Sets the orientation of the Prop3D. More...
double * | GetOrientationWXYZ ()
| Returns the WXYZ orientation of the Prop3D. More...
void | AddOrientation (double x, double y, double z)
| Add to the current orientation. More...
void | AddOrientation (double orentation[3])
| Add to the current orientation. More...
void | PokeMatrix (vtkMatrix4x4 *matrix) override
| This method modifies the vtkProp3D so that its transformation state is set to the matrix specified. More...
void | InitPathTraversal () override
| Overload vtkProp's method for setting up assembly paths. More...
vtkMTimeType | GetMTime () override
| Get the vtkProp3D's mtime. More...
vtkMTimeType | GetUserTransformMatrixMTime ()
| Get the modified time of the user matrix or user transform. More...
virtual void | SetPosition (double x, double y, double z)
| Set/Get/Add the position of the Prop3D in world coordinates. More...
virtual void | SetOrigin (double x, double y, double z)
| Set/Get the origin of the Prop3D. More...
virtual void | SetOrigin (const double pos[3])
| Set/Get the origin of the Prop3D. More...
virtual double * | GetOrigin ()
| Set/Get the origin of the Prop3D. More...
virtual void | GetOrigin (double data[3])
| Set/Get the origin of the Prop3D. More...
virtual void | SetScale (double x, double y, double z)
| Set/Get the scale of the actor. More...
virtual void | SetScale (double scale[3])
| Set/Get the scale of the actor. More...
virtual double * | GetScale ()
| Set/Get the scale of the actor. More...
virtual void | GetScale (double data[3])
| Set/Get the scale of the actor. More...
void | SetUserTransform (vtkLinearTransform *transform)
| In addition to the instance variables such as position and orientation, you can add an additional transformation for your own use. More...
virtual vtkLinearTransform * | GetUserTransform ()
| In addition to the instance variables such as position and orientation, you can add an additional transformation for your own use. More...
void | SetUserMatrix (vtkMatrix4x4 *matrix)
| The UserMatrix can be used in place of UserTransform. More...
vtkMatrix4x4 * | GetUserMatrix ()
| The UserMatrix can be used in place of UserTransform. More...
virtual void | GetMatrix (vtkMatrix4x4 *result)
| Return a reference to the Prop3D's 4x4 composite matrix. More...
virtual void | GetMatrix (double result[16])
| Return a reference to the Prop3D's 4x4 composite matrix. More...
virtual void | GetModelToWorldMatrix (vtkMatrix4x4 *result)
| Return a reference to the Prop3D's Model to World matrix. More...
void | GetBounds (double bounds[6])
| Return a reference to the Prop3D's composite transform. More...
double * | GetOrientation ()
| Returns the orientation of the Prop3D as s vector of X,Y and Z rotation. More...
void | GetOrientation (double orentation[3])
| Returns the orientation of the Prop3D as s vector of X,Y and Z rotation. More...
virtual void | ComputeMatrix ()
| Generate the matrix based on ivars. More...
vtkMatrix4x4 * | GetMatrix () override
| Get a pointer to an internal vtkMatrix4x4. More...
virtual vtkTypeBool | GetIsIdentity ()
| Is the matrix for this actor identity. More...
void | SetCoordinateSystemRenderer (vtkRenderer *ren)
| Specify the Renderer that the prop3d is relative to when the coordinate system is set to PHYSICAL or DEVICE. More...
vtkRenderer * | GetCoordinateSystemRenderer ()
| Specify the Renderer that the prop3d is relative to when the coordinate system is set to PHYSICAL or DEVICE. More...
virtual void | SetCoordinateSystemDevice (int)
| Specify the device to be used when the coordinate system is set to DEVICE. More...
virtual int | GetCoordinateSystemDevice ()
| Specify the device to be used when the coordinate system is set to DEVICE. More...
void | SetCoordinateSystemToWorld ()
| Specify the coordinate system that this prop is relative to. More...
void | SetCoordinateSystemToPhysical ()
| Specify the coordinate system that this prop is relative to. More...
void | SetCoordinateSystemToDevice ()
| Specify the coordinate system that this prop is relative to. More...
void | SetCoordinateSystem (CoordinateSystems val)
| Specify the coordinate system that this prop is relative to. More...
virtual CoordinateSystems | GetCoordinateSystem ()
| Specify the coordinate system that this prop is relative to. More...
const char * | GetCoordinateSystemAsString ()
| Specify the coordinate system that this prop is relative to. More...
Public Member Functions inherited from vtkProp
vtkProp * | NewInstance () const
virtual void | GetActors2D (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 bool | HasKeys (vtkInformation *requiredKeys)
| Tells if the prop has all the required keys. More...
virtual int | RenderOverlay (vtkViewport *)
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 vtkTypeBool | HasOpaqueGeometry ()
| WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS Does this prop have some opaque geometry? This method is called during the rendering process to know if there is some opaque geometry. 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 | ProcessSelectorPixelBuffers (vtkHardwareSelector *, std::vector< unsigned int > &)
| allows a prop to update a selections color buffers More...
virtual void | SetVisibility (vtkTypeBool)
| Set/Get visibility of this vtkProp. More...
virtual vtkTypeBool | 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 (vtkTypeBool)
| Set/Get the pickable instance variable. More...
virtual vtkTypeBool | 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 (vtkTypeBool)
| Set/Get the value of the dragable instance variable. More...
virtual vtkTypeBool | 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 vtkInformation * | GetPropertyKeys ()
| 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...
vtkObject * | GetConsumer (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...
virtual void | SetShaderProperty (vtkShaderProperty *property)
| Set/Get the shader property. More...
virtual vtkShaderProperty * | GetShaderProperty ()
| Set/Get the shader property. More...
virtual bool | IsRenderingTranslucentPolygonalGeometry ()
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 ()
vtkTypeBool | HasObserver (unsigned long event)
vtkTypeBool | HasObserver (const char *event)
vtkTypeBool | InvokeEvent (unsigned long event)
vtkTypeBool | InvokeEvent (const char *event)
std::string | GetObjectDescription () const override
| The object description printed in messages and PrintSelf output. 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)
| 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...
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
vtkTypeBool | 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...
vtkTypeBool | InvokeEvent (unsigned long event, void *callData)
| This method invokes an event and return whether the event was aborted or not. More...
vtkTypeBool | InvokeEvent (const char *event, void *callData)
| This method invokes an event and return whether the event was aborted or not. More...
virtual void | SetObjectName (const std::string &objectName)
| Set/get the name of this object for reporting purposes. More...
virtual std::string | GetObjectName () const
| Set/get the name of this object for reporting purposes. More...
Public Member Functions inherited from vtkObjectBase
const char * | GetClassName () const
| Return the class name as a string. More...
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name)
| Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and 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 | 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...
bool | GetIsInMemkind () const
| A local state flag that remembers whether this object lives in the normal or extended memory space. 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...
virtual bool | UsesGarbageCollector () const
| Indicate whether the class uses `vtkGarbageCollector` or not. More...

## Static Public Member Functions
static vtkAssembly * | New ()
static vtkTypeBool | IsTypeOf (const char *type)
static vtkAssembly * | SafeDownCast (vtkObjectBase *o)
Static Public Member Functions inherited from vtkProp3D
static vtkTypeBool | IsTypeOf (const char *type)
static vtkProp3D * | SafeDownCast (vtkObjectBase *o)
Static Public Member Functions inherited from vtkProp
static vtkTypeBool | IsTypeOf (const char *type)
static vtkProp * | SafeDownCast (vtkObjectBase *o)
static vtkInformationIntegerKey * | GeneralTextureUnit ()
| 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 vtkInformationDoubleVectorKey * | GeneralTextureTransform ()
| 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 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 (vtkTypeBool 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 vtkTypeBool | 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 vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name)
| Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More...
static vtkObjectBase * | New ()
| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
static void | SetMemkindDirectory (const char *directoryname)
| The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. More...
static bool | GetUsingMemkind ()
| A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. More...

## Protected Member Functions
virtual vtkObjectBase * | NewInstanceInternal () const
| vtkAssembly ()
| ~vtkAssembly () override
virtual void | UpdatePaths ()
Protected Member Functions inherited from vtkProp3D
| vtkProp3D ()
| ~vtkProp3D () override
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 | ReportReferences (vtkGarbageCollector *)
| vtkObjectBase (const vtkObjectBase &)
void | operator= (const vtkObjectBase &)

## Protected Attributes
vtkProp3DCollection * | Parts
vtkTimeStamp | PathTime
Protected Attributes inherited from vtkProp3D
vtkLinearTransform * | UserTransform
vtkMatrix4x4 * | UserMatrix
vtkMatrix4x4 * | Matrix
vtkTimeStamp | MatrixMTime
double | Origin [3]
double | Position [3]
double | Orientation [3]
double | Scale [3]
double | Center [3]
vtkTransform * | Transform
double | Bounds [6]
vtkProp3D * | CachedProp3D
vtkTypeBool | IsIdentity
int | CoordinateSystemDevice
CoordinateSystems | CoordinateSystem = WORLD
vtkWeakPointer< vtkRenderer > | CoordinateSystemRenderer
vtkNew< vtkMatrix4x4 > | TempMatrix4x4
Protected Attributes inherited from vtkProp
vtkTypeBool | Visibility
vtkTypeBool | Pickable
vtkTypeBool | Dragable
bool | UseBounds
double | AllocatedRenderTime
double | EstimatedRenderTime
double | SavedEstimatedRenderTime
double | RenderTimeMultiplier
int | NumberOfConsumers
vtkObject ** | Consumers
vtkAssemblyPaths * | Paths
vtkInformation * | PropertyKeys
vtkShaderProperty * | ShaderProperty
Protected Attributes inherited from vtkObject
bool | Debug
vtkTimeStamp | MTime
vtkSubjectHelper * | SubjectHelper
std::string | ObjectName
Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > | ReferenceCount
vtkWeakPointerBase ** | WeakPointers

## Additional Inherited Members
Static Protected Member Functions inherited from vtkObjectBase
static vtkMallocingFunction | GetCurrentMallocFunction ()
static vtkReallocingFunction | GetCurrentReallocFunction ()
static vtkFreeingFunction | GetCurrentFreeFunction ()
static vtkFreeingFunction | GetAlternateFreeFunction ()

## Detailed Description

create hierarchies of vtkProp3Ds (transformable props)

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.

Warning
  Collections of assemblies are slower to render than an equivalent list of actors. This is because to support arbitrary nesting of assemblies, the state of the assemblies (i.e., transformation matrices) must be propagated through the assembly hierarchy.
  Assemblies 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.
  If you wish to create assemblies without any transformation (using the assembly strictly as a grouping mechanism), then you may wish to consider using vtkPropAssembly.

See also
  vtkActor vtkTransform vtkMapper vtkPolyDataMapper vtkPropAssembly

Online Examples:

Tests:
  vtkAssembly (Tests)

Definition at line 70 of file vtkAssembly.h.

## Member Typedef Documentation

## ◆ Superclass

typedef vtkProp3D vtkAssembly::Superclass

Definition at line 75 of file vtkAssembly.h.

## Constructor & Destructor Documentation

## ◆ vtkAssembly()

vtkAssembly::vtkAssembly | ( |  | ) |
| protected

## ◆ ~vtkAssembly()

vtkAssembly::~vtkAssembly | ( |  | ) |
| overrideprotected

## Member Function Documentation

## ◆ New()

static vtkAssembly* vtkAssembly::New | ( |  | ) |
| static

## ◆ IsTypeOf()

static vtkTypeBool vtkAssembly::IsTypeOf | ( | const char * | type | ) |
| static

## ◆ IsA()

virtual vtkTypeBool vtkAssembly::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 vtkProp3D.

## ◆ SafeDownCast()

static vtkAssembly* vtkAssembly::SafeDownCast | ( | vtkObjectBase * | o | ) |
| static

## ◆ NewInstanceInternal()

virtual vtkObjectBase* vtkAssembly::NewInstanceInternal | ( |  | ) | const
| protectedvirtual

Reimplemented from vtkProp3D.

## ◆ NewInstance()

vtkAssembly* vtkAssembly::NewInstance | ( |  | ) | const

## ◆ PrintSelf()

void vtkAssembly::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 vtkObject.

## ◆ AddPart()

void vtkAssembly::AddPart | ( | vtkProp3D * |  | ) |

Add a part to the list of parts.

## ◆ RemovePart()

void vtkAssembly::RemovePart | ( | vtkProp3D * |  | ) |

Remove a part from the list of parts,.

## ◆ GetParts()

vtkProp3DCollection* vtkAssembly::GetParts | ( |  | ) |
| inline

Return the parts (direct descendants) of this assembly.

Definition at line 91 of file vtkAssembly.h.

## ◆ GetActors()

void vtkAssembly::GetActors | ( | vtkPropCollection * |  | ) |
| overridevirtual

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.

## ◆ GetVolumes()

void vtkAssembly::GetVolumes | ( | vtkPropCollection * |  | ) |
| overridevirtual

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.

## ◆ RenderOpaqueGeometry()

int vtkAssembly::RenderOpaqueGeometry | ( | vtkViewport * | ren | ) |
| overridevirtual

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.

## ◆ RenderTranslucentPolygonalGeometry()

int vtkAssembly::RenderTranslucentPolygonalGeometry | ( | vtkViewport * | ren | ) |
| overridevirtual

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.

## ◆ RenderVolumetricGeometry()

int vtkAssembly::RenderVolumetricGeometry | ( | vtkViewport * | ren | ) |
| overridevirtual

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.

## ◆ HasTranslucentPolygonalGeometry()

vtkTypeBool vtkAssembly::HasTranslucentPolygonalGeometry | ( |  | ) |
| overridevirtual

Does this prop have some translucent polygonal geometry?

Reimplemented from vtkProp.

## ◆ ReleaseGraphicsResources()

void vtkAssembly::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.

## ◆ InitPathTraversal()

void vtkAssembly::InitPathTraversal | ( |  | ) |
| overridevirtual

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.

## ◆ GetNextPath()

vtkAssemblyPath* vtkAssembly::GetNextPath | ( |  | ) |
| overridevirtual

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.

## ◆ GetNumberOfPaths()

int vtkAssembly::GetNumberOfPaths | ( |  | ) |
| overridevirtual

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.

## ◆ GetBounds() [1/2]

void vtkAssembly::GetBounds | ( | double | bounds[6] | ) |
| inline

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

Definition at line 150 of file vtkAssembly.h.

## ◆ GetBounds() [2/2]

double* vtkAssembly::GetBounds | ( |  | ) |
| overridevirtual

Return a reference to the Prop3D's composite transform.

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

Implements vtkProp3D.

## ◆ GetMTime()

vtkMTimeType vtkAssembly::GetMTime | ( |  | ) |
| overridevirtual

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

Reimplemented from vtkObject.

## ◆ ShallowCopy()

void vtkAssembly::ShallowCopy | ( | vtkProp * | prop | ) |
| overridevirtual

Shallow copy of an assembly.

Overloads the virtual vtkProp method.

Reimplemented from vtkProp.

## ◆ BuildPaths()

void vtkAssembly::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.

Paths consist of an ordered sequence of actors, with transformations properly concatenated.

Reimplemented from vtkProp.

## ◆ UpdatePaths()

virtual void vtkAssembly::UpdatePaths | ( |  | ) |
| protectedvirtual

## Member Data Documentation

## ◆ Parts

vtkProp3DCollection* vtkAssembly::Parts
| protected

Definition at line 177 of file vtkAssembly.h.

## ◆ PathTime

vtkTimeStamp vtkAssembly::PathTime
| protected

Definition at line 181 of file vtkAssembly.h.

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

- Rendering/Core/vtkAssembly.h