diff --git a/xs/src/libslic3r/ExPolygonCollection.hpp b/xs/src/libslic3r/ExPolygonCollection.hpp index 1acd080a2..1d911f7e9 100644 --- a/xs/src/libslic3r/ExPolygonCollection.hpp +++ b/xs/src/libslic3r/ExPolygonCollection.hpp @@ -41,6 +41,14 @@ class ExPolygonCollection /// ExPolygons and check if at least one contains the point. bool contains(const Point &point) const; + size_t size() const { return expolygons.size(); } + ExPolygons::iterator begin() { return expolygons.begin(); } + ExPolygons::iterator end() { return expolygons.end(); } + ExPolygons::const_iterator cbegin() const { return expolygons.cbegin();} + ExPolygons::const_iterator cend() const { return expolygons.cend();} + ExPolygon& at(size_t i) { return expolygons.at(i); } + const ExPolygon& at(size_t i) const { return expolygons.at(i); } + }; inline ExPolygonCollection& diff --git a/xs/src/libslic3r/ExtrusionEntityCollection.hpp b/xs/src/libslic3r/ExtrusionEntityCollection.hpp index c3a26df82..4a710bc74 100644 --- a/xs/src/libslic3r/ExtrusionEntityCollection.hpp +++ b/xs/src/libslic3r/ExtrusionEntityCollection.hpp @@ -31,6 +31,7 @@ class ExtrusionEntityCollection : public ExtrusionEntity return this->entities.empty(); }; void clear(); + size_t size() const { return this->entities.size(); } void swap (ExtrusionEntityCollection &c); void append(const ExtrusionEntity &entity); void append(const ExtrusionEntitiesPtr &entities); @@ -53,6 +54,12 @@ class ExtrusionEntityCollection : public ExtrusionEntity CONFESS("Calling as_polyline() on a ExtrusionEntityCollection"); return Polyline(); }; + ExtrusionEntitiesPtr::iterator begin() { return entities.begin(); } + ExtrusionEntitiesPtr::iterator end() { return entities.end(); } + ExtrusionEntitiesPtr::const_iterator cbegin() const { return entities.cbegin(); } + ExtrusionEntitiesPtr::const_iterator cend() const { return entities.cend(); } + + }; }