# I3DShJoint Struct Reference
[Shell Interfaces]

Inheritance diagram for I3DShJoint:

List of all members.

## Public Member Functions
virtual I3DShTreeElement *MCCOMAPI | GetTreeElement ()=0
virtual I3DShGlobalDeformerHelper *MCCOMAPI | GetGlobalDeformerHelper ()=0
virtual boolean MCCOMAPI | IsSkeletonRoot ()=0
virtual I3DShJoint *MCCOMAPI | GetSkeletonRoot ()=0
virtual I3DShJoint *MCCOMAPI | GetFather ()=0
virtual void MCCOMAPI | GetSonJoints (TMCPtrArray< I3DShJoint > &outSons)=0
virtual boolean MCCOMAPI | IsOneJointSelected ()=0
virtual void MCCOMAPI | SetPrimitiveBoundingBox (I3DShPrimitive *primitive, const TBBox3D &bbox)=0
virtual const TBBox3D &MCCOMAPI | GetJointBoundingBox ()=0
virtual void MCCOMAPI | InvalidatePrimitiveBoundingBox (I3DShPrimitive *primitive)=0

## Detailed Description

The interface for the joint object that is used to build skeletons for character animation.

A joint is basically a tree element (with a transform) with an extra datacomponent that store informations relative to the skinning.

Look at the file BonesUtilities.h for usefull tools related to I3DShJoint.

Note: the attach methods only have an effect on this single joint/

Joints always implement I3DShTreeElement and I3DShGlobalDeformerHelper

## Member Function Documentation

virtual I3DShJoint* MCCOMAPI I3DShJoint::GetFather | ( |  | ) | `[pure virtual]`

Returns the father ot this joint (null if it is the root of the skeleton)

virtual I3DShGlobalDeformerHelper* MCCOMAPI I3DShJoint::GetGlobalDeformerHelper | ( |  | ) | `[pure virtual]`

Returns a pointer to the I3DExGlobalDeformerHelper interface. This is equivalent to call QueryInterface with IID_I3DExGlobalDeformerHelper.

virtual const TBBox3D& MCCOMAPI I3DShJoint::GetJointBoundingBox | ( |  | ) | `[pure virtual]`

Set the bounding box of the joint taking into account the geometry of the primitives attached to it.

virtual I3DShJoint* MCCOMAPI I3DShJoint::GetSkeletonRoot | ( |  | ) | `[pure virtual]`

Returns: the topmost joint parent of this one

virtual void MCCOMAPI I3DShJoint::GetSonJoints | ( | TMCPtrArray< I3DShJoint > & | outSons | ) | `[pure virtual]`

Returns the list of the (direct) sons of this joint

Parameters:

  | outSons | An array to store the list of the sons of this joint.

virtual I3DShTreeElement* MCCOMAPI I3DShJoint::GetTreeElement | ( |  | ) | `[pure virtual]`

Returns a pointer to the I3DShTreeElement interface. This is equivalent to call QueryInterface with IID_I3DShTreeElement.

virtual void MCCOMAPI I3DShJoint::InvalidatePrimitiveBoundingBox | ( | I3DShPrimitive * | primitive | ) | `[pure virtual]`

Invalidates the bounding box of the given primitive for the joint.

Parameters:

  | primitive | The calling primitive.

virtual boolean MCCOMAPI I3DShJoint::IsOneJointSelected | ( |  | ) | `[pure virtual]`

Returns true if one joint of the skeleton this joint belongs to is selected

virtual boolean MCCOMAPI I3DShJoint::IsSkeletonRoot | ( |  | ) | `[pure virtual]`

Return true if the father of the joint is not a joint

virtual void MCCOMAPI I3DShJoint::SetPrimitiveBoundingBox | ( | I3DShPrimitive * | primitive,
|  | const TBBox3D & | bbox |
| ) |  |  | `[pure virtual]`

Set the bounding box of the given primitive for the joint. The primitive must be attached to this joint.

Parameters:

  | primitive | The calling primitive.
  | bbox | The bounding box in joint local coordinates.

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

- I3DShJoint.h