diff --git a/panda/src/physics/physical.cxx b/panda/src/physics/physical.cxx index e2e0570915..41037376c2 100644 --- a/panda/src/physics/physical.cxx +++ b/panda/src/physics/physical.cxx @@ -120,6 +120,23 @@ Physical:: } } +//////////////////////////////////////////////////////////////////// +// Function : get_objects +// Access : Public +//////////////////////////////////////////////////////////////////// +const PhysicsObjectCollection Physical:: +get_objects() const{ + PhysicsObjectCollection poc; + + for (PhysicsObject::Vector::const_iterator i=_physics_objects.begin(); + i != _physics_objects.end(); + ++i) { + poc.add_physics_object((PhysicsObject*)(*i)); + } + + return poc; +} + //////////////////////////////////////////////////////////////////// // Function : output // Access : Public diff --git a/panda/src/physics/physical.h b/panda/src/physics/physical.h index 84fc111a38..f575e5b8a1 100644 --- a/panda/src/physics/physical.h +++ b/panda/src/physics/physical.h @@ -27,6 +27,7 @@ #include "plist.h" #include "physicsObject.h" +#include "physicsObjectCollection.h" #include "linearForce.h" #include "angularForce.h" @@ -73,6 +74,8 @@ PUBLISHED: INLINE void set_viscosity(float viscosity); INLINE float get_viscosity() const; + const PhysicsObjectCollection get_objects() const; + virtual void output(ostream &out = cout) const; virtual void write_physics_objects( ostream &out = cout, unsigned int indent=0) const;