The Point structure defines the x- and y-coordinates of a point. More...
Public Types | |
typedef T | Type |
Public Member Functions | |
Point () | |
template<typename TX , typename TY > | |
Point (TX tx, TY ty) | |
template<class TP , template< class > class TPoint> | |
Point (const TPoint< TP > &p) | |
template<class TS > | |
Point (const cv::Size_< TS > &size) | |
~Point () | |
template<class TP , template< class > class TPoint> | |
operator TPoint< TP > () const | |
template<typename TP > | |
Point & | operator= (const Point< TP > &p) |
template<typename TP > | |
Point & | operator+= (const Point< TP > &p) |
template<typename TP > | |
Point & | operator-= (const Point< TP > &p) |
template<typename TA > | |
Point & | operator*= (const TA &a) |
Point & | operator/= (double a) |
Point | operator<< (ptrdiff_t shift) const |
Point | operator>> (ptrdiff_t shift) const |
Data Fields | |
T | x |
Specifies the x-coordinate of a point. | |
T | y |
Specifies the y-coordinate of a point. | |
Detailed Description
template<typename T>
struct Simd::Point< T >
The Point structure defines the x- and y-coordinates of a point.
In order to have mutual conversion with OpenCV cv::Point and cv::Size types you have to define macro SIMD_OPENCV_ENABLE:
#include "opencv2/core/core.hpp" #define SIMD_OPENCV_ENABLE #include "Simd/SimdPoint.hpp" int main() { typedef Simd::Point<ptrdiff_t> Point; cv::Size cvSize; cv::Point cvPoint; Point simdPoint; simdPoint = cvPoint; simdPoint = cvSize; cvSize = simdPoint; cvPoint = simdPoint; return 0; }
Member Typedef Documentation
◆ Type
typedef T Type |
Type definition.
Constructor & Destructor Documentation
◆ Point() [1/4]
◆ Point() [2/4]
Point | ( | TX | tx, |
TY | ty | ||
) |
Creates a new Point structure that contains the specified coordinates.
- Parameters
-
[in] tx - initial X value. [in] ty - initial Y value.
◆ Point() [3/4]
Point | ( | const TPoint< TP > & | p | ) |
Creates a new Point structure on the base of another point of arbitrary type.
- Parameters
-
[in] p - a point of arbitrary type.
◆ Point() [4/4]
Point | ( | const cv::Size_< TS > & | size | ) |
Creates a new Point structure on the base of OpenCV size type.
- Note
- You have to define SIMD_OPENCV_ENABLE in order to use this functionality.
- Parameters
-
[in] size - an OpenCV size.
◆ ~Point()
SIMD_INLINE ~Point | ( | ) |
A point destructor.
Member Function Documentation
◆ operator TPoint< TP >()
operator TPoint< TP > | ( | ) | const |
Converts itself to point of arbitrary type.
- Returns
- a point of arbitrary type.
◆ operator=()
Performs copying from point of arbitrary type.
- Parameters
-
[in] p - a point of arbitrary type.
- Returns
- a reference to itself.
◆ operator+=()
Adds to itself point of arbitrary type.
- Parameters
-
[in] p - a point of arbitrary type.
- Returns
- a reference to itself.
◆ operator-=()
Subtracts from itself point of arbitrary type.
- Parameters
-
[in] p - a point of arbitrary type.
- Returns
- a reference to itself.
◆ operator*=()
Point& operator*= | ( | const TA & | a | ) |
Multiplies itself by value of arbitrary type.
- Parameters
-
[in] a - a factor of arbitrary type.
- Returns
- a reference to itself.
◆ operator/=()
SIMD_INLINE Point< T > & operator/= | ( | double | a | ) |
Divides itself into given value.
- Parameters
-
[in] a - a value of divider.
- Returns
- a reference to itself.
◆ operator<<()
SIMD_INLINE Point< T > operator<< | ( | ptrdiff_t | shift | ) | const |
Performs shift bit left for value of point coordinates.
- Note
- It function is actual for integer types of Point.
- Parameters
-
[in] shift - a shift value.
- Returns
- a new point with shifted coordinates.