#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/Polyline.hpp>
Public Member Functions | |
| Polyline () | |
| Polyline (const Polyline &other) | |
| Polyline (Polyline &&other) noexcept | |
| Polyline (std::initializer_list< Point > list) | |
| Polyline (const Point &p1, const Point &p2) | |
| Polyline (const Points &points) | |
| Polyline (Points &&points) | |
| Polyline & | operator= (const Polyline &other) |
| Polyline & | operator= (Polyline &&other) noexcept |
| void | append (const Point &point) |
| void | append_before (const Point &point) |
| void | append (const Points &src) |
| void | append (const Points::const_iterator &begin, const Points::const_iterator &end) |
| void | append (Points &&src) |
| void | append (const Polyline &src) |
| void | append (Polyline &&src) |
| Point & | operator[] (Points::size_type idx) |
| const Point & | operator[] (Points::size_type idx) const |
| const Point & | last_point () const override |
| const Point & | leftmost_point () const |
| Lines | lines () const override |
| void | clear () |
| void | reverse () |
| void | clip_end (double distance) |
| void | clip_start (double distance) |
| void | extend_end (double distance) |
| void | extend_start (double distance) |
| Points | equally_spaced_points (double distance) const |
| void | simplify (double tolerance) |
| void | split_at (Point &point, Polyline *p1, Polyline *p2) const |
| bool | split_at_index (const size_t index, Polyline *p1, Polyline *p2) const |
| bool | split_at_length (const double length, Polyline *p1, Polyline *p2) const |
| bool | is_straight () const |
| bool | is_closed () const |
| void | simplify_by_fitting_arc (double tolerance) |
| void | reset_to_linear_move () |
| Polylines | equally_spaced_lines (double distance) const |
| void | scale (double factor) |
| void | scale (double factor_x, double factor_y) |
| void | translate (double x, double y) |
| void | translate (const Point &vector) |
| void | rotate (double angle) |
| void | rotate (double cos_angle, double sin_angle) |
| void | rotate (double angle, const Point ¢er) |
| const Point & | front () const |
| const Point & | back () const |
| const Point & | first_point () const |
| size_t | size () const |
| bool | empty () const |
| double | length () const |
| bool | is_valid () const |
| int | find_point (const Point &point) const |
| int | find_point (const Point &point, const double scaled_epsilon) const |
| bool | has_boundary_point (const Point &point) const |
| int | closest_point_index (const Point &point) const |
| const Point * | closest_point (const Point &point) const |
| double | distance_to (const Point &point) const |
| BoundingBox | bounding_box () const |
| bool | has_duplicate_points () const |
| bool | remove_duplicate_points () |
| bool | intersection (const Line &line, Point *intersection) const |
| bool | first_intersection (const Line &line, Point *intersection) const |
| bool | intersections (const Line &line, Points *intersections) const |
| void | symmetric_y (const coord_t &y_axis) |
| auto | begin () |
| auto | begin () const |
| auto | end () |
| auto | end () const |
| auto | cbegin () const |
| auto | cend () const |
Static Public Member Functions | |
| static Polyline | new_scale (const std::vector< Vec2d > &points) |
| static Points | _douglas_peucker (const Points &points, const double tolerance) |
| static Points | visivalingam (const Points &pts, const double tolerance) |
| static Points | concave_hull_2d (const Points &pts, const double tolerence) |
| static double | minimumDistanceBetweenLinesDefinedByPoints (const Points &A, const Points &B) |
| Calculates the minimum distance between two lines defined by sets of points. | |
Public Attributes | |
| std::vector< PathFittingData > | fitting_result |
| Points | points |
Private Member Functions | |
| void | append_fitting_result_after_append_points () |
| void | append_fitting_result_after_append_polyline (const Polyline &src) |
| bool | split_fitting_result_before_index (const size_t index, Point &new_endpoint, std::vector< PathFittingData > &data) const |
| bool | split_fitting_result_after_index (const size_t index, Point &new_startpoint, std::vector< PathFittingData > &data) const |
Static Private Member Functions | |
| static double | squaredDistanceToLineSegment (const Point &p, const Point &v, const Point &w) |
| Calculates the squared distance between a point and a line segment defined by two points. | |
|
inline |
Referenced by Polyline(), Polyline(), append(), append(), append_fitting_result_after_append_polyline(), equally_spaced_lines(), new_scale(), operator=(), operator=(), split_at(), split_at_index(), and split_at_length().
|
inline |
References Slic3r::MultiPoint::MultiPoint(), Polyline(), fitting_result, and Slic3r::MultiPoint::points.
|
inlinenoexcept |
|
inline |
References Slic3r::MultiPoint::MultiPoint(), and fitting_result.
References fitting_result, and Slic3r::MultiPoint::points.
|
inlineexplicit |
References Slic3r::MultiPoint::MultiPoint(), fitting_result, and Slic3r::MultiPoint::points.
|
inlineexplicit |
References Slic3r::MultiPoint::MultiPoint(), fitting_result, and Slic3r::MultiPoint::points.
|
staticinherited |
References Slic3r::debug_out_path(), Slic3r::Line::distance_to_squared(), Slic3r::SVG::draw(), Slic3r::BoundingBoxBase< PointType, APointsType >::merge(), and scale_.
Referenced by Slic3r::ArcFitter::do_arc_fitting_and_simplify(), Slic3r::Polygon::douglas_peucker(), Slic3r::GUI::GLGizmoBrimEars::generate_points(), Slic3r::GUI::GLGizmoBrimEars::get_detection_radius_max(), Slic3r::make_brim_ears_auto(), Slic3r::polygons_simplify(), Slic3r::Polygon::simplify(), Slic3r::Polyline::simplify(), Slic3r::ExPolygon::simplify_p(), and Slic3r::Geometry::simplify_polygons().
|
inline |
References Slic3r::MultiPoint::append(), append_fitting_result_after_append_points(), Slic3r::MultiPoint::empty(), and last_point().
Referenced by append(), append(), append(), append_before(), Slic3r::append_path(), Slic3r::Wipe::calculateWipeRetractionLengths(), Slic3r::FillAdaptive::connect_lines_using_hooks(), equally_spaced_lines(), extend_end(), Slic3r::LoopInterfaceProcessor::generate(), Slic3r::GCode::needs_retraction(), Slic3r::reconnect_polylines(), split_at(), split_at_index(), split_at_length(), anonymous_namespace{NSVGUtils.cpp}::to_dashes(), Slic3r::to_polyline(), Slic3r::GCode::travel_to(), and Slic3r::Wipe::wipe().
|
inline |
References append(), and Slic3r::MultiPoint::empty().
|
inline |
References Slic3r::MultiPoint::append(), append_fitting_result_after_append_points(), Slic3r::MultiPoint::begin(), Slic3r::MultiPoint::empty(), Slic3r::MultiPoint::end(), and last_point().
| void Slic3r::Polyline::append | ( | const Polyline & | src | ) |
References Polyline(), Slic3r::MultiPoint::append(), append(), append_fitting_result_after_append_polyline(), fitting_result, Slic3r::MultiPoint::is_valid(), Slic3r::Linear_move, and Slic3r::MultiPoint::points.
|
inline |
References Slic3r::MultiPoint::append(), and append_fitting_result_after_append_points().
| void Slic3r::Polyline::append | ( | Polyline && | src | ) |
References Polyline(), Slic3r::MultiPoint::append(), append(), append_fitting_result_after_append_polyline(), fitting_result, Slic3r::Linear_move, and Slic3r::MultiPoint::points.
|
inline |
References Slic3r::MultiPoint::append(), append(), Slic3r::MultiPoint::empty(), Slic3r::MultiPoint::first_point(), fitting_result, Slic3r::MultiPoint::reverse(), reverse(), and Slic3r::MultiPoint::size().
Referenced by split_at(), and split_at_length().
|
private |
References fitting_result, Slic3r::Linear_move, and Slic3r::MultiPoint::points.
Referenced by append(), append(), and append().
|
private |
References Polyline(), fitting_result, Slic3r::Linear_move, and Slic3r::MultiPoint::size().
Referenced by append(), and append().
|
inlineinherited |
Referenced by Slic3r::Arachne::removeDegenerateVerts(), Slic3r::FillLightning::Node::removeJunctionOverlap(), Slic3r::GCode::travel_to(), and Slic3r::tree_supports_generate_paths().
|
inlineinherited |
References points.
Referenced by append(), Slic3r::Polyline::append(), Slic3r::generate_transform_pattern(), and Slic3r::Polyline::split_at_index().
|
inlineinherited |
|
inherited |
References points.
Referenced by Slic3r::Fill3DHoneycomb::_fill_surface_single(), Slic3r::FillConcentric::_fill_surface_single(), Slic3r::FillConcentric::_fill_surface_single(), Slic3r::FillCrossHatch::_fill_surface_single(), Slic3r::FillGyroid::_fill_surface_single(), Slic3r::FillHoneycomb::_fill_surface_single(), Slic3r::FillLine::_fill_surface_single(), Slic3r::FillSpiralInset::_fill_surface_single(), Slic3r::FillSpiralInset::_fill_surface_single(), Slic3r::FillTpmsD::_fill_surface_single(), Slic3r::FillTpmsFK::_fill_surface_single(), Slic3r::Fill::_infill_direction(), Slic3r::GCodeProcessor::check_multi_extruder_gcode_valid(), Slic3r::compacted_wipe_tower_clearance(), Slic3r::compacted_wipe_tower_zone(), Slic3r::FillConcentricInternal::fill_surface_extrusion(), Slic3r::GUI::PartPlate::get_build_volume(), Slic3r::get_extents(), Slic3r::arrangement::get_shrink_bedpts(), Slic3r::GUI::FillBedJob::prepare(), Slic3r::GUI::Bed_2D::repaint(), Slic3r::GUI::GLCanvas3D::update_compacted_wipe_tower_clearance(), and Slic3r::arrangement::update_selected_items_inflation().
|
inlineinherited |
|
inlineinherited |
|
inline |
References Slic3r::MultiPoint::clear(), and fitting_result.
Referenced by Slic3r::ThickPolyline::clear(), Slic3r::TreeSupport3D::ensure_maximum_distance_polyline(), equally_spaced_lines(), Slic3r::evaluate_support_arches(), split_at_index(), split_at_length(), and anonymous_namespace{NSVGUtils.cpp}::to_dashes().
| void Slic3r::Polyline::clip_end | ( | double | distance | ) |
References Slic3r::Arc_move_ccw, Slic3r::Arc_move_cw, Slic3r::cast(), fitting_result, last_point(), Slic3r::Linear_move, Slic3r::MultiPoint::points, and Slic3r::MultiPoint::size().
Referenced by Slic3r::clip_path_end(), clip_start(), Slic3r::Fill::connect_base_support(), Slic3r::draw_perimeters(), Slic3r::TreeSupport3D::ensure_maximum_distance_polyline(), Slic3r::offset_wipe_path(), Slic3r::store_wipe_path(), Slic3r::tree_supports_generate_paths(), and Slic3r::Wipe::wipe().
| void Slic3r::Polyline::clip_start | ( | double | distance | ) |
References clip_end(), Slic3r::MultiPoint::points, and reverse().
Referenced by Slic3r::Fill::connect_base_support().
References closest_point_index().
Referenced by distance_to().
|
inlineinherited |
References Slic3r::cast().
Referenced by closest_point(), and Slic3r::remove_points_from_polygon().
|
staticinherited |
|
inlineinherited |
References closest_point().
|
inlineinherited |
References points.
Referenced by Slic3r::Polyline::append(), Slic3r::Polyline::append(), Slic3r::Polyline::append(), Slic3r::Polyline::append_before(), Slic3r::append_path(), Slic3r::belt_brim_clip_leading_edge(), Slic3r::GCodeProcessor::check_multi_extruder_gcode_valid(), Slic3r::ExtrusionLoop::collect_polylines(), Slic3r::ExtrusionMultiPath::collect_polylines(), Slic3r::Fill::connect_base_support(), Slic3r::connect_brim_lines(), Slic3r::Fill::connect_infill(), Slic3r::FillAdaptive::connect_lines_using_hooks(), Slic3r::contour_distance(), Slic3r::EdgeGrid::Grid::create(), Slic3r::EdgeGrid::Grid::create(), anonymous_namespace{TextLines.cpp}::create_its(), Slic3r::GUI::GLCanvas3D::get_empty_cells(), anonymous_namespace{TextLines.cpp}::its_create_torus(), Slic3r::join_close_ends(), Slic3r::make_belt_brim(), Slic3r::Algorithm::merge_expansions_into_expolygons(), Slic3r::Polygon::overlaps(), Slic3r::Arachne::simplify(), Slic3r::take_ccw_full(), Slic3r::take_ccw_limited(), Slic3r::take_cw_full(), Slic3r::take_cw_limited(), anonymous_namespace{NSVGUtils.cpp}::to_dashes(), Slic3r::AvoidCrossingPerimeters::travel_to(), Slic3r::trim_loop(), Slic3r::GUI::GLCanvas3D::update_sequential_clearance(), and Slic3r::Wipe::wipe().
|
inlineinherited |
References points.
Referenced by append(), Slic3r::Polyline::append(), and Slic3r::generate_transform_pattern().
|
inlineinherited |
| Polylines Slic3r::Polyline::equally_spaced_lines | ( | double | distance | ) | const |
References Polyline(), append(), clear(), Slic3r::MultiPoint::first_point(), last_point(), lines(), Slic3r::MultiPoint::points, Slic3r::segment_length(), Slic3r::MultiPoint::size(), and Slic3r::take().
| Points Slic3r::Polyline::equally_spaced_points | ( | double | distance | ) | const |
References Slic3r::cast(), Slic3r::MultiPoint::first_point(), Slic3r::MultiPoint::points, Slic3r::segment_length(), and Slic3r::take().
Referenced by Slic3r::Polygon::equally_spaced_points().
| void Slic3r::Polyline::extend_end | ( | double | distance | ) |
References append(), Slic3r::cast(), and Slic3r::MultiPoint::points.
Referenced by extend_start().
| void Slic3r::Polyline::extend_start | ( | double | distance | ) |
References extend_end(), and reverse().
|
inherited |
References points.
Referenced by find_point(), Slic3r::Polyline::split_at(), and Slic3r::Polyline::split_at_length().
|
inherited |
References Slic3r::cast(), find_point(), and points.
|
inherited |
References Slic3r::Line::a, Slic3r::cast(), intersection(), and lines().
|
inlineinherited |
References front().
Referenced by Slic3r::FillPlanePath::_fill_surface_single(), Slic3r::Polyline::append_before(), Slic3r::Geometry::MedialAxis::build(), Slic3r::connect_brim_lines(), Slic3r::Polyline::equally_spaced_lines(), Slic3r::Polyline::equally_spaced_points(), Slic3r::LoopInterfaceProcessor::generate(), Slic3r::Polyline::is_straight(), Slic3r::material_side_support_lines(), Slic3r::ExPolygon::medial_axis(), Slic3r::need_wipe(), Slic3r::offset_wipe_path(), Slic3r::optimize_polylines_by_reversing(), Slic3r::PerimeterGenerator::process_classic(), Slic3r::reconnect_polylines(), Slic3r::restore_source_path_order(), Slic3r::sample_polyline_at_distance(), Slic3r::Polyline::split_at(), Slic3r::Polyline::split_at_index(), Slic3r::Polyline::split_at_length(), and Slic3r::support_offset_at_start().
|
inlineinherited |
Referenced by first_point(), Slic3r::Algorithm::merge_expansions_into_expolygons(), and Slic3r::precompute_expolygon_distances().
|
inherited |
References Slic3r::Geometry::dist(), Slic3r::Point::projection_onto(), and SCALED_EPSILON.
|
inherited |
References points.
Referenced by Slic3r::polylines_from_paths(), and Slic3r::traverse_graph_generate_polylines().
References intersection(), and lines().
Referenced by first_intersection(), intersection(), and intersections().
|
inherited |
References intersection(), intersections(), and lines().
Referenced by intersections().
|
inline |
References Slic3r::MultiPoint::points.
Referenced by Slic3r::connect_brim_lines(), and Slic3r::optimize_polylines_by_reversing().
| bool Slic3r::Polyline::is_straight | ( | ) | const |
References Slic3r::Line::direction(), Slic3r::MultiPoint::first_point(), last_point(), and lines().
|
inlineinherited |
Referenced by Slic3r::Polyline::append(), and Slic3r::Polyline::split_at().
|
inlineoverridevirtual |
Implements Slic3r::MultiPoint.
References Slic3r::MultiPoint::points.
Referenced by Slic3r::FillPlanePath::_fill_surface_single(), append(), append(), Slic3r::Geometry::MedialAxis::build(), Slic3r::chain_lines(), clip_end(), Slic3r::connect_brim_lines(), equally_spaced_lines(), Slic3r::LoopInterfaceProcessor::generate(), is_straight(), Slic3r::material_side_support_lines(), Slic3r::ExPolygon::medial_axis(), Slic3r::need_wipe(), Slic3r::offset_wipe_path_toward_support(), Slic3r::optimize_polylines_by_reversing(), Slic3r::reconnect_polylines(), Slic3r::restore_source_path_order(), split_at(), split_at_index(), and split_at_length().
| const Point & Slic3r::Polyline::leftmost_point | ( | ) | const |
References Slic3r::MultiPoint::points.
|
inherited |
References lines().
Referenced by Slic3r::PreciseSeam::detail::append_fragment(), Slic3r::Wipe::calculateWipeRetractionLengths(), Slic3r::FillAdaptive::connect_lines_using_hooks(), Slic3r::make_adaptive_tpms(), Slic3r::ExPolygon::medial_axis(), Slic3r::GCode::needs_retraction(), Slic3r::offset_wipe_path(), Slic3r::Polyline::split_at_length(), Slic3r::store_wipe_path(), Slic3r::AvoidCrossingPerimeters::travel_to(), Slic3r::GCode::travel_to(), and Slic3r::Wipe::wipe().
|
overridevirtual |
Implements Slic3r::MultiPoint.
References lines(), and Slic3r::MultiPoint::points.
Referenced by Slic3r::WipeInwardSupport::append(), libvgcode::convert_to_vertices(), libvgcode::convert_to_vertices(), libvgcode::convert_to_vertices(), Slic3r::LinesBucket::curLines(), equally_spaced_lines(), Slic3r::_3DScene::extrusionentity_to_verts(), Slic3r::_3DScene::extrusionentity_to_verts(), Slic3r::_3DScene::extrusionentity_to_verts(), is_straight(), lines(), Slic3r::paths_touch(), split_at(), split_at_length(), Slic3r::ThickPolyline::thicklines(), and Slic3r::Wipe::wipe().
|
staticinherited |
Calculates the minimum distance between two lines defined by sets of points.
| A | The first set of points defining a polyline. |
| B | The second set of points defining a polyline. |
References squaredDistanceToLineSegment().
References Polyline(), fitting_result, Slic3r::Point::new_scale(), and Slic3r::MultiPoint::points.
References Polyline(), fitting_result, and Slic3r::MultiPoint::points.
References Polyline(), fitting_result, and Slic3r::MultiPoint::points.
|
inline |
References Slic3r::MultiPoint::points.
|
inline |
References Slic3r::MultiPoint::points.
|
inherited |
References points.
Referenced by Slic3r::ExPolygonWithOffset::ExPolygonWithOffset(), libvgcode::convert_to_vertices(), libvgcode::convert_to_vertices(), libvgcode::convert_to_vertices(), Slic3r::_3DScene::extrusionentity_to_verts(), Slic3r::_3DScene::extrusionentity_to_verts(), Slic3r::_3DScene::extrusionentity_to_verts(), Slic3r::polylines_from_paths(), Slic3r::WipeTower::rib_section(), Slic3r::rounding_polygon(), Slic3r::WipeTower::rounding_polygon(), Slic3r::smooth_polyline_corners(), and Slic3r::traverse_graph_generate_polylines().
| void Slic3r::Polyline::reset_to_linear_move | ( | ) |
References fitting_result, Slic3r::Linear_move, and Slic3r::MultiPoint::points.
Referenced by Slic3r::WipeTowerWriter::polygon(), and Slic3r::store_wipe_path().
| void Slic3r::Polyline::reverse | ( | ) |
References fitting_result, Slic3r::MultiPoint::reverse(), and Slic3r::MultiPoint::size().
Referenced by Slic3r::FillPlanePath::_fill_surface_single(), append_before(), Slic3r::base_support_extend_infill_lines(), Slic3r::chain_lines(), clip_start(), Slic3r::Fill::connect_base_support(), Slic3r::Fill::connect_infill(), Slic3r::FillAdaptive::connect_lines_using_hooks(), Slic3r::draw_perimeters(), extend_start(), Slic3r::LoopInterfaceProcessor::generate(), Slic3r::join_close_ends(), Slic3r::modulate_extrusion_by_overlapping_layers(), Slic3r::offset_wipe_path_toward_support(), Slic3r::optimize_polylines_by_reversing(), Slic3r::reconnect_polylines(), Slic3r::restore_source_path_order(), Slic3r::ThickPolyline::reverse(), Slic3r::take_limited(), and Slic3r::tree_supports_generate_paths().
|
inlineinherited |
References Slic3r::angle(), and rotate().
Referenced by Slic3r::ExPolygonWithOffset::ExPolygonWithOffset(), Slic3r::ExPolygonWithOffset::ExPolygonWithOffset(), Slic3r::FillHoneycomb::_fill_surface_single(), Slic3r::Print::_make_wipe_tower(), Slic3r::GUI::PartPlate::estimate_wipe_tower_polygon(), Slic3r::get_arrange_poly(), Slic3r::GUI::PartPlate::imex_wipe_tower_hull(), Slic3r::layered_print_cleareance_valid(), anonymous_namespace{OrcaSlicer_profile_validator.cpp}::place_wipe_tower(), rotate(), and Slic3r::ModelInstance::transform_polygon().
|
inherited |
References Slic3r::angle(), Slic3r::center(), and points.
|
inherited |
|
inherited |
References points.
Referenced by Slic3r::TreeSupport3D::RichInterfacePlacer::add_points_along_lines(), and Slic3r::ModelInstance::transform_polygon().
|
inherited |
| void Slic3r::Polyline::simplify | ( | double | tolerance | ) |
References Slic3r::MultiPoint::_douglas_peucker(), fitting_result, and Slic3r::MultiPoint::points.
Referenced by Slic3r::GUI::GLGizmoPainterBase::get_projected_mouse_positions(), Slic3r::make_adaptive_tpms(), and Slic3r::WipeTowerWriter::polygon().
| void Slic3r::Polyline::simplify_by_fitting_arc | ( | double | tolerance | ) |
References Slic3r::ArcFitter::do_arc_fitting_and_simplify(), fitting_result, and Slic3r::MultiPoint::points.
Referenced by Slic3r::WipeTowerWriter::polygon().
|
inlineinherited |
References points.
Referenced by Slic3r::BuildVolume::BuildVolume(), Slic3r::GCode::_do_export(), Slic3r::FillPlanePath::_fill_surface_single(), Slic3r::add_extra_point(), Slic3r::any_expolygon_contains(), Slic3r::Polyline::append_before(), Slic3r::PreciseSeam::detail::append_exact_fragment(), Slic3r::Polyline::append_fitting_result_after_append_polyline(), Slic3r::PreciseSeam::detail::append_fragment(), Slic3r::PreciseSeam::detail::append_projected_fragment(), Slic3r::PreciseSeam::detail::bind_fragment(), Slic3r::SeamPlacerImpl::calculate_polygon_angles_at_vertices(), Slic3r::Polyline::clip_end(), Slic3r::Fill::connect_base_support(), Slic3r::Fill::connect_infill(), Slic3r::FillAdaptive::connect_lines_using_hooks(), Slic3r::contour_distance(), Slic3r::Geometry::convex_polygons_intersect(), Slic3r::create_boundary_infill_graph(), Slic3r::GUI::ImGuiWrapper::draw(), Slic3r::TreeSupport3D::ensure_maximum_distance_polyline(), Slic3r::Polyline::equally_spaced_lines(), Slic3r::PreciseSeam::extract_perimeter_segments(), Slic3r::find_first_different_vertex(), Slic3r::generate_transform_pattern(), priv::get_closest_point_index(), Slic3r::ClipperUtils::interior_point(), Slic3r::PreciseSeam::detail::interval_on_edge(), anonymous_namespace{TextLines.cpp}::its_create_torus(), Slic3r::WipeTower::its_make_rib_brim(), Slic3r::WipeTower::its_make_rib_tower(), Slic3r::mark_boundary_segments_overlapping_infill(), Slic3r::move_inside_expoly(), Slic3r::nearest_clear_wipe_tower_anchor(), Slic3r::need_wipe(), anonymous_namespace{Emboss.cpp}::point_in_distance(), anonymous_namespace{Emboss.cpp}::point_in_distance(), anonymous_namespace{Emboss.cpp}::point_in_reverse_distance(), Slic3r::polygons_match(), Slic3r::precompute_polygon_distances(), Slic3r::PreciseSeam::prepare_weak_modifier_segments(), Slic3r::arrangement::process_arrangeable(), Slic3r::SeamPlacerImpl::process_perimeter_polygon(), Slic3r::GUI::MeshClipper::recalculate_triangles(), Slic3r::remove_duplicates(), Slic3r::remove_points_from_polygon(), Slic3r::Arachne::removeColinearEdges(), Slic3r::Arachne::removeDegenerateVerts(), Slic3r::FillLightning::Node::removeJunctionOverlap(), Slic3r::resample_polygon(), Slic3r::Polyline::reverse(), Slic3r::Arachne::simplify(), Slic3r::smooth_outward(), Slic3r::smooth_outward(), Slic3r::smooth_polyline_corners(), Slic3r::PreciseSeam::detail::snap_cuts_to_adjacent_vertices(), Slic3r::Polyline::split_at_index(), Slic3r::take(), Slic3r::take_limited(), priv::to_expoly(), Slic3r::to_polyline(), Slic3r::GCode::travel_to(), Slic3r::tree_supports_generate_paths(), Slic3r::triangulate_wall(), Slic3r::trim_loop(), and Slic3r::GUI::PartPlate::wipe_tower_obstacles().
References Polyline(), append(), append_before(), Slic3r::cast(), Slic3r::MultiPoint::find_point(), Slic3r::MultiPoint::first_point(), Slic3r::MultiPoint::is_valid(), last_point(), lines(), Slic3r::MultiPoint::points, Slic3r::Point::projection_onto(), and split_at_index().
References Polyline(), append(), Slic3r::MultiPoint::begin(), clear(), Slic3r::MultiPoint::first_point(), fitting_result, last_point(), Slic3r::MultiPoint::points, Slic3r::MultiPoint::size(), split_fitting_result_after_index(), and split_fitting_result_before_index().
Referenced by split_at(), and split_at_length().
References Polyline(), append(), append_before(), clear(), Slic3r::MultiPoint::find_point(), Slic3r::MultiPoint::first_point(), Slic3r::is_approx(), last_point(), Slic3r::MultiPoint::length(), Slic3r::lerp(), lines(), Slic3r::MultiPoint::points, SCALED_EPSILON, and split_at_index().
|
private |
References fitting_result, Slic3r::Linear_move, and Slic3r::MultiPoint::points.
Referenced by split_at_index().
|
private |
References fitting_result, Slic3r::Linear_move, and Slic3r::MultiPoint::points.
Referenced by split_at_index().
|
staticprivateinherited |
Calculates the squared distance between a point and a line segment defined by two points.
| p | The point. |
| v | The starting point of the line segment. |
| w | The ending point of the line segment. |
References Slic3r::dot(), and Slic3r::l2().
Referenced by minimumDistanceBetweenLinesDefinedByPoints().
|
inherited |
|
inherited |
|
inlineinherited |
References translate().
Referenced by Slic3r::Print::_make_wipe_tower(), Slic3r::TreeSupport3D::RichInterfacePlacer::add_points_along_lines(), Slic3r::anonymous_namespace{ExclusionVolumeGeometry.cpp}::append_active_footprints(), Slic3r::GCodeProcessor::check_multi_extruder_gcode_valid(), Slic3r::GUI::PartPlate::check_outside(), Slic3r::compacted_tower_print_instance_hull(), libvgcode::convert_to_vertices(), libvgcode::convert_to_vertices(), libvgcode::convert_to_vertices(), Slic3r::LinesBucket::curLines(), Slic3r::_3DScene::extrusionentity_to_verts(), Slic3r::_3DScene::extrusionentity_to_verts(), Slic3r::_3DScene::extrusionentity_to_verts(), Slic3r::WipeTower::finish_layer_new(), Slic3r::TreeSupport3D::generate_support_areas(), Slic3r::generate_transform_pattern(), Slic3r::get_arrange_poly(), anonymous_namespace{Emboss.cpp}::heal_dupl_inter(), Slic3r::GUI::PartPlate::imex_wipe_tower_hull(), Slic3r::ExclusionVolumeTravelAvoidance::init(), Slic3r::layered_print_cleareance_valid(), Slic3r::make_gyroid_waves(), Slic3r::makeEndPoints(), Slic3r::makeZigZag(), Slic3r::GCode::needs_retraction(), translate(), Slic3r::AvoidCrossingPerimeters::travel_to(), Slic3r::GUI::PartPlate::update_exclusion_volume_preview_models(), and Slic3r::GUI::PartPlate::wipe_tower_obstacles().
|
staticinherited |
References Slic3r::area(), Slic3r::vis_node::area, Slic3r::cast(), Slic3r::cross2(), Slic3r::vis_node::next_idx, Slic3r::vis_node::prev_idx, and Slic3r::vis_node::pt_idx.
| std::vector<PathFittingData> Slic3r::Polyline::fitting_result |
Referenced by Polyline(), Polyline(), Polyline(), Polyline(), Polyline(), append(), append(), append_before(), append_fitting_result_after_append_points(), append_fitting_result_after_append_polyline(), clear(), clip_end(), Slic3r::from_json(), new_scale(), operator=(), operator=(), Slic3r::WipeTowerWriter::polygon(), reset_to_linear_move(), reverse(), simplify(), simplify_by_fitting_arc(), split_at_index(), split_fitting_result_after_index(), split_fitting_result_before_index(), and Slic3r::to_json().
|
inherited |
Referenced by Slic3r::BuildVolume::BuildVolume(), Slic3r::ExPolygonsIndices::ExPolygonsIndices(), MultiPoint(), MultiPoint(), MultiPoint(), Slic3r::Polygon::Polygon(), Slic3r::Polygon::Polygon(), Slic3r::Polygon::Polygon(), Slic3r::Polyline::Polyline(), Slic3r::Polyline::Polyline(), Slic3r::Polyline::Polyline(), Slic3r::Polyline::Polyline(), Slic3r::GCode::_do_export(), Slic3r::FillConcentric::_fill_surface_single(), Slic3r::FillHoneycomb::_fill_surface_single(), Slic3r::FillPlanePath::_fill_surface_single(), Slic3r::Print::_make_skirt(), Slic3r::AreaMoments::add(), Slic3r::sla::ConcaveHull::add_connector_rectangles(), Slic3r::add_extra_point(), Slic3r::TreeSupport3D::RichInterfacePlacer::add_points_along_lines(), Slic3r::addTops(), Slic3r::any_expolygon_contains(), Slic3r::Polyline::append(), Slic3r::Polyline::append(), Slic3r::PreciseSeam::detail::append_exact_fragment(), Slic3r::Polyline::append_fitting_result_after_append_points(), Slic3r::anonymous_namespace{PrintConfig.cpp}::append_legacy_bed_exclude_regions(), Slic3r::append_path(), Slic3r::append_path_point(), Slic3r::append_path_point(), Slic3r::PreciseSeam::detail::append_projected_fragment(), Slic3r::WipeTowerIntegration::append_tcr(), Slic3r::WipeTowerIntegration::append_tcr2(), Slic3r::Feature::FuzzySkin::apply_fuzzy_skin(), Slic3r::Feature::FuzzySkin::apply_fuzzy_skin(), Slic3r::Polygon::area(), Slic3r::Polygon::area(), Slic3r::ExtrusionMultiPath::as_polyline(), Slic3r::MutablePolygon::assign(), Slic3r::bed_exclusion_arrange_polygon(), begin(), begin(), boost::polygon::polygon_traits< Slic3r::ExPolygon >::begin_points(), boost::polygon::polygon_traits< Slic3r::Polygon >::begin_points(), Slic3r::belt_brim_band_paths(), bounding_box(), Slic3r::Geometry::MedialAxis::build(), Slic3r::anonymous_namespace{ClipperUtils.cpp}::c2_attach_stray_holes(), Slic3r::anonymous_namespace{ClipperUtils.cpp}::c2_offset_expolygons(), Slic3r::SeamPlacerImpl::calculate_polygon_angles_at_vertices(), cbegin(), cend(), Slic3r::Polygon::centroid(), Slic3r::chain_lines(), Slic3r::chamfer_polygon(), Slic3r::ClipperUtils::clip_clipper_polygon_with_subject_bbox(), Slic3r::ClipperUtils::clip_clipper_polygon_with_subject_bbox(), Slic3r::Polyline::clip_end(), Slic3r::clip_inner_walls_over_top(), Slic3r::clip_path_end(), Slic3r::Polyline::clip_start(), Slic3r::colored_points_to_polygon(), Slic3r::compacted_tower_print_instance_hull(), Slic3r::Print::compacted_wipe_tower_clearance_valid(), Slic3r::compacted_wipe_tower_zone(), Slic3r::Polygon::concave_points(), Slic3r::WipeTower2::cone_base_polygon(), Slic3r::Fill::connect_base_support(), Slic3r::connect_brim_lines(), Slic3r::Fill::connect_infill(), Slic3r::Fill::connect_infill(), Slic3r::FillAdaptive::connect_lines_using_hooks(), Slic3r::TimelapsePosPicker::construct_printable_area_by_printer(), Slic3r::contains(), Slic3r::contour_distance(), Slic3r::anonymous_namespace{ExclusionVolumeTravelAvoidance.cpp}::contour_intersections(), Slic3r::contour_to_polygons(), Slic3r::Geometry::convex_hull(), Slic3r::ModelObject::convex_hull_2d(), Slic3r::Polygon::convex_points(), Slic3r::count_points(), Slic3r::EdgeGrid::Grid::create(), Slic3r::EdgeGrid::Grid::create(), Slic3r::create_boundary_infill_graph(), Slic3r::create_polyholes(), Slic3r::Polygon::densify(), Slic3r::diff(), Slic3r::diff_ex(), Slic3r::diff_ex(), Slic3r::diff_pl(), Slic3r::diff_pl(), Slic3r::Emboss::divide_segments_for_close_point(), Slic3r::Algorithm::do_split_line(), Slic3r::Polygon::douglas_peucker(), Slic3r::GUI::ImGuiWrapper::draw(), Slic3r::draw_perimeters(), Slic3r::emit_perimeter_prev_next_segment(), Slic3r::emit_perimeter_segment_on_vertical_line(), empty(), end(), end(), boost::polygon::polygon_traits< Slic3r::ExPolygon >::end_points(), boost::polygon::polygon_traits< Slic3r::Polygon >::end_points(), Slic3r::TreeSupport3D::ensure_maximum_distance_polyline(), Slic3r::Polyline::equally_spaced_lines(), Slic3r::Polyline::equally_spaced_points(), Slic3r::estimated_wipe_tower_footprint(), Slic3r::evaluate_support_arch_cost(), Slic3r::evaluate_support_arches(), Slic3r::executable_path_length(), Slic3r::ClipperZUtils::expolygons_to_zpaths(), Slic3r::Polyline::extend_end(), Slic3r::PreciseSeam::extract_perimeter_segments(), Slic3r::extrusion_polyline_extents(), priv::fill_polygon_distances(), priv::fill_shape_distances(), Slic3r::FillConcentricInternal::fill_surface_extrusion(), Slic3r::FillRectilinear::fill_surface_trapezoidal(), priv::find_close_point(), Slic3r::find_first_different_vertex(), find_point(), find_point(), Slic3r::find_spiral_start_corner(), Slic3r::Polygon::first_intersection(), Slic3r::from_json(), Slic3r::from_json(), Slic3r::WipeTowerIntegration::generate_path_to_wipe_tower(), Slic3r::GUI::GLGizmoBrimEars::generate_points(), Slic3r::generate_rectange_polygon(), Slic3r::generate_spiral_insets(), Slic3r::generate_transform_pattern(), Slic3r::generate_tree_support_3D(), Slic3r::get_arrange_poly(), Slic3r::get_bed_shape(), Slic3r::get_bed_shape(), Slic3r::get_bed_shape_with_excluded_area(), Slic3r::GUI::GLGizmoBrimEars::get_detection_radius_max(), Slic3r::get_extents(), Slic3r::get_extents_rotated(), anonymous_namespace{Emboss.cpp}::get_glyph(), Slic3r::SVG::get_path_d(), Slic3r::get_polygon_vertex_inward_normal(), Slic3r::get_polygon_vertex_offset(), Slic3r::GUI::GLGizmoPainterBase::get_projected_mouse_positions(), Slic3r::get_shared_poly(), Slic3r::get_svg_profile(), Slic3r::has_duplicate_points(), Slic3r::has_duplicate_points(), has_duplicate_points(), Slic3r::FillAdaptive::has_no_collinear_lines(), Slic3r::Wipe::has_path(), Slic3r::imex_hull_violates_zones(), Slic3r::GUI::PartPlate::imex_wipe_tower_hull(), Slic3r::ExclusionVolumeTravelAvoidance::init(), Slic3r::GUI::init_exclusion_volume_prism_model(), Slic3r::initial_connector_is_clear(), priv::insert_edges(), priv::insert_edges(), Slic3r::PreciseSeam::insert_point_into_perimeter(), Slic3r::ClipperUtils::interior_point(), Slic3r::intersection(), Slic3r::Polygon::intersection(), Slic3r::intersection_pl(), Slic3r::intersection_pl(), Slic3r::intersection_pl(), Slic3r::Polygon::intersections(), Slic3r::ModelInstance::intersects_bed_exclude_region(), Slic3r::PreciseSeam::detail::interval_on_edge(), Slic3r::Polyline::is_closed(), Slic3r::Polygon::is_valid(), Slic3r::SupportGridPattern::island_samples(), anonymous_namespace{TextLines.cpp}::its_create_torus(), Slic3r::WipeTower::its_make_rib_tower(), Slic3r::join_close_ends(), Slic3r::Polygon::last_point(), Slic3r::Polyline::last_point(), Slic3r::layered_print_cleareance_valid(), Slic3r::Polyline::leftmost_point(), Slic3r::Polygon::length(), Slic3r::length_off_reference(), Slic3r::Polyline::lines(), Slic3r::loop_clip_length(), Slic3r::make_adaptive_infill_shells(), Slic3r::make_adaptive_tpms(), Slic3r::make_brim_ears(), Slic3r::make_brim_ears_auto(), Slic3r::make_circle_num_segments(), Slic3r::GUI::GLGizmoBrimEars::make_polygon(), Slic3r::make_wave(), Slic3r::makeEndPoints(), Slic3r::makeZigZag(), Slic3r::mark_boundary_segments_overlapping_infill(), Slic3r::material_side_support_lines(), Slic3r::ExPolygon::medial_axis(), Slic3r::modulate_extrusion_by_overlapping_layers(), Slic3r::move_inside_expoly(), Slic3r::FillAdaptive::multiline_paths(), Slic3r::nearest_clear_wipe_tower_anchor(), Slic3r::GCode::needs_retraction(), Slic3r::Polygon::new_scale(), Slic3r::Polyline::new_scale(), Slic3r::offset(), Slic3r::offset(), Slic3r::offset(), Slic3r::offset_wipe_path(), Slic3r::offset_wipe_path_toward_support(), Slic3r::open_loop(), Slic3r::operator!=(), Slic3r::operator!=(), Slic3r::operator<<(), operator=(), operator=(), Slic3r::Polygon::operator=(), Slic3r::Polygon::operator=(), Slic3r::Polyline::operator=(), Slic3r::Polyline::operator=(), Slic3r::operator==(), Slic3r::operator==(), Slic3r::Polygon::operator[](), Slic3r::Polygon::operator[](), Slic3r::Polyline::operator[](), Slic3r::Polyline::operator[](), Slic3r::Polygon::parameter_by_length(), Slic3r::anonymous_namespace{PrintConfig.cpp}::parse_exclude_polygon_points(), Slic3r::anonymous_namespace{ClipperUtils.cpp}::path_encloses(), Slic3r::patternPoints(), Slic3r::Polygon::point_projection(), Slic3r::MutablePolygon::polygon(), Slic3r::WipeTowerWriter::polygon(), Slic3r::polygon_segment_append(), Slic3r::polygon_segment_append_reversed(), Slic3r::polygon_to_string(), Slic3r::polygons_match(), Slic3r::anonymous_namespace{ExclusionVolumeTravelAvoidance.cpp}::polyline_intersects_obstacles(), Slic3r::anonymous_namespace{ExclusionVolumeTravelAvoidance.cpp}::polyline_length(), Slic3r::polylines_from_paths(), Slic3r::precompute_polygon_distances(), Slic3r::PreciseSeam::prepare_weak_modifier_segments(), Slic3r::GUI::PartPlateList::preprocess_exclude_areas(), Slic3r::Geometry::MedialAxis::process_edge_neighbors(), Slic3r::SeamPlacerImpl::process_perimeter_polygon(), Slic3r::reconnect_polylines(), Slic3r::PreciseSeam::refine_at_vertex(), remove_duplicate_points(), Slic3r::remove_points_from_polygon(), Slic3r::remove_same_neighbor(), Slic3r::remove_same_neighbor(), anonymous_namespace{Emboss.cpp}::remove_spikes_in_duplicates(), anonymous_namespace{Emboss.cpp}::remove_when_spike(), Slic3r::Arachne::removeColinearEdges(), Slic3r::Arachne::removeDegenerateVerts(), Slic3r::FillLightning::Node::removeJunctionOverlap(), Slic3r::anonymous_namespace{ExclusionVolumeTravelAvoidance.cpp}::replace_segment(), Slic3r::anonymous_namespace{ExclusionVolumeTravelAvoidance.cpp}::replacement_matches_original_segment(), Slic3r::resample_polygon(), Slic3r::Polyline::reset_to_linear_move(), Slic3r::restore_source_path_order(), Slic3r::WipeTower::rib_section(), rotate(), rotate(), Slic3r::rounding_polygon(), Slic3r::WipeTower::rounding_polygon(), Slic3r::rounding_rectangle(), Slic3r::ExclusionVolumeTravelAvoidance::route(), Slic3r::anonymous_namespace{ExclusionVolumeTravelAvoidance.cpp}::routed_polyline_inside_bed(), Slic3r::sample_polyline_at_distance(), scale(), scale(), Slic3r::scale_polygon(), cereal::serialize(), boost::polygon::polygon_mutable_traits< Slic3r::ExPolygon >::set_points(), Slic3r::Model::setPrintSpeedTable(), Slic3r::Arachne::simplify(), Slic3r::Polygon::simplify(), Slic3r::Polyline::simplify(), Slic3r::Polyline::simplify_by_fitting_arc(), Slic3r::ExPolygon::simplify_p(), Slic3r::anonymous_namespace{ExclusionVolumeTravelAvoidance.cpp}::simplify_path(), Slic3r::Geometry::simplify_polygons(), boost::polygon::polygon_traits< Slic3r::ExPolygon >::size(), boost::polygon::polygon_traits< Slic3r::Polygon >::size(), size(), Slic3r::slice_region_by_vertical_lines(), Slic3r::smooth_polyline_corners(), Slic3r::PreciseSeam::detail::snap_cuts_to_adjacent_vertices(), Slic3r::solid_bodies(), Slic3r::Polyline::split_at(), Slic3r::Polygon::split_at_index(), Slic3r::Polyline::split_at_index(), Slic3r::Polyline::split_at_length(), Slic3r::Polygon::split_at_vertex(), Slic3r::Polyline::split_fitting_result_after_index(), Slic3r::Polyline::split_fitting_result_before_index(), Slic3r::ThickPolyline::start_at_index(), Slic3r::starts_by_backtracking(), Slic3r::store_wipe_path(), Slic3r::GUI::ImGuiWrapper::suggest_location(), Slic3r::support_offset_at_start(), Slic3r::sweep_ex(), symmetric_y(), Slic3r::take(), Slic3r::take_ccw_full(), Slic3r::take_ccw_limited(), Slic3r::take_cw_full(), Slic3r::take_cw_limited(), Slic3r::take_limited(), Slic3r::GluTessWrapper::tesselate3d(), Slic3r::ThickPolyline::thicklines(), anonymous_namespace{NSVGUtils.cpp}::to_dashes(), Slic3r::to_json(), Slic3r::to_json(), Slic3r::to_linesf(), Slic3r::to_points(), Slic3r::to_points(), Slic3r::Arachne::to_polygon(), Slic3r::to_polygon(), Slic3r::Polyline3::to_polyline(), Slic3r::to_polyline(), Slic3r::to_polyline(), Slic3r::to_polylines(), Slic3r::to_polylines(), Slic3r::to_polylines(), Slic3r::to_polylines(), Slic3r::to_polylines(), Slic3r::Arachne::to_thick_polyline(), Slic3r::top_level_expolygons(), Slic3r::Arachne::ExtrusionLine::toPolygon(), Slic3r::Polygon::transform(), translate(), Slic3r::translated_wipe_path(), Slic3r::AvoidCrossingPerimeters::travel_to(), Slic3r::GCode::travel_to(), Slic3r::WipeTowerIntegration::travel_to_tower_gap(), Slic3r::traverse_graph_generate_polylines(), Slic3r::traverse_loops(), Slic3r::traverse_pt_outside_in(), Slic3r::tree_supports_generate_paths(), Slic3r::Triangulation::triangulate(), Slic3r::Polygon::triangulate_convex(), Slic3r::triangulate_wall(), Slic3r::anonymous_namespace{Model.cpp}::triangulated_prism_footprints(), Slic3r::trim_loop(), Slic3r::unscale_polygon(), Slic3r::GUI::GLCanvas3D::update_compacted_wipe_tower_clearance(), Slic3r::GUI::GLCanvas3D::update_sequential_clearance(), Slic3r::Print::validate_compacted_wipe_tower_clearance(), Slic3r::TreeSupport3D::validate_range(), Slic3r::variable_offset(), Slic3r::Wipe::wipe(), Slic3r::wipe_path_stays_on_material_side(), and Slic3r::wipe_path_support_score().