|
Nebula
|
#include <playclipjob.h>
An AnimJob which simply plays an animation clip.
(C) 2008 Radon Labs GmbH (C) 2013-2018 Individual contributors, see AUTHORS file
Inherits Animation::AnimJob.
Public Member Functions | |
| PlayClipJob () | |
| constructor | |
| virtual | ~PlayClipJob () |
| destructor | |
| void | SetClipName (const Util::StringAtom &clipName) |
| set the anim clip name to play | |
| const Util::StringAtom & | GetClipName () const |
| get the anim clip name | |
| void | SetLoopCount (float loopCount) |
| set the loop count (overrides duration) | |
| float | GetLoopCount () const |
| get the loop count | |
Public Member Functions inherited from Animation::AnimJob | |
| AnimJob () | |
| constructor | |
| virtual | ~AnimJob () |
| destructor | |
| void | SetName (const Util::StringAtom &id) |
| set human readable name (only used for debugging) | |
| const Util::StringAtom & | GetName () const |
| get human readable name (only used for debugging) | |
| bool | IsAttachedToSequencer () const |
| return true if the job is currently attached to a sequencer | |
| bool | IsActive (Timing::Tick time) const |
| return true if the job has currently playing (EvalTime within start/end time) | |
| bool | IsPending (Timing::Tick time) const |
| return true if the job has been queued for playback but has not started yet | |
| bool | IsStoppingOrExpired (Timing::Tick time) const |
| return true if anim job is stopping or expired | |
| bool | IsExpired (Timing::Tick time) const |
| return true when the job has expired | |
| bool | IsPaused () const |
| returns true if the clip is playing, but has been paused | |
| void | SetTrackIndex (IndexT trackIndex) |
| set track index, defines blend priority and relationship to other jobs on same track | |
| IndexT | GetTrackIndex () const |
| get track index | |
| void | SetEnqueueMode (AnimJobEnqueueMode::Code enqueueMode) |
| set the enqueue behaviour of the new job (default is intercept) | |
| AnimJobEnqueueMode::Code | GetEnqueueMode () const |
| get the enqueue behaviour of the new job | |
| void | SetExclusiveTag (IndexT id) |
| exclusive tag (for AnimJobEnqueueMode::IgnoreIfSameExclTagActive) | |
| IndexT | GetExclusiveTag () const |
| exclusive flag set? | |
| void | SetStartTime (Timing::Tick time) |
| set the start time of the anim job (relative to base time) | |
| Timing::Tick | GetStartTime () const |
| get the start time of the anim job (relative to base time) | |
| void | SetDuration (Timing::Tick time) |
| set the duration of the anim job (0 == infinite) | |
| Timing::Tick | GetDuration () const |
| get the duration of the anim job | |
| bool | IsInfinite () const |
| return true if the anim job is infinite | |
| void | SetFadeInTime (Timing::Tick fadeInTime) |
| set the fade-in time of the anim job | |
| Timing::Tick | GetFadeInTime () const |
| get the fade-in time of the anim job | |
| void | SetFadeOutTime (Timing::Tick fadeOutTime) |
| set the fade-out time of the anim job | |
| Timing::Tick | GetFadeOutTime () const |
| get the fade-out time of the anim job | |
| void | SetTime (Timing::Tick time) |
| jump to a specific time in the job | |
| Timing::Tick | GetTime () const |
| get current time of anim job | |
| void | SetTimeFactor (float timeFactor) |
| set time factor | |
| float | GetTimeFactor () const |
| get time factor | |
| void | SetTimeOffset (Timing::Tick timeOffset) |
| set sample time offset (if sampling should not start at the beginning) | |
| Timing::Tick | GetTimeOffset () const |
| get sample time offset | |
| void | SetBlendWeight (float w) |
| set blend weight of the anim job (default is 1.0) | |
| float | GetBlendWeight () const |
| get blend weight of the anim job | |
| void | SetMask (const Characters::CharacterJointMask *mask) |
| set joint mask | |
| const Characters::CharacterJointMask * | GetMask () const |
| get joint mask | |
| Timing::Tick | GetAbsoluteStartTime () const |
| get the absolute start time (BaseTime + StartTime) | |
| Timing::Tick | GetAbsoluteEndTime () const |
| get the absolute end time (BaseTime + StartTime + Duration) | |
| Timing::Tick | GetAbsoluteStopTime () const |
| get the absolute, computed end time ((BaseTime + StartTime + Duration) - FadeOutTime) | |
Public Member Functions inherited from Core::RefCounted | |
| RefCounted () | |
| constructor | |
| int | GetRefCount () const |
| get the current refcount | |
| void | AddRef () |
| increment refcount by one | |
| void | Release () |
| decrement refcount and destroy object if refcount is zero | |
| bool | IsInstanceOf (const Rtti &rtti) const |
| return true if this object is instance of given class | |
| bool | IsInstanceOf (const Util::String &className) const |
| return true if this object is instance of given class by string | |
| bool | IsInstanceOf (const Util::FourCC &classFourCC) const |
| return true if this object is instance of given class by fourcc | |
| bool | IsA (const Rtti &rtti) const |
| return true if this object is instance of given class, or a derived class | |
| bool | IsA (const Util::String &rttiName) const |
| return true if this object is instance of given class, or a derived class, by string | |
| bool | IsA (const Util::FourCC &rttiFourCC) const |
| return true if this object is instance of given class, or a derived class, by fourcc | |
| const Util::String & | GetClassName () const |
| get the class name | |
| Util::FourCC | GetClassFourCC () const |
| get the class FourCC code | |
Private Member Functions | |
| __DeclareClass (PlayClipJob) | |
| virtual void | OnAttachedToSequencer (const AnimSequencer &animSequencer) |
| called when attached to anim sequencer | |
| virtual Ptr< Jobs::Job > | CreateEvaluationJob (Timing::Tick time, const Ptr< CoreAnimation::AnimSampleBuffer > &mixIn, const Ptr< CoreAnimation::AnimSampleBuffer > &result) |
| create evaluation job for asynchronous evaluation | |
| virtual Util::Array< AnimEventInfo > | EmitAnimEvents (Timing::Tick startTime, Timing::Tick endTime, const Util::String &optionalCatgeory) |
| emit anim events inside given time range | |
Private Attributes | |
| Util::StringAtom | clipName |
| IndexT | clipIndex |
| float | loopCount |
| bool | firstAnimEventCheck |
Additional Inherited Members | |
Static Public Member Functions inherited from Core::RefCounted | |
| static void | DumpRefCountingLeaks () |
| dump refcounting leaks, call at end of application (NEBULA_DEBUG builds only!) | |
Protected Member Functions inherited from Animation::AnimJob | |
| void | SetBaseTime (Timing::Tick time) |
| set the base time of the anim job (set by sequencer when job is attached) | |
| Timing::Tick | GetBaseTime () const |
| get the base time of the anim job | |
| virtual void | OnRemoveFromSequencer () |
| called when removed from sequencer | |
| float | ComputeBlendWeight (Timing::Tick relEvalTime) const |
| compute current blend weight, this should take fade-in into account | |
| void | FixFadeTimes () |
| fix fade-in/fade-out times if the sum is bigger then the play duration | |
| virtual void | UpdateTimes (Timing::Tick time) |
| compute sample time for next evaluation, always done, also if character isn't visible and no evaluation takes place | |
| virtual void | Stop (Timing::Tick time) |
| stop the anim job at the given time | |
| virtual void | Pause (bool pause) |
| pause the anim job at the given time | |
Protected Member Functions inherited from Core::RefCounted | |
| virtual | ~RefCounted () |
| destructor (called when refcount reaches zero) | |
Protected Attributes inherited from Animation::AnimJob | |
| const AnimSequencer * | animSequencer |
| const Characters::CharacterJointMask * | mask |
| Util::StringAtom | name |
| AnimJobEnqueueMode::Code | enqueueMode |
| IndexT | trackIndex |
| IndexT | exclusiveTag |
| Timing::Tick | baseTime |
| Timing::Tick | startTime |
| Timing::Tick | duration |
| Timing::Tick | fadeInTime |
| Timing::Tick | fadeOutTime |
| Timing::Tick | curRelEvalTime |
| Timing::Tick | lastRelEvalTime |
| Timing::Tick | curSampleTime |
| Timing::Tick | lastSampleTime |
| Timing::Tick | timeOffset |
| float | timeFactor |
| float | blendWeight |
| bool | isPaused |
| Animation::PlayClipJob::PlayClipJob | ( | ) |
constructor
|
virtual |
destructor
|
private |
|
privatevirtual |
create evaluation job for asynchronous evaluation
Reimplemented from Animation::AnimJob.
|
privatevirtual |
emit anim events inside given time range
Collects animevents active in time range and fills animevent info array.
FIXME FIXME FIXME THIS LOOKS WAY TOO COMPLEX!
Reimplemented from Animation::AnimJob.
|
inline |
get the anim clip name
|
inline |
get the loop count
|
privatevirtual |
called when attached to anim sequencer
Reimplemented from Animation::AnimJob.
|
inline |
set the anim clip name to play
|
inline |
set the loop count (overrides duration)
|
private |
|
private |
|
private |
|
private |