#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/Polyline.hpp>
Public Member Functions | |
| Polyline3 () | |
| Polyline3 (const Points3 &points) | |
| Polyline3 (const Polyline &poly, coord_t z=0) | |
| virtual Lines3 | lines () const |
| Polyline | to_polyline () const |
| void | clip_end (double distance) |
| void | simplify (double tolerance) |
| void | simplify_by_fitting_arc (double tolerance) |
| void | reverse () |
| bool | split_at_index (const size_t index, Polyline3 *p1, Polyline3 *p2) const |
| void | split_at (Point &point, Polyline3 *p1, Polyline3 *p2) const |
| void | split_at (Point3 &point, Polyline3 *p1, Polyline3 *p2) const |
| bool | split_at_length (const double length, Polyline3 *p1, Polyline3 *p2) const |
| void | append (const Point3 &point) |
| void | append (const Polyline3 &src) |
| void | append_before (const Point3 &point) |
| void | append (const Vec3crd &point) |
| void | append (const Points3::const_iterator &begin, const Points3::const_iterator &end) |
| void | translate (double x, double y, double z=0) |
| void | translate (const Point3 &vector) |
| void | rotate (double angle) |
| void | rotate (double cos_angle, double sin_angle) |
| void | rotate (double angle, const Point3 ¢er) |
| Point3 & | first_point () |
| const Point3 & | first_point () const |
| Point3 & | last_point () |
| const Point3 & | last_point () const |
| size_t | size () const |
| bool | empty () const |
| void | clear () |
| auto | begin () |
| auto | begin () const |
| auto | end () |
| auto | end () const |
| double | length () const |
| bool | is_valid () const |
| BoundingBox3 | bounding_box () const |
| int | find_point (const Point &point) const |
| int | find_point (const Point &point, const double scaled_epsilon) const |
| int | find_point (const Point3 &point) const |
| int | find_point (const Point3 &point, const double scaled_epsilon) const |
| bool | remove_duplicate_points () |
Static Public Member Functions | |
| static Points3 | _douglas_peucker (const Points3 &points, double tolerance) |
Public Attributes | |
| std::vector< PathFittingData > | fitting_result |
| Points3 | points |
Private Member Functions | |
| void | append_fitting_result_after_append_points () |
| void | append_fitting_result_after_append_polyline (const Polyline3 &src) |
| bool | split_fitting_result_before_index (size_t index, Point3 &new_endpoint, std::vector< PathFittingData > &result) const |
| bool | split_fitting_result_after_index (size_t index, Point3 &new_startpoint, std::vector< PathFittingData > &result) const |
|
inline |
Referenced by append(), append_fitting_result_after_append_polyline(), split_at(), split_at(), split_at_index(), and split_at_length().
|
inlineexplicit |
References Slic3r::MultiPoint3::points.
References Slic3r::MultiPoint3::points.
|
staticinherited |
References Slic3r::debug_out_path(), Slic3r::Line3::distance_to_squared(), Slic3r::SVG::draw(), Slic3r::BoundingBoxBase< PointType, APointsType >::merge(), and scale_.
Referenced by Slic3r::Polyline3::simplify().
|
inlineinherited |
|
inlineinherited |
| void Slic3r::Polyline3::append | ( | const Point3 & | point | ) |
References Slic3r::MultiPoint3::append(), append_fitting_result_after_append_points(), Slic3r::MultiPoint3::empty(), and Slic3r::MultiPoint3::last_point().
Referenced by Slic3r::ExtrusionLoopSloped::ExtrusionLoopSloped(), append(), append_before(), Slic3r::contour_extrusion_path(), Slic3r::modulate_extrusion_by_overlapping_layers(), Slic3r::ExtrusionLoop::split_at(), split_at(), split_at_index(), split_at_length(), Slic3r::ExtrusionLoop::split_at_vertex(), Slic3r::thick_polyline_to_extrusion_paths_2(), and Slic3r::thick_polyline_to_multi_path().
| void Slic3r::Polyline3::append | ( | const Polyline3 & | src | ) |
References Polyline3(), Slic3r::MultiPoint3::append(), append(), append_fitting_result_after_append_polyline(), fitting_result, Slic3r::MultiPoint3::is_valid(), Slic3r::Linear_move, and Slic3r::MultiPoint3::points.
| void Slic3r::Polyline3::append_before | ( | const Point3 & | point | ) |
References Slic3r::MultiPoint3::append(), append(), Slic3r::MultiPoint3::empty(), Slic3r::MultiPoint3::first_point(), fitting_result, Slic3r::MultiPoint3::reverse(), reverse(), and Slic3r::MultiPoint3::size().
Referenced by split_at(), and split_at_length().
|
private |
References fitting_result, Slic3r::Linear_move, and Slic3r::MultiPoint3::points.
Referenced by append().
|
private |
References Polyline3(), fitting_result, Slic3r::Linear_move, and Slic3r::MultiPoint3::size().
Referenced by append().
|
inlineinherited |
Referenced by append(), and Slic3r::Polyline3::split_at_index().
|
inlineinherited |
|
inherited |
|
inlineinherited |
Referenced by Slic3r::ExtrusionLoopSloped::ExtrusionLoopSloped(), Slic3r::FakeWipeTower::getFakeExtrusionPathsFromWipeTower2(), Slic3r::Polyline3::split_at_index(), and Slic3r::Polyline3::split_at_length().
| void Slic3r::Polyline3::clip_end | ( | double | distance | ) |
References Slic3r::Arc_move_ccw, Slic3r::Arc_move_cw, Slic3r::cast(), fitting_result, Slic3r::MultiPoint3::last_point(), Slic3r::Linear_move, Slic3r::MultiPoint3::points, and Slic3r::MultiPoint3::size().
Referenced by Slic3r::ExtrusionLoop::clip_end(), Slic3r::ExtrusionLoopSloped::clip_end(), and Slic3r::ExtrusionLoopSloped::clip_front().
|
inlineinherited |
Referenced by Slic3r::ExtrusionLoopSloped::ExtrusionLoopSloped(), Slic3r::Polyline3::append(), Slic3r::Polyline3::append_before(), Slic3r::SupportMaterialInternal::collect_bridging_perimeter_areas(), Slic3r::ExtrusionPath::collect_polylines(), Slic3r::ExtrusionPath::empty(), and Slic3r::SupportMaterialInternal::has_bridging_perimeters().
|
inlineinherited |
|
inlineinherited |
|
inherited |
References points.
Referenced by find_point(), find_point(), Slic3r::Polyline3::split_at(), and Slic3r::Polyline3::split_at_length().
|
inherited |
References find_point(), and points.
|
inherited |
|
inherited |
References Slic3r::cast(), find_point(), and points.
|
inlineinherited |
Referenced by Slic3r::Polyline3::append_before(), Slic3r::Polyline3::split_at(), Slic3r::Polyline3::split_at_index(), and Slic3r::Polyline3::split_at_length().
|
inlineinherited |
|
inlineinherited |
Referenced by Slic3r::Polyline3::append(), Slic3r::ExtrusionLoop::split_at(), Slic3r::Polyline3::split_at(), Slic3r::ExtrusionLoop::split_at_vertex(), and Slic3r::thick_polyline_to_multi_path().
|
inlineinherited |
Referenced by Slic3r::Polyline3::append(), Slic3r::Polyline3::clip_end(), Slic3r::Polyline3::split_at(), Slic3r::Polyline3::split_at_index(), and Slic3r::Polyline3::split_at_length().
|
inlineinherited |
|
inherited |
References lines().
Referenced by Slic3r::ExtrusionLoopSloped::ExtrusionLoopSloped(), Slic3r::GCode::_extrude(), and Slic3r::Polyline3::split_at_length().
|
virtual |
Implements Slic3r::MultiPoint3.
References lines(), and Slic3r::MultiPoint3::points.
Referenced by Slic3r::GCode::_extrude(), lines(), split_at(), split_at_length(), and Slic3r::split_at_slope_end().
|
inherited |
References points.
| void Slic3r::Polyline3::reverse | ( | ) |
References fitting_result, Slic3r::MultiPoint3::reverse(), and Slic3r::MultiPoint3::size().
Referenced by append_before(), Slic3r::ExtrusionLoopSloped::clip_front(), and Slic3r::ExtrusionPath::reverse().
|
inlineinherited |
References Slic3r::angle(), and rotate().
Referenced by rotate().
|
inherited |
References Slic3r::angle(), Slic3r::center(), and points.
|
inherited |
| void Slic3r::Polyline3::simplify | ( | double | tolerance | ) |
References Slic3r::MultiPoint3::_douglas_peucker(), fitting_result, and Slic3r::MultiPoint3::points.
| void Slic3r::Polyline3::simplify_by_fitting_arc | ( | double | tolerance | ) |
References Slic3r::ArcFitter::do_arc_fitting_and_simplify(), fitting_result, Slic3r::MultiPoint3::points, Slic3r::to_points(), and Slic3r::to_points3().
|
inlineinherited |
Referenced by Slic3r::ExtrusionLoopSloped::ExtrusionLoopSloped(), Slic3r::Polyline3::append_before(), Slic3r::Polyline3::append_fitting_result_after_append_polyline(), Slic3r::Polyline3::clip_end(), Slic3r::paths_touch(), Slic3r::Polyline3::reverse(), Slic3r::ExtrusionPath::size(), and Slic3r::Polyline3::split_at_index().
References Polyline3(), append(), append_before(), Slic3r::cast(), Slic3r::MultiPoint3::find_point(), Slic3r::MultiPoint3::first_point(), Slic3r::MultiPoint3::is_valid(), Slic3r::MultiPoint3::last_point(), lines(), Slic3r::MultiPoint3::points, Slic3r::Point::projection_onto(), split_at_index(), and Slic3r::Point3::to_point().
Referenced by Slic3r::ExtrusionLoop::split_at(), and split_at().
References Polyline3(), split_at(), and Slic3r::Point3::to_point().
References Polyline3(), append(), Slic3r::MultiPoint3::begin(), Slic3r::MultiPoint3::clear(), Slic3r::MultiPoint3::first_point(), fitting_result, Slic3r::MultiPoint3::last_point(), Slic3r::MultiPoint3::points, Slic3r::MultiPoint3::size(), split_fitting_result_after_index(), and split_fitting_result_before_index().
Referenced by split_at(), split_at_length(), Slic3r::split_at_slope_end(), and Slic3r::ExtrusionLoop::split_at_vertex().
| bool Slic3r::Polyline3::split_at_length | ( | const double | length, |
| Polyline3 * | p1, | ||
| Polyline3 * | p2 ) const |
References Polyline3(), append(), append_before(), Slic3r::MultiPoint3::clear(), Slic3r::MultiPoint3::find_point(), Slic3r::MultiPoint3::first_point(), Slic3r::is_approx(), Slic3r::MultiPoint3::last_point(), Slic3r::MultiPoint3::length(), Slic3r::lerp(), lines(), Slic3r::MultiPoint3::points, SCALED_EPSILON, and split_at_index().
Referenced by Slic3r::ExtrusionLoopSloped::ExtrusionLoopSloped(), and Slic3r::split_at_slope_end().
|
private |
References fitting_result, Slic3r::Linear_move, and Slic3r::MultiPoint3::points.
Referenced by split_at_index().
|
private |
References fitting_result, Slic3r::Linear_move, and Slic3r::MultiPoint3::points.
Referenced by split_at_index().
| Polyline Slic3r::Polyline3::to_polyline | ( | ) | const |
References Slic3r::MultiPoint3::points, and Slic3r::MultiPoint::points.
Referenced by Slic3r::ExtrusionPath::as_polyline(), Slic3r::ExtrusionPath::collect_polylines(), libvgcode::convert_to_vertices(), libvgcode::convert_to_vertices(), libvgcode::convert_to_vertices(), Slic3r::GCode::extrude_path(), Slic3r::extrusionentity_extents(), Slic3r::extrusionentity_extents(), Slic3r::extrusionentity_extents(), Slic3r::_3DScene::extrusionentity_to_verts(), Slic3r::_3DScene::extrusionentity_to_verts(), Slic3r::_3DScene::extrusionentity_to_verts(), Slic3r::modulate_extrusion_by_overlapping_layers(), Slic3r::offset(), and Slic3r::traverse_extrusions().
|
inherited |
|
inlineinherited |
References translate().
Referenced by translate().
| std::vector<PathFittingData> Slic3r::Polyline3::fitting_result |
Referenced by Slic3r::GCode::_extrude(), append(), append_before(), append_fitting_result_after_append_points(), append_fitting_result_after_append_polyline(), clip_end(), reverse(), simplify(), simplify_by_fitting_arc(), Slic3r::ExtrusionLoop::split_at(), split_at_index(), Slic3r::ExtrusionLoop::split_at_vertex(), split_fitting_result_after_index(), and split_fitting_result_before_index().
|
inherited |
Referenced by Slic3r::Polyline3::Polyline3(), Slic3r::Polyline3::Polyline3(), Slic3r::GCode::_extrude(), Slic3r::Polyline3::append(), Slic3r::Polyline3::append_fitting_result_after_append_points(), bounding_box(), Slic3r::Polyline3::clip_end(), Slic3r::SupportMaterialInternal::collect_bridging_perimeter_areas(), Slic3r::ExtrusionLoop::collect_points(), Slic3r::ExtrusionMultiPath::collect_points(), Slic3r::ExtrusionPath::collect_points3(), Slic3r::contour_extrusion_path(), Slic3r::GCode::extrude_path(), Slic3r::ExtrusionSimulator::extrude_to_accumulator(), Slic3r::extrusion_entities_append_loops(), find_point(), find_point(), find_point(), find_point(), Slic3r::ExtrusionPath::first_point(), Slic3r::ExtrusionPath::first_point3(), Slic3r::FakeWipeTower::getFakeExtrusionPathsFromWipeTower2(), Slic3r::FakeWipeTower::getTrueExtrusionLayersFromWipeTower(), Slic3r::ExtrusionPath::is_closed(), Slic3r::ExtrusionPath::last_point(), Slic3r::ExtrusionPath::last_point3(), Slic3r::Polyline3::lines(), Slic3r::modulate_extrusion_by_overlapping_layers(), Slic3r::paths_touch(), remove_duplicate_points(), rotate(), rotate(), Slic3r::Polyline3::simplify(), Slic3r::Polyline3::simplify_by_fitting_arc(), Slic3r::ExtrusionLoop::split_at(), Slic3r::Polyline3::split_at(), Slic3r::Polyline3::split_at_index(), Slic3r::Polyline3::split_at_length(), Slic3r::ExtrusionLoop::split_at_vertex(), Slic3r::Polyline3::split_fitting_result_after_index(), Slic3r::Polyline3::split_fitting_result_before_index(), Slic3r::thick_polyline_to_multi_path(), Slic3r::Polyline3::to_polyline(), and translate().