X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=include%2Fpmd.h;h=0d0b55191f0d391198d2bea33c8e25b8787e4a15;hb=4b7b856e70fe8047f985e2598020032d0d87a672;hp=9bff08bc68631557659c4a92988c292a5d98b877;hpb=c44d9a343885c1840753f9fbaf7a6c7ff1a46eac;p=meshio%2Fmeshio.git diff --git a/include/pmd.h b/include/pmd.h index 9bff08b..0d0b551 100644 --- a/include/pmd.h +++ b/include/pmd.h @@ -105,6 +105,7 @@ struct Material char texture[20]; std::wstring getTexture()const; + void setTexture(const char *src); }; inline std::ostream &operator<<(std::ostream &os, const Material &rhs) @@ -168,11 +169,14 @@ struct Bone Bone* parent; Vector3 tail; std::vector children; + unsigned short index; Bone() : parent(0) {} std::wstring getName()const; + void setName(const char *src); + void setEnglishName(const char *src); }; inline std::ostream &operator<<(std::ostream &os, const Bone &rhs) @@ -244,7 +248,10 @@ struct Morph //! ‰pŒê–¼ char english_name[20]; + void append(int index, float x, float y, float z); std::wstring getName()const; + void setName(const char *src); + void setEnglishName(const char *src); }; inline std::ostream &operator<<(std::ostream &os, const Morph &rhs) { @@ -257,6 +264,29 @@ inline std::ostream &operator<<(std::ostream &os, const Morph &rhs) } //////////////////////////////////////////////////////////// +//! ƒ{[ƒ“•\Ž¦˜g +//////////////////////////////////////////////////////////// +struct BoneGroup +{ + char name[50]; + char english_name[50]; + + void setName(const char *src); + void setEnglishName(const char *src); + std::wstring getName()const; +}; + +//////////////////////////////////////////////////////////// +//! ƒgƒD[ƒ“ƒeƒNƒXƒ`ƒƒ +//////////////////////////////////////////////////////////// +struct ToonTexture +{ + char name[100]; + std::wstring getName()const; + void setName(const char *src); +}; + +//////////////////////////////////////////////////////////// //! „‘Ì //////////////////////////////////////////////////////////// //! Œ`ó @@ -308,6 +338,9 @@ struct RigidBody float friction; //! „‘̃^ƒCƒv PROCESS_TYPE processType; + + std::wstring getName()const; + void setName(const char *src); }; //! Joint(•¨—‰‰ŽZ‚Å‚ÌJoint‚ÆConstraint‚Í“¯‚¶ˆÓ–¡) @@ -332,6 +365,9 @@ struct Constraint //! ‚Î‚Ë Vector3 springPos; Vector3 springRot; + + std::wstring getName()const; + void setName(const char *src); }; @@ -349,12 +385,14 @@ struct IO std::vector bones; std::vector ik_list; std::vector morph_list; - std::vector > bone_list; - std::vector bone_name_list; + std::vector face_list; + std::vector bone_group_list; + std::vector > bone_display_list; + ToonTexture toon_textures[10]; std::vector rigidbodies; std::vector constraints; - char english_model_name[20]; + char english_name[20]; char english_comment[256]; IO(); @@ -362,9 +400,19 @@ struct IO bool read(binary::IReader &reader); //bool read(const char *path); bool read(const wchar_t *path); - bool write(std::ostream &os); + bool write(binary::IWriter &writer); + bool write(const char *path); + bool write(const wchar_t *path); const Vector2* getUV(int index)const; + std::wstring getName()const; + std::wstring getComment()const; + std::wstring getEnglishName()const; + std::wstring getEnglishComment()const; + void setName(const char *src); + void setComment(const char *src); + void setEnglishName(const char *src); + void setEnglishComment(const char *src); }; inline std::ostream &operator<<(std::ostream &os, const IO &rhs) {