Merge branch 'master' into fs_emboss
# Conflicts: # src/libslic3r/CMakeLists.txt # src/libslic3r/Format/3mf.cpp # src/libslic3r/Model.hpp # src/libslic3r/Point.hpp # src/libslic3r/Technologies.hpp # src/slic3r/CMakeLists.txt # src/slic3r/GUI/GLCanvas3D.cpp # src/slic3r/GUI/GLSelectionRectangle.cpp # src/slic3r/GUI/GUI_Factories.hpp # src/slic3r/GUI/Gizmos/GLGizmoBase.cpp # src/slic3r/GUI/Gizmos/GLGizmoBase.hpp # src/slic3r/GUI/Gizmos/GLGizmoMove.cpp # src/slic3r/GUI/Gizmos/GLGizmoMove.hpp # src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp # src/slic3r/GUI/Gizmos/GLGizmoRotate.hpp # src/slic3r/GUI/MeshUtils.cpp # src/slic3r/GUI/MeshUtils.hpp # src/slic3r/GUI/ObjectDataViewModel.cpp # src/slic3r/GUI/ObjectDataViewModel.hpp # src/slic3r/GUI/Selection.cpp
This commit is contained in:
commit
c549c6afbe
386 changed files with 39391 additions and 33206 deletions
|
@ -34,9 +34,6 @@ public:
|
|||
Polygon contour;
|
||||
Polygons holes;
|
||||
|
||||
operator Points() const;
|
||||
operator Polygons() const;
|
||||
operator Polylines() const;
|
||||
void clear() { contour.points.clear(); holes.clear(); }
|
||||
void scale(double factor);
|
||||
void translate(double x, double y) { this->translate(Point(coord_t(x), coord_t(y))); }
|
||||
|
@ -91,6 +88,14 @@ inline size_t count_points(const ExPolygons &expolys)
|
|||
return n_points;
|
||||
}
|
||||
|
||||
inline size_t count_points(const ExPolygon &expoly)
|
||||
{
|
||||
size_t n_points = expoly.contour.points.size();
|
||||
for (const auto &hole : expoly.holes)
|
||||
n_points += hole.points.size();
|
||||
return n_points;
|
||||
}
|
||||
|
||||
// Count a nuber of polygons stored inside the vector of expolygons.
|
||||
// Useful for allocating space for polygons when converting expolygons to polygons.
|
||||
inline size_t number_polygons(const ExPolygons &expolys)
|
||||
|
@ -298,6 +303,16 @@ inline ExPolygons to_expolygons(Polygons &&polys)
|
|||
return ex_polys;
|
||||
}
|
||||
|
||||
inline Points to_points(const ExPolygon &expoly)
|
||||
{
|
||||
Points out;
|
||||
out.reserve(count_points(expoly));
|
||||
append(out, expoly.contour.points);
|
||||
for (const Polygon &hole : expoly.holes)
|
||||
append(out, hole.points);
|
||||
return out;
|
||||
}
|
||||
|
||||
inline void polygons_append(Polygons &dst, const ExPolygon &src)
|
||||
{
|
||||
dst.reserve(dst.size() + src.holes.size() + 1);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue