A node maintains at least six references that allow it to get notified when items that affect it change. These references are listed and defined below:
Node References: | Description: |
Transform Controller | This is a reference to the node's transform controller. This controller governs the position, rotation and scaling of the node in the scene. Developers can get and set the transform controller used by the node using INode::GetTMController() and INode::GetTMController(). Most nodes use the PRS transform controller (for example mesh objects). Other items (such as target spotlights and cameras) use the Look At transform controller. |
Object Reference | Each node maintains a pointer to an object. This is a pointer to the base object (mesh, light, camera) or a derived object (see the Geometry Pipeline System topic for details on derived objects). The path that follows between object references are what make up a geometry pipeline in 3ds Max. The node's object reference is where the pipeline starts. The object reference can be accessed and assigned using the methods INode::GetObjectRef() and INode::SetObjectRef() |
Pin Node for Inverse Kinematics | The reference at index 2 (e.g. GetReference(2)) is a pointer to the pin node for Inverse Kinematics. This reference is not assigned by default and is thus NULL initially. |
Material Reference | Materials in 3ds Max are assigned at the node level. There is a single material assigned per node. This reference is a pointer to the material for the node. A developer can get and set the material using the methods INode::GetMtl() and INode::SetMtl(). If a material is assigned, this reference tracks it. This reference is not assigned by default and is thus NULL initially. |
Visibility Controller | In Track View the user can assign this visibility controller using the 'Add Visibility Track' icon. When this controller is assigned this reference points to the controller managing the node visibility. This reference is not assigned by default and is thus NULL initially. You can get or set the visibility controller using the methods INode::GetVisController() and INode::SetVisController(). |
Image Blur Controller |
This reference is not assigned by default and is thus NULL initially. The image blur controller can be get and set using the methods INode::GetImageBlurMultController() and INode::SetImageBlurMultController(). |
Layer |
The layer reference can be accessed using GetReference(NODE_LAYER_REF). For more information on layers see Layer Management. |