OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::SmoothingPolylineOutput< Output > Class Template Reference
Collaboration diagram for Slic3r::SmoothingPolylineOutput< Output >:

Public Member Functions

 SmoothingPolylineOutput (Output &output, const CornerSmoothing &smoothing)
void reserve (size_t n)
void add_point (const Vec2d &pt)
void finish ()

Private Member Functions

auto emitter ()

Private Attributes

Output & m_output
CornerSmoother m_smoother
Point m_last_snapped { Point::Zero() }
bool m_has_last_snapped { false }

Detailed Description

template<typename Output>
class Slic3r::SmoothingPolylineOutput< Output >

Constructor & Destructor Documentation

◆ SmoothingPolylineOutput()

template<typename Output>
Slic3r::SmoothingPolylineOutput< Output >::SmoothingPolylineOutput ( Output & output,
const CornerSmoothing & smoothing )
inline
Definition FillPlanePath.cpp:309
CornerSmoother m_smoother
Definition FillPlanePath.cpp:335
Output & m_output
Definition FillPlanePath.cpp:334

References m_output, and m_smoother.

Member Function Documentation

◆ add_point()

template<typename Output>
void Slic3r::SmoothingPolylineOutput< Output >::add_point ( const Vec2d & pt)
inline
315{ auto emit = emitter(); m_smoother.push(pt, emit); }
auto emitter()
Definition FillPlanePath.cpp:322

References emitter(), and m_smoother.

Here is the call graph for this function:

◆ emitter()

template<typename Output>
auto Slic3r::SmoothingPolylineOutput< Output >::emitter ( )
inlineprivate
323 {
324 return [this](const Vec2d &pt) {
325 const Point snapped = m_output.scaled(pt);
327 return;
329 m_has_last_snapped = true;
330 m_output.add_point(pt);
331 };
332 }
bool m_has_last_snapped
Definition FillPlanePath.cpp:337
Point m_last_snapped
Definition FillPlanePath.cpp:336

References m_has_last_snapped, m_last_snapped, and m_output.

Referenced by add_point(), and finish().

Here is the caller graph for this function:

◆ finish()

template<typename Output>
void Slic3r::SmoothingPolylineOutput< Output >::finish ( )
inline
317{ auto emit = emitter(); m_smoother.flush(emit); }

References emitter(), and m_smoother.

Here is the call graph for this function:

◆ reserve()

template<typename Output>
void Slic3r::SmoothingPolylineOutput< Output >::reserve ( size_t n)
inline
314{ m_output.reserve(n); }

References m_output.

Member Data Documentation

◆ m_has_last_snapped

template<typename Output>
bool Slic3r::SmoothingPolylineOutput< Output >::m_has_last_snapped { false }
private
337{ false };

Referenced by emitter().

◆ m_last_snapped

template<typename Output>
Point Slic3r::SmoothingPolylineOutput< Output >::m_last_snapped { Point::Zero() }
private
336{ Point::Zero() };

Referenced by emitter().

◆ m_output

template<typename Output>
Output& Slic3r::SmoothingPolylineOutput< Output >::m_output
private

◆ m_smoother

template<typename Output>
CornerSmoother Slic3r::SmoothingPolylineOutput< Output >::m_smoother
private

The documentation for this class was generated from the following file: