3#include <Core/Animation/HandleWeight.hpp>
4#include <Core/Animation/Pose.hpp>
5#include <Core/Containers/AlignedStdVector.hpp>
6#include <Core/Containers/VectorArray.hpp>
7#include <Core/Math/DualQuaternion.hpp>
13struct SkinningRefData;
14struct SkinningFrameData;
30DQList RA_CORE_API computeDQ(
const Pose& pose,
const WeightMatrix& weight );
35DQList RA_CORE_API computeDQ_naive(
const Pose& pose,
const WeightMatrix& weight );
41Vector3Array RA_CORE_API applyDualQuaternions(
const DQList& DQ,
const Vector3Array& vertices );
59void RA_CORE_API dualQuaternionSkinning(
const SkinningRefData& refData,
60 const Vector3Array& tangents,
61 const Vector3Array& bitangents,
62 SkinningFrameData& frameData );
std::vector< T, Eigen::aligned_allocator< T > > AlignedStdVector
hepler function to manage enum as underlying types in VariableSet