输入面组件包含退化三角形

Input facet components contain degenerate triangles

我这样打电话给 IGL trim_with_solid:

#include <igl/copyleft/cgal/trim_with_solid.h>

// Input
Eigen::MatrixX3f m_VA;
Eigen::MatrixX3i m_FA;
Eigen::MatrixX3f m_VB;
Eigen::MatrixX3i m_FB;

// Output
Eigen::MatrixX3f m_V;
Eigen::MatrixX3i m_F;
Eigen::Matrix<bool, Eigen::Dynamic, 1> m_D;
Eigen::VectorXi m_J;

// Fill out input matrices ...

igl::copyleft::cgal::trim_with_solid(m_VA, m_FA, m_VB, m_FB, m_V, m_F, m_D, m_J);

错误

但我收到了这样的例外情况:

Input facet components contain degenerate triangles

Precondition exception expression: !k.is_degenerate_3_object()

问题

截图

实际上,输入的 B 网格即 VB/FB 被弄乱了并且包含退化的三角形多边形。修复 B 网格后,错误得到解决。