KiCad PCB EDA Suite
|
Base class for iterating over all segments in a given SHAPE_POLY_SET. More...
#include <shape_poly_set.h>
Public Member Functions | |
bool | IsLastPolygon () const |
operator bool () const | |
void | Advance () |
Advance the indices of the current vertex/outline/contour, checking whether the vertices in the holes have to be iterated through. | |
void | operator++ (int dummy) |
void | operator++ () |
T | Get () |
T | operator* () |
VERTEX_INDEX | GetIndex () const |
bool | IsAdjacent (SEGMENT_ITERATOR_TEMPLATE< T > aOther) const |
Private Attributes | |
SHAPE_POLY_SET * | m_poly |
int | m_currentPolygon |
int | m_currentContour |
int | m_currentSegment |
int | m_lastPolygon |
bool | m_iterateHoles |
Friends | |
class | SHAPE_POLY_SET |
Base class for iterating over all segments in a given SHAPE_POLY_SET.
Definition at line 366 of file shape_poly_set.h.
|
inline |
Advance the indices of the current vertex/outline/contour, checking whether the vertices in the holes have to be iterated through.
Definition at line 386 of file shape_poly_set.h.
References SHAPE_POLY_SET::CPolygon(), SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_currentContour, SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_currentPolygon, SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_currentSegment, SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_iterateHoles, and SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_poly.
Referenced by SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::operator++().
|
inline |
Definition at line 438 of file shape_poly_set.h.
References SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_currentContour, SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_currentPolygon, SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_currentSegment, SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_poly, and SHAPE_POLY_SET::Polygon().
Referenced by SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::operator*().
|
inline |
Definition at line 451 of file shape_poly_set.h.
References SHAPE_POLY_SET::VERTEX_INDEX::m_contour, SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_currentContour, SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_currentPolygon, SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_currentSegment, SHAPE_POLY_SET::VERTEX_INDEX::m_polygon, and SHAPE_POLY_SET::VERTEX_INDEX::m_vertex.
|
inline |
aOther | is an iterator pointing to another segment. |
Definition at line 467 of file shape_poly_set.h.
References std::abs(), SHAPE_POLY_SET::CPolygon(), SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_currentContour, SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_currentPolygon, SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_currentSegment, and SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_poly.
|
inline |
Definition at line 372 of file shape_poly_set.h.
References SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_currentPolygon, and SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_lastPolygon.
|
inline |
Definition at line 377 of file shape_poly_set.h.
References SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_currentPolygon, and SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::m_lastPolygon.
|
inline |
Definition at line 443 of file shape_poly_set.h.
References SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::Get().
|
inline |
Definition at line 433 of file shape_poly_set.h.
References SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::Advance().
|
inline |
Definition at line 428 of file shape_poly_set.h.
References SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::Advance().
|
friend |
Definition at line 491 of file shape_poly_set.h.
|
private |
Definition at line 495 of file shape_poly_set.h.
Referenced by SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::Advance(), SHAPE_POLY_SET::CIterateSegments(), SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::Get(), SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::GetIndex(), SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::IsAdjacent(), and SHAPE_POLY_SET::IterateSegments().
|
private |
Definition at line 494 of file shape_poly_set.h.
Referenced by SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::Advance(), SHAPE_POLY_SET::CIterateSegments(), SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::Get(), SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::GetIndex(), SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::IsAdjacent(), SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::IsLastPolygon(), SHAPE_POLY_SET::IterateSegments(), and SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::operator bool().
|
private |
Definition at line 496 of file shape_poly_set.h.
Referenced by SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::Advance(), SHAPE_POLY_SET::CIterateSegments(), SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::Get(), SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::GetIndex(), SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::IsAdjacent(), and SHAPE_POLY_SET::IterateSegments().
|
private |
Definition at line 498 of file shape_poly_set.h.
Referenced by SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::Advance(), SHAPE_POLY_SET::CIterateSegments(), and SHAPE_POLY_SET::IterateSegments().
|
private |
Definition at line 497 of file shape_poly_set.h.
Referenced by SHAPE_POLY_SET::CIterateSegments(), SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::IsLastPolygon(), SHAPE_POLY_SET::IterateSegments(), and SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::operator bool().
|
private |
Definition at line 493 of file shape_poly_set.h.
Referenced by SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::Advance(), SHAPE_POLY_SET::CIterateSegments(), SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::Get(), SHAPE_POLY_SET::SEGMENT_ITERATOR_TEMPLATE< T >::IsAdjacent(), and SHAPE_POLY_SET::IterateSegments().