Explorar o código

*** empty log message ***

Mike Goslin %!s(int64=25) %!d(string=hai) anos
pai
achega
dfa0b0c9fa
Modificáronse 2 ficheiros con 16 adicións e 0 borrados
  1. 15 0
      panda/src/physics/forceNode.cxx
  2. 1 0
      panda/src/physics/forceNode.h

+ 15 - 0
panda/src/physics/forceNode.cxx

@@ -75,6 +75,21 @@ add_forces_from(const ForceNode &other) {
     (*last)->_force_node = this;
     (*last)->_force_node = this;
 }
 }
 
 
+////////////////////////////////////////////////////////////////////
+//     Function : remove_force
+//       Access : public
+//  Description : remove operation
+////////////////////////////////////////////////////////////////////
+void ForceNode::
+remove_force(BaseForce *f) {
+  vector< PT(BaseForce) >::iterator found;
+  PT(BaseForce) ptbf = f;
+  found = find(_forces.begin(), _forces.end(), ptbf);
+  if (found == _forces.end())
+    return;
+  _forces.erase(found);
+}
+
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 //     Function : remove_force
 //     Function : remove_force
 //       Access : public
 //       Access : public

+ 1 - 0
panda/src/physics/forceNode.h

@@ -38,6 +38,7 @@ PUBLISHED:
   INLINE void add_force(BaseForce *force);
   INLINE void add_force(BaseForce *force);
 
 
   void add_forces_from(const ForceNode &other);
   void add_forces_from(const ForceNode &other);
+  void remove_force(BaseForce *f);
   void remove_force(int index);
   void remove_force(int index);
 
 
 public:
 public: