Author: EricStein
Date: 2007-07-08 17:55:51 -0400 (Sun, 08 Jul 2007)
New Revision: 431
Modified:
trunk/pysoy/src/_datatypes/HashTable.pxi
trunk/pysoy/src/_datatypes/soy._datatypes.pxd
trunk/pysoy/src/bodies._bodies/Body.pxi
trunk/pysoy/src/bodies._bodies/soy.bodies._bodies.pxd
Log:
Added remove function, added tags property of Body. Tested & works.
Modified: trunk/pysoy/src/_datatypes/HashTable.pxi
===================================================================
--- trunk/pysoy/src/_datatypes/HashTable.pxi 2007-07-08 20:56:24 UTC (rev
430)
+++ trunk/pysoy/src/_datatypes/HashTable.pxi 2007-07-08 21:55:51 UTC (rev
431)
@@ -58,3 +58,12 @@
cdef int _has_key(self, char* key) :
cdef glib.gpointer k, d
return glib.g_hash_table_lookup_extended(self._hashtable, key, &k, &d)
+
+ def remove(self, key) :
+ if self._remove(key) :
+ return True
+ else :
+ return False
+
+ cdef int _remove(self, char* key) :
+ return glib.g_hash_table_remove(self._hashtable, key)
Modified: trunk/pysoy/src/_datatypes/soy._datatypes.pxd
===================================================================
--- trunk/pysoy/src/_datatypes/soy._datatypes.pxd 2007-07-08 20:56:24 UTC
(rev 430)
+++ trunk/pysoy/src/_datatypes/soy._datatypes.pxd 2007-07-08 21:55:51 UTC
(rev 431)
@@ -52,6 +52,7 @@
cdef void _insert(self, char*, float)
cdef float _lookup(self, char*)
cdef int _has_key(self, char*)
+ cdef int _remove(self, char*)
cdef class FaceList :
Modified: trunk/pysoy/src/bodies._bodies/Body.pxi
===================================================================
--- trunk/pysoy/src/bodies._bodies/Body.pxi 2007-07-08 20:56:24 UTC (rev
430)
+++ trunk/pysoy/src/bodies._bodies/Body.pxi 2007-07-08 21:55:51 UTC (rev
431)
@@ -43,6 +43,7 @@
self.mesh = mesh
if shape :
self.shape = shape
+ self._tags = soy._datatypes.HashTable()
def __dealloc__(self) :
@@ -92,7 +93,14 @@
self._destroy()
self._scene._bodies.unlock()
+ property tags :
+ '''Body's tags
+ This is the body's tagset.
+ '''
+ def __get__(self) :
+ return self._tags
+
property mass :
'''Body's mass
Modified: trunk/pysoy/src/bodies._bodies/soy.bodies._bodies.pxd
===================================================================
--- trunk/pysoy/src/bodies._bodies/soy.bodies._bodies.pxd 2007-07-08
20:56:24 UTC (rev 430)
+++ trunk/pysoy/src/bodies._bodies/soy.bodies._bodies.pxd 2007-07-08
21:55:51 UTC (rev 431)
@@ -23,26 +23,28 @@
cimport stdio
cimport soy._core
cimport soy._internals
+cimport soy._datatypes
cimport soy.meshes
cimport soy.shapes
cdef class Body :
- cdef ode.dBodyID _bodyID
- cdef soy._core.Scene _scene
- cdef soy.meshes.Mesh _mesh
- cdef soy.shapes.Shape _shape
+ cdef ode.dBodyID _bodyID
+ cdef soy._core.Scene _scene
+ cdef soy.meshes.Mesh _mesh
+ cdef soy.shapes.Shape _shape
# for loading/saving
- cdef ode.dMass _mass
- cdef ode.dVector3 _position
- cdef ode.dQuaternion _quaternion
- cdef ode.dReal _linearVel[3]
- cdef ode.dReal _angularVel[3]
+ cdef ode.dMass _mass
+ cdef ode.dVector3 _position
+ cdef ode.dQuaternion _quaternion
+ cdef ode.dReal _linearVel[3]
+ cdef ode.dReal _angularVel[3]
+ cdef soy._datatypes.HashTable _tags
# C functions
- cdef void _create(self)
- cdef void _destroy(self)
- cdef int _isActive(self)
- cdef void _render(self)
- cdef void poke(self, vector)
+ cdef void _create(self)
+ cdef void _destroy(self)
+ cdef int _isActive(self)
+ cdef void _render(self)
+ cdef void poke(self, vector)
cdef class Camera (Body) :
_______________________________________________
PySoy-SVN mailing list
[email protected]
http://www.pysoy.org/mailman/listinfo/pysoy-svn