20 bool valid = m_data->
m_sdf.
load(sdfData, sizeInBytes);
47 btTransformAabb(localAabbMin, localAabbMax, margin, t, aabbMin, aabbMax);
60 inertia.setValue(0, 0, 0);
64 return "btSdfCollisionShape";
SIMD_FORCE_INLINE void btTransformAabb(const btVector3 &halfExtents, btScalar margin, const btTransform &t, btVector3 &aabbMinOut, btVector3 &aabbMaxOut)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
bool initializeSDF(const char *sdfData, int sizeInBytes)
bool queryPoint(const btVector3 &ptInSDF, btScalar &distOut, btVector3 &normal)
virtual ~btSdfCollisionShape()
virtual const char * getName() const
virtual void processAllTriangles(btTriangleCallback *callback, const btVector3 &aabbMin, const btVector3 &aabbMax) const
virtual btScalar getMargin() const
virtual void getAabb(const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const
virtual void setMargin(btScalar margin)
virtual void setLocalScaling(const btVector3 &scaling)
virtual void calculateLocalInertia(btScalar mass, btVector3 &inertia) const
virtual const btVector3 & getLocalScaling() const
DEGForeachIDComponentCallback callback
BLI_INLINE float grad(int hash_val, float x, float y, float z)
bool load(const char *data, int size)
bool interpolate(unsigned int field_id, double &dist, btVector3 const &x, btVector3 *gradient) const
btSdfCollisionShapeInternalData()