|
@@ -36,8 +36,6 @@ class OdeTriMeshGeom;
|
|
|
class OdeSimpleSpace;
|
|
class OdeSimpleSpace;
|
|
|
class OdeHashSpace;
|
|
class OdeHashSpace;
|
|
|
class OdeQuadTreeSpace;
|
|
class OdeQuadTreeSpace;
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////
|
|
|
// Class : OdeSpace
|
|
// Class : OdeSpace
|
|
@@ -46,7 +44,6 @@ class OdeQuadTreeSpace;
|
|
|
class EXPCL_PANDAODE OdeSpace : public TypedObject {
|
|
class EXPCL_PANDAODE OdeSpace : public TypedObject {
|
|
|
friend class OdeGeom;
|
|
friend class OdeGeom;
|
|
|
static const int MAX_CONTACTS;
|
|
static const int MAX_CONTACTS;
|
|
|
-
|
|
|
|
|
|
|
|
|
|
protected:
|
|
protected:
|
|
|
OdeSpace(dSpaceID id);
|
|
OdeSpace(dSpaceID id);
|
|
@@ -81,7 +78,6 @@ PUBLISHED:
|
|
|
OdeGeom get_geom(int i); // Not INLINE because of forward declaration
|
|
OdeGeom get_geom(int i); // Not INLINE because of forward declaration
|
|
|
//static int get_surface_type(OdeSpace * self, dGeomID o1);
|
|
//static int get_surface_type(OdeSpace * self, dGeomID o1);
|
|
|
|
|
|
|
|
-
|
|
|
|
|
INLINE OdeSpace get_space() const;
|
|
INLINE OdeSpace get_space() const;
|
|
|
|
|
|
|
|
virtual void write(ostream &out = cout, unsigned int indent=0) const;
|
|
virtual void write(ostream &out = cout, unsigned int indent=0) const;
|
|
@@ -91,10 +87,8 @@ PUBLISHED:
|
|
|
OdeQuadTreeSpace convert_to_quad_tree_space() const;
|
|
OdeQuadTreeSpace convert_to_quad_tree_space() const;
|
|
|
|
|
|
|
|
int auto_collide();
|
|
int auto_collide();
|
|
|
- static void auto_callback(void*, dGeomID, dGeomID);
|
|
|
|
|
#ifdef HAVE_PYTHON
|
|
#ifdef HAVE_PYTHON
|
|
|
int collide(PyObject* arg, PyObject* near_callback);
|
|
int collide(PyObject* arg, PyObject* near_callback);
|
|
|
- static void near_callback(void*, dGeomID, dGeomID);
|
|
|
|
|
#endif
|
|
#endif
|
|
|
static double get_contact_data(int data_index);
|
|
static double get_contact_data(int data_index);
|
|
|
int get_contact_id(int data_index, int first = 0);
|
|
int get_contact_id(int data_index, int first = 0);
|
|
@@ -107,8 +101,12 @@ PUBLISHED:
|
|
|
int get_collide_id(dGeomID o1);
|
|
int get_collide_id(dGeomID o1);
|
|
|
int get_collide_id(OdeGeom& geom);
|
|
int get_collide_id(OdeGeom& geom);
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-public:
|
|
|
|
|
|
|
+public:
|
|
|
|
|
+ static void auto_callback(void*, dGeomID, dGeomID);
|
|
|
|
|
+#ifdef HAVE_PYTHON
|
|
|
|
|
+ static void near_callback(void*, dGeomID, dGeomID);
|
|
|
|
|
+#endif
|
|
|
|
|
+
|
|
|
INLINE dSpaceID get_id() const;
|
|
INLINE dSpaceID get_id() const;
|
|
|
static OdeWorld* _collide_world;
|
|
static OdeWorld* _collide_world;
|
|
|
static OdeSpace* _collide_space;
|
|
static OdeSpace* _collide_space;
|
|
@@ -120,15 +118,12 @@ public:
|
|
|
|
|
|
|
|
static double contact_data[192]; // 64 times three
|
|
static double contact_data[192]; // 64 times three
|
|
|
static int contact_ids[128]; // 64 times two
|
|
static int contact_ids[128]; // 64 times two
|
|
|
-
|
|
|
|
|
|
|
|
|
|
protected:
|
|
protected:
|
|
|
dSpaceID _id;
|
|
dSpaceID _id;
|
|
|
int _g; // REMOVE ME
|
|
int _g; // REMOVE ME
|
|
|
OdeWorld* my_world;
|
|
OdeWorld* my_world;
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
public:
|
|
public:
|
|
|
static TypeHandle get_class_type() {
|
|
static TypeHandle get_class_type() {
|
|
|
return _type_handle;
|
|
return _type_handle;
|