Recti 1.2.4
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
recti::RPolygonVertexIterator< T > Class Template Reference

Rectilinear Polygon. More...

#include <rpolygon.hpp>

Public Types

using iterator_category = std::forward_iterator_tag
 
using value_type = Point< T >
 
using difference_type = std::ptrdiff_t
 
using pointer = const value_type *
 
using reference = value_type
 

Public Member Functions

constexpr RPolygonVertexIterator (const Point< T > *origin, const Vector2< T > *vecs_begin, std::size_t idx)
 
constexpr auto operator* () const -> value_type
 
constexpr auto operator++ () -> RPolygonVertexIterator &
 
constexpr auto operator== (const RPolygonVertexIterator &other) const -> bool
 
constexpr auto operator!= (const RPolygonVertexIterator &other) const -> bool
 

Detailed Description

template<typename T>
class recti::RPolygonVertexIterator< T >

Rectilinear Polygon.

RPolygon is a class template that represents a rectilinear polygon. It stores the origin point and a vector of edges that define the polygon. The template parameter T specifies the type of the coordinates of the points.

+-----------------------------+
+-----------------------------+
| _origin: Point<T> |
| _vecs: vector<Vector2<T>> |
| |
| +----+ |
| | | | A rectilinear polygon class
| +---+ | | with origin point and
| | | | | vectors defining the polygon
| | +----+ | edges. Supports various
| | | geometric operations
| +------------------------+
| vertices() |
| signed_area() |
+-----------------------------+
Point.
Definition point.hpp:30
Definition rpolygon.hpp:86
Template Parameters
T

Forward iterator for RPolygon vertices.

Lazily computes vertices from origin + vectors on dereference, avoiding the heap allocation of vertices().

Member Typedef Documentation

◆ difference_type

template<typename T >
using recti::RPolygonVertexIterator< T >::difference_type = std::ptrdiff_t

◆ iterator_category

template<typename T >
using recti::RPolygonVertexIterator< T >::iterator_category = std::forward_iterator_tag

◆ pointer

template<typename T >
using recti::RPolygonVertexIterator< T >::pointer = const value_type*

◆ reference

template<typename T >
using recti::RPolygonVertexIterator< T >::reference = value_type

◆ value_type

template<typename T >
using recti::RPolygonVertexIterator< T >::value_type = Point<T>

Constructor & Destructor Documentation

◆ RPolygonVertexIterator()

template<typename T >
constexpr recti::RPolygonVertexIterator< T >::RPolygonVertexIterator ( const Point< T > *  origin,
const Vector2< T > *  vecs_begin,
std::size_t  idx 
)
inlineconstexpr

Member Function Documentation

◆ operator!=()

template<typename T >
constexpr auto recti::RPolygonVertexIterator< T >::operator!= ( const RPolygonVertexIterator< T > &  other) const -> bool
inlineconstexpr

◆ operator*()

template<typename T >
constexpr auto recti::RPolygonVertexIterator< T >::operator* ( ) const -> value_type
inlineconstexpr

◆ operator++()

template<typename T >
constexpr auto recti::RPolygonVertexIterator< T >::operator++ ( ) -> RPolygonVertexIterator&
inlineconstexpr

◆ operator==()

template<typename T >
constexpr auto recti::RPolygonVertexIterator< T >::operator== ( const RPolygonVertexIterator< T > &  other) const -> bool
inlineconstexpr

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