#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/ExtrusionEntity.hpp>
Classes | |
| struct | ClosestPathPoint |
Public Member Functions | |
| ExtrusionLoop (ExtrusionLoopRole role=elrDefault) | |
| ExtrusionLoop (const ExtrusionPaths &paths, ExtrusionLoopRole role=elrDefault) | |
| ExtrusionLoop (ExtrusionPaths &&paths, ExtrusionLoopRole role=elrDefault) | |
| ExtrusionLoop (const ExtrusionPath &path, ExtrusionLoopRole role=elrDefault) | |
| ExtrusionLoop (const ExtrusionPath &&path, ExtrusionLoopRole role=elrDefault) | |
| 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 |
| void | polygons_covered_by_spacing (Polygons &out, const float scaled_epsilon) const override |
| Polygons | polygons_covered_by_width (const float scaled_epsilon=0.f) const |
| 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 | |
| ExtrusionPaths | paths |
| bool | print_after_infill = false |
| int | inset_idx = -1 |
Private Attributes | |
| ExtrusionLoopRole | m_loop_role |
| struct Slic3r::ExtrusionLoop::ClosestPathPoint |
| Class Members | ||
|---|---|---|
| Point | foot_pt | |
| size_t | path_idx | |
| size_t | segment_idx | |
|
inline |
References Slic3r::elrDefault, m_loop_role, and role().
Referenced by Slic3r::ExtrusionLoopSloped::ExtrusionLoopSloped(), clone(), and clone_move().
|
inline |
References Slic3r::elrDefault, m_loop_role, paths, and role().
|
inline |
References Slic3r::elrDefault, m_loop_role, paths, and role().
|
inline |
References Slic3r::elrDefault, m_loop_role, and role().
|
inline |
References Slic3r::elrDefault, m_loop_role, and role().
|
inlineoverridevirtual |
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().
|
inlineoverridevirtual |
Reimplemented from Slic3r::ExtrusionEntity.
|
inlinevirtualinherited |
Reimplemented in Slic3r::ExtrusionEntityCollection.
| void Slic3r::ExtrusionLoop::clip_end | ( | double | distance, |
| ExtrusionPaths * | paths ) const |
References Slic3r::Polyline3::clip_end(), Slic3r::ExtrusionPath::length(), paths, and Slic3r::ExtrusionPath::polyline.
Referenced by Slic3r::GCode::extrude_loop().
|
inlineoverridevirtual |
Implements Slic3r::ExtrusionEntity.
References ExtrusionLoop().
|
inlineoverridevirtual |
Implements Slic3r::ExtrusionEntity.
References ExtrusionLoop().
|
inlineoverridevirtual |
Implements Slic3r::ExtrusionEntity.
References Slic3r::append(), paths, Slic3r::MultiPoint3::points, Slic3r::ExtrusionPath::polyline, and Slic3r::to_points().
Referenced by Slic3r::Skirt::find_start_point().
|
inlineoverridevirtual |
Implements Slic3r::ExtrusionEntity.
References as_polyline(), and Slic3r::MultiPoint::empty().
|
inlineoverridevirtual |
Implements Slic3r::ExtrusionEntity.
Referenced by last_point().
|
inlineoverridevirtual |
Implements Slic3r::ExtrusionEntity.
Referenced by last_point3(), and validate().
| ExtrusionLoop::ClosestPathPoint Slic3r::ExtrusionLoop::get_closest_path_and_point | ( | const Point & | point, |
| bool | prefer_non_overhang ) const |
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().
| bool Slic3r::ExtrusionLoop::has_overhang_point | ( | const Point & | point | ) | const |
References Slic3r::is_bridge(), and paths.
|
inline |
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().
|
inline |
References Slic3r::Polygon::is_counter_clockwise(), and polygon().
Referenced by Slic3r::GCode::extrude_loop().
|
inlineoverridevirtual |
Reimplemented from Slic3r::ExtrusionEntity.
| bool Slic3r::ExtrusionLoop::is_smooth | ( | double | angle_threshold = 0.174, |
| double | min_arm_length = 0.025 ) const |
References Slic3r::angle(), Slic3r::next_idx_modulo(), polygon(), Slic3r::prev_idx_modulo(), and Slic3r::unscale().
Referenced by Slic3r::GCode::extrude_loop().
|
inlineoverridevirtual |
Implements Slic3r::ExtrusionEntity.
References first_point().
|
inlineoverridevirtual |
Implements Slic3r::ExtrusionEntity.
References first_point3().
|
overridevirtual |
Implements Slic3r::ExtrusionEntity.
References paths.
Referenced by Slic3r::GCode::extrude_loop(), Slic3r::GCode::extrude_support(), and Slic3r::SeamPlacer::place_seam().
|
inline |
References m_loop_role.
Referenced by Slic3r::convert_extrusion_to_json(), Slic3r::GCode::extrude_loop(), and Slic3r::reorient_perimeters().
| bool Slic3r::ExtrusionLoop::make_clockwise | ( | ) |
References Slic3r::Polygon::is_counter_clockwise(), polygon(), and reverse().
Referenced by Slic3r::GCode::extrude_loop(), Slic3r::traverse_extrusions(), and Slic3r::traverse_loops().
| bool Slic3r::ExtrusionLoop::make_counter_clockwise | ( | ) |
References Slic3r::Polygon::is_clockwise(), polygon(), and reverse().
Referenced by Slic3r::GCode::extrude_loop(), Slic3r::traverse_extrusions(), and Slic3r::traverse_loops().
|
overridevirtual |
Implements Slic3r::ExtrusionEntity.
References min_mm3_per_mm(), and paths.
Referenced by min_mm3_per_mm().
| Polygon Slic3r::ExtrusionLoop::polygon | ( | ) | const |
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().
|
inline |
References polygons_covered_by_spacing().
|
overridevirtual |
Implements Slic3r::ExtrusionEntity.
References paths.
Referenced by polygons_covered_by_spacing().
|
inline |
References polygons_covered_by_width().
|
overridevirtual |
Implements Slic3r::ExtrusionEntity.
References paths.
Referenced by polygons_covered_by_width().
|
overridevirtual |
Implements Slic3r::ExtrusionEntity.
References paths.
Referenced by make_clockwise(), make_counter_clockwise(), and Slic3r::reorient_perimeters().
|
inlineoverridevirtual |
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().
|
inline |
References m_loop_role, and role().
Referenced by Slic3r::convert_extrusion_from_json().
|
inlinevirtualinherited |
Reimplemented in Slic3r::ExtrusionEntityCollection, Slic3r::ExtrusionMultiPath, and Slic3r::ExtrusionPath.
| void Slic3r::ExtrusionLoop::split_at | ( | const Point & | point, |
| bool | prefer_non_overhang, | ||
| const double | scaled_epsilon = scaled<double>(0.001) ) |
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().
| bool Slic3r::ExtrusionLoop::split_at_vertex | ( | const Point & | point, |
| const double | scaled_epsilon = scaled<double>(0.001) ) |
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().
|
inlineoverridevirtual |
Implements Slic3r::ExtrusionEntity.
References paths.
|
inline |
References first_point3(), and paths.
|
inherited |
|
private |
Referenced by ExtrusionLoop(), ExtrusionLoop(), ExtrusionLoop(), ExtrusionLoop(), ExtrusionLoop(), loop_role(), and set_loop_role().
| ExtrusionPaths Slic3r::ExtrusionLoop::paths |
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().
| bool Slic3r::ExtrusionLoop::print_after_infill = false |