OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::MutablePolygon::iterator Class Reference

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

Collaboration diagram for Slic3r::MutablePolygon::iterator:

Public Member Functions

bool operator== (const iterator &rhs) const
bool operator!= (const iterator &rhs) const
iterator & operator-- ()
iterator operator-- (int)
iterator & operator++ ()
iterator operator++ (int)
iterator prev () const
iterator next () const
bool valid () const
PointType & operator* () const
PointType * operator-> () const
MutablePolygon & polygon () const
IndexType size () const
iterator & remove ()
iterator insert (const PointType pt) const

Private Member Functions

 iterator (MutablePolygon *data, IndexType idx)

Private Attributes

MutablePolygon * m_data
IndexType m_idx

Friends

class MutablePolygon
class range

Detailed Description

Constructor & Destructor Documentation

◆ iterator()

Slic3r::MutablePolygon::iterator::iterator ( MutablePolygon * data,
IndexType idx )
inlineprivate
66: m_data(data), m_idx(idx) {}
IndexType m_idx
Definition MutablePolygon.hpp:69
MutablePolygon * m_data
Definition MutablePolygon.hpp:68

References m_data, m_idx, and MutablePolygon.

Referenced by insert(), next(), operator!=(), operator++(), operator++(), operator--(), operator--(), operator==(), prev(), and remove().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ insert()

iterator Slic3r::MutablePolygon::iterator::insert ( const PointType pt) const
inline
64{ return m_data->insert(*this, pt); }

References iterator(), and m_data.

Here is the call graph for this function:

◆ next()

iterator Slic3r::MutablePolygon::iterator::next ( ) const
inline
57{ assert(this->valid()); return { m_data, m_data->at(m_idx).next }; }
bool valid() const
Definition MutablePolygon.hpp:58

References iterator(), m_data, m_idx, and valid().

Referenced by Slic3r::clip_narrow_corner(), and Slic3r::smooth_outward().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator!=()

bool Slic3r::MutablePolygon::iterator::operator!= ( const iterator & rhs) const
inline
51{ return !(*this == rhs); }

References iterator().

Here is the call graph for this function:

◆ operator*()

PointType & Slic3r::MutablePolygon::iterator::operator* ( ) const
inline
59{ return m_data->at(m_idx).point; }

References m_data, and m_idx.

◆ operator++() [1/2]

iterator & Slic3r::MutablePolygon::iterator::operator++ ( )
inline
54{ assert(this->valid()); m_idx = m_data->at(m_idx).next; return *this; }

References iterator(), m_data, m_idx, and valid().

Here is the call graph for this function:

◆ operator++() [2/2]

iterator Slic3r::MutablePolygon::iterator::operator++ ( int )
inline
55{ iterator result(*this); ++(*this); return result; }
iterator(MutablePolygon *data, IndexType idx)
Definition MutablePolygon.hpp:66

References iterator().

Here is the call graph for this function:

◆ operator--() [1/2]

iterator & Slic3r::MutablePolygon::iterator::operator-- ( )
inline
52{ assert(this->valid()); m_idx = m_data->at(m_idx).prev; return *this; }

References iterator(), m_data, m_idx, and valid().

Here is the call graph for this function:

◆ operator--() [2/2]

iterator Slic3r::MutablePolygon::iterator::operator-- ( int )
inline
53{ iterator result(*this); --(*this); return result; }

References iterator().

Here is the call graph for this function:

◆ operator->()

PointType * Slic3r::MutablePolygon::iterator::operator-> ( ) const
inline
60{ return &m_data->at(m_idx).point; }

References m_data, and m_idx.

◆ operator==()

bool Slic3r::MutablePolygon::iterator::operator== ( const iterator & rhs) const
inline
50{ assert(m_data == rhs.m_data); assert(this->valid()); return m_idx == rhs.m_idx; }

References iterator(), m_data, m_idx, and valid().

Here is the call graph for this function:

◆ polygon()

MutablePolygon & Slic3r::MutablePolygon::iterator::polygon ( ) const
inline
61{ assert(this->valid()); return *m_data; }

References m_data, MutablePolygon, and valid().

Referenced by Slic3r::clip_narrow_corner().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ prev()

iterator Slic3r::MutablePolygon::iterator::prev ( ) const
inline
56{ assert(this->valid()); return { m_data, m_data->at(m_idx).prev }; }

References iterator(), m_data, m_idx, and valid().

Referenced by Slic3r::clip_narrow_corner(), and Slic3r::smooth_outward().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ remove()

iterator & Slic3r::MutablePolygon::iterator::remove ( )
inline
63{ m_idx = m_data->remove(*this).m_idx; return *this; }

References iterator(), m_data, and m_idx.

Referenced by Slic3r::MutablePolygon::range::remove_back(), and Slic3r::MutablePolygon::range::remove_front().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ size()

IndexType Slic3r::MutablePolygon::iterator::size ( ) const
inline
62{ assert(this->valid()); return m_data->size(); }

References m_data, and valid().

Here is the call graph for this function:

◆ valid()

bool Slic3r::MutablePolygon::iterator::valid ( ) const
inline
58{ return m_idx >= 0; }

References m_idx.

Referenced by next(), operator++(), operator--(), operator==(), polygon(), prev(), and size().

Here is the caller graph for this function:

◆ MutablePolygon

friend class MutablePolygon
friend

References MutablePolygon.

Referenced by iterator(), MutablePolygon, and polygon().

◆ range

friend class range
friend

References range.

Referenced by range.

Member Data Documentation

◆ m_data

◆ m_idx


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