|
Atoms Crowd
4.1.0
|
10 #include <Atoms/Globals.h>
11 #include <Atoms/AnimationClip.h>
17 class AnimationClipLooper;
43 inline bool isValid()
const;
58 inline int numJoints()
const;
64 inline unsigned int numberBlendFrames()
const;
70 inline void setNumberBlendFrames(
unsigned int value);
76 inline void setLoopStartFrame(
unsigned int value);
82 inline unsigned int loopStartFrame()
const;
88 inline void setLoopEndFrame(
unsigned int value);
94 inline unsigned int loopEndFrame()
const;
211 inline std::vector<std::string> metadataNames(
const unsigned int jointId)
const;
220 AtomsPtr<AtomsCore::Metadata>
getMetadata(
const unsigned int jointId,
const std::string &metadataName,
const double time)
const;
229 bool getMetadataInPlace(
const unsigned int jointId,
const std::string& metadataName,
const double time, AtomsPtr<AtomsCore::Metadata>& outMeta)
const;
241 AtomsPtr<AtomsCore::Metadata>
getMetadataAtFrame(
const unsigned int jointId,
const std::string &metadataName,
const unsigned frame,
const double reminder)
const;
252 void getMetadataAtFrameInPlace(
const unsigned int jointId,
const std::string& metadataName,
const unsigned frame,
const double reminder, AtomsPtr<AtomsCore::Metadata>& OutMeta)
const;
259 inline std::vector<std::string> staticMetadataNames(
const unsigned int jointId)
const;
266 inline AtomsPtr<const AtomsCore::Metadata> getStaticMetadata(
const unsigned int jointId,
const std::string &metadataName)
const;
274 inline const std::map<std::string, AtomsPtr<AtomsCore::BaseTypedArrayMetadata>>& metadata(
const unsigned int jointId)
const;
276 inline const std::vector<std::string>& animatedMetadata(
const unsigned int jointId)
const;
278 inline unsigned int mapTimeToFrame(
const double time,
double &reminder,
unsigned int &nextFrame)
const;
279 inline unsigned int mapFrameToFrame(
const unsigned frame,
unsigned int &nextFrame)
const;
282 inline unsigned int numFrames()
const;
284 double getFactorFromFrame(
unsigned int frame,
unsigned int nextFrame,
double reminder,
unsigned int &loopedFrame,
unsigned int &loopedNextFrame)
const;
292 unsigned int m_numBlendFrames;
295 unsigned int m_loopStart;
298 unsigned int m_loopEnd;
303 #include "AnimationClipLooper.impl.h"
AtomsCore::Quaternion getRotation(const unsigned int jointId, const double time) const
Gets joint rotation.
AnimationClipLooper * AnimationClipLooperPtr
animation clip looper pointer
Definition: AnimationClipLooper.h:17
AnimationClipLooper(AnimationClipCPtr animationClip)
Constructor.
AtomsCore::Quaternion getRotationAtGlobalFrame(const unsigned int jointId, const unsigned frame, const double reminder) const
Gets joint rotation at frame.
AnimationClipLooper()
Constructor.
AtomsCore::Vector3 getScaleAtFrame(const unsigned int jointId, const unsigned frame, const double reminder) const
Gets joint scale at frame.
AtomsMath::Quaternion Quaternion
Quaternion class.
Definition: AtomsMath.h:67
bool getMetadataInPlace(const unsigned int jointId, const std::string &metadataName, const double time, AtomsPtr< AtomsCore::Metadata > &outMeta) const
Gets joint metadata value at time.
AtomsCore::Vector3 getTranslation(const unsigned int jointId, const double time) const
Gets the joint translation.
AtomsCore::Quaternion getRotationAtFrame(const unsigned int jointId, const unsigned frame, const double reminder) const
Gets joint rotation at frame.
AtomsCore::Vector3 getTranslationAtFrame(const unsigned int jointId, const unsigned frame, const double reminder) const
Gets joint translation at frame.
void getTransformValues(const unsigned int jointId, const double time, AtomsCore::Vector3 &translation, AtomsCore::Quaternion &rotation, AtomsCore::Vector3 &scale) const
Gets joint transform.
void getMetadataAtFrameInPlace(const unsigned int jointId, const std::string &metadataName, const unsigned frame, const double reminder, AtomsPtr< AtomsCore::Metadata > &OutMeta) const
Gets joint metadata value at frame.
const AnimationClipLooper * AnimationClipLooperCPtr
animation clip looper const pointer
Definition: AnimationClipLooper.h:21
void getTransformValuesAtFrame(const unsigned int jointId, const unsigned frame, const double reminder, AtomsCore::Vector3 &translation, AtomsCore::Quaternion &rotation, AtomsCore::Vector3 &scale) const
Gets joint transform at frame.
AtomsPtr< AtomsCore::Metadata > getMetadata(const unsigned int jointId, const std::string &metadataName, const double time) const
Gets joint metadata value at time.
AtomsPtr< AtomsCore::Metadata > getMetadataAtFrame(const unsigned int jointId, const std::string &metadataName, const unsigned frame, const double reminder) const
Gets joint metadata value at frame.
AtomsMath::Vector3 Vector3
Vector3 class.
Definition: AtomsMath.h:57
void setAnimationClip(AnimationClipCPtr animationClip)
Sets the animation clips.
AtomsPtr< const AnimationClip > AnimationClipCPtr
animation clip const pointer
Definition: AnimationClip.h:31
Atoms namespace.
Definition: Agent.h:28
~AnimationClipLooper()
Destructor.
Definition: AnimationClipLooper.h:40
AtomsCore::Vector3 getScale(const unsigned int jointId, const double time) const
Gets joint scale.
AtomsCore::Vector3 getTranslationAtGlobalFrame(const unsigned int jointId, const unsigned frame, const double reminder) const
Gets joint translation at frame.
Animation clip looper.
Definition: AnimationClipLooper.h:27
AtomsCore::Vector3 getScaleAtGlobalFrame(const unsigned int jointId, const unsigned frame, const double reminder) const
Gets joint scale at frame.