|
| constexpr HOMOG2D_INUMTYPE | area () const |
| | Neither lines nor points have an area. More...
|
| |
| template<typename FPT2 > |
| HOMOG2D_INUMTYPE | distTo (const Point2d_< FPT2 > &pt) const |
| | overload for line to point distance More...
|
| |
| template<typename FPT2 > |
| HOMOG2D_INUMTYPE | distTo (const Line2d_< FPT2 > &) const |
| |
| template<typename FPT2 > |
| HOMOG2D_INUMTYPE | distTo (const Segment_< FPT2 > &) const |
| |
| void | draw (img::Image< img::SvgImage > &im, img::DrawParams dp=img::DrawParams()) const |
| | SVG draw function. More...
|
| |
| void | draw (img::Image< cv::Mat > &im, img::DrawParams dp=img::DrawParams()) const |
| | Opencv draw function. More...
|
| |
| std::array< FPT, 3 > | get () const |
| |
| template<typename T , typename FPT2 > |
| HOMOG2D_INUMTYPE | getAngle (const LPBase< T, FPT2 > &other) const |
| |
| template<typename T , typename FPT2 > |
| HOMOG2D_INUMTYPE | getAngle (const base::SegVec< T, FPT2 > &seg) const |
| | Returns angle in rad. between line and segment seg. More...
|
| |
| template<typename LP2 , typename FPT2 > |
| HOMOG2D_INUMTYPE | getAngle (const LPBase< LP2, FPT2 > &li) const |
| | Returns the angle (in rad.) between the line and the other one. More...
|
| |
| FRect_< HOMOG2D_INUMTYPE > | getBB () const |
| | Needed so the function getBB(T1,T2) builds, whatever the types and because of variant (. More...
|
| |
| template<typename FPT2 > |
| HOMOG2D_INUMTYPE | getCoord (GivenCoord gc, FPT2 other) const |
| |
| cv::Point2i | getCvPtd () const |
| |
| cv::Point2i | getCvPtf () const |
| |
| cv::Point2i | getCvPti () const |
| |
| template<typename FPT2 > |
| Line2d_< FPT > | getOrthogLine (GivenCoord gc, FPT2 other) const |
| | Returns an orthogonal line to the one it is called on, at a point on the line defined by one of its coordinates. More...
|
| |
| template<typename FPT2 > |
| Line2d_< FPT > | getOrthogLine (const Point2d_< FPT2 > &pt) const |
| | Returns an orthogonal line to the one it is called on, at point pt. More...
|
| |
| template<typename FPT2 > |
| OSegment_< FPT > | getOrthogSegment (const Point2d_< FPT2 > &pt) const |
| | Returns the segment from the point (not on line) to the line, shortest path. More...
|
| |
| template<typename FPT2 > |
| Line2d_< FPT > | getParallelLine (const Point2d_< FPT2 > &) const |
| | Returns an parallel line to the one it is called on, with pt lying on it. More...
|
| |
| template<typename T > |
| std::pair< Line2d_< FPT >, Line2d_< FPT > > | getParallelLines (T dist) const |
| | Returns the pair of parallel lines at a distance dist from line. More...
|
| |
| template<typename FPT2 > |
| Point2d_< FPT > | getPoint (GivenCoord gc, FPT2 other) const |
| |
| template<typename FPT2 , typename FPT3 > |
| PointPair_< FPT > | getPoints (GivenCoord gc, FPT2 coord, FPT3 dist) const |
| | Returns a pair of points that are lying on line at distance dist from a point defined by one of its coordinates. More...
|
| |
| template<typename FPT2 , typename FPT3 > |
| PointPair_< FPT > | getPoints (const Point2d_< FPT2 > &pt, FPT3 dist) const |
| | Returns a pair of points that are lying on line at distance dist from point pt, assuming that one is lying on the line. More...
|
| |
| template<typename ANY > |
| ANY | getPt () const |
| | Generic transformation into any other point type, as long as it provides a 2-args constructor (is the case for Opencv and Boost Geometry). More...
|
| |
| template<typename FPT2 , typename T > |
| Line2d_< FPT > | getRotatedLine (const Point2d_< FPT2 > &pt, T theta) const |
| | Returns a line rotated at point pt with angle theta. More...
|
| |
| HOMOG2D_INUMTYPE | getX () const |
| |
| HOMOG2D_INUMTYPE | getY () const |
| |
| template<typename FPT2 > |
| detail::Intersect< detail::Inters_1, FPT > | intersects (const Line2d_< FPT2 > &other) const |
| | Line/Line intersection. More...
|
| |
| template<typename FPT2 > |
| detail::IntersectM< FPT > | intersects (const Point2d_< FPT2 > &pt1, const Point2d_< FPT2 > &pt2) const |
| | Line/FRect intersection (rectangle defined by pt1 and pt2) More...
|
| |
| template<typename FPT2 > |
| detail::IntersectM< FPT > | intersects (const FRect_< FPT2 > &rect) const |
| | Line/FRect intersection. More...
|
| |
| template<typename FPT2 > |
| detail::Intersect< detail::Inters_1, FPT > | intersects (const Segment_< FPT2 > &seg) const |
| | Line/Segment intersection. More...
|
| |
| template<typename T , typename std::enable_if<(std::is_arithmetic< T >::value &&!std::is_same< T, bool >::value), T >::type * = nullptr> |
| detail::Intersect< detail::Inters_2, FPT > | intersects (const Point2d_< FPT > &pt0, T radius) const |
| | Line/Circle intersection. More...
|
| |
| template<typename T > |
| detail::Intersect< detail::Inters_2, FPT > | intersects (const Circle_< T > &cir) const |
| | Line/Circle intersection. More...
|
| |
| template<typename PLT , typename FPT2 > |
| detail::IntersectM< FPT > | intersects (const base::PolylineBase< PLT, FPT2 > &pl) const |
| | Line/Polyline intersection. More...
|
| |
| bool | isInf () const |
| | Returns true if point is at infinity (third value less than thr::nullDenom() ) More...
|
| |
| template<typename T1 , typename T2 > |
| bool | isInside (const Point2d_< T1 > &pt1, const Point2d_< T2 > &pt2) const |
| | Point is inside flat rectangle. More...
|
| |
| template<typename FPT2 > |
| bool | isInside (const FRect_< FPT2 > &rect) const |
| | Point is inside FRect. More...
|
| |
| template<typename T , typename std::enable_if< !std::is_same_v< T, Point2d_< FPT >>, T >::type * = nullptr> |
| bool | isInside (const Point2d_< FPT > ¢er, T radius) const |
| | Point is inside circle defined by center and radius. More...
|
| |
| template<typename T > |
| bool | isInside (const Circle_< T > &cir) const |
| | Point is inside Circle. More...
|
| |
| template<typename FPT2 > |
| bool | isInside (const Ellipse_< FPT2 > &ell) const |
| | Point is inside Ellipse. More...
|
| |
| template<typename FPT2 , typename PTYPE > |
| bool | isInside (const base::PolylineBase< PTYPE, FPT2 > &poly) const |
| |
| template<typename FPT2 > |
| bool | isParallelTo (const Line2d_< FPT2 > &) const |
| |
| template<typename T > |
| bool | isParallelTo (const Segment_< T > &seg) const |
| |
| HOMOG2D_INUMTYPE | length () const |
| | A point has a null length, a line has an infinite length. More...
|
| |
| template<typename FPT2 > |
| | LPBase (const Line2d_< FPT2 > &v1, const Line2d_< FPT2 > &v2) |
| | Constructor: build a point from two lines. More...
|
| |
| template<typename FPT2 > |
| | LPBase (const Point2d_< FPT2 > &v1, const Point2d_< FPT2 > &v2) |
| | Constructor: build a line from two points. More...
|
| |
| template<typename T > |
| | LPBase (const Line2d_< T > &li) |
| | Constructor: copy-constructor for lines. More...
|
| |
| template<typename T > |
| | LPBase (const Point2d_< T > &pt) |
| | Constructor with single arg of type "Point". More...
|
| |
| template<typename T1 , typename T2 > |
| | LPBase (const T1 &v1, const T2 &v2) |
| | Constructor: build from two numerical values, depends on the type. More...
|
| |
| template<typename T0 , typename T1 , typename T2 > |
| | LPBase (T0 v0, T1 v1, T2 v2) |
| | Constructor of line/point from 3 values. More...
|
| |
| template<typename T1 , typename T2 , typename T3 , typename T4 > |
| | LPBase (T1 x1, T2 y1, T3 x2, T4 y2) |
| | Constructor of line from 4 values x1,y1,x2,y2. More...
|
| |
| template<typename T , typename std::enable_if< std::is_same< T, std::array< FPT, 3 >>::value, T >::type * = nullptr> |
| | LPBase (const T &arr) |
| | Constructor from an array holding 3 values of same type (a direct copy can be done) More...
|
| |
| template<typename T > |
| | LPBase (const T &arr) |
| | Constructor from an array/vector holding 3 values of different type. More...
|
| |
| | LPBase () |
| | Default constructor, depends on the type. More...
|
| |
| template<typename T > |
| | LPBase (LineDir orient, T value) |
| | Constructor of horizontal/vertical line. More...
|
| |
| template<typename BFPT > |
| | LPBase (const boost::geometry::model::point< BFPT, 2, boost::geometry::cs::cartesian > &pt) |
| | Constructor from boost::geometry point type. More...
|
| |
| template<typename BFPT > |
| | LPBase (const boost::geometry::model::d2::point_xy< BFPT > &pt) |
| | Constructor from boost::geometry second point type. More...
|
| |
| template<typename T > |
| | LPBase (cv::Point_< T > pt) |
| | Constructor: build point or line from a single OpenCv point. More...
|
| |
| template<typename T1 > |
| void | moveTo (const Point2d_< T1 > &pt) |
| | Move point to other location (same as set(), but this one will be virtual). Does nothing for lines => NO, FAILS TO BUILD ! More...
|
| |
| bool | operator!= (const base::LPBase< LP, FPT > &other) const |
| |
| bool | operator< (const base::LPBase< LP, FPT > &other) const |
| | Sorting operator, for points (illegal for lines) More...
|
| |
| bool | operator== (const base::LPBase< LP, FPT > &other) const |
| |
| template<typename T0 , typename T1 , typename T2 > |
| void | set (T0 v0, T1 v1, T2 v2) |
| | Assign homogeneous values. More...
|
| |
| template<typename BFPT > |
| void | set (const boost::geometry::model::point< BFPT, 2, boost::geometry::cs::cartesian > &pt) |
| | Set from boost::geometry point type. More...
|
| |
| template<typename T1 , typename T2 > |
| void | set (T1 x, T2 y) |
| | Set point from 2 euclidean values. More...
|
| |
| size_t | size () const |
| |
| template<typename T1 , typename T2 > |
| void | translate (T1 dx, T2 dy) |
| | Translate Point2d, does nothing for Line2d. More...
|
| |
| template<typename T1 , typename T2 > |
| void | translate (const std::pair< T1, T2 > &pa) |
| | Translate Point2d, does nothing for Line2d. More...
|
| |
| Type | type () const |
| |
| std::pair< int, int > | dsize () const |
| | Get data size expressed as number of bits for, respectively, mantissa and exponent. More...
|
| |
| Dtype | dtype () const |
| | Get numerical data type as a Dtype value, can be stringified with h2d::getString(Dtype) More...
|
| |
| template<typename T > |
| constexpr bool | isInside (const Common< T > &) const |
| | This function is a fallback for all sub-classes that do not provide such a method. More...
|
| |
| size_t | size () const |
| |
| virtual | ~Root () |
| |