fixes_dialogmenu_capsule.patch
This commit is contained in:
@@ -75,7 +75,9 @@ void CharacterDemo::initPhysics()
|
||||
|
||||
btTransform startTransform;
|
||||
startTransform.setIdentity ();
|
||||
startTransform.setOrigin (btVector3(0.0, 4.0, 0.0));
|
||||
//startTransform.setOrigin (btVector3(0.0, 4.0, 0.0));
|
||||
startTransform.setOrigin (btVector3(10.210098,-1.6433364,16.453260));
|
||||
|
||||
|
||||
m_ghostObject = new btPairCachingGhostObject();
|
||||
m_ghostObject->setWorldTransform(startTransform);
|
||||
@@ -340,7 +342,8 @@ void CharacterDemo::clientResetScene()
|
||||
|
||||
m_character->reset ();
|
||||
///WTF
|
||||
m_character->warp (btVector3(0, -2.0, 0.));
|
||||
m_character->warp (btVector3(10.210001,-2.0306311,16.576973));
|
||||
|
||||
}
|
||||
|
||||
void CharacterDemo::specialKeyboardUp(int key, int x, int y)
|
||||
|
||||
@@ -236,6 +236,7 @@ GL_SliderControl* GL_DialogDynamicsWorld::createSlider(GL_DialogWindow* dialog,
|
||||
body->setAngularFactor(btVector3(0,0,0));
|
||||
|
||||
m_dynamicsWorld->addRigidBody(body);
|
||||
body->setCollisionFlags(body->getFlags()|btCollisionObject::CF_NO_CONTACT_RESPONSE);
|
||||
|
||||
btRigidBody* dialogBody = btRigidBody::upcast(dialog->getCollisionObject());
|
||||
btAssert(dialogBody);
|
||||
@@ -299,6 +300,7 @@ GL_ToggleControl* GL_DialogDynamicsWorld::createToggle(GL_DialogWindow* dialog,
|
||||
body->setAngularFactor(btVector3(0,0,0));
|
||||
|
||||
m_dynamicsWorld->addRigidBody(body);
|
||||
body->setCollisionFlags(body->getFlags()|btCollisionObject::CF_NO_CONTACT_RESPONSE);
|
||||
|
||||
btRigidBody* dialogBody = btRigidBody::upcast(dialog->getCollisionObject());
|
||||
btAssert(dialogBody);
|
||||
|
||||
@@ -43,6 +43,18 @@ public:
|
||||
|
||||
virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3* vectors,btVector3* supportVerticesOut,int numVectors) const;
|
||||
|
||||
virtual void setMargin(btScalar collisionMargin)
|
||||
{
|
||||
//correct the m_implicitShapeDimensions for the margin
|
||||
btVector3 oldMargin(getMargin(),getMargin(),getMargin());
|
||||
btVector3 implicitShapeDimensionsWithMargin = m_implicitShapeDimensions+oldMargin;
|
||||
|
||||
btConvexInternalShape::setMargin(collisionMargin);
|
||||
btVector3 newMargin(getMargin(),getMargin(),getMargin());
|
||||
m_implicitShapeDimensions = implicitShapeDimensionsWithMargin - newMargin;
|
||||
|
||||
}
|
||||
|
||||
virtual void getAabb (const btTransform& t, btVector3& aabbMin, btVector3& aabbMax) const
|
||||
{
|
||||
btVector3 halfExtents(getRadius(),getRadius(),getRadius());
|
||||
|
||||
Reference in New Issue
Block a user