2013-08-30 00:06:10 +02:00
|
|
|
#ifndef slic3r_PolylineCollection_hpp_
|
|
|
|
|
#define slic3r_PolylineCollection_hpp_
|
|
|
|
|
|
2015-12-08 00:39:54 +01:00
|
|
|
#include "libslic3r.h"
|
2013-08-30 00:06:10 +02:00
|
|
|
#include "Polyline.hpp"
|
|
|
|
|
|
|
|
|
|
namespace Slic3r {
|
|
|
|
|
|
|
|
|
|
class PolylineCollection
|
|
|
|
|
{
|
2016-04-10 19:32:39 +02:00
|
|
|
public:
|
2013-08-30 00:06:10 +02:00
|
|
|
Polylines polylines;
|
2016-04-10 19:32:39 +02:00
|
|
|
void chained_path(PolylineCollection* retval, bool no_reverse = false) const
|
|
|
|
|
{ retval->polylines = chained_path(this->polylines, no_reverse); }
|
|
|
|
|
void chained_path_from(Point start_near, PolylineCollection* retval, bool no_reverse = false) const
|
|
|
|
|
{ retval->polylines = chained_path_from(this->polylines, start_near, no_reverse); }
|
|
|
|
|
Point leftmost_point() const
|
|
|
|
|
{ return leftmost_point(polylines); }
|
2015-10-26 23:23:03 +01:00
|
|
|
void append(const Polylines &polylines);
|
2016-04-10 19:32:39 +02:00
|
|
|
|
|
|
|
|
static Point leftmost_point(const Polylines &polylines);
|
|
|
|
|
#if SLIC3R_CPPVER > 11
|
|
|
|
|
static Polylines chained_path(Polylines &&src, bool no_reverse = false);
|
|
|
|
|
static Polylines chained_path_from(Polylines &&src, Point start_near, bool no_reverse = false);
|
|
|
|
|
static Polylines chained_path(Polylines src, bool no_reverse = false);
|
|
|
|
|
static Polylines chained_path_from(Polylines src, Point start_near, bool no_reverse = false);
|
|
|
|
|
#else
|
|
|
|
|
static Polylines chained_path(const Polylines &src, bool no_reverse = false);
|
|
|
|
|
static Polylines chained_path_from(const Polylines &src, Point start_near, bool no_reverse = false);
|
|
|
|
|
#endif
|
2013-08-30 00:06:10 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif
|