MAXScript Language Reference > 3ds Max Objects > Interfaces > Node Interfaces > Node Interfaces Documentation >

# Interface : INode

This represents a Node Interface providing access to some properties and methods available in all nodes.

Properties

    .vertexColorType : enum : Read|Write

    vertexColorType enums: {#color | #illum | #alpha | #color_plus_illum | #soft_select | #map_channel}

Gets/Sets the vertex color display type.

    .vertexColorMapChannel : integer : Read|Write

Gets/Set the map channel used for vertex colors when .vertexColorType is set to the new enum value #map_channel .

    .posInParent : point3 : Read

Gets the node’s position relatively to its parent. When the parent is undefined (node is child of the world), returns the world position.

    .rotInParent : point3 : Read

Gets the node’s rotation relatively to its parent.

    .scaleInParent : point3 : Read

Gets the node’s scale relatively to its parent.

    .scaleOrientInParent : quat : Read

Gets the node’s scale orientation relatively to its parent.

    .boneEnable : boolean : Read|Write

Gets/Sets the node’s Bone property.

    .posTaskWeight : float : Read|Write

Gets/Sets the the Bind Position Weight value under the Hierarchy > IK. Panel.

    .rotTaskWeight : float : Read|Write

Gets/Sets the the Bind Orientation Weight value under the Hierarchy > IK. Panel.

    .boneAutoAlign : boolean : Read|Write

Gets/Sets the the node’s AutoAlign Bone property. When turned off, the bone's pivot point will not align to its child object. The translation of a child bone will not be converted into rotation of the parent. Instead the child will be allowed to move away from the parent's X-axis.

Note

Changing the state of this check box will not have an immediate visual effect on the skeleton. It only affects future behavior when bones are moved. This option is only available if Bone is off.

    .boneFreezeLength : boolean : Read|Write

Gets/Sets the the node’s Freeze Length property. When turned on, the bone maintains its length. When turned off, the bone's length is based on the translation of its child bone. This option is available only if Auto-Align is on.

    .boneScaleType : enum : Read|Write

    boneScaleType enums : {#scale|#squash|#none}

Gets/Sets the the node’s Bone Scale Type property.

Scale: Lets the bone scale. The stretch happens along one axis.

Squash: Lets the bone squash. The bone gets fatter as it gets shorter, and thinner as it gets longer.

None: No stretch takes place.

    .stretchTM : matrix3 by value : Read

Gets the the node’s Stretch Transformation Matrix. Normally, matrix concatenation occurs in the following manner:

objectTM = objectOffsetTM * stretchTM * nodeTM

So code that uses the objectTM will transparently inherit the effects of the stretchTM. However if you want the stretchTM included but not the object offset, this property will return the stretchTM alone. If the node is not a bone or has no stretching, this property will return the identity matrix.

    .boneAxis : enum : Read|Write

    boneAxise nums : {#X | #Y | #Z}

Gets/Sets the node’s Bone Axis.

    .boneAxisFlip : boolean : Read|Write

Gets/Sets the node’s Bone Flip Axis option.

    .primaryVisibility : boolean : Read|Write

Gets/Sets the node’s Visible to Camera option.

    .secondaryVisibility : boolean : Read|Write

Gets/Sets the node’s Visible to Reflection/Refraction option.

    .applyAtmospherics : boolean : Read|Write

Gets/Sets the node’s Apply Atmospherics option.

    .showVertexColors : integer : Read|Write

Gets/Sets the node’s Show Vertex Colors option.

    .shadeVertexColors : integer : Read|Write

Gets/Sets the node’s Shade Vertex Colors option.

    .handle : DWORD : Read

Gets the node’s handle. It provides a unique identifier independent from the object’s name.

Methods:

    <void>setBoneEnable <boolean>onOff <time>time

Enables/Dsiables the bone.

When <onOff> is true, the bone or object behaves as a bone. Turning this option off causes the node to stop behaving like a bone. There is no auto alignment or stretching. Note that turning this option on will not cause the object to immediately align or stretch. However future translations of children may cause rotation and stretching. Default=on for bone objects, off for other objects.

<time> specifies the time at which to calculate and store initial child position. This is usually used with the current time slider position. The time associated with the time slider can be queried and set using the sliderTime global variable.Time Control

    <void>realignBoneToChild()

Rotates the node such that its X axis points at the average position of all children with the bone property turned on.

    <void>resetBoneStretch()

Resets the initial child position used to compute the stretch factor to the current child position. This will cause the stretch factor to become equal to one. If it was previously not equal to one then the object would snap to its original unstretched state.

#### See Also

- Node Interfaces