4 from nose.tools import *
6 PMD_FILE="K:/MMD/model/official/miku.pmd"
9 io_py=pymeshio.pmd.IO()
10 assert io_py.read(PMD_FILE)
12 assert io_c.read(PMD_FILE)
15 assert_equal(io_py.version, io_c.version)
16 assert_equal(io_py.name, io_c.name)
17 assert_equal(io_py.english_name, io_c.english_name)
18 assert_equal(io_py.comment, io_c.comment)
19 assert_equal(io_py.english_comment, io_c.english_comment)
22 assert_equal(len(io_py.vertices), len(io_c.vertices))
23 for l, r in zip(io_py.vertices, io_c.vertices):
24 assert_equal(l.pos.x, r.pos.x)
25 assert_equal(l.pos.y, r.pos.y)
26 assert_equal(l.pos.z, r.pos.z)
27 assert_equal(l.normal.x, r.normal.x)
28 assert_equal(l.normal.y, r.normal.y)
29 assert_equal(l.normal.z, r.normal.z)
30 assert_equal(l.uv.x, r.uv.x)
31 assert_equal(l.uv.y, r.uv.y)
32 assert_equal(l.bone0, r.bone0)
33 assert_equal(l.bone1, r.bone1)
34 assert_equal(l.weight0, r.weight0)
35 assert_equal(l.edge_flag, r.edge_flag)
38 assert_equal(len(io_py.indices), len(io_c.indices))
39 for l, r in zip(io_py.indices, io_c.indices):
43 assert_equal(len(io_py.materials), len(io_c.materials))
44 for l, r in zip(io_py.materials, io_c.materials):
45 assert_equal(l.diffuse.r, r.diffuse.r)
46 assert_equal(l.diffuse.g, r.diffuse.g)
47 assert_equal(l.diffuse.b, r.diffuse.b)
48 assert_equal(l.diffuse.a, r.diffuse.a)
49 assert_equal(l.shinness, r.shinness)
50 assert_equal(l.specular.r, r.specular.r)
51 assert_equal(l.specular.g, r.specular.g)
52 assert_equal(l.specular.b, r.specular.b)
53 assert_equal(l.ambient.r, r.ambient.r)
54 assert_equal(l.ambient.g, r.ambient.g)
55 assert_equal(l.ambient.b, r.ambient.b)
56 assert_equal(l.vertex_count, r.vertex_count)
57 assert_equal(l.texture, r.texture)
58 assert_equal(l.toon_index, r.toon_index)
59 assert_equal(l.flag, r.flag)
62 assert_equal(len(io_py.bones), len(io_c.bones))
63 for l, r in zip(io_py.bones, io_c.bones):
64 assert_equal(l.name, r.name)
65 assert_equal(l.type, r.type)
66 assert_equal(l.parent_index, r.parent_index)
67 assert_equal(l.tail_index, r.tail_index)
68 assert_equal(l.tail.x, r.tail.x)
69 assert_equal(l.tail.y, r.tail.y)
70 assert_equal(l.tail.z, r.tail.z)
71 assert_equal(l.ik_index, r.ik_index)
72 assert_equal(l.pos.x, r.pos.x)
73 assert_equal(l.pos.y, r.pos.y)
74 assert_equal(l.pos.z, r.pos.z)
75 assert_equal(l.english_name, r.english_name)
78 assert_equal(len(io_py.ik_list), len(io_c.ik_list))
79 for l, r in zip(io_py.ik_list, io_c.ik_list):
80 assert_equal(l.index, r.index)
81 assert_equal(l.target, r.target)
82 assert_equal(l.iterations, r.iterations)
83 assert_equal(l.weight, r.weight)
84 for l_child, r_child in zip(l.children, r.children):
85 assert_equal(l_child, r_child)
88 assert_equal(len(io_py.morph_list), len(io_c.morph_list))
89 for l, r in zip(io_py.morph_list, io_c.morph_list):
90 assert_equal(l.name, r.name)
91 assert_equal(l.type, r.type)
92 for l_index, r_index in zip(l.indices, r.indices):
93 assert_equal(l_index, r_index)
94 for l_pos, r_pos in zip(l.pos_list, r.pos_list):
95 assert_equal(l_pos.x, l_pos.x)
96 assert_equal(l_pos.y, l_pos.y)
97 assert_equal(l_pos.z, l_pos.z)
98 assert_equal(l.english_name, l.english_name)
99 assert_equal(l.vertex_count, l.vertex_count)
103 assert_equal(len(io_py.face_list), len(io_c.face_list))
104 for l, r in zip(io_py.face_list, io_c.face_list):
108 assert_equal(len(io_py.bone_group_list), len(io_c.bone_group_list))
109 for l, r in zip(io_py.bone_group_list, io_c.bone_group_list):
110 assert_equal(l.name, r.name)
111 assert_equal(l.english_name, r.english_name)
114 assert_equal(len(io_py.bone_display_list), len(io_c.bone_display_list))
115 for l, r in zip(io_py.bone_display_list, io_c.bone_display_list):
116 assert_equal(l[0], r[0])
117 assert_equal(l[1], r[1])
120 for l, r in ((io_py.toon_textures[i], io_c.toon_textures[i]) for i in range(10)):
121 assert_equal(l, r.str())
124 assert_equal(len(io_py.rigidbodies), len(io_c.rigidbodies))
125 for l, r in zip(io_py.rigidbodies, io_c.rigidbodies):
126 assert_equal(l.name, r.name)
127 assert_equal(l.boneIndex, r.boneIndex)
128 assert_equal(l.group, r.group)
129 assert_equal(l.target, r.target)
130 assert_equal(l.shapeType, r.shapeType)
131 assert_equal(l.w, r.w)
132 assert_equal(l.h, r.h)
133 assert_equal(l.d, r.d)
134 assert_equal(l.position.x, r.position.x)
135 assert_equal(l.position.x, r.position.x)
136 assert_equal(l.position.x, r.position.x)
137 assert_equal(l.rotation.x, r.rotation.x)
138 assert_equal(l.rotation.x, r.rotation.x)
139 assert_equal(l.rotation.x, r.rotation.x)
140 assert_equal(l.weight, r.weight)
141 assert_equal(l.linearDamping, r.linearDamping)
142 assert_equal(l.angularDamping, r.angularDamping)
143 assert_equal(l.restitution, r.restitution)
144 assert_equal(l.friction, r.friction)
145 assert_equal(l.processType, r.processType)
148 assert_equal(len(io_py.constraints), len(io_c.constraints))
149 for l, r in zip(io_py.constraints, io_c.constraints):
150 assert_equal(l.name, r.name)
151 assert_equal(l.rigidA, r.rigidA)
152 assert_equal(l.rigidB, r.rigidB)
153 assert_equal(l.pos.x, r.pos.x)
154 assert_equal(l.pos.y, r.pos.y)
155 assert_equal(l.pos.z, r.pos.z)
156 assert_equal(l.rot.x, r.rot.x)
157 assert_equal(l.rot.y, r.rot.y)
158 assert_equal(l.rot.z, r.rot.z)
159 assert_equal(l.constraintPosMin.x, r.constraintPosMin.x)
160 assert_equal(l.constraintPosMin.y, r.constraintPosMin.y)
161 assert_equal(l.constraintPosMin.z, r.constraintPosMin.z)
162 assert_equal(l.constraintPosMax.x, r.constraintPosMax.x)
163 assert_equal(l.constraintPosMax.y, r.constraintPosMax.y)
164 assert_equal(l.constraintPosMax.z, r.constraintPosMax.z)
165 assert_equal(l.constraintRotMin.x, r.constraintRotMin.x)
166 assert_equal(l.constraintRotMin.y, r.constraintRotMin.y)
167 assert_equal(l.constraintRotMin.z, r.constraintRotMin.z)
168 assert_equal(l.constraintRotMax.x, r.constraintRotMax.x)
169 assert_equal(l.constraintRotMax.y, r.constraintRotMax.y)
170 assert_equal(l.constraintRotMax.z, r.constraintRotMax.z)
171 assert_equal(l.springPos.x, r.springPos.x)
172 assert_equal(l.springPos.y, r.springPos.y)
173 assert_equal(l.springPos.z, r.springPos.z)
174 assert_equal(l.springRot.x, r.springRot.x)
175 assert_equal(l.springRot.y, r.springRot.y)
176 assert_equal(l.springRot.z, r.springRot.z)