+ bugfix in btAlignedObjectArray, not calling destructors on resize to smaller array.

Thanks Benoit for pointing this out, and bugfix: http://code.google.com/p/bullet/issues/detail?id=218

+ Added point to point, hinge, slider and generic 6dof constraints to Maya Dynamica plugin
Thanks to Herbert Law for the constribution: http://code.google.com/p/bullet/issues/detail?id=221
This commit is contained in:
erwin.coumans
2009-05-06 19:55:05 +00:00
parent f3c3d2f156
commit d9c4529a26
56 changed files with 5851 additions and 1237 deletions

View File

@@ -28,6 +28,8 @@ Written by: Nicola Candussi <nicola@fluidinteractive.com>
#include "shared_ptr.h"
#include "rigid_body_impl.h"
#include "bt_collision_shape.h"
#include "LinearMath/btAlignedObjectArray.h"
#include "constraint/bt_constraint.h"
class bt_rigid_body_t: public rigid_body_impl_t {
public:
@@ -153,10 +155,28 @@ public:
m_body->applyTorque(btVector3(t[0], t[1], t[2]));
}
virtual void update_constraint()
{
int count = m_constraintRef.size();
for(int i=0; i<count; i++)
{
m_constraintRef[i]->update_constraint();
}
}
btRigidBody* body() { return m_body.get(); }
virtual void add_constraint(bt_constraint_t* constraint)
{
m_constraintRef.push_back(constraint);
}
virtual void remove_constraint(bt_constraint_t* constraint)
{
m_constraintRef.remove(constraint);
}
protected:
friend class bt_solver_t;
btAlignedObjectArray<bt_constraint_t*> m_constraintRef;
bt_rigid_body_t(collision_shape_impl_t* cs):
m_collision_shape(cs),