#ifndef __PSHAG_CSKINNEDMODEL_HPP__ #define __PSHAG_CSKINNEDMODEL_HPP__ #include "CToken.hpp" #include "CModel.hpp" #include "optional.hpp" namespace urde { class CModel; class CSkinRules; class CCharLayoutInfo; class CPoseAsTransforms; class CVertexMorphEffect; class IObjectStore; class CSkinnedModel { std::unique_ptr m_modelInst; public: CSkinnedModel(const TLockedToken& model, const TLockedToken& skinRules, const TLockedToken& layoutInfo); CSkinnedModel(IObjectStore& store, TResId model, TResId skinRules, TResId layoutInfo); void Calculate(const CPoseAsTransforms& pose, const std::experimental::optional&); }; } #endif // __PSHAG_CSKINNEDMODEL_HPP__