summaryrefslogtreecommitdiff
path: root/thirdparty/bullet/BulletCollision/CollisionDispatch/btManifoldResult.h
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/bullet/BulletCollision/CollisionDispatch/btManifoldResult.h')
-rw-r--r--thirdparty/bullet/BulletCollision/CollisionDispatch/btManifoldResult.h163
1 files changed, 0 insertions, 163 deletions
diff --git a/thirdparty/bullet/BulletCollision/CollisionDispatch/btManifoldResult.h b/thirdparty/bullet/BulletCollision/CollisionDispatch/btManifoldResult.h
deleted file mode 100644
index 6c0a2d9a43..0000000000
--- a/thirdparty/bullet/BulletCollision/CollisionDispatch/btManifoldResult.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
-Bullet Continuous Collision Detection and Physics Library
-Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
-
-This software is provided 'as-is', without any express or implied warranty.
-In no event will the authors be held liable for any damages arising from the use of this software.
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it freely,
-subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
-2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
-3. This notice may not be removed or altered from any source distribution.
-*/
-
-#ifndef BT_MANIFOLD_RESULT_H
-#define BT_MANIFOLD_RESULT_H
-
-class btCollisionObject;
-struct btCollisionObjectWrapper;
-
-#include "BulletCollision/NarrowPhaseCollision/btPersistentManifold.h"
-class btManifoldPoint;
-
-#include "BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h"
-
-#include "LinearMath/btTransform.h"
-#include "BulletCollision/CollisionDispatch/btCollisionObjectWrapper.h"
-#include "BulletCollision/CollisionDispatch/btCollisionObject.h"
-
-typedef bool (*ContactAddedCallback)(btManifoldPoint& cp, const btCollisionObjectWrapper* colObj0Wrap, int partId0, int index0, const btCollisionObjectWrapper* colObj1Wrap, int partId1, int index1);
-extern ContactAddedCallback gContactAddedCallback;
-
-//#define DEBUG_PART_INDEX 1
-
-/// These callbacks are used to customize the algorith that combine restitution, friction, damping, Stiffness
-typedef btScalar (*CalculateCombinedCallback)(const btCollisionObject* body0, const btCollisionObject* body1);
-
-extern CalculateCombinedCallback gCalculateCombinedRestitutionCallback;
-extern CalculateCombinedCallback gCalculateCombinedFrictionCallback;
-extern CalculateCombinedCallback gCalculateCombinedRollingFrictionCallback;
-extern CalculateCombinedCallback gCalculateCombinedSpinningFrictionCallback;
-extern CalculateCombinedCallback gCalculateCombinedContactDampingCallback;
-extern CalculateCombinedCallback gCalculateCombinedContactStiffnessCallback;
-
-///btManifoldResult is a helper class to manage contact results.
-class btManifoldResult : public btDiscreteCollisionDetectorInterface::Result
-{
-protected:
- btPersistentManifold* m_manifoldPtr;
-
- const btCollisionObjectWrapper* m_body0Wrap;
- const btCollisionObjectWrapper* m_body1Wrap;
- int m_partId0;
- int m_partId1;
- int m_index0;
- int m_index1;
-
-public:
- btManifoldResult()
- :
-#ifdef DEBUG_PART_INDEX
-
- m_partId0(-1),
- m_partId1(-1),
- m_index0(-1),
- m_index1(-1)
-#endif //DEBUG_PART_INDEX
- m_closestPointDistanceThreshold(0)
- {
- }
-
- btManifoldResult(const btCollisionObjectWrapper* body0Wrap, const btCollisionObjectWrapper* body1Wrap);
-
- virtual ~btManifoldResult(){};
-
- void setPersistentManifold(btPersistentManifold* manifoldPtr)
- {
- m_manifoldPtr = manifoldPtr;
- }
-
- const btPersistentManifold* getPersistentManifold() const
- {
- return m_manifoldPtr;
- }
- btPersistentManifold* getPersistentManifold()
- {
- return m_manifoldPtr;
- }
-
- virtual void setShapeIdentifiersA(int partId0, int index0)
- {
- m_partId0 = partId0;
- m_index0 = index0;
- }
-
- virtual void setShapeIdentifiersB(int partId1, int index1)
- {
- m_partId1 = partId1;
- m_index1 = index1;
- }
-
- virtual void addContactPoint(const btVector3& normalOnBInWorld, const btVector3& pointInWorld, btScalar depth);
-
- SIMD_FORCE_INLINE void refreshContactPoints()
- {
- btAssert(m_manifoldPtr);
- if (!m_manifoldPtr->getNumContacts())
- return;
-
- bool isSwapped = m_manifoldPtr->getBody0() != m_body0Wrap->getCollisionObject();
-
- if (isSwapped)
- {
- m_manifoldPtr->refreshContactPoints(m_body1Wrap->getCollisionObject()->getWorldTransform(), m_body0Wrap->getCollisionObject()->getWorldTransform());
- }
- else
- {
- m_manifoldPtr->refreshContactPoints(m_body0Wrap->getCollisionObject()->getWorldTransform(), m_body1Wrap->getCollisionObject()->getWorldTransform());
- }
- }
-
- const btCollisionObjectWrapper* getBody0Wrap() const
- {
- return m_body0Wrap;
- }
- const btCollisionObjectWrapper* getBody1Wrap() const
- {
- return m_body1Wrap;
- }
-
- void setBody0Wrap(const btCollisionObjectWrapper* obj0Wrap)
- {
- m_body0Wrap = obj0Wrap;
- }
-
- void setBody1Wrap(const btCollisionObjectWrapper* obj1Wrap)
- {
- m_body1Wrap = obj1Wrap;
- }
-
- const btCollisionObject* getBody0Internal() const
- {
- return m_body0Wrap->getCollisionObject();
- }
-
- const btCollisionObject* getBody1Internal() const
- {
- return m_body1Wrap->getCollisionObject();
- }
-
- btScalar m_closestPointDistanceThreshold;
-
- /// in the future we can let the user override the methods to combine restitution and friction
- static btScalar calculateCombinedRestitution(const btCollisionObject* body0, const btCollisionObject* body1);
- static btScalar calculateCombinedFriction(const btCollisionObject* body0, const btCollisionObject* body1);
- static btScalar calculateCombinedRollingFriction(const btCollisionObject* body0, const btCollisionObject* body1);
- static btScalar calculateCombinedSpinningFriction(const btCollisionObject* body0, const btCollisionObject* body1);
- static btScalar calculateCombinedContactDamping(const btCollisionObject* body0, const btCollisionObject* body1);
- static btScalar calculateCombinedContactStiffness(const btCollisionObject* body0, const btCollisionObject* body1);
-};
-
-#endif //BT_MANIFOLD_RESULT_H