![]() |
Prusa Slicer 2.6.0
|
Classes | |
| struct | RegionExpansion |
| struct | RegionExpansionEx |
| struct | RegionExpansionParameters |
| struct | WaveSeed |
Typedefs | |
| using | AABBTreeBBoxes = AABBTreeIndirect::Tree< 2, coord_t > |
| using | WaveSeeds = std::vector< WaveSeed > |
Functions | |
| template<typename RandomAccessIterator , typename ToLines > | |
| void | sort_paths (RandomAccessIterator begin, RandomAccessIterator end, Point start, double touch_limit_distance, ToLines convert_to_lines) |
| double | clipper_round_offset_error (double offset, double arc_tolerance) |
| static ClipperLib_Z::Paths | expolygons_to_zpaths_expanded_opened (const ExPolygons &src, const float expansion, coord_t &base_idx) |
| static void | merge_splits (ClipperLib_Z::Paths &paths, std::vector< std::pair< ClipperLib_Z::IntPoint, int > > &splits) |
| static AABBTreeBBoxes | build_aabb_tree_over_expolygons (const ExPolygons &expolygons) |
| static int | sample_in_expolygons (const AABBTreeBBoxes &aabb_tree, const ExPolygons &expolygons, const Point &sample) |
| std::vector< WaveSeed > | wave_seeds (const ExPolygons &src, const ExPolygons &boundary, float tiny_expansion, bool sorted) |
| static ClipperLib::Paths | wavefront_initial (ClipperLib::ClipperOffset &co, const ClipperLib::Paths &polylines, float offset) |
| static ClipperLib::Paths | wavefront_step (ClipperLib::ClipperOffset &co, const ClipperLib::Paths &polygons, float offset) |
| static ClipperLib::Paths | wavefront_clip (const ClipperLib::Paths &wavefront, const Polygons &clipping) |
| static Polygons | propagate_wave_from_boundary (ClipperLib::ClipperOffset &co, const ClipperLib::Paths &seed, const ExPolygon &boundary, const float initial_step, const float other_step, const size_t num_other_steps, const float max_inflation) |
| std::vector< RegionExpansion > | propagate_waves (const WaveSeeds &seeds, const ExPolygons &boundary, const RegionExpansionParameters ¶ms) |
| std::vector< RegionExpansion > | propagate_waves (const ExPolygons &src, const ExPolygons &boundary, const RegionExpansionParameters ¶ms) |
| std::vector< RegionExpansion > | propagate_waves (const ExPolygons &src, const ExPolygons &boundary, float expansion, float expansion_step, size_t max_nr_steps) |
| std::vector< RegionExpansionEx > | propagate_waves_ex (const WaveSeeds &seeds, const ExPolygons &boundary, const RegionExpansionParameters ¶ms) |
| std::vector< RegionExpansionEx > | propagate_waves_ex (const ExPolygons &src, const ExPolygons &boundary, float full_expansion, float expansion_step, size_t max_nr_expansion_steps) |
| std::vector< Polygons > | expand_expolygons (const ExPolygons &src, const ExPolygons &boundary, float expansion, float expansion_step, size_t max_nr_steps) |
| std::vector< ExPolygon > | merge_expansions_into_expolygons (ExPolygons &&src, std::vector< RegionExpansion > &&expanded) |
| std::vector< ExPolygon > | expand_merge_expolygons (ExPolygons &&src, const ExPolygons &boundary, const RegionExpansionParameters ¶ms) |
| bool | lower_by_boundary_and_src (const WaveSeed &l, const WaveSeed &r) |
| bool | lower_by_src_and_boundary (const WaveSeed &l, const WaveSeed &r) |
| struct Slic3r::Algorithm::RegionExpansion |
| struct Slic3r::Algorithm::RegionExpansionEx |
| struct Slic3r::Algorithm::WaveSeed |
| using Slic3r::Algorithm::AABBTreeBBoxes = typedef AABBTreeIndirect::Tree<2, coord_t> |
| using Slic3r::Algorithm::WaveSeeds = typedef std::vector<WaveSeed> |
|
static |
References Slic3r::AABBTreeIndirect::Tree< ANumDimensions, ACoordType >::build_modify_input(), Slic3r::contour(), and Slic3r::get_extents().
Referenced by merge_expansions_into_expolygons(), and wave_seeds().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References cos(), M_PI, and Slic3r::offset().
Here is the call graph for this function:| std::vector< Polygons > Slic3r::Algorithm::expand_expolygons | ( | const ExPolygons & | src, |
| const ExPolygons & | boundary, | ||
| float | expansion, | ||
| float | expansion_step, | ||
| size_t | max_nr_steps | ||
| ) |
References expand_expolygons(), and propagate_waves().
Referenced by expand_expolygons().
Here is the call graph for this function:
Here is the caller graph for this function:| std::vector< ExPolygon > Slic3r::Algorithm::expand_merge_expolygons | ( | ExPolygons && | src, |
| const ExPolygons & | boundary, | ||
| const RegionExpansionParameters & | params | ||
| ) |
References expand_merge_expolygons(), merge_expansions_into_expolygons(), and propagate_waves().
Referenced by expand_merge_expolygons().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References ClipperLib::ClipperOffset::AddPath(), Slic3r::append(), ClipperLib::ClipperOffset::Clear(), Slic3r::ClipperOffsetShortestEdgeFactor, Slic3r::ExPolygon::contour_or_hole(), ClipperLib::etClosedPolygon, ClipperLib::ClipperOffset::Execute(), ClipperLib::jtSquare, Slic3r::ExPolygon::num_contours(), Slic3r::MultiPoint::points, and ClipperLib::ClipperOffset::ShortestEdgeLength.
Referenced by wave_seeds().
Here is the call graph for this function:
Here is the caller graph for this function:References Slic3r::Algorithm::WaveSeed::boundary, and Slic3r::Algorithm::WaveSeed::src.
Referenced by wave_seeds().
Here is the caller graph for this function:References Slic3r::Algorithm::WaveSeed::boundary, and Slic3r::Algorithm::WaveSeed::src.
| std::vector< ExPolygon > Slic3r::Algorithm::merge_expansions_into_expolygons | ( | ExPolygons && | src, |
| std::vector< RegionExpansion > && | expanded | ||
| ) |
References build_aabb_tree_over_expolygons(), Slic3r::SVG::Close(), Slic3r::ExPolygon::contour, Slic3r::debug_out_path(), Slic3r::SVG::draw(), Slic3r::SVG::draw_outline(), Slic3r::MultiPoint::empty(), Slic3r::MultiPoint::front(), Slic3r::get_extents(), Slic3r::BoundingBoxBase< PointType, APointsType >::merge(), merge_expansions_into_expolygons(), sample_in_expolygons(), scale_, Slic3r::to_polygons(), and Slic3r::union_safety_offset_ex().
Referenced by expand_merge_expolygons(), and merge_expansions_into_expolygons().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
References Slic3r::polylines_merge().
Referenced by wave_seeds().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References Slic3r::ClipperUtils::clip_clipper_polygons_with_subject_bbox(), Slic3r::get_extents< true >(), Slic3r::to_polygons(), wavefront_clip(), wavefront_initial(), and wavefront_step().
Referenced by propagate_waves().
Here is the call graph for this function:
Here is the caller graph for this function:| std::vector< RegionExpansion > Slic3r::Algorithm::propagate_waves | ( | const ExPolygons & | src, |
| const ExPolygons & | boundary, | ||
| const RegionExpansionParameters & | params | ||
| ) |
References propagate_waves(), Slic3r::Algorithm::RegionExpansionParameters::tiny_expansion, and wave_seeds().
Here is the call graph for this function:| std::vector< RegionExpansion > Slic3r::Algorithm::propagate_waves | ( | const ExPolygons & | src, |
| const ExPolygons & | boundary, | ||
| float | expansion, | ||
| float | expansion_step, | ||
| size_t | max_nr_steps | ||
| ) |
References propagate_waves().
Here is the call graph for this function:| std::vector< RegionExpansion > Slic3r::Algorithm::propagate_waves | ( | const WaveSeeds & | seeds, |
| const ExPolygons & | boundary, | ||
| const RegionExpansionParameters & | params | ||
| ) |
References Slic3r::Algorithm::RegionExpansionParameters::arc_tolerance, ClipperLib::ClipperOffset::ArcTolerance, Slic3r::Algorithm::RegionExpansionParameters::initial_step, Slic3r::Algorithm::RegionExpansionParameters::max_inflation, Slic3r::Algorithm::RegionExpansionParameters::num_other_steps, Slic3r::Algorithm::RegionExpansionParameters::other_step, propagate_wave_from_boundary(), Slic3r::Algorithm::RegionExpansionParameters::shortest_edge_length, and ClipperLib::ClipperOffset::ShortestEdgeLength.
Referenced by expand_expolygons(), expand_merge_expolygons(), propagate_waves(), propagate_waves(), and propagate_waves_ex().
Here is the call graph for this function:
Here is the caller graph for this function:| std::vector< RegionExpansionEx > Slic3r::Algorithm::propagate_waves_ex | ( | const ExPolygons & | src, |
| const ExPolygons & | boundary, | ||
| float | full_expansion, | ||
| float | expansion_step, | ||
| size_t | max_nr_expansion_steps | ||
| ) |
References propagate_waves_ex(), and wave_seeds().
Here is the call graph for this function:| std::vector< RegionExpansionEx > Slic3r::Algorithm::propagate_waves_ex | ( | const WaveSeeds & | seeds, |
| const ExPolygons & | boundary, | ||
| const RegionExpansionParameters & | params | ||
| ) |
References propagate_waves(), propagate_waves_ex(), Slic3r::reserve_more_power_of_2(), and Slic3r::union_ex().
Referenced by propagate_waves_ex(), and propagate_waves_ex().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References Slic3r::AABBTreeIndirect::traverse().
Referenced by merge_expansions_into_expolygons(), and wave_seeds().
Here is the call graph for this function:
Here is the caller graph for this function:| void Slic3r::Algorithm::sort_paths | ( | RandomAccessIterator | begin, |
| RandomAccessIterator | end, | ||
| Point | start, | ||
| double | touch_limit_distance, | ||
| ToLines | convert_to_lines | ||
| ) |
References Slic3r::empty(), and Slic3r::paths_touch().
Here is the call graph for this function:| WaveSeeds Slic3r::Algorithm::wave_seeds | ( | const ExPolygons & | src, |
| const ExPolygons & | boundary, | ||
| float | tiny_expansion, | ||
| bool | sorted | ||
| ) |
References build_aabb_tree_over_expolygons(), Slic3r::ClipperZUtils::ClipperZIntersectionVisitor::clipper_callback(), Slic3r::AABBTreeIndirect::Tree< ANumDimensions, ACoordType >::empty(), Slic3r::ClipperZUtils::expolygons_to_zpaths(), expolygons_to_zpaths_expanded_opened(), Slic3r::ClipperZUtils::from_zpath(), Slic3r::intersection(), lower_by_boundary_and_src(), merge_splits(), and sample_in_expolygons().
Referenced by propagate_waves(), and propagate_waves_ex().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References ClipperLib::ClipperBase::AddPaths(), ClipperLib::ctIntersection, ClipperLib::Clipper::Execute(), ClipperLib::pftPositive, ClipperLib::ptClip, and ClipperLib::ptSubject.
Referenced by propagate_wave_from_boundary().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References ClipperLib::ClipperOffset::AddPath(), Slic3r::append(), ClipperLib::ClipperOffset::Clear(), ClipperLib::etClosedLine, ClipperLib::etOpenRound, ClipperLib::ClipperOffset::Execute(), and Slic3r::offset().
Referenced by propagate_wave_from_boundary().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References ClipperLib::ClipperOffset::AddPath(), Slic3r::append(), ClipperLib::ClipperOffset::Clear(), ClipperLib::etClosedPolygon, ClipperLib::ClipperOffset::Execute(), Slic3r::offset(), and ClipperLib::Orientation().
Referenced by propagate_wave_from_boundary().
Here is the call graph for this function:
Here is the caller graph for this function: