|
Fishnet 2.0.1
Framework for Graph-Based Analysis of GIS Vector Data
|
Implementation of a segment. More...
#include <Segment.hpp>

Public Types | |
| using | numeric_type = T |
Public Member Functions | |
| constexpr | Segment (Vec2D< T > p, Vec2D< T > q) |
| template<fishnet::math::Number U, typename = std::enable_if_t<!std::is_same_v<U,T> && std::is_same_v<T,fishnet::math::DEFAULT_NUMERIC>>> | |
| constexpr | Segment (Vec2D< T > p, Vec2D< U > q) |
| template<fishnet::math::Number U, typename = std::enable_if_t<!std::is_same_v<U,T> && std::is_same_v<T,fishnet::math::DEFAULT_NUMERIC>>> | |
| constexpr | Segment (Vec2D< U > p, Vec2D< T > q) |
| constexpr const Vec2D< T > & | p () const noexcept |
| constexpr const Vec2D< T > & | q () const noexcept |
| constexpr Segment< T > | flip () const noexcept |
| constexpr Vec2D< T > | direction () const noexcept |
| constexpr const Vec2D< T > & | upperEndpoint () const noexcept |
| constexpr const Vec2D< T > & | lowerEndpoint () const noexcept |
| constexpr const Vec2D< T > & | leftEndpoint () const noexcept |
| constexpr const Vec2D< T > & | rightEndpoint () const noexcept |
| constexpr bool | isEndpoint (IPoint auto const &point) const noexcept |
| constexpr fishnet::math::DEFAULT_FLOATING_POINT | length () const noexcept |
| constexpr bool | isValid () const noexcept |
| constexpr Line< T > | toLine () const noexcept |
| constexpr bool | isParallel (LinearGeometry auto const &other) const noexcept |
| constexpr bool | intersects (LinearGeometry auto const &other) const noexcept |
| constexpr bool | overlaps (ISegment auto const &other) const noexcept |
| Two Segments have an Overlay if the are contained on the same line: -> the Segments must be parallel and at least share on point. | |
| constexpr bool | contains (ISegment auto const &other) const noexcept |
| constexpr bool | touches (ISegment auto const &other) const noexcept |
| Two Segments touch each other when one endpoint is equal and neither Segment is fully contained in the other one. | |
| template<fishnet::math::Number U> | |
| constexpr bool | operator== (const Segment< U > &other) const noexcept |
| constexpr bool | contains (IPoint auto const &point) const noexcept |
| constexpr fishnet::math::DEFAULT_FLOATING_POINT | distance (IPoint auto const &point) const noexcept |
| constexpr fishnet::math::DEFAULT_FLOATING_POINT | distance (ISegment auto const &other) const noexcept |
| constexpr fishnet::Option< Vec2DReal > | intersection (LinearGeometry auto const &other) const noexcept |
| constexpr size_t | hash () const noexcept |
| constexpr std::string | toString () const noexcept |
Static Public Attributes | |
| static constexpr GeometryType | type = GeometryType::SEGMENT |
Implementation of a segment.
| T | numeric type used for computations |
| using fishnet::geometry::Segment< T >::numeric_type = T |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
Two Segments have an Overlay if the are contained on the same line: -> the Segments must be parallel and at least share on point.
| U |
| other |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
Two Segments touch each other when one endpoint is equal and neither Segment is fully contained in the other one.
| U |
| other |
|
inlineconstexprnoexcept |
|
staticconstexpr |