17 Pose(std::vector<Vec3f> t, std::vector<Vec3f> s, std::vector<Quat1f> r)
57 std::vector<int>& allJoints,
58 std::map<
joint, std::vector<joint>>& jointDir,
59 std::map<joint, Vec3f>& bindPoseTranslation,
60 std::map<joint, Vec3f>& bindPoseScale,
61 std::map<joint, Quat1f>& bindPoseRotation
70 std::vector<int>& allJoints,
71 std::map<
joint, std::vector<joint>>& jointDir,
72 std::map<joint, Vec3f>& bindPoseTranslation,
73 std::map<joint, Vec3f>& bindPoseScale,
74 std::map<joint, Quat1f>& bindPoseRotation
83 void updateCurrentPose(std::map<joint, Vec3f> t, std::map<joint, Vec3f> s, std::map<joint, Quat1f> r);
134 std::map<
joint, std::vector<Vec3f>>& jointTranslation,
135 std::map<
joint, std::vector<Real>>& jointTimeCodeTranslation,
136 std::map<
joint, std::vector<Vec3f>>& jointScale,
137 std::map<
joint, std::vector<Real>>& jointIndexTimeCodeScale,
138 std::map<
joint, std::vector<Quat1f>>& jointRotation,
139 std::map<
joint, std::vector<Real>>& jointIndexRotation,
140 std::shared_ptr<JointInfo> skeleton
166 std::vector<int>
getJointDir(
int Index, std::map<
int, std::vector<int>> joint_Dir);
174 auto pose = this->
getPose(inTime);
int findMaxSmallerIndex(const std::vector< float > &arr, float v)
std::vector< Vec3f > getJointsScale(float time)
Quat< Real > nlerp(const Quat< Real > &q1, const Quat< Real > &q2, float weight)
std::vector< Vec3f > mScale
std::map< joint, std::vector< Quat1f > > mJoint_Index_Rotation
void setAnimationData(std::map< joint, std::vector< Vec3f > > &jointTranslation, std::map< joint, std::vector< Real > > &jointTimeCodeTranslation, std::map< joint, std::vector< Vec3f > > &jointScale, std::map< joint, std::vector< Real > > &jointIndexTimeCodeScale, std::map< joint, std::vector< Quat1f > > &jointRotation, std::map< joint, std::vector< Real > > &jointIndexRotation, std::shared_ptr< JointInfo > skeleton)
float & getBlendOutTime()
std::vector< Quat1f > getJointsRotation(float time)
std::vector< int > getJointDir(int Index, std::map< int, std::vector< int > > joint_Dir)
float getCurrentAnimationTime()
Quat< Real > slerp(const Quat< Real > &q1, const Quat< Real > &q2, float weight)
std::vector< Vec3f > getJointsTranslation(float time)
void updateJointsTransform(float time)
std::map< joint, std::vector< Real > > mJoint_Index_TimeCode_Scale
std::map< joint, std::vector< Vec3f > > mJoint_Index_Translation
std::shared_ptr< JointInfo > mSkeleton
std::map< joint, std::vector< Real > > mJoint_Index_TimeCode_Rotation
void updateAnimationPose(float inTime)
Pose getPose(float inTime)
std::map< joint, std::vector< Vec3f > > mJoint_Index_Scale
Transform3f updateTransform(joint jId, float time)
Vec3f lerp(Vec3f v0, Vec3f v1, float weight)
DArray< Mat4f > mJointWorldMatrix
std::vector< Quat1f > mRotation
std::map< joint, std::vector< Real > > mJoint_Index_TimeCode_Translation
std::vector< Vec3f > mTranslation
Quat< Real > normalize(const Quat< Real > &q)
void updateWorldMatrixByTransform()
DArray< Mat4f > mJointLocalMatrix
DArray< Mat4f > mJointInverseBindMatrix
void setJoint(const JointInfo &j)
std::map< joint, std::vector< joint > > mJointDir
std::vector< Vec3f > mBindPoseScale
std::vector< joint > mAllJoints
DArray< Mat4f > mJointWorldMatrix
std::vector< Quat< Real > > mBindPoseRotation
DArray< Vec3f > mCurrentScale
std::map< int, std::string > mJointName
JointInfo(DArray< Mat4f > &InverseBindMatrix, DArray< Mat4f > &LocalMatrix, DArray< Mat4f > &WorldMatrix, std::vector< int > &allJoints, std::map< joint, std::vector< joint > > &jointDir, std::map< joint, Vec3f > &bindPoseTranslation, std::map< joint, Vec3f > &bindPoseScale, std::map< joint, Quat1f > &bindPoseRotation)
std::vector< Vec3f > mBindPoseTranslation
void updateCurrentPose(std::map< joint, Vec3f > t, std::map< joint, Vec3f > s, std::map< joint, Quat1f > r)
void setJointName(const std::map< int, std::string > name)
DArray< Quat< Real > > mCurrentRotation
void UpdateJointInfo(DArray< Mat4f > &InverseBindMatrix, DArray< Mat4f > &LocalMatrix, DArray< Mat4f > &WorldMatrix, std::vector< int > &allJoints, std::map< joint, std::vector< joint > > &jointDir, std::map< joint, Vec3f > &bindPoseTranslation, std::map< joint, Vec3f > &bindPoseScale, std::map< joint, Quat1f > &bindPoseRotation)
DArray< Vec3f > mCurrentTranslation
This is an implementation of AdditiveCCD based on peridyno.
Array< T, DeviceType::GPU > DArray
Transform< float, 3 > Transform3f
std::vector< Quat1f > mRotation
Pose(std::vector< Vec3f > t, std::vector< Vec3f > s, std::vector< Quat1f > r)
std::vector< Vec3f > mScale
std::vector< Vec3f > mTranslation