Class CubicSDFCollisionDetection

Inheritance Relationships

Base Type

Class Documentation

class CubicSDFCollisionDetection : public PBD::DistanceFieldCollisionDetection

Collision detection based on cubic signed distance fields.

Public Types

using Grid = Discregrid::CubicLagrangeDiscreteGrid
using GridPtr = std::shared_ptr<Discregrid::CubicLagrangeDiscreteGrid>

Public Functions

CubicSDFCollisionDetection()
virtual ~CubicSDFCollisionDetection()
virtual bool isDistanceFieldCollisionObject(CollisionObject *co) const
void addCubicSDFCollisionObject(const unsigned int bodyIndex, const unsigned int bodyType, const Vector3r *vertices, const unsigned int numVertices, const std::string &sdfFile, const Vector3r &scale, const bool testMesh = true, const bool invertSDF = false)
void addCubicSDFCollisionObject(const unsigned int bodyIndex, const unsigned int bodyType, const Vector3r *vertices, const unsigned int numVertices, GridPtr sdf, const Vector3r &scale, const bool testMesh = true, const bool invertSDF = false)
struct CubicSDFCollisionObject : public PBD::DistanceFieldCollisionDetection::DistanceFieldCollisionObject

Public Functions

CubicSDFCollisionObject()
virtual ~CubicSDFCollisionObject()
inline virtual int &getTypeId() const
virtual bool collisionTest(const Vector3r &x, const Real tolerance, Vector3r &cp, Vector3r &n, Real &dist, const Real maxDist = 0.0)
virtual double distance(const Eigen::Vector3d &x, const Real tolerance)

Public Members

std::string m_sdfFile
Vector3r m_scale
GridPtr m_sdf

Public Static Attributes

static int TYPE_ID = IDFactory::getId()