Fix for crash when generating supports with empty input points

This commit is contained in:
tamasmeszaros 2018-11-23 10:28:26 +01:00
parent 45b51bd40e
commit 7fe7f33b80
2 changed files with 6 additions and 5 deletions

View File

@ -929,6 +929,9 @@ bool SLASupportTree::generate(const PointSet &points,
const SupportConfig &cfg,
const Controller &ctl)
{
// If there are no input points there is no point in doing anything
if(points.rows() == 0) return false;
PointSet filtered_points; // all valid support points
PointSet head_positions; // support points with pinhead
PointSet head_normals; // head normals
@ -1619,10 +1622,7 @@ bool SLASupportTree::generate(const PointSet &points,
return pc == ABORT;
}
SLASupportTree::SLASupportTree(): m_impl(new Impl())
{
}
SLASupportTree::SLASupportTree(): m_impl(new Impl()) {}
const TriangleMesh &SLASupportTree::merged_mesh() const
{

View File

@ -84,6 +84,7 @@ size_t SpatIndex::size() const
}
PointSet normals(const PointSet& points, const EigenMesh3D& mesh) {
if(points.rows() == 0 || mesh.V.rows() == 0 || mesh.F.rows() == 0) return {};
#ifdef IGL_COMPATIBLE
Eigen::VectorXd dists;
Eigen::VectorXi I;
@ -108,7 +109,7 @@ PointSet normals(const PointSet& points, const EigenMesh3D& mesh) {
}
return ret;
#else
#else // TODO: do something on 32 bit windows
return {};
#endif
}