10 #include <Atoms/Globals.h>
11 #include <AtomsCore/Skeleton.h>
12 #include <AtomsCore/JointChain.h>
13 #include <AtomsCore/Metadata/MapMetadata.h>
33 enum RetargetMethodType
53 unsigned short thisIndex;
54 unsigned short otherIndex;
55 std::vector<unsigned short> thisMetadataIndices;
56 std::vector<unsigned short> otherMetadataIndices;
62 std::vector<AtomsCore::Quaternion> refDiffList;
114 inline const std::string& name()
const;
117 inline void setName(
const std::string& name);
144 inline const std::vector<AtomsCore::JointChain>& jointChains()
const;
147 inline const std::vector<AtomsCore::Matrix>& retargetJointRefWorldMatrix()
const;
150 inline const std::vector<AtomsCore::Quaternion>& retargetJointOffset()
const;
156 inline const std::vector<RetargetJointChainData>& retargetData(
const std::string &other)
const;
159 inline const bool hasRetargetData(
const std::string &other)
const;
165 inline double collisionRadius()
const;
168 inline void setCollisionRadius(
double value);
178 inline bool hasVirtualRoot()
const;
184 inline FacingDirection getFacingDirection()
const;
187 inline void setFacingDirection(FacingDirection direction);
201 FacingDirection m_facingDirection;
204 std::vector<AtomsCore::JointChain> m_jointChains;
207 std::map<std::string, std::vector<RetargetJointChainData>> m_retargetData;
210 std::vector<AtomsCore::Matrix> m_retargetJointRefWorldMatrix;
213 std::vector<AtomsCore::Quaternion> m_retargetJointOffset;
222 double m_retargetingFactor;
225 double m_retargetingUserFactor;
228 RetargetMethodType m_retargetingMethod;
231 bool m_hasVirtualRoot;
241 #include "AgentType.impl.h"
Agent type.
Definition: AgentType.h:30
void setRetargetingFactorMethod(const RetargetMethodType method=kPelvisToFeet, const double userFactor=1.0)
set agent type retargeting method
size_t memSize()
Get memory size.
double getPelvisHeight() const
Returns the distance from the first foot to the height.
void setSkeleton(const AtomsCore::Skeleton &skeleton)
Sets the agent type skeleton.
const double getRetargetingFactor() const
gets the retargeting factor
void setVirtualRoot(const bool value, const AtomsCore::Vector3 &position)
Add virtual root.
void initializeRetargeting(const std::string &other)
Fill retarget data relative to the given other agent type (other as source, this as target)
const RetargetMethodType getRetargetingFactorMethod() const
get the retargeting factor method
AgentType(const AtomsCore::Skeleton &skeleton)
Constructor.
const double getRetargetingUserFactor() const
get the retargeting factor provided by the user
AgentType(unsigned int numJoints)
Constructor.
void hash(AtomsCore::MurmurHash3 &h) const
Get hash.
void loadCharacterization()
Fill characterization joint chains.
const double evaluateRetargetingFactor(const RetargetMethodType method=kPelvisToFeet, const double userFactor=1.0) const
evaluates the retargeting factor
Archive class.
Definition: Serialiser.h:29
Skeleton class.
Definition: Skeleton.h:68
AtomsCore namespace.
Definition: Agent.h:344
AtomsMath::Quaternion Quaternion
Quaternion class.
Definition: AtomsMath.h:67
AtomsMath::Vector3 Vector3
Vector3 class.
Definition: AtomsMath.h:57
AtomsMath::Matrix Matrix
Matrix class.
Definition: AtomsMath.h:63
Atoms namespace.
Definition: Agent.h:29
AtomsPtr< AgentType > AgentTypePtr
Agent type pointer.
Definition: AgentType.h:17
AtomsPtr< const AgentType > AgentTypeCPtr
Agent type const pointer.
Definition: AgentType.h:21
Definition: AgentType.h:52