Intersections

bool ipc::has_intersections(const CollisionMesh& mesh,
    
const Eigen::MatrixXd& vertices,
    
const BroadPhaseMethod broad_phase_method
    
= DEFAULT_BROAD_PHASE_METHOD
);

Determine if the mesh has self intersections.

Parameters:
const CollisionMesh &mesh

The collision mesh.

const Eigen::MatrixXd &vertices

Vertices of the collision mesh.

const BroadPhaseMethod broad_phase_method = DEFAULT_BROAD_PHASE_METHOD

The broad phase method to use.

Returns:

A boolean for if the mesh has intersections.

bool ipc::is_edge_intersecting_triangle(const Eigen::Vector3d& e0,
    
const Eigen::Vector3d& e1, const Eigen::Vector3d& t0,
    
const Eigen::Vector3d& t1, const Eigen::Vector3d& t2);