|
Atoms Crowd
4.1.0
|
10 #include <Atoms/Globals.h>
11 #include <AtomsCore/Skeleton.h>
12 #include <AtomsCore/JointChain.h>
13 #include <AtomsCore/Metadata/MapMetadata.h>
33 enum RetargetMethodType
42 unsigned short thisIndex;
43 unsigned short otherIndex;
44 std::vector<unsigned short> thisMetadataIndices;
45 std::vector<unsigned short> otherMetadataIndices;
51 std::vector<AtomsCore::Quaternion> refDiffList;
103 inline const std::string& name()
const;
106 inline void setName(
const std::string& name);
109 bool addAgentTypeRetargeting(
const std::string &agentType,
const std::string& fileName,
const unsigned int method = kPelvisToFeet,
const double userFactor =1.0);
117 const unsigned int getRetargetingMethod(
const std::string &agentType)
const;
119 const double getRetargetingUserFactor(
const std::string &agentType)
const;
134 inline double pelvisToFeet()
const;
137 inline const std::vector<AtomsCore::JointChain>& jointChains()
const;
140 inline const std::vector<AtomsCore::Matrix>& retargetJointRefWorldMatrix()
const;
143 inline const std::vector<AtomsCore::Quaternion>& retargetJointOffset()
const;
149 inline const std::vector<RetargetJointChainData>& retargetData(
const std::string &other)
const;
152 inline const bool hasRetargetData(
const std::string &other)
const;
169 std::vector<AtomsCore::JointChain> m_jointChains;
172 std::map<std::string, std::vector<RetargetJointChainData>> m_retargetData;
175 std::vector<AtomsCore::Matrix> m_retargetJointRefWorldMatrix;
178 std::vector<AtomsCore::Quaternion> m_retargetJointOffset;
181 double m_pelvisToFeet;
191 #include "AgentType.impl.h"
std::vector< std::string > getRetargetingAgentTypes() const
get config map number
size_t memSize()
Get memory size.
bool addAgentTypeRetargeting(const std::string &agentType, const std::string &fileName, const unsigned int method=kPelvisToFeet, const double userFactor=1.0)
add agent type retargeting
AtomsMath::Quaternion Quaternion
Quaternion class.
Definition: AtomsMath.h:67
void initializeRetargeting(const std::string &other)
Fill retarget data relative to the given other agent type (other as source, this as target)
AgentType(unsigned int numJoints)
Constructor.
Archive class.
Definition: Serialiser.h:29
Agent type.
Definition: AgentType.h:30
AtomsPtr< AgentType > AgentTypePtr
Agent type pointer.
Definition: AgentType.h:17
AtomsMath::Matrix Matrix
Matrix class.
Definition: AtomsMath.h:63
AtomsMath::Vector3 Vector3
Vector3 class.
Definition: AtomsMath.h:57
void hash(AtomsCore::MurmurHash3 &h) const
Get hash.
AgentType(const AtomsCore::Skeleton &skeleton)
Constructor.
Atoms namespace.
Definition: Agent.h:28
AtomsCore namespace.
Definition: AtomsMath.h:24
double getPelvisHeight() const
Returns the distance from the first foot to the height.
Skeleton class.
Definition: Skeleton.h:68
Definition: AgentType.h:41
void loadCharacterization()
Fill characterization joint chains.
void setSkeleton(const AtomsCore::Skeleton &skeleton)
Sets the agent type skeleton.
AtomsPtr< const AgentType > AgentTypeCPtr
Agent type const pointer.
Definition: AgentType.h:21
void removeAgentTypeRetargeting(const std::string &agentType)
remove config map
AtomsPtr< const AtomsCore::MapMetadata > getRetargetingJointMap(const std::string &agentType) const
get config map compatible agent type