#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/ExtrusionEntity.hpp>
Public Member Functions | |
| ExtrusionLoopSloped (ExtrusionPaths &original_paths, double seam_gap, double slope_min_length, double slope_max_segment_length, double start_slope_ratio, ExtrusionLoopRole role=elrDefault) | |
| std::vector< const ExtrusionPath * > | get_all_paths () const |
| void | clip_slope (double distance, bool inter_perimeter=false) |
| void | clip_end (const double distance) |
| void | clip_front (const double distance) |
| double | slope_path_length () |
| bool | is_loop () const override |
| bool | can_reverse () const override |
| ExtrusionEntity * | clone () const override |
| ExtrusionEntity * | clone_move () override |
| bool | make_clockwise () |
| bool | make_counter_clockwise () |
| bool | is_clockwise () |
| bool | is_counter_clockwise () |
| void | reverse () override |
| Point | first_point () const override |
| const Point3 & | first_point3 () const override |
| Point | last_point () const override |
| const Point3 & | last_point3 () const override |
| Polygon | polygon () const |
| double | length () const override |
| bool | split_at_vertex (const Point &point, const double scaled_epsilon=scaled< double >(0.001)) |
| void | split_at (const Point &point, bool prefer_non_overhang, const double scaled_epsilon=scaled< double >(0.001)) |
| ClosestPathPoint | get_closest_path_and_point (const Point &point, bool prefer_non_overhang) const |
| void | clip_end (double distance, ExtrusionPaths *paths) const |
| bool | has_overhang_point (const Point &point) const |
| ExtrusionRole | role () const override |
| ExtrusionLoopRole | loop_role () const |
| void | set_loop_role (ExtrusionLoopRole role) |
| void | polygons_covered_by_width (Polygons &out, const float scaled_epsilon) const override |
| Polygons | polygons_covered_by_width (const float scaled_epsilon=0.f) const |
| void | polygons_covered_by_spacing (Polygons &out, const float scaled_epsilon) const override |
| Polygons | polygons_covered_by_spacing (const float scaled_epsilon=0.f) const |
| double | min_mm3_per_mm () const override |
| Polyline | as_polyline () const override |
| void | collect_polylines (Polylines &dst) const override |
| void | collect_points (Points &dst) const override |
| double | total_volume () const override |
| bool | is_smooth (double angle_threshold=0.174, double min_arm_length=0.025) const |
| bool | validate () const |
| virtual bool | is_collection () const |
| virtual bool | can_sort () const |
| virtual void | set_reverse () |
| virtual Polylines | as_polylines () const |
Static Public Member Functions | |
| static std::string | role_to_string (ExtrusionRole role) |
| static ExtrusionRole | string_to_role (const std::string_view role) |
Public Attributes | |
| std::vector< ExtrusionPathSloped > | starts |
| std::vector< ExtrusionPathSloped > | ends |
| ExtrusionPaths | paths |
| bool | print_after_infill = false |
| int | inset_idx = -1 |
Private Attributes | |
| ExtrusionLoopRole | m_loop_role |
| Slic3r::ExtrusionLoopSloped::ExtrusionLoopSloped | ( | ExtrusionPaths & | original_paths, |
| double | seam_gap, | ||
| double | slope_min_length, | ||
| double | slope_max_segment_length, | ||
| double | start_slope_ratio, | ||
| ExtrusionLoopRole | role = elrDefault ) |
References Slic3r::ExtrusionLoop::ExtrusionLoop(), Slic3r::Polyline3::append(), Slic3r::MultiPoint3::clear(), Slic3r::MultiPoint3::empty(), ends, EPSILON, Slic3r::is_approx(), Slic3r::MultiPoint3::length(), Slic3r::lerp(), Slic3r::ExtrusionLoop::paths, Slic3r::ExtrusionLoop::role(), scale_, Slic3r::MultiPoint3::size(), Slic3r::Polyline3::split_at_length(), Slic3r::split_at_slope_end(), starts, Slic3r::trim_seam_ends(), and unscale_.
|
inlineoverridevirtualinherited |
Implements Slic3r::ExtrusionEntity.
References polygon(), and Slic3r::Polygon::split_at_first_point().
Referenced by collect_polylines().
|
inlinevirtualinherited |
References collect_polylines().
Referenced by Slic3r::SupportMaterialInternal::remove_bridges_from_contacts().
|
inlineoverridevirtualinherited |
Reimplemented from Slic3r::ExtrusionEntity.
|
inlinevirtualinherited |
Reimplemented in Slic3r::ExtrusionEntityCollection.
|
inherited |
References Slic3r::Polyline3::clip_end(), Slic3r::ExtrusionPath::length(), paths, and Slic3r::ExtrusionPath::polyline.
Referenced by Slic3r::GCode::extrude_loop().
| void Slic3r::ExtrusionLoopSloped::clip_end | ( | const double | distance | ) |
References Slic3r::Polyline3::clip_end(), ends, Slic3r::ExtrusionPath::length(), and Slic3r::ExtrusionPath::polyline.
Referenced by clip_slope().
| void Slic3r::ExtrusionLoopSloped::clip_front | ( | const double | distance | ) |
References Slic3r::Polyline3::clip_end(), Slic3r::erPerimeter, Slic3r::ExtrusionPath::length(), Slic3r::ExtrusionPath::polyline, Slic3r::Polyline3::reverse(), Slic3r::ExtrusionLoop::role(), scale_, slope_path_length(), and starts.
Referenced by clip_slope().
| void Slic3r::ExtrusionLoopSloped::clip_slope | ( | double | distance, |
| bool | inter_perimeter = false ) |
References clip_end(), and clip_front().
Referenced by Slic3r::GCode::extrude_loop().
|
inlineoverridevirtualinherited |
Implements Slic3r::ExtrusionEntity.
References ExtrusionLoop().
|
inlineoverridevirtualinherited |
Implements Slic3r::ExtrusionEntity.
References ExtrusionLoop().
|
inlineoverridevirtualinherited |
Implements Slic3r::ExtrusionEntity.
References Slic3r::append(), paths, Slic3r::MultiPoint3::points, Slic3r::ExtrusionPath::polyline, and Slic3r::to_points().
Referenced by Slic3r::Skirt::find_start_point().
|
inlineoverridevirtualinherited |
Implements Slic3r::ExtrusionEntity.
References as_polyline(), and Slic3r::MultiPoint::empty().
|
inlineoverridevirtualinherited |
Implements Slic3r::ExtrusionEntity.
Referenced by last_point().
|
inlineoverridevirtualinherited |
Implements Slic3r::ExtrusionEntity.
Referenced by last_point3(), and validate().
|
nodiscard |
References ends, Slic3r::ExtrusionLoop::paths, and starts.
Referenced by Slic3r::GCode::extrude_loop().
|
inherited |
References Slic3r::cast(), Slic3r::ExtrusionLoop::ClosestPathPoint::foot_pt, Slic3r::Geometry::foot_pt(), Slic3r::is_bridge(), Slic3r::ExtrusionLoop::ClosestPathPoint::path_idx, paths, and Slic3r::ExtrusionLoop::ClosestPathPoint::segment_idx.
Referenced by Slic3r::SeamPlacer::place_seam(), and split_at().
|
inherited |
References Slic3r::is_bridge(), and paths.
|
inlineinherited |
References Slic3r::Polygon::is_clockwise(), and polygon().
|
inlinevirtualinherited |
Reimplemented in Slic3r::ExtrusionEntityCollection.
Referenced by Slic3r::SupportMaterialInternal::collect_bridging_perimeter_areas(), Slic3r::GCode::compute_farthest_point(), Slic3r::SeamPlacerImpl::extract_perimeter_polygons(), Slic3r::ExtrusionEntityCollection::flatten(), Slic3r::SupportMaterialInternal::has_bridging_fills(), and Slic3r::SupportMaterialInternal::has_bridging_perimeters().
|
inlineinherited |
References Slic3r::Polygon::is_counter_clockwise(), and polygon().
Referenced by Slic3r::GCode::extrude_loop().
|
inlineoverridevirtualinherited |
Reimplemented from Slic3r::ExtrusionEntity.
|
inherited |
References Slic3r::angle(), Slic3r::next_idx_modulo(), polygon(), Slic3r::prev_idx_modulo(), and Slic3r::unscale().
Referenced by Slic3r::GCode::extrude_loop().
|
inlineoverridevirtualinherited |
Implements Slic3r::ExtrusionEntity.
References first_point().
|
inlineoverridevirtualinherited |
Implements Slic3r::ExtrusionEntity.
References first_point3().
|
overridevirtualinherited |
Implements Slic3r::ExtrusionEntity.
References paths.
Referenced by Slic3r::GCode::extrude_loop(), Slic3r::GCode::extrude_support(), and Slic3r::SeamPlacer::place_seam().
|
inlineinherited |
References m_loop_role.
Referenced by Slic3r::convert_extrusion_to_json(), Slic3r::GCode::extrude_loop(), and Slic3r::reorient_perimeters().
|
inherited |
References Slic3r::Polygon::is_counter_clockwise(), polygon(), and reverse().
Referenced by Slic3r::GCode::extrude_loop(), Slic3r::traverse_extrusions(), and Slic3r::traverse_loops().
|
inherited |
References Slic3r::Polygon::is_clockwise(), polygon(), and reverse().
Referenced by Slic3r::GCode::extrude_loop(), Slic3r::traverse_extrusions(), and Slic3r::traverse_loops().
|
overridevirtualinherited |
Implements Slic3r::ExtrusionEntity.
References min_mm3_per_mm(), and paths.
Referenced by min_mm3_per_mm().
|
inherited |
References paths, and polygon().
Referenced by as_polyline(), Slic3r::GCode::extrude_loop(), is_clockwise(), is_counter_clockwise(), is_smooth(), make_clockwise(), make_counter_clockwise(), and polygon().
|
inlineinherited |
References polygons_covered_by_spacing().
|
overridevirtualinherited |
Implements Slic3r::ExtrusionEntity.
References paths.
Referenced by polygons_covered_by_spacing().
|
inlineinherited |
References polygons_covered_by_width().
|
overridevirtualinherited |
Implements Slic3r::ExtrusionEntity.
References paths.
Referenced by polygons_covered_by_width().
|
overridevirtualinherited |
Implements Slic3r::ExtrusionEntity.
References paths.
Referenced by make_clockwise(), make_counter_clockwise(), and Slic3r::reorient_perimeters().
|
inlineoverridevirtualinherited |
Implements Slic3r::ExtrusionEntity.
References Slic3r::erNone.
Referenced by ExtrusionLoop(), ExtrusionLoop(), ExtrusionLoop(), ExtrusionLoop(), ExtrusionLoop(), Slic3r::ExtrusionLoopSloped::ExtrusionLoopSloped(), Slic3r::ExtrusionLoopSloped::clip_front(), Slic3r::GCode::extrude_loop(), Slic3r::SeamPlacer::place_seam(), and set_loop_role().
|
staticinherited |
References Slic3r::erBottomSurface, Slic3r::erBridgeInfill, Slic3r::erBrim, Slic3r::erCustom, Slic3r::erExternalPerimeter, Slic3r::erGapFill, Slic3r::erInternalBridgeInfill, Slic3r::erInternalInfill, Slic3r::erIroning, Slic3r::erMixed, Slic3r::erNone, Slic3r::erOverhangPerimeter, Slic3r::erPerimeter, Slic3r::erSkirt, Slic3r::erSolidInfill, Slic3r::erSupportMaterial, Slic3r::erSupportMaterialInterface, Slic3r::erSupportTransition, Slic3r::erTopSolidInfill, Slic3r::erWipeTower, L, and role().
Referenced by Slic3r::WipeTowerWriter::WipeTowerWriter(), Slic3r::WipeTowerWriter2::WipeTowerWriter2(), Slic3r::GCode::_do_export(), Slic3r::GCode::_extrude(), and Slic3r::anonymous_namespace{GCodeStatistics.cpp}::features_json().
|
inlineinherited |
References m_loop_role, and role().
Referenced by Slic3r::convert_extrusion_from_json().
|
inlinevirtualinherited |
Reimplemented in Slic3r::ExtrusionEntityCollection, Slic3r::ExtrusionMultiPath, and Slic3r::ExtrusionPath.
| double Slic3r::ExtrusionLoopSloped::slope_path_length | ( | ) |
References starts, Slic3r::total_length(), and unscale_.
Referenced by clip_front().
|
inherited |
References Slic3r::Polyline3::append(), Slic3r::cast(), Slic3r::Polyline3::fitting_result, get_closest_path_and_point(), Slic3r::ExtrusionPath::height, Slic3r::MultiPoint3::is_valid(), Slic3r::ExtrusionPath::mm3_per_mm, paths, Slic3r::MultiPoint3::points, Slic3r::ExtrusionPath::polyline, Slic3r::ExtrusionPath::role(), Slic3r::Polyline3::split_at(), split_at_vertex(), Slic3r::ExtrusionPath::width, and Slic3r::ExtrusionPath::z_contoured.
Referenced by Slic3r::GCode::extrude_loop(), and Slic3r::SeamPlacer::place_seam().
|
inherited |
References Slic3r::Polyline3::append(), Slic3r::Polyline3::fitting_result, Slic3r::MultiPoint3::is_valid(), paths, Slic3r::MultiPoint3::points, Slic3r::ExtrusionPath::polyline, and Slic3r::Polyline3::split_at_index().
Referenced by Slic3r::SeamPlacer::place_seam(), and split_at().
|
staticinherited |
References Slic3r::erBottomSurface, Slic3r::erBridgeInfill, Slic3r::erBrim, Slic3r::erCustom, Slic3r::erExternalPerimeter, Slic3r::erGapFill, Slic3r::erInternalBridgeInfill, Slic3r::erInternalInfill, Slic3r::erIroning, Slic3r::erMixed, Slic3r::erNone, Slic3r::erOverhangPerimeter, Slic3r::erPerimeter, Slic3r::erSkirt, Slic3r::erSolidInfill, Slic3r::erSupportMaterial, Slic3r::erSupportMaterialInterface, Slic3r::erSupportTransition, Slic3r::erTopSolidInfill, Slic3r::erWipeTower, L, and role().
Referenced by Slic3r::FanMover::_process_gcode_line(), and Slic3r::GCodeProcessor::process_tags().
|
inlineoverridevirtualinherited |
Implements Slic3r::ExtrusionEntity.
References paths.
|
inlineinherited |
References first_point3(), and paths.
| std::vector<ExtrusionPathSloped> Slic3r::ExtrusionLoopSloped::ends |
Referenced by ExtrusionLoopSloped(), clip_end(), Slic3r::GCode::extrude_loop(), and get_all_paths().
|
inherited |
|
privateinherited |
Referenced by ExtrusionLoop(), ExtrusionLoop(), ExtrusionLoop(), ExtrusionLoop(), ExtrusionLoop(), loop_role(), and set_loop_role().
|
inherited |
Referenced by ExtrusionLoop(), ExtrusionLoop(), Slic3r::ExtrusionLoopSloped::ExtrusionLoopSloped(), Slic3r::Print::_make_skirt(), clip_end(), Slic3r::SupportMaterialInternal::collect_bridging_perimeter_areas(), collect_points(), Slic3r::contour_extrusion_loop(), Slic3r::convert_extrusion_from_json(), Slic3r::convert_extrusion_to_json(), libvgcode::convert_to_vertices(), Slic3r::GCode::extrude_loop(), Slic3r::extrusionentity_extents(), Slic3r::_3DScene::extrusionentity_to_verts(), Slic3r::GCode::generate_skirt(), Slic3r::ExtrusionLoopSloped::get_all_paths(), get_closest_path_and_point(), Slic3r::SupportMaterialInternal::has_bridging_perimeters(), has_overhang_point(), length(), min_mm3_per_mm(), Slic3r::SeamPlacer::place_seam(), polygon(), polygons_covered_by_spacing(), polygons_covered_by_width(), Slic3r::reorient_perimeters(), reverse(), Slic3r::LayerRegion::simplify_loop(), Slic3r::Layer::simplify_support_loop(), split_at(), split_at_vertex(), total_volume(), Slic3r::traverse_extrusions(), and validate().
|
inherited |
| std::vector<ExtrusionPathSloped> Slic3r::ExtrusionLoopSloped::starts |
Referenced by ExtrusionLoopSloped(), clip_front(), get_all_paths(), and slope_path_length().