I3DShJoint Struct Reference
[Shell Interfaces]

Inheritance diagram for I3DShJoint:

IMCUnknown List of all members.

Public Member Functions

virtual I3DShTreeElement
*MCCOMAPI 
GetTreeElement ()=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 IsAttached ()=0
virtual boolean MCCOMAPI IsOneJointSelected ()=0
virtual void MCCOMAPI Attach (const TMCPtrArray< I3DShPrimitive > &primitives)=0
virtual void MCCOMAPI GetAttachedPrimitives (TMCPtrArray< I3DShPrimitive > &primitives)=0
virtual void MCCOMAPI DettachPrimitives (const TMCPtrArray< I3DShPrimitive > *inPrimitives)=0
virtual void MCCOMAPI DettachPrimitive (I3DShPrimitive *primitive)=0
virtual void MCCOMAPI Relink (I3DShPrimitive *primitive)=0
virtual void MCCOMAPI Relink (TMCPtrArray< I3DShPrimitive > &primitives)=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


Member Function Documentation

virtual void MCCOMAPI I3DShJoint::Attach (  const TMCPtrArray< I3DShPrimitive > &  primitives  )  [pure virtual]
 

Adds the given primitives to the list of primitives to notify of movement

Parameters:
primitives The list of the primitives to attach to this joint

virtual void MCCOMAPI I3DShJoint::DettachPrimitive (  I3DShPrimitive *  primitive  )  [pure virtual]
 

Removes from the list of primitives to notify of joint movements the given primitive Keeps the reference transform (to enable relinking) and the other primitives (if any)

Parameters:
primitive the primitive that should not be notified anymore of joint movements

virtual void MCCOMAPI I3DShJoint::DettachPrimitives (  const TMCPtrArray< I3DShPrimitive > *  inPrimitives  )  [pure virtual]
 

Clears the list of primitives to notify of joint movements if inPrimitives is NULL otherwise removes them from the internal list

virtual void MCCOMAPI I3DShJoint::GetAttachedPrimitives (  TMCPtrArray< I3DShPrimitive > &  primitives  )  [pure virtual]
 

Returns the list of primitives notified when the joint moves.

Parameters:
primitives The list of primtives that are attached to this joint.

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

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

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 boolean MCCOMAPI I3DShJoint::IsAttached (   )  [pure virtual]
 

Tells if the joint is notifying primitives of its movements

Returns:
true if the joint is linked to some primitives.

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::Relink (  TMCPtrArray< I3DShPrimitive > &  primitives  )  [pure virtual]
 

Adds the given primitives to the list of primitives notified when the joint moves. If the joint has no reference position, one is created with the current position.

Parameters:
primitives The primitives that should be notified of joint movements.

virtual void MCCOMAPI I3DShJoint::Relink (  I3DShPrimitive *  primitive  )  [pure virtual]
 

Adds the given primitive to the list of primitives notified when the joint moves. If the joint has no reference position, one is created with the current position.

Parameters:
primitive The primitive that should be notified of joint movements.


The documentation for this struct was generated from the following file:
Generated on Mon Mar 14 12:29:02 2005 for Carrara SDK Doc by  doxygen 1.3.9.1