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