OSDN Git Service
(root)
/
meshio
/
pymeshio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refactoring export_pmd
[meshio/pymeshio.git]
/
pymeshio
/
pmx
/
__init__.py
diff --git
a/pymeshio/pmx/__init__.py
b/pymeshio/pmx/__init__.py
index
7afe5f2
..
e367e46
100644
(file)
--- a/
pymeshio/pmx/__init__.py
+++ b/
pymeshio/pmx/__init__.py
@@
-26,7
+26,7
@@
__versioon__="1.0.0"
import io
\r
import os
\r
import struct
\r
import io
\r
import os
\r
import struct
\r
-from
pymeshio
import common
\r
+from
..
import common
\r
\r
\r
\r
\r
\r
\r
@@
-46,8
+46,8
@@
class Diff(object):
def _diff_array(self, rhs, key):
\r
la=getattr(self, key)
\r
ra=getattr(rhs, key)
\r
def _diff_array(self, rhs, key):
\r
la=getattr(self, key)
\r
ra=getattr(rhs, key)
\r
- if len(la)!=len(
l
a):
\r
- raise DifferenceException(
key
)
\r
+ if len(la)!=len(
r
a):
\r
+ raise DifferenceException(
"%s diffrence %d with %d" % (key, len(la), len(ra))
)
\r
for i, (l, r) in enumerate(zip(la, ra)):
\r
if isinstance(l, Diff):
\r
try:
\r
for i, (l, r) in enumerate(zip(la, ra)):
\r
if isinstance(l, Diff):
\r
try:
\r
@@
-74,11
+74,11
@@
class Ik(Diff):
'limit_radian',
\r
'link',
\r
]
\r
'limit_radian',
\r
'link',
\r
]
\r
- def __init__(self, target_index, loop, limit_radian, link=
[]
):
\r
+ def __init__(self, target_index, loop, limit_radian, link=
None
):
\r
self.target_index=target_index
\r
self.loop=loop
\r
self.limit_radian=limit_radian
\r
self.target_index=target_index
\r
self.loop=loop
\r
self.limit_radian=limit_radian
\r
- self.link=link
\r
+ self.link=link
or []
\r
\r
def __eq__(self, rhs):
\r
return (
\r
\r
def __eq__(self, rhs):
\r
return (
\r
@@
-104,11
+104,11
@@
class IkLink(Diff):
'limit_min',
\r
'limit_max',
\r
]
\r
'limit_min',
\r
'limit_max',
\r
]
\r
- def __init__(self, bone_index, limit_angle, limit_min=
common.Vector3(), limit_max=common.Vector3()
):
\r
+ def __init__(self, bone_index, limit_angle, limit_min=
None, limit_max=None
):
\r
self.bone_index=bone_index
\r
self.limit_angle=limit_angle
\r
self.bone_index=bone_index
\r
self.limit_angle=limit_angle
\r
- self.limit_min=limit_min
\r
- self.limit_max=limit_max
\r
+ self.limit_min=limit_min
or common.Vector3()
\r
+ self.limit_max=limit_max
or common.Vector3()
\r
\r
def __eq__(self, rhs):
\r
return (
\r
\r
def __eq__(self, rhs):
\r
return (
\r
@@
-155,13
+155,13
@@
class Bone(Diff):
parent_index,
\r
layer,
\r
flag,
\r
parent_index,
\r
layer,
\r
flag,
\r
- tail_position=
common.Vector3()
,
\r
+ tail_position=
None
,
\r
tail_index=-1,
\r
effect_index=-1,
\r
effect_factor=0.0,
\r
tail_index=-1,
\r
effect_index=-1,
\r
effect_factor=0.0,
\r
- fixed_axis=
common.Vector3()
,
\r
- local_x_vector=
common.Vector3()
,
\r
- local_z_vector=
common.Vector3()
,
\r
+ fixed_axis=
None
,
\r
+ local_x_vector=
None
,
\r
+ local_z_vector=
None
,
\r
external_key=-1,
\r
ik=None
\r
):
\r
external_key=-1,
\r
ik=None
\r
):
\r
@@
-171,13
+171,13
@@
class Bone(Diff):
self.parent_index=parent_index
\r
self.layer=layer
\r
self.flag=flag
\r
self.parent_index=parent_index
\r
self.layer=layer
\r
self.flag=flag
\r
- self.tail_position=tail_position
\r
+ self.tail_position=tail_position
or common.Vector3()
\r
self.tail_index=tail_index
\r
self.effect_index=effect_index
\r
self.effect_factor=effect_factor
\r
self.tail_index=tail_index
\r
self.effect_index=effect_index
\r
self.effect_factor=effect_factor
\r
- self.fixed_axis=fixed_axis
\r
- self.local_x_vector=local_x_vector
\r
- self.local_z_vector=local_z_vector
\r
+ self.fixed_axis=fixed_axis
or common.Vector3()
\r
+ self.local_x_vector=local_x_vector
or common.Vector3()
\r
+ self.local_z_vector=local_z_vector
or common.Vector3()
\r
self.external_key=external_key
\r
self.ik=ik
\r
\r
self.external_key=external_key
\r
self.ik=ik
\r
\r
@@
-215,25
+215,28
@@
class Bone(Diff):
self._diff(rhs, 'ik')
\r
\r
def getConnectionFlag(self):
\r
self._diff(rhs, 'ik')
\r
\r
def getConnectionFlag(self):
\r
- return self.flag & 0x0001
\r
+ return (self.flag & 0x0001)!=0
\r
+
\r
+ def getVisibleFlag(self):
\r
+ return (self.flag & 0x0008)!=0
\r
\r
def getIkFlag(self):
\r
\r
def getIkFlag(self):
\r
- return (self.flag & 0x0020)
>> 5
\r
+ return (self.flag & 0x0020)
!=0
\r
\r
def getRotationFlag(self):
\r
\r
def getRotationFlag(self):
\r
- return (self.flag & 0x0100)
>> 8
\r
+ return (self.flag & 0x0100)
!=0
\r
\r
def getTranslationFlag(self):
\r
\r
def getTranslationFlag(self):
\r
- return (self.flag & 0x0200)
>> 9
\r
+ return (self.flag & 0x0200)
!=0
\r
\r
def getFixedAxisFlag(self):
\r
\r
def getFixedAxisFlag(self):
\r
- return (self.flag & 0x0400)
>> 1
0
\r
+ return (self.flag & 0x0400)
!=
0
\r
\r
def getLocalCoordinateFlag(self):
\r
\r
def getLocalCoordinateFlag(self):
\r
- return (self.flag & 0x0800)
>> 11
\r
+ return (self.flag & 0x0800)
!=0
\r
\r
def getExternalParentDeformFlag(self):
\r
\r
def getExternalParentDeformFlag(self):
\r
- return (self.flag & 0x2000)
>> 13
\r
+ return (self.flag & 0x2000)
!=0
\r
\r
\r
class Material(Diff):
\r
\r
\r
class Material(Diff):
\r
@@
-467,12
+470,12
@@
class Morph(Diff):
'morph_type',
\r
'offsets',
\r
]
\r
'morph_type',
\r
'offsets',
\r
]
\r
- def __init__(self, name, english_name, panel, morph_type):
\r
+ def __init__(self, name, english_name, panel, morph_type
, offsets=None
):
\r
self.name=name
\r
self.english_name=english_name
\r
self.panel=panel
\r
self.morph_type=morph_type
\r
self.name=name
\r
self.english_name=english_name
\r
self.panel=panel
\r
self.morph_type=morph_type
\r
- self.offsets=[]
\r
+ self.offsets=
offsets or
[]
\r
\r
def __eq__(self, rhs):
\r
return (
\r
\r
def __eq__(self, rhs):
\r
return (
\r
@@
-489,12
+492,12
@@
class Morph(Diff):
def diff(self, rhs):
\r
self._diff(rhs, 'name')
\r
self._diff(rhs, 'english_name')
\r
def diff(self, rhs):
\r
self._diff(rhs, 'name')
\r
self._diff(rhs, 'english_name')
\r
- self._diff(rhs, 'panel')
\r
+
#
self._diff(rhs, 'panel')
\r
self._diff(rhs, 'morph_type')
\r
self._diff_array(rhs, 'offsets')
\r
\r
\r
self._diff(rhs, 'morph_type')
\r
self._diff_array(rhs, 'offsets')
\r
\r
\r
-class VerexMorphOffset(Diff):
\r
+class Ver
t
exMorphOffset(Diff):
\r
"""pmx vertex morph offset
\r
\r
Attributes:
\r
"""pmx vertex morph offset
\r
\r
Attributes:
\r
@@
-519,8
+522,8
@@
class VerexMorphOffset(Diff):
return not self.__eq__(rhs)
\r
\r
def diff(self, rhs):
\r
return not self.__eq__(rhs)
\r
\r
def diff(self, rhs):
\r
- self._diff(rhs, '
name
')
\r
- self._diff(rhs, '
english_name
')
\r
+ self._diff(rhs, '
vertex_index
')
\r
+ self._diff(rhs, '
position_offset
')
\r
\r
\r
class DisplaySlot(Diff):
\r
\r
\r
class DisplaySlot(Diff):
\r
@@
-530,26
+533,29
@@
class DisplaySlot(Diff):
name:
\r
english_name:
\r
special_flag:
\r
name:
\r
english_name:
\r
special_flag:
\r
- refrences: list of (ref_type, ref_index)
\r
+ ref
e
rences: list of (ref_type, ref_index)
\r
"""
\r
__slots__=[
\r
'name',
\r
'english_name',
\r
'special_flag',
\r
"""
\r
__slots__=[
\r
'name',
\r
'english_name',
\r
'special_flag',
\r
- 'refrences',
\r
+ 'ref
e
rences',
\r
]
\r
]
\r
- def __init__(self, name, english_name, special_flag):
\r
+ def __init__(self, name, english_name, special_flag
, references=None
):
\r
self.name=name
\r
self.english_name=english_name
\r
self.special_flag=special_flag
\r
self.name=name
\r
self.english_name=english_name
\r
self.special_flag=special_flag
\r
- self.refrences=[]
\r
+ self.references=references or []
\r
+
\r
+ def __str__(self):
\r
+ return "<DisplaySlots %s(%d)>" % (self.name, len(self.references))
\r
\r
def __eq__(self, rhs):
\r
return (
\r
self.name==rhs.name
\r
and self.english_name==rhs.english_name
\r
and self.special_flag==rhs.special_flag
\r
\r
def __eq__(self, rhs):
\r
return (
\r
self.name==rhs.name
\r
and self.english_name==rhs.english_name
\r
and self.special_flag==rhs.special_flag
\r
- and self.ref
rences==rhs.ref
rences
\r
+ and self.ref
erences==rhs.refe
rences
\r
)
\r
\r
def __ne__(self, rhs):
\r
)
\r
\r
def __ne__(self, rhs):
\r
@@
-559,7
+565,7
@@
class DisplaySlot(Diff):
self._diff(rhs, 'name')
\r
self._diff(rhs, 'english_name')
\r
self._diff(rhs, 'special_flag')
\r
self._diff(rhs, 'name')
\r
self._diff(rhs, 'english_name')
\r
self._diff(rhs, 'special_flag')
\r
-
self._diff_array(rhs, 'ref
rences')
\r
+
#self._diff_array(rhs, 'refe
rences')
\r
\r
\r
class RigidBodyParam(Diff):
\r
\r
\r
class RigidBodyParam(Diff):
\r
@@
-824,6
+830,7
@@
class Model(Diff):
bullet physics joint list
\r
"""
\r
__slots__=[
\r
bullet physics joint list
\r
"""
\r
__slots__=[
\r
+ 'path',
\r
'version',
\r
'name',
\r
'english_name',
\r
'version',
\r
'name',
\r
'english_name',
\r
@@
-840,6
+847,7
@@
class Model(Diff):
'joints',
\r
]
\r
def __init__(self, version=2.0):
\r
'joints',
\r
]
\r
def __init__(self, version=2.0):
\r
+ self.path=''
\r
self.version=version
\r
self.name=''
\r
self.english_name=''
\r
self.version=version
\r
self.name=''
\r
self.english_name=''
\r