template class cv::Point_
Overview
Template class for 2D points specified by its coordinates x
and y
. Moreā¦
#include <types.hpp> template <typename _Tp> class Point_ { public: // typedefs typedef _Tp value_type; // fields _Tp x; _Tp y; // construction Point_(); Point_( _Tp _x, _Tp _y ); Point_(const Point_& pt); Point_(const Size_<_Tp>& sz); Point_(const Vec<_Tp, 2>& v); // methods double cross(const Point_& pt) const; double ddot(const Point_& pt) const; _Tp dot(const Point_& pt) const; bool inside(const Rect_<_Tp>& r) const; template <typename _Tp2> operator Point_< _Tp2 >() const; operator Vec< _Tp, 2 >() const; Point_& operator=(const Point_& pt); };
Detailed Documentation
Template class for 2D points specified by its coordinates x
and y
.
An instance of the class is interchangeable with C structures, CvPoint and CvPoint2D32f. There is also a cast operator to convert point coordinates to the specified type. The conversion from floating-point coordinates to integer coordinates is done by rounding. Commonly, the conversion uses this operation for each of the coordinates. Besides the class members listed in the declaration above, the following operations on points are implemented:
pt1 = pt2 + pt3; pt1 = pt2 - pt3; pt1 = pt2 * a; pt1 = a * pt2; pt1 = pt2 / a; pt1 += pt2; pt1 -= pt2; pt1 *= a; pt1 /= a; double value = norm(pt); // L2 norm pt1 == pt2; pt1 != pt2;
For your convenience, the following type aliases are defined:
typedef Point_<int> Point2i; typedef Point2i Point; typedef Point_<float> Point2f; typedef Point_<double> Point2d;
Example:
Point2f a(0.3f, 0.f), b(0.f, 0.4f); Point pt = (a + b)*10.f; cout << pt.x << ", " << pt.y << endl;
Methods
double cross(const Point_& pt) const
cross-product
double ddot(const Point_& pt) const
dot product computed in double-precision arithmetics
_Tp dot(const Point_& pt) const
dot product
bool inside(const Rect_<_Tp>& r) const
checks whether the point is inside the specified rectangle
template <typename _Tp2> operator Point_< _Tp2 >() const
conversion to another data type
operator Vec< _Tp, 2 >() const
conversion to the old-style C structures