The Nebula Device 3: CoreAnimation::AnimUtil Class Reference

The Nebula Device 3

CoreAnimation::AnimUtil Class Reference

#include <animutil.h>


Detailed Description

A class which contains utility methods for animation sampling and mixing.

(C) 2008 Radon Labs GmbH

Static Public Member Functions

static void Sample (const Ptr< AnimResource > &animResource, IndexT clipIndex, SampleType::Code sampleType, Timing::Tick time, float timeFactor, const Ptr< AnimSampleBuffer > &result)
 OBSOLETE: sample an animation clip at some point in time into an AnimSampleBuffer.
static Ptr< Jobs::JobCreateSampleJob (const Ptr< AnimResource > &animResource, IndexT clipIndex, SampleType::Code sampleType, Timing::Tick time, float timeFactor, const Ptr< AnimSampleBuffer > &result)
 setup a job object which performs sampling
static Ptr< Jobs::JobCreateSampleAndMixJob (const Ptr< AnimResource > &animResource, IndexT clipIndex, SampleType::Code sampleType, Timing::Tick time, float timeFactor, float mixWeight, const Ptr< AnimSampleBuffer > &mixIn, const Ptr< AnimSampleBuffer > &result)
 setup a job which performs both sampling and mixing
static IndexT ClampKeyIndex (IndexT keyIndex, const AnimClip &clip)
 clamp key index into valid range
static Timing::Tick InbetweenTicks (Timing::Tick sampleTime, const AnimClip &clip)
 compute inbetween ticks for a given sample time

Member Function Documentation

void CoreAnimation::AnimUtil::Sample ( const Ptr< AnimResource > &  animResource,
IndexT  clipIndex,
SampleType::Code  sampleType,
Timing::Tick  time,
float  timeFactor,
const Ptr< AnimSampleBuffer > &  result 
) [static]

OBSOLETE: sample an animation clip at some point in time into an AnimSampleBuffer.

NOTE: this method is obsolete NOTE: The sampler will *NOT* the start time of the clip into account! TODO: seperate delta computation from default sampling, set curveindex from jointname in characterinstance !!!

Ptr< Job > CoreAnimation::AnimUtil::CreateSampleJob ( const Ptr< AnimResource > &  animResource,
IndexT  clipIndex,
SampleType::Code  sampleType,
Timing::Tick  time,
float  timeFactor,
const Ptr< AnimSampleBuffer > &  resultBuffer 
) [static]

setup a job object which performs sampling

Create a job object which is setup to perform simple animation sampling.

Ptr< Job > CoreAnimation::AnimUtil::CreateSampleAndMixJob ( const Ptr< AnimResource > &  animResource,
IndexT  clipIndex,
SampleType::Code  sampleType,
Timing::Tick  time,
float  timeFactor,
float  mixWeight,
const Ptr< AnimSampleBuffer > &  mixIn,
const Ptr< AnimSampleBuffer > &  resultBuffer 
) [static]

setup a job which performs both sampling and mixing

Create a job which performs both sampling and mixing.

IndexT CoreAnimation::AnimUtil::ClampKeyIndex ( IndexT  keyIndex,
const AnimClip clip 
) [static]

clamp key index into valid range

Clamp key indices into the valid range, take pre-infinity and post-infinity type into account.

Timing::Tick CoreAnimation::AnimUtil::InbetweenTicks ( Timing::Tick  sampleTime,
const AnimClip clip 
) [static]

compute inbetween ticks for a given sample time

Compute the inbetween-ticks between two frames for a given sample time.