![]() |
Pangolin
Header-only C++20 plane computational geometry library
|
#include "shape/halfplaneintersection.hpp"#include <algorithm>#include <cassert>#include <compare>#include <concepts>#include <cstddef>#include <iterator>#include <optional>#include <ostream>#include <ranges>#include <type_traits>#include <utility>#include <variant>#include <vector>Go to the source code of this file.
Classes | |
| struct | pgl::PolygonWithHoles< PointType_, TLabel > |
| Closed region bounded by one outer simple polygon minus disjoint polygonal holes. More... | |
| class | pgl::PolygonWithHoles< PointType_, TLabel >::VertexIterator |
| Forward iterator flattening the region's rings into one vertex sequence: the outer boundary, then each hole in canonical order. More... | |
Namespaces | |
| namespace | pgl |
Functions | |
| pgl::PolygonWithHoles () -> PolygonWithHoles< Point<>, NoLabel > | |
| template<PolygonConcept OuterPolygon> | |
| pgl::PolygonWithHoles (OuterPolygon &&) -> PolygonWithHoles< typename std::remove_cvref_t< OuterPolygon >::PointType, NoLabel > | |
| template<PolygonConcept OuterPolygon> | |
| pgl::PolygonWithHoles (OuterPolygon &&, bool) -> PolygonWithHoles< typename std::remove_cvref_t< OuterPolygon >::PointType, NoLabel > | |
| template<PolygonConcept OuterPolygon, std::ranges::input_range HoleRange> requires detail::is_polygon_v<std::ranges::range_value_t<HoleRange>> | |
| pgl::PolygonWithHoles (OuterPolygon &&, HoleRange &&) -> PolygonWithHoles< typename std::remove_cvref_t< OuterPolygon >::PointType, NoLabel > | |
| template<PolygonConcept OuterPolygon, std::ranges::input_range HoleRange> requires detail::is_polygon_v<std::ranges::range_value_t<HoleRange>> | |
| pgl::PolygonWithHoles (OuterPolygon &&, HoleRange &&, bool) -> PolygonWithHoles< typename std::remove_cvref_t< OuterPolygon >::PointType, NoLabel > | |
| template<class PointType, class LabelType, class TranslationNumber, class TranslationLabel> | |
| constexpr auto | pgl::operator- (const PolygonWithHoles< PointType, LabelType > ®ion, const Point< TranslationNumber, TranslationLabel > &translation) |
| Returns a copy of a region translated by the opposite point. | |
| template<class PointType, class LabelType, class Scalar> requires (!detail::is_point_v<Scalar> && !TransformationConcept<Scalar>) | |
| constexpr auto | pgl::operator* (const PolygonWithHoles< PointType, LabelType > ®ion, const Scalar &scalar) |
| template<class Scalar, class PointType, class LabelType> requires (!detail::is_point_v<Scalar> && !TransformationConcept<Scalar>) | |
| constexpr auto | pgl::operator* (const Scalar &scalar, const PolygonWithHoles< PointType, LabelType > ®ion) |
| template<class PointType, class LabelType, class Scalar> requires (!detail::is_point_v<Scalar> && !TransformationConcept<Scalar>) | |
| constexpr auto | pgl::operator/ (const PolygonWithHoles< PointType, LabelType > ®ion, const Scalar &scalar) |
| template<class PointType, class LabelType> | |
| std::ostream & | pgl::operator<< (std::ostream &stream, const PolygonWithHoles< PointType, LabelType > ®ion) |
| Streams a region as PolygonWithHoles[outer,holes...]. | |