10 #include <Atoms/Globals.h>
12 #include <AtomsCore/Metadata/Vector3ArrayMetadata.h>
13 #include <AtomsCore/Metadata/QuaternionArrayMetadata.h>
14 #include <AtomsCore/Metadata/TypedArrayMetadata.h>
15 #include <AtomsCore/Metadata/ArrayMetadata.h>
16 #include <AtomsCore/Metadata/MapMetadata.h>
18 #define JOINT_META "jMeta"
19 #define JOINT_STATIC_META "jStMeta"
38 AtomsClip(
const unsigned int numFrames,
const unsigned int numJoints,
const double fps);
44 AtomsClip(
const unsigned int numFrames,
const unsigned int numJoints,
const double fps,
const bool parentSpace);
50 void setJointName(
const unsigned int jointId,
const std::string &name);
53 const std::string& getJointName(
const unsigned int jointId);
59 void setJointRotations(
const unsigned int jointId, AtomsCore::QuaternionArrayMetadata& jointRotations);
62 void setJointScales(
const unsigned int jointId, AtomsCore::Vector3ArrayMetadata& jointScales);
68 AtomsPtr<const AtomsCore::QuaternionArrayMetadata>
getJointRotations(
const unsigned int jointId)
const;
71 AtomsPtr<const AtomsCore::Vector3ArrayMetadata>
getJointScales(
const unsigned int jointId)
const;
74 void setJointMetadataBase(
const unsigned int jointId,
const std::string& metadataName,
const AtomsPtr<AtomsCore::BaseTypedArrayMetadata>& value);
77 template <
typename T>
void setJointMetadata(
const unsigned int jointId,
const std::string &metadataName,
const AtomsPtr<
AtomsCore::TypedArrayMetadata<T>> &value);
80 template <
typename T>
const AtomsPtr<AtomsCore::TypedArrayMetadata<T>> getJointMetadata(
const unsigned int jointId,
const std::string &metadataName)
const;
83 const AtomsPtr<const AtomsCore::MapMetadata>
getJointMetadatas(
const unsigned int jointId)
const;
86 void setJointStaticMetadataBase(
const unsigned int jointId,
const std::string& metadataName,
const AtomsPtr<AtomsCore::Metadata>& value);
89 template <
typename T>
void setJointStaticMetadata(
const unsigned int jointId,
const std::string &metadataName,
const AtomsPtr<
AtomsCore::MetadataImpl<T>> &value);
92 template <
typename T>
const AtomsPtr<AtomsCore::MetadataImpl<T>> getJointStaticMetadata(
const unsigned int jointId,
const std::string &metadataName)
const;
95 inline void setInParentSpace(
bool flag);
98 inline bool inParentSpace()
const;
127 unsigned int m_numFrames;
130 unsigned int m_numJoints;
133 bool m_inParentSpace;
136 std::vector<std::string> m_jointNames;
144 #include "AtomsClip.impl.h"
Atoms clip.
Definition: AtomsClip.h:25
void setJointMetadataBase(const unsigned int jointId, const std::string &metadataName, const AtomsPtr< AtomsCore::BaseTypedArrayMetadata > &value)
Sets joint animated metadata.
void setJointScales(const unsigned int jointId, AtomsCore::Vector3ArrayMetadata &jointScales)
Sets joint scales.
void setJointRotations(const unsigned int jointId, AtomsCore::QuaternionArrayMetadata &jointRotations)
Sets joint rotations.
AtomsClip(const std::string &clipPath)
Constructor.
const std::vector< std::string > getJointMetadataNames(const unsigned int jointId) const
Gets joint metadata names.
const std::vector< std::string > getJointStaticMetadataNames(const unsigned int jointId) const
Gets joint static metadata names.
void setJointName(const unsigned int jointId, const std::string &name)
Sets the joint name.
const AtomsPtr< const AtomsCore::MapMetadata > getJointMetadatas(const unsigned int jointId) const
Gets all joint metadatas.
const AtomsPtr< const AtomsCore::MapMetadata > getJointStaticMetadatas(const unsigned int jointId) const
Gets all joint static metadatas.
const double getFps() const
Gets fps of this clip.
const unsigned int getNumJoints() const
get the number of joints
AtomsClip(const unsigned int numFrames, const unsigned int numJoints, const double fps)
Constructor.
bool exportToFile(const std::string &clipPath)
Save this clip to disk.
const unsigned int getNumFrames() const
Gets hte number of frames.
void setJointTranslations(const unsigned int jointId, AtomsCore::Vector3ArrayMetadata &jointTranslations)
Sets joint translations.
AtomsPtr< const AtomsCore::Vector3ArrayMetadata > getJointScales(const unsigned int jointId) const
Gets joint scales.
AtomsPtr< const AtomsCore::QuaternionArrayMetadata > getJointRotations(const unsigned int jointId) const
Gets joint rotations.
void setJointStaticMetadataBase(const unsigned int jointId, const std::string &metadataName, const AtomsPtr< AtomsCore::Metadata > &value)
Sets joint static metadata.
AtomsClip(const unsigned int numFrames, const unsigned int numJoints, const double fps, const bool parentSpace)
Constructor.
AtomsPtr< const AtomsCore::Vector3ArrayMetadata > getJointTranslations(const unsigned int jointId) const
Sets joint translations.
Atoms namespace.
Definition: Agent.h:29