OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::ClipperUtils::ExPolygonProvider::iterator Struct Reference

#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/ClipperUtils.hpp>

Inheritance diagram for Slic3r::ClipperUtils::ExPolygonProvider::iterator:
Collaboration diagram for Slic3r::ClipperUtils::ExPolygonProvider::iterator:

Public Types

using value_type = Points
using difference_type = std::ptrdiff_t
using pointer = const Points*
using reference = const Points&
using iterator_category = std::input_iterator_tag

Public Member Functions

 iterator (const ExPolygon &expoly, int idx)
const Points & operator* () const
bool operator== (const iterator &rhs) const
bool operator!= (const iterator &rhs) const
const Points & operator++ (int)
iterator & operator++ ()

Private Attributes

const ExPolygon & m_expoly
int m_idx

Detailed Description

Member Typedef Documentation

◆ difference_type

◆ iterator_category

using Slic3r::ClipperUtils::PathsProviderIteratorBase::iterator_category = std::input_iterator_tag
inherited

◆ pointer

◆ reference

◆ value_type

Constructor & Destructor Documentation

◆ iterator()

Slic3r::ClipperUtils::ExPolygonProvider::iterator::iterator ( const ExPolygon & expoly,
int idx )
inlineexplicit
175: m_expoly(expoly), m_idx(idx) {}
int m_idx
Definition ClipperUtils.hpp:183
const ExPolygon & m_expoly
Definition ClipperUtils.hpp:182

References m_expoly, and m_idx.

Referenced by operator!=(), operator++(), and operator==().

Here is the caller graph for this function:

Member Function Documentation

◆ operator!=()

bool Slic3r::ClipperUtils::ExPolygonProvider::iterator::operator!= ( const iterator & rhs) const
inline
178{ return !(*this == rhs); }

References iterator().

Here is the call graph for this function:

◆ operator*()

const Points & Slic3r::ClipperUtils::ExPolygonProvider::iterator::operator* ( ) const
inline
176{ return (m_idx == 0) ? m_expoly.contour.points : m_expoly.holes[m_idx - 1].points; }

References m_expoly, and m_idx.

◆ operator++() [1/2]

iterator & Slic3r::ClipperUtils::ExPolygonProvider::iterator::operator++ ( )
inline
180{ ++ m_idx; return *this; }

References iterator(), and m_idx.

Here is the call graph for this function:

◆ operator++() [2/2]

const Points & Slic3r::ClipperUtils::ExPolygonProvider::iterator::operator++ ( int )
inline
179{ const Points &out = **this; ++ m_idx; return out; }
std::vector< Point, PointsAllocator< Point > > Points
Definition Point.hpp:73

References m_idx.

◆ operator==()

bool Slic3r::ClipperUtils::ExPolygonProvider::iterator::operator== ( const iterator & rhs) const
inline
177{ assert(m_expoly == rhs.m_expoly); return m_idx == rhs.m_idx; }

References iterator(), m_expoly, and m_idx.

Here is the call graph for this function:

Member Data Documentation

◆ m_expoly

const ExPolygon& Slic3r::ClipperUtils::ExPolygonProvider::iterator::m_expoly
private

Referenced by iterator(), operator*(), and operator==().

◆ m_idx

int Slic3r::ClipperUtils::ExPolygonProvider::iterator::m_idx
private

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