Fishnet 2.0.1
Framework for Graph-Based Analysis of GIS Vector Data
Loading...
Searching...
No Matches
fishnet::geometry::BoundingBoxWrapper< T, ShapeProjection > Class Template Reference

Wrapper for Polygon objects, which stores a (custom) bounding box. More...

#include <BoundingBoxWrapper.hpp>

Public Types

using element_type = T
 
using geometry_type = std::invoke_result_t< ShapeProjection, T >
 

Public Member Functions

 BoundingBoxWrapper (const T &element)
 Construct a new Bounding Box Polygon object, with default axis-aligned bounding box.
 
 BoundingBoxWrapper (const T &element, const Rectangle< fishnet::math::DEFAULT_NUMERIC > &boundingBox)
 Construct a new Bounding Box Polygon object, with custom bounding box rectangle.
 
const Rectangle< fishnet::math::DEFAULT_NUMERIC > & getBoundingBox () const noexcept
 
auto getPolygon () const noexcept
 
const T & getElement () const noexcept
 

Detailed Description

template<typename T, class ShapeProjection = std::identity>
requires fishnet::geometry::Shape<std::invoke_result_t<ShapeProjection,T>>
class fishnet::geometry::BoundingBoxWrapper< T, ShapeProjection >

Wrapper for Polygon objects, which stores a (custom) bounding box.

Template Parameters
Ppolygon type

Member Typedef Documentation

◆ element_type

template<typename T , class ShapeProjection = std::identity>
using fishnet::geometry::BoundingBoxWrapper< T, ShapeProjection >::element_type = T

◆ geometry_type

template<typename T , class ShapeProjection = std::identity>
using fishnet::geometry::BoundingBoxWrapper< T, ShapeProjection >::geometry_type = std::invoke_result_t<ShapeProjection,T>

Constructor & Destructor Documentation

◆ BoundingBoxWrapper() [1/2]

template<typename T , class ShapeProjection = std::identity>
fishnet::geometry::BoundingBoxWrapper< T, ShapeProjection >::BoundingBoxWrapper ( const T &  element)
inline

Construct a new Bounding Box Polygon object, with default axis-aligned bounding box.

Parameters
element

◆ BoundingBoxWrapper() [2/2]

template<typename T , class ShapeProjection = std::identity>
fishnet::geometry::BoundingBoxWrapper< T, ShapeProjection >::BoundingBoxWrapper ( const T &  element,
const Rectangle< fishnet::math::DEFAULT_NUMERIC > &  boundingBox 
)
inline

Construct a new Bounding Box Polygon object, with custom bounding box rectangle.

Parameters
polygon
boundingBox

Member Function Documentation

◆ getBoundingBox()

template<typename T , class ShapeProjection = std::identity>
const Rectangle< fishnet::math::DEFAULT_NUMERIC > & fishnet::geometry::BoundingBoxWrapper< T, ShapeProjection >::getBoundingBox ( ) const
inlinenoexcept

◆ getElement()

template<typename T , class ShapeProjection = std::identity>
const T & fishnet::geometry::BoundingBoxWrapper< T, ShapeProjection >::getElement ( ) const
inlinenoexcept

◆ getPolygon()

template<typename T , class ShapeProjection = std::identity>
auto fishnet::geometry::BoundingBoxWrapper< T, ShapeProjection >::getPolygon ( ) const
inlinenoexcept

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