#ifndef _DNAMP2_CINF_HPP_ #define _DNAMP2_CINF_HPP_ #include "hecl/Blender/BlenderConnection.hpp" #include "../DNACommon/DNACommon.hpp" #include "../DNACommon/RigInverter.hpp" namespace DataSpec { namespace DNAMP2 { struct CINF : BigDNA { DECL_DNA Value boneCount; struct Bone : BigDNA { DECL_DNA Value id; Value parentId; Value origin; Value q1; Value q2; Value linkedCount; Vector linked; }; Vector bones; Value boneIdCount; Vector boneIds; Value nameCount; struct Name : BigDNA { DECL_DNA String<-1> name; Value boneId; }; Vector names; atUint32 getInternalBoneIdxFromId(atUint32 id) const; atUint32 getBoneIdxFromId(atUint32 id) const; const std::string* getBoneNameFromId(atUint32 id) const; void sendVertexGroupsToBlender(hecl::BlenderConnection::PyOutStream& os) const; void sendCINFToBlender(hecl::BlenderConnection::PyOutStream& os, const UniqueID32& cinfId) const; static std::string GetCINFArmatureName(const UniqueID32& cinfId); }; } } #endif // _DNAMP2_CINF_HPP_