## ChainRoot

Object Hierarchy | Related C++ Class: ChainRoot

### Inheritance

SIObject

ProjectItem

SceneItem

X3DObject

ChainElement

ChainRoot

### Introduced

v1.5

### Description

The ChainRoot object represents the root of a skeleton chain.

### Methods

Add2DChain | Add3DChain | AddAnnotation | AddBone
AddCamera | AddCameraRig | AddChild | AddControl
AddCustomOp | AddCustomProperty | AddFxTree | AddGeometry
AddICEAttribute | AddLattice | AddLight | AddLightRig
AddMaterial | AddModel | AddNull | AddNurbsCurve
AddNurbsCurveList | AddNurbsCurveList2 | AddNurbsSurface | AddNurbsSurfaceMesh
AddNurbsSurfaceMesh2 | AddPolygonMesh | AddPrimitive | AddProperty
AddScriptedOp | AddScriptedOpFromFile | AnimatedParameters2 | ApplyEnvelope
BelongsTo | EvaluateAt | FindChild | FindChild2
FindChildren | FindChildren2 | GetActivePrimitive2 | GetActivePrimitive3
GetBoundingBox | GetICEAttributeFromName | GetLocalPropertyFromName | GetLocalPropertyFromName2
GetModels2 | GetPropertyFromName | GetPropertyFromName2 | GetStaticKinematicState
HasStaticKinematicState | IsA | IsAnimated2 | IsClassOf
IsEqualTo | IsKindOf | IsLocked | IsNodeAnimated
IsSelected | LockOwners | NodeAnimatedParameters | RemoveChild
RemoveFromParent | RemoveICEAttribute | SetAsSelected | SetCapabilityFlag
SetLock | SetMaterial | ShapeAnimatedClusters | TaggedParameters
UnSetLock |  |  |

### Properties

ActivePrimitive | Application | Bones | BranchFlag
Capabilities | Categories | Children | Effector
Envelopes | EvaluationID | Families | FullName
Help | HierarchicalEvaluationID | ICEAttributes | Kinematics
LocalProperties | LocalRotation | LocalScaling | LocalTranslation
LockLevel | LockMasters | LockType | Material
Materials | Model | Models | Name
NestedObjects | ObjectID | Origin | OriginPath
Owners | PPGLayout | Parameters | Parent
Parent3DObject | Primitives | Properties | Root
Selected | Type |  |

### Examples

#### VBScript Example

    'VBScript example
    'effector for first bone
    set oEff1 = XSIMath.CreateVector3()
    oEff1.x = 3
    oEff1.y = 3
    oEff1.z = 3
    'effector for second bone
    set oEff2 = XSIMath.CreateVector3()
    oEff2.x = 6
    oEff2.y = 0
    oEff2.z = 0
    'construct skeleton
    set oRoot = ActiveProject.ActiveScene.Root
    set oChain = oRoot.Add3dChain()
    set oBone1 = oChain.AddBone(oEff1)
    set oBone2 = oChain.AddBone(oEff2)
    'get the root
    set oChRoot = oChain.Root
    oChRoot.AddBone Array(10, 0, 0)
    LogMessage oChRoot.Name
    LogMEssage typename(oChRoot)

### See Also

ChainElement.Root ChainBone ChainEffector X3DObject.Add2DChain X3DObject.Add3DChain