#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/Fill/FillCornerSmoothing.hpp>
Public Member Functions | |
| CornerSmoother (const CornerSmoothing &smoothing, double max_corner_distance=0., CornerFilter corner_filter={}) | |
| bool | enabled () const |
| template<typename Emit> | |
| void | push (const Vec2d &point, Emit &emit) |
| template<typename Emit> | |
| void | flush (Emit &emit) |
Private Member Functions | |
| template<typename Emit> | |
| void | emit_corner (const Vec2d &previous, const Vec2d &corner, const Vec2d &next, Emit &emit) |
| void | round_corner (const Vec2d &previous, const Vec2d &corner, const Vec2d &next) |
| const std::vector< Vec2d > * | corner_vertices (double reach, double cosine) const |
Static Private Member Functions | |
| static bool | is_on_straight_run (const Vec2d &previous, const Vec2d &vertex, const Vec2d &next) |
Private Attributes | |
| const CornerSmoothing | m_smoothing |
| const double | m_corner_distance_ratio |
| const double | m_max_corner_distance |
| const CornerFilter | m_corner_filter |
| std::vector< Vec2d > | m_corner_points |
| std::array< Vec2d, 3 > | m_window { Vec2d::Zero(), Vec2d::Zero(), Vec2d::Zero() } |
| int | m_held { 0 } |
|
inline |
|
private |
References count, Slic3r::UnitCorner::deviation, EPSILON, m_smoothing, Slic3r::max_corner_vertices, Slic3r::peak_curvature_by_reach(), Slic3r::unit_corner(), and Slic3r::UnitCorner::vertices.
Referenced by round_corner().
|
inlineprivate |
References m_corner_points, and round_corner().
Referenced by flush(), and push().
|
inline |
References m_corner_distance_ratio.
Referenced by Slic3r::smooth_polygons_corners(), and Slic3r::smooth_polyline_corners().
|
inline |
References emit_corner(), m_held, and m_window.
Referenced by Slic3r::smooth_corners().
|
staticprivate |
References EPSILON.
Referenced by push().
|
inline |
References emit_corner(), is_on_straight_run(), m_held, and m_window.
Referenced by Slic3r::smooth_corners().
|
private |
References corner_vertices(), Slic3r::cross(), EPSILON, m_corner_distance_ratio, m_corner_filter, m_corner_points, m_max_corner_distance, and Slic3r::min_smoothed_turn_cosine.
Referenced by emit_corner().
|
private |
Referenced by enabled(), and round_corner().
|
private |
Referenced by round_corner().
|
private |
Referenced by emit_corner(), and round_corner().
|
private |
Referenced by round_corner().
|
private |
Referenced by corner_vertices().
|
private |