#include <src/libslic3r/ExtrusionEntity.hpp>
◆ ExtrusionMultiPath() [1/5]
| Slic3r::ExtrusionMultiPath::ExtrusionMultiPath |
( |
| ) |
|
|
inline |
◆ ExtrusionMultiPath() [2/5]
ExtrusionPaths paths
Definition ExtrusionEntity.hpp:141
◆ ExtrusionMultiPath() [3/5]
145:
paths(std::move(rhs.paths)) {}
◆ ExtrusionMultiPath() [4/5]
◆ ExtrusionMultiPath() [5/5]
147{ this->
paths.push_back(path); }
◆ as_polyline()
| Polyline Slic3r::ExtrusionMultiPath::as_polyline |
( |
| ) |
const |
|
overridevirtual |
Implements Slic3r::ExtrusionEntity.
95{
96 Polyline out;
97 if (!
paths.empty()) {
98 size_t len = 0;
99 for (
size_t i_path = 0; i_path <
paths.size(); ++ i_path) {
100 assert(!
paths[i_path].polyline.points.empty());
101 assert(i_path == 0 ||
paths[i_path - 1].polyline.points.back() ==
paths[i_path].polyline.points.front());
102 len +=
paths[i_path].polyline.points.size();
103 }
104
105 len -=
paths.size() - 1;
106 assert(len > 0);
107 out.points.reserve(len);
108 out.points.push_back(
paths.front().polyline.points.front());
109 for (
size_t i_path = 0; i_path <
paths.size(); ++ i_path)
110 out.points.insert(out.points.end(),
paths[i_path].polyline.points.begin() + 1,
paths[i_path].polyline.points.end());
111 }
112 return out;
113}
References paths, and Slic3r::MultiPoint::points.
Referenced by collect_polylines().
◆ as_polylines()
| virtual Polylines Slic3r::ExtrusionEntity::as_polylines |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ can_reverse()
| bool Slic3r::ExtrusionMultiPath::can_reverse |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ clone()
◆ clone_move()
◆ collect_points()
| void Slic3r::ExtrusionMultiPath::collect_points |
( |
Points & |
dst | ) |
const |
|
inlineoverridevirtual |
Implements Slic3r::ExtrusionEntity.
180 {
181 size_t n = std::accumulate(
paths.begin(),
paths.end(), 0, [](
const size_t n,
const ExtrusionPath &p){ return n + p.polyline.size(); });
182 dst.reserve(dst.size() + n);
183 for (
const ExtrusionPath &p : this->
paths)
184 append(dst, p.polyline.points);
185 }
void append(std::vector< T, Alloc > &dest, const std::vector< T, Alloc2 > &src)
Definition libslic3r.h:110
References Slic3r::append(), paths, Slic3r::MultiPoint::points, and Slic3r::ExtrusionPath::polyline.
◆ collect_polylines()
| void Slic3r::ExtrusionMultiPath::collect_polylines |
( |
Polylines & |
dst | ) |
const |
|
inlineoverridevirtual |
◆ empty()
| bool Slic3r::ExtrusionMultiPath::empty |
( |
| ) |
const |
|
inline |
◆ first_point()
| const Point & Slic3r::ExtrusionMultiPath::first_point |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ is_collection()
| virtual bool Slic3r::ExtrusionEntity::is_collection |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ is_loop()
| bool Slic3r::ExtrusionMultiPath::is_loop |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ last_point()
| const Point & Slic3r::ExtrusionMultiPath::last_point |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ length()
| double Slic3r::ExtrusionMultiPath::length |
( |
| ) |
const |
|
overridevirtual |
Implements Slic3r::ExtrusionEntity.
67{
68 double len = 0;
69 for (
const ExtrusionPath &path : this->
paths)
70 len += path.polyline.
length();
71 return len;
72}
double length() const override
Definition ExtrusionEntity.cpp:66
References paths.
◆ middle_point()
| const Point & Slic3r::ExtrusionMultiPath::middle_point |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ min_mm3_per_mm()
| double Slic3r::ExtrusionMultiPath::min_mm3_per_mm |
( |
| ) |
const |
|
overridevirtual |
Implements Slic3r::ExtrusionEntity.
87{
89 for (
const ExtrusionPath &path : this->
paths)
92}
double min_mm3_per_mm() const override
Definition ExtrusionEntity.cpp:86
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half() min(const half &a, const half &b)
Definition Half.h:507
References min_mm3_per_mm(), and paths.
Referenced by min_mm3_per_mm().
◆ operator=() [1/2]
149{ this->
paths = rhs.paths;
return *
this; }
References paths.
◆ operator=() [2/2]
150{ this->
paths = std::move(rhs.paths);
return *
this; }
◆ polygons_covered_by_spacing() [1/2]
| Polygons Slic3r::ExtrusionMultiPath::polygons_covered_by_spacing |
( |
const float |
scaled_epsilon = 0.f | ) |
const |
|
inline |
void polygons_covered_by_spacing(Polygons &out, const float scaled_epsilon) const override
Definition ExtrusionEntity.cpp:80
std::vector< Polygon, PointsAllocator< Polygon > > Polygons
Definition Polygon.hpp:15
References polygons_covered_by_spacing().
◆ polygons_covered_by_spacing() [2/2]
| void Slic3r::ExtrusionMultiPath::polygons_covered_by_spacing |
( |
Polygons & |
out, |
|
|
const float |
scaled_epsilon |
|
) |
| const |
|
overridevirtual |
◆ polygons_covered_by_width() [1/2]
| Polygons Slic3r::ExtrusionMultiPath::polygons_covered_by_width |
( |
const float |
scaled_epsilon = 0.f | ) |
const |
|
inline |
void polygons_covered_by_width(Polygons &out, const float scaled_epsilon) const override
Definition ExtrusionEntity.cpp:74
References polygons_covered_by_width().
◆ polygons_covered_by_width() [2/2]
| void Slic3r::ExtrusionMultiPath::polygons_covered_by_width |
( |
Polygons & |
out, |
|
|
const float |
scaled_epsilon |
|
) |
| const |
|
overridevirtual |
◆ reverse()
| void Slic3r::ExtrusionMultiPath::reverse |
( |
| ) |
|
|
overridevirtual |
Implements Slic3r::ExtrusionEntity.
60{
61 for (ExtrusionPath &path : this->
paths)
63 std::reverse(this->
paths.begin(), this->paths.end());
64}
void reverse() override
Definition ExtrusionEntity.cpp:59
References paths.
◆ role()
◆ size()
| size_t Slic3r::ExtrusionMultiPath::size |
( |
| ) |
const |
|
inline |
161{
return this->
paths.size(); }
◆ total_volume()
| double Slic3r::ExtrusionMultiPath::total_volume |
( |
| ) |
const |
|
inlineoverridevirtual |
Implements Slic3r::ExtrusionEntity.
double total_volume() const override
Definition ExtrusionEntity.hpp:186
IGL_INLINE void volume(const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedT > &T, Eigen::PlainObjectBase< Derivedvol > &vol)
Definition volume.cpp:15
References paths.
◆ paths
Referenced by as_polyline(), collect_points(), Slic3r::GCode::extrude_multi_path(), Slic3r::extrusionentity_extents(), Slic3r::_3DScene::extrusionentity_to_verts(), length(), Slic3r::Layer::make_fills(), min_mm3_per_mm(), Slic3r::FFFSupport::modulate_extrusion_by_overlapping_layers(), operator=(), polygons_covered_by_spacing(), polygons_covered_by_width(), reverse(), Slic3r::PerimeterGenerator::thick_polyline_to_multi_path(), total_volume(), Slic3r::traverse_extrusions(), and Slic3r::variable_width_classic().
The documentation for this class was generated from the following files: