IFXSkeletonMixer

The IFXSkeletonMixer interface is used to map motions to bones. It maps all tracks in one motion to bones with matching names, or maps specific tracks by name to specific bones.

Note: Mixing capabilites, where weighted parts of tracks (a non-temporal blend) are taken inside the mixer, are not presently supported. This means that the mixer is simply a mapper.

Interface Methods

Description

operator=

A standard deep copy

MapIK

Maps the IK of a bone

MapFullMotion

Maps an entire motion by palette index

MapSubMotion

Maps the sub-hierarchy of motion under a bone

MapMotionTrackToBone

Maps a specific motion track to an indexed bone

TimeOffset

Accesses the mixer's alignment

TimeScale

Accesses how time changes are scaled for this mixer

Loop

Accesses whether this mixer repeats or ends

Sync

Accesses whether this mixer attempts to align with adjacent mixers using percent completed

Running

Accesses whether this mixer has started running yet

GetMotionTimeLimits

Gets the collective time bounds of tracks used by mixer

GetRelativeTransform

Gets a bone's transform relative to it's parent

SetRelativeTransform

Sets a bone's transform relative to it's parent

GetWorldTransform

Gets a bone's transform in absolute space

GetPrimaryMotionName

Gets the name of the motion first applied by MapFullMotion

SetPrimaryMotionName

Sets the name of the motion first applied

SetModel

For external use

SetParam

For external use

GetMotionMixer

For external use

GetScenegraph

For external use


IFXSkeletonMixer::operator=(IFXSkeletonMixer *other)

This method is a standard deep copy.

Parameters:

*other

Pointer to a mixer

Return Values:

IFXSkeletonMixer &


IFXSkeletonMixer::MapIK()

Parameters:

None

Return Values


IFXSkeletonMixer::MapFullMotion(U32 motionId)

This method maps an entire motion by palette index.

Parameters:

motionId

Motion ID number

Return Values


IFXSkeletonMixer::MapSubMotion(U32 motionId, long fromboneid)

This method maps the sub-hierarchy of motion under a bone.

Parameters:

motionId

Motion ID number

fromboneid

Bone ID

Return Values


IFXSkeletonMixer::MapMotionTrackToBone(U32 motionId,IFXString trackname,U32 boneID)

This method maps a specific motion track to an indexed bone.

Parameters:

motionId

Motion ID number

trackname

Name of the motion track

boneID

Bone ID number

Return Values:


IFXSkeletonMixer::TimeOffset()

This method accesses the mixer's alignment, continuously changing frame to frame.

Parameters:

None

Return Values:

F32&


IFXSkeletonMixer::TimeScale()

This method accesses how time changes are scaled for this mixer.

Parameters:

None

Return Values:

F32&


IFXSkeletonMixer::Loop()

This method accesses whether this mixer repeats or ends.

Parameters:

None

Return Values:

BOOL&


IFXSkeletonMixer::Sync()

This method accesses whether this mixer attempts to align with adjacent mixers using percent completed.

Parameters:

None

Return Values:

BOOL&


IFXSkeletonMixer::Running()

This method accesses whether this mixer has started running yet.

Parameters:

None

Return Values:

BOOL&


IFXSkeletonMixer::GetMotionTimeLimits(F32 *pMin,F32 *pMax)

This method gets the collective time bounds of tracks used by mixer.

Parameters:

*pMin

Pointer to the minimum time limit

*pMax

Pointer to the maximum time limit

Return Values


IFXSkeletonMixer::GetRelativeTransform(U32 boneID,F32 *pMatrix16)

This method gets a bone's transform relative to its parent. All transform access is copy-based, not direct.

Parameters:

boneID

Bone ID number

*pMatrix16

Pointer to the transform array

Return Values


IFXSkeletonMixer::SetRelativeTransform(U32 boneID,F32 *pMatrix16)

This method sets a bone's transform relative to its parent.

Parameters:

boneID

Bone ID number

*pMatrix16

Pointer to the transform array

Return Values


IFXSkeletonMixer::GetWorldTransform(U32 boneID,F32 *pMatrix16)

This method gets a bone's transform in absolute space.

Parameters:

boneID

Bone ID number

*pMatrix16

Pointer to the transform array

Return Values


IFXSkeletonMixer::GetPrimaryMotionName()

This method gets the name of the motion first applied by MapFullMotion.

Parameters:

None

Return Values:

IFXString


IFXSkeletonMixer::SetPrimaryMotionName(IFXString name)

This method sets the name of the motion first applied. Intended for internal use, but can be used to force a motion name.

Parameters:

name

Name of the PrimaryMotion

Return Values:

None


IFXSkeletonMixer::SetModel(IFXModel *pModel)

For internal use.

Parameters:

*pModel

Pointer to the IFXModel

Return Values:

None


IFXSkeletonMixer::SetParam(IFXSkeletonModifierParam *pParam)

For internal use.

Parameters:

*pParam

Pointer to the IFXSkeletonModifierParam

Return Values:

None


IFXSkeletonMixer::GetMotionMixer()

For internal use.

Parameters:

None

Return Values:

IFXMotionMixerInterface *


IFXSkeletonMixer::GetScenegraph(IFXSceneGraph** ppOutScenegraph)

For internal use.

Parameters:

ppOutScenegraph

Pointer to the scenegraph

Return Values

 

§See asterisked (*) statement at Legal Information © 2001 Intel Corporation.