|
Atoms Crowd
4.1.0
|
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 template <
typename T>
void setJointMetadata(
const unsigned int jointId,
const std::string &metadataName,
const AtomsPtr<
AtomsCore::TypedArrayMetadata<T>> &value);
77 template <
typename T>
const AtomsPtr<AtomsCore::TypedArrayMetadata<T>> getJointMetadata(
const unsigned int jointId,
const std::string &metadataName)
const;
80 const AtomsPtr<const AtomsCore::MapMetadata>
getJointMetadatas(
const unsigned int jointId)
const;
83 template <
typename T>
void setJointStaticMetadata(
const unsigned int jointId,
const std::string &metadataName,
const AtomsPtr<
AtomsCore::MetadataImpl<T>> &value);
86 template <
typename T>
const AtomsPtr<AtomsCore::MetadataImpl<T>> getJointStaticMetadata(
const unsigned int jointId,
const std::string &metadataName)
const;
89 inline void setInParentSpace(
bool flag);
92 inline bool inParentSpace()
const;
121 unsigned int m_numFrames;
124 unsigned int m_numJoints;
127 bool m_inParentSpace;
130 std::vector<std::string> m_jointNames;
138 #include "AtomsClip.impl.h"
void setJointRotations(const unsigned int jointId, AtomsCore::QuaternionArrayMetadata &jointRotations)
Sets joint rotations.
AtomsPtr< const AtomsCore::QuaternionArrayMetadata > getJointRotations(const unsigned int jointId) const
Gets joint rotations.
AtomsClip(const unsigned int numFrames, const unsigned int numJoints, const double fps, const bool parentSpace)
Constructor.
const AtomsPtr< const AtomsCore::MapMetadata > getJointStaticMetadatas(const unsigned int jointId) const
Gets all joint static metadatas.
const unsigned int getNumJoints() const
get the number of joints
void setJointTranslations(const unsigned int jointId, AtomsCore::Vector3ArrayMetadata &jointTranslations)
Sets joint translations.
AtomsClip(const std::string &clipPath)
Constructor.
const double getFps() const
Gets fps of this clip.
bool exportToFile(const std::string &clipPath)
Save this clip to disk.
const AtomsPtr< const AtomsCore::MapMetadata > getJointMetadatas(const unsigned int jointId) const
Gets all joint metadatas.
void setJointName(const unsigned int jointId, const std::string &name)
Sets the joint name.
AtomsClip(const unsigned int numFrames, const unsigned int numJoints, const double fps)
Constructor.
Atoms clip.
Definition: AtomsClip.h:25
Atoms namespace.
Definition: Agent.h:28
const std::vector< std::string > getJointMetadataNames(const unsigned int jointId) const
Gets joint metadata names.
const unsigned int getNumFrames() const
Gets hte number of frames.
AtomsPtr< const AtomsCore::Vector3ArrayMetadata > getJointScales(const unsigned int jointId) const
Gets joint scales.
void setJointScales(const unsigned int jointId, AtomsCore::Vector3ArrayMetadata &jointScales)
Sets joint scales.
AtomsPtr< const AtomsCore::Vector3ArrayMetadata > getJointTranslations(const unsigned int jointId) const
Sets joint translations.
const std::vector< std::string > getJointStaticMetadataNames(const unsigned int jointId) const
Gets joint static metadata names.