class Loader(pymeshio.common.BinaryLoader):\r
"""pmx loader\r
"""\r
- def __init__(self, io,\r
+ def __init__(self, ios,\r
text_encoding,\r
extended_uv,\r
vertex_index_size,\r
morph_index_size,\r
rigidbody_index_size\r
):\r
- super(Loader, self).__init__(io)\r
+ super(Loader, self).__init__(ios)\r
self.read_text=self.get_read_text(text_encoding)\r
if extended_uv>0:\r
raise pymeshio.common.ParseException(\r
self.read_morph_index=lambda : self.read_uint(morph_index_size)\r
self.read_rigidbody_index=lambda : self.read_uint(rigidbody_index_size)\r
\r
- def __str__(self) -> str:\r
+ def __str__(self):\r
return '<pymeshio.pmx.Loader>'\r
\r
- def get_read_text(self, text_encoding) -> "text process function":\r
+ def get_read_text(self, text_encoding):\r
if text_encoding==0:\r
def read_text():\r
size=self.read_uint(4)\r
english_name=self.read_text(),\r
bone_index=self.read_bone_index(),\r
collision_group=self.read_uint(1),\r
- no_collision_flag=self.read_uint(2),\r
+ no_collision_group=self.read_uint(2),\r
shape_type=self.read_uint(1),\r
shape_size=self.read_vector3(),\r
shape_position=self.read_vector3(),\r
spring_constant_rotation=self.read_vector3())\r
\r
\r
-def load(path: str) -> pymeshio.pmx.Model:\r
- # general binary loader\r
- loader=pymeshio.common.BinaryLoader(\r
- io.BytesIO(\r
- pymeshio.common.readall(path)))\r
- #loader=pymeshio.common.BinaryLoader(open(path, 'rb'))\r
+def load_from_file(path):\r
+ return load(io.BytesIO(pymeshio.common.readall(path)))\r
\r
\r
+def load(ios):\r
+ assert(isinstance(ios, io.IOBase))\r
+ loader=pymeshio.common.BinaryLoader(ios)\r
+\r
# header\r
signature=loader.unpack("4s", 4)\r
if signature!=b"PMX ":\r
raise pymeshio.common.ParseException(\r
- "invalid signature", loader.signature)\r
+ "invalid signature", signature)\r
\r
version=loader.read_float()\r
if version!=2.0:\r