Recti 1.2.4
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
rpolygon.hpp File Reference

Rectilinear polygon (RPolygon) template class. More...

#include <cstddef>
#include <iterator>
#include <span>
#include <vector>
#include "point.hpp"
Include dependency graph for rpolygon.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  recti::RPolygonVertexIterator< T >
 Rectilinear Polygon. More...
 
class  recti::RPolygon< T >
 

Namespaces

namespace  recti
 

Functions

template<typename FwIter , typename KeyFn , typename CmpFn >
auto recti::create_mono_rpolygon (FwIter &&first, FwIter &&last, const KeyFn &dir, const CmpFn &cmp) -> bool
 Create a x-monotone rectilinear polygon (RPolygon) object.
 
template<typename FwIter >
auto recti::create_xmono_rpolygon (FwIter &&first, FwIter &&last) -> bool
 Create a x-monotone rectilinear polygon (RPolygon) object.
 
template<typename FwIter >
auto recti::create_ymono_rpolygon (FwIter &&first, FwIter &&last) -> bool
 Create a y-monotone rectilinear polygon (RPolygon) object.
 
template<typename FwIter >
void recti::create_test_rpolygon_old (FwIter &&first, FwIter &&last)
 Create a test rectilinear polygon (RPolygon) object.
 
template<typename FwIter >
auto recti::create_test_rpolygon (FwIter first, FwIter last) -> std::vector< typename std::iterator_traits< FwIter >::value_type >
 Create a test rectilinear polygon (RPolygon) object.
 
template<typename T >
auto recti::rpolygon_is_xmonotone (std::span< const Point< T > > pointset) -> bool
 Check if a polygon is x-monotone.
 
template<typename T >
auto recti::rpolygon_is_ymonotone (std::span< const Point< T > > pointset) -> bool
 Check if a polygon is y-monotone.
 
template<typename T >
auto recti::rpolygon_is_convex (std::span< const Point< T > > pointset) -> bool
 Check if a polygon is convex.
 
template<typename T >
auto recti::point_in_rpolygon (std::span< const Point< T > > pointset, const Point< T > &query_point) -> bool
 Determine if a point is within a rectilinear polygon.
 
template<typename T >
auto recti::rpolygon_is_anticlockwise (std::span< const Point< T > > pointset) -> bool
 Determine if a rectilinear polygon is oriented clockwise.
 

Detailed Description

Rectilinear polygon (RPolygon) template class.