add btMultiBodyConstraint::finalizeMultiDof API: if you add multi-body constraints to a multi-dof btMultiBody, before it has been finalized using the btMultiBody::finalizeMultiDof call,

then you have to manually call the btMultiBodyConstraint::finalizeMultiDof for all multi-dof multi body constraints.
This commit is contained in:
erwin coumans
2015-03-03 13:24:06 -08:00
parent a391e619ed
commit 5d40d90bd0
13 changed files with 548 additions and 27 deletions

View File

@@ -180,6 +180,10 @@ struct MyGraphicsPhysicsBridge : public GraphicsPhysicsBridge
}
virtual struct Common2dCanvasInterface* get2dCanvasInterface()
{
return m_glApp->m_2dCanvasInterface;
}
virtual CommonParameterInterface* getParameterInterface()
{
return m_glApp->m_parameterInterface;

View File

@@ -0,0 +1,15 @@
#ifndef COMMON_2D_CANVAS_INTERFACE_H
#define COMMON_2D_CANVAS_INTERFACE_H
struct Common2dCanvasInterface
{
virtual ~Common2dCanvasInterface() {}
virtual int createCanvas(const char* canvasName, int width, int height)=0;
virtual void destroyCanvas(int canvasId)=0;
virtual void setPixel(int canvasId, int x, int y, unsigned char red, unsigned char green,unsigned char blue, unsigned char alpha)=0;
virtual void refreshImageData(int canvasId)=0;
};
#endif //COMMON_2D_CANVAS_INTERFACE_H

View File

@@ -38,6 +38,10 @@ struct GraphicsPhysicsBridge
virtual int registerGraphicsInstance(int shapeIndex, const float* position, const float* quaternion, const float* color, const float* scaling) { return -1;}
virtual struct Common2dCanvasInterface* get2dCanvasInterface()
{
return 0;
}
virtual CommonParameterInterface* getParameterInterface()
{
@@ -65,6 +69,7 @@ public:
virtual void debugDraw(int debugDrawFlags)=0;
virtual bool pickBody(const btVector3& rayFromWorld, const btVector3& rayToWorld) = 0;
virtual bool movePickedBody(const btVector3& rayFromWorld, const btVector3& rayToWorld)=0;
virtual void removePickingConstraint() = 0;