Fishnet 2.0.1
Framework for Graph-Based Analysis of GIS Vector Data
Loading...
Searching...
No Matches
fishnet::geometry::IPoint Concept Reference

Interface for a point. More...

#include <IPoint.hpp>

Concept definition

template<typename P>
const typename std::remove_cvref_t<P> & constPoint,
const __impl::PointStub<typename std::remove_cvref_t<P>::numeric_type> & otherPoint,
typename std::remove_cvref_t<P>::numeric_type number
){
{constPoint.getX()} -> std::convertible_to<typename std::remove_cvref_t<P>::numeric_type>;
{constPoint.getY()} -> std::convertible_to<typename std::remove_cvref_t<P>::numeric_type>;
{std::remove_cvref_t<P>(number, number)} -> std::same_as<std::remove_cvref_t<P>>;
{-constPoint} -> std::same_as<std::remove_cvref_t<P>>;
{constPoint + otherPoint} -> std::same_as<std::remove_cvref_t<P>>;
{constPoint - otherPoint} -> std::same_as<std::remove_cvref_t<P>>;
{constPoint * number} -> std::same_as<std::remove_cvref_t<P>>;
{constPoint / number} -> std::convertible_to<std::remove_cvref_t<P>>;
{constPoint.dot(otherPoint)} -> std::convertible_to<typename std::remove_cvref_t<P>::numeric_type>;
{constPoint.cross(otherPoint)} -> std::convertible_to<typename std::remove_cvref_t<P>::numeric_type>;
{constPoint.isParallel(otherPoint)} -> std::same_as<bool>;
{constPoint.isOrthogonal(otherPoint)} -> std::same_as<bool>;
{constPoint.length()} -> std::convertible_to<double>;
{constPoint.distance(otherPoint)} -> std::convertible_to<double>;
{constPoint.orthogonal()} -> std::same_as<std::remove_cvref_t<P>>;
{constPoint.normalize()} -> std::convertible_to<std::remove_cvref_t<P>>;
{constPoint.angle(otherPoint)} -> std::same_as<fishnet::math::Radians>;
{constPoint.angle(otherPoint, fishnet::math::Radians(0.0))} -> std::same_as<fishnet::math::Radians>;
}
Radians implementation of Angle.
Definition Radians.hpp:11
Definition GeometryBase.hpp:11
Interface for a point.
Definition IPoint.hpp:92

Detailed Description

Interface for a point.

Template Parameters
PPoint implementation type
Tnumeric type used for computations