Merged some of the late changes on slicing robustness

from the 1.41.2 (stable) to the current 1.42.0-alpha3
This should fix a number of errors reported (#1562, #1592, #1614, #1633)
This commit is contained in:
bubnikv 2019-01-14 11:06:52 +01:00
parent 8696c70af4
commit cf8e4fd7b0
2 changed files with 67 additions and 160 deletions

View file

@ -55,7 +55,8 @@ public:
TriangleMeshPtrs split() const;
void merge(const TriangleMesh &mesh);
ExPolygons horizontal_projection() const;
const float* first_vertex() const;
const float* first_vertex() const { return this->stl.facet_start ? &this->stl.facet_start->vertex[0](0) : nullptr; }
// 2D convex hull of a 3D mesh projected into the Z=0 plane.
Polygon convex_hull();
BoundingBoxf3 bounding_box() const;
// Returns the bbox of this TriangleMesh transformed by the given transformation
@ -74,7 +75,7 @@ public:
// Count disconnected triangle patches.
size_t number_of_patches() const;
mutable stl_file stl;
stl_file stl;
bool repaired;
private: