Author: DavidCzech Date: 2008-03-18 16:20:35 -0400 (Tue, 18 Mar 2008) New Revision: 1164
Modified: trunk/pysoy/src/_datatypes/BodyPosition.pxi Log: Better Vector Support Modified: trunk/pysoy/src/_datatypes/BodyPosition.pxi =================================================================== --- trunk/pysoy/src/_datatypes/BodyPosition.pxi 2008-03-18 20:18:21 UTC (rev 1163) +++ trunk/pysoy/src/_datatypes/BodyPosition.pxi 2008-03-18 20:20:35 UTC (rev 1164) @@ -49,13 +49,11 @@ _position[1] + value, _position[2] + value)) if type(value) == tuple or type(value) == list and len(value) == 3 \ - or isinstance(value, soy._datatypes.BodyPosition) : + or isinstance(value, soy._datatypes.BodyPosition) + or isinstance(value, soy.atoms.Vector) : return soy._datatypes.BodyPosition((_position[0] + value[0], _position[1] + value[1], _position[2] + value[2])) - return soy._datatypes.BodyPosition((_position[0] + value[0], - _position[1] + value[1], - _position[2] + value[2])) return NotImplemented def __radd__(BodyPosition self, value) : @@ -73,14 +71,11 @@ _position[1] - value, _position[2] - value)) if type(value) == tuple or type(value) == list and len(value) == 3 \ - or isinstance(value, soy._datatypes.BodyPosition) : + or isinstance(value, soy._datatypes.BodyPosition) + or isinstance(value, soy.atoms.Vector) : return soy._datatypes.BodyPosition((_position[0] - value[0], _position[1] - value[1], _position[2] - value[2])) - if isinstance(value, soy.atoms.Vector) : - return soy._datatypes.BodyPosition((_position[0] - value[0], - _position[1] - value[1], - _position[2] - value[2])) return NotImplemented def __rsub__(BodyPosition self, value) : @@ -95,7 +90,8 @@ value - _position[1], value - _position[2])) if type(value) == tuple or type(value) == list and len(value) == 3 \ - or isinstance(value, soy._datatypes.BodyPosition) : + or isinstance(value, soy._datatypes.BodyPosition) + or isinstance(value, soy.atoms.Vector) : return soy._datatypes.BodyPosition((value[0] - _position[0], value[1] - _position[1], value[2] - _position[2])) @@ -113,14 +109,11 @@ _position[1] / value, _position[2] / value)) if type(value) == tuple or type(value) == list and len(value) == 3 \ - or isinstance(value, soy._datatypes.BodyPosition) : + or isinstance(value, soy._datatypes.BodyPosition) + or isinstance(value, soy.atoms.Vector) : return soy._datatypes.BodyPosition((_position[0] / value[0], _position[1] / value[1], _position[2] / value[2])) - if isinstance(value, soy.atoms.Vector) : - return soy._datatypes.BodyPosition((_position[0] / value[0], - _position[1] / value[1], - _position[2] / value[2])) return NotImplemented def __rdiv__(BodyPosition self, value) : @@ -135,7 +128,8 @@ value / _position[1], value / _position[2])) if type(value) == tuple or type(value) == list and len(value) == 3 \ - or isinstance(value, soy._datatypes.BodyPosition) : + or isinstance(value, soy._datatypes.BodyPosition) + or isinstance(value, soy.atoms.Vector) : return soy._datatypes.BodyPosition((value[0] / _position[0], value[1] / _position[1], value[2] / _position[2])) @@ -153,14 +147,11 @@ _position[1] * value, _position[2] * value)) if type(value) == tuple or type(value) == list and len(value) == 3 \ - or isinstance(value, soy._datatypes.BodyPosition) : + or isinstance(value, soy._datatypes.BodyPosition) + or isinstance(value, soy.atoms.Vector) : return soy._datatypes.BodyPosition((_position[0] * value[0], _position[1] * value[1], _position[2] * value[2])) - if isinstance(value, soy.atoms.Vector): - return soy._datatypes.BodyPosition((_position[0] * value[0], - _position[1] * value[1], - _position[2] * value[2])) return NotImplemented def __rmul__(BodyPosition self, value) : @@ -178,7 +169,8 @@ _position[1] % value, _position[2] % value)) if type(value) == tuple or type(value) == list and len(value) == 3 \ - or isinstance(value, soy._datatypes.BodyPosition) : + or isinstance(value, soy._datatypes.BodyPosition) + or isinstance(value, soy.atoms.Vector) : return soy._datatypes.BodyPosition((_position[0] % value[0], _position[1] % value[1], _position[2] % value[2])) @@ -196,7 +188,8 @@ value % _position[1], value % _position[2])) if type(value) == tuple or type(value) == list and len(value) == 3 \ - or isinstance(value, soy._datatypes.BodyPosition) : + or isinstance(value, soy._datatypes.BodyPosition) + or isinstance(value, soy.atoms.Vector) : return soy._datatypes.BodyPosition((value[0] % _position[0], value[1] % _position[1], value[2] % _position[2])) _______________________________________________ PySoy-SVN mailing list PySoy-SVN@pysoy.org http://www.pysoy.org/mailman/listinfo/pysoy-svn