Intersections
-
bool ipc::has_intersections(const CollisionMesh& mesh,
const Eigen::MatrixXd& vertices,
const std::shared_ptr<BroadPhase> broad_phase
= make_default_broad_phase());
Determine if the mesh has self intersections.
- Parameters:
- const CollisionMesh &mesh
The collision mesh.
- const Eigen::MatrixXd &vertices
Vertices of the collision mesh.
- 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);
Check if an edge intersects a triangle.
- Parameters:
- const Eigen::Vector3d &e0
Edge start point.
- const Eigen::Vector3d &e1
Edge end point.
- const Eigen::Vector3d &t0
Triangle vertex 0.
- const Eigen::Vector3d &t1
Triangle vertex 1.
- const Eigen::Vector3d &t2
Triangle vertex 2.
- Returns:
True if the edge intersects the triangle.
Last update:
Feb 18, 2025