summaryrefslogtreecommitdiff
path: root/thirdparty/bullet/BulletCollision/CollisionShapes/btSdfCollisionShape.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/bullet/BulletCollision/CollisionShapes/btSdfCollisionShape.cpp')
-rw-r--r--thirdparty/bullet/BulletCollision/CollisionShapes/btSdfCollisionShape.cpp95
1 files changed, 0 insertions, 95 deletions
diff --git a/thirdparty/bullet/BulletCollision/CollisionShapes/btSdfCollisionShape.cpp b/thirdparty/bullet/BulletCollision/CollisionShapes/btSdfCollisionShape.cpp
deleted file mode 100644
index 23c95ad3ff..0000000000
--- a/thirdparty/bullet/BulletCollision/CollisionShapes/btSdfCollisionShape.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-#include "btSdfCollisionShape.h"
-#include "btMiniSDF.h"
-#include "LinearMath/btAabbUtil2.h"
-
-ATTRIBUTE_ALIGNED16(struct)
-btSdfCollisionShapeInternalData
-{
- BT_DECLARE_ALIGNED_ALLOCATOR();
-
- btVector3 m_localScaling;
- btScalar m_margin;
- btMiniSDF m_sdf;
-
- btSdfCollisionShapeInternalData()
- : m_localScaling(1, 1, 1),
- m_margin(0)
- {
- }
-};
-
-bool btSdfCollisionShape::initializeSDF(const char* sdfData, int sizeInBytes)
-{
- bool valid = m_data->m_sdf.load(sdfData, sizeInBytes);
- return valid;
-}
-btSdfCollisionShape::btSdfCollisionShape()
-{
- m_shapeType = SDF_SHAPE_PROXYTYPE;
- m_data = new btSdfCollisionShapeInternalData();
-
- //"E:/develop/bullet3/data/toys/ground_hole64_64_8.cdf");//ground_cube.cdf");
- /*unsigned int field_id=0;
- Eigen::Vector3d x (1,10,1);
- Eigen::Vector3d gradient;
- double dist = m_data->m_sdf.interpolate(field_id, x, &gradient);
- printf("dist=%g\n", dist);
- */
-}
-btSdfCollisionShape::~btSdfCollisionShape()
-{
- delete m_data;
-}
-
-void btSdfCollisionShape::getAabb(const btTransform& t, btVector3& aabbMin, btVector3& aabbMax) const
-{
- btAssert(m_data->m_sdf.isValid());
- btVector3 localAabbMin = m_data->m_sdf.m_domain.m_min;
- btVector3 localAabbMax = m_data->m_sdf.m_domain.m_max;
- btScalar margin(0);
- btTransformAabb(localAabbMin, localAabbMax, margin, t, aabbMin, aabbMax);
-}
-
-void btSdfCollisionShape::setLocalScaling(const btVector3& scaling)
-{
- m_data->m_localScaling = scaling;
-}
-const btVector3& btSdfCollisionShape::getLocalScaling() const
-{
- return m_data->m_localScaling;
-}
-void btSdfCollisionShape::calculateLocalInertia(btScalar mass, btVector3& inertia) const
-{
- inertia.setValue(0, 0, 0);
-}
-const char* btSdfCollisionShape::getName() const
-{
- return "btSdfCollisionShape";
-}
-void btSdfCollisionShape::setMargin(btScalar margin)
-{
- m_data->m_margin = margin;
-}
-btScalar btSdfCollisionShape::getMargin() const
-{
- return m_data->m_margin;
-}
-
-void btSdfCollisionShape::processAllTriangles(btTriangleCallback* callback, const btVector3& aabbMin, const btVector3& aabbMax) const
-{
- //not yet
-}
-
-bool btSdfCollisionShape::queryPoint(const btVector3& ptInSDF, btScalar& distOut, btVector3& normal)
-{
- int field = 0;
- btVector3 grad;
- double dist;
- bool hasResult = m_data->m_sdf.interpolate(field, dist, ptInSDF, &grad);
- if (hasResult)
- {
- normal.setValue(grad[0], grad[1], grad[2]);
- distOut = dist;
- }
- return hasResult;
-}