2013-07-18 17:09:07 +00:00
|
|
|
#ifndef slic3r_ExtrusionEntityCollection_hpp_
|
|
|
|
#define slic3r_ExtrusionEntityCollection_hpp_
|
|
|
|
|
|
|
|
#include <myinit.h>
|
|
|
|
#include "ExtrusionEntity.hpp"
|
|
|
|
|
|
|
|
namespace Slic3r {
|
|
|
|
|
2013-07-18 20:29:12 +00:00
|
|
|
class ExtrusionEntityCollection : public ExtrusionEntity
|
2013-07-18 17:09:07 +00:00
|
|
|
{
|
|
|
|
public:
|
2013-08-29 09:47:59 +00:00
|
|
|
ExtrusionEntityCollection* clone() const;
|
2013-07-18 17:09:07 +00:00
|
|
|
ExtrusionEntitiesPtr entities;
|
2014-03-15 01:16:04 +00:00
|
|
|
std::vector<size_t> orig_indices; // handy for XS
|
2013-07-18 17:09:07 +00:00
|
|
|
bool no_sort;
|
2013-08-25 18:29:45 +00:00
|
|
|
ExtrusionEntityCollection(): no_sort(false) {};
|
2014-03-15 01:16:04 +00:00
|
|
|
ExtrusionEntityCollection* chained_path(bool no_reverse, std::vector<size_t>* orig_indices = NULL) const;
|
|
|
|
ExtrusionEntityCollection* chained_path_from(Point* start_near, bool no_reverse, std::vector<size_t>* orig_indices = NULL) const;
|
2013-08-29 09:47:59 +00:00
|
|
|
void reverse();
|
2013-09-02 20:33:03 +00:00
|
|
|
Point* first_point() const;
|
|
|
|
Point* last_point() const;
|
2013-07-18 17:09:07 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|