| OpenCV 3.4.1 Open Source Computer Vision

Public Types | Public Member Functions | Public Attributes | List of all members
cv::Point3_< _Tp > Class Template Reference
Core functionality » Basic structures

Template class for 3D points specified by its coordinates `x`, `y` and `z`. More...

`#include "types.hpp"`

## Public Types
typedef _Tp | value_type

## Public Member Functions
| Point3_ ()
| default constructor More...
| Point3_ (_Tp _x, _Tp _y, _Tp _z)
| Point3_ (const Point3_ &pt)
| Point3_ (const Point_< _Tp > &pt)
| Point3_ (const Vec< _Tp, 3 > &v)
Point3_ | cross (const Point3_ &pt) const
| cross product of the 2 3D points More...
double | ddot (const Point3_ &pt) const
| dot product computed in double-precision arithmetics More...
_Tp | dot (const Point3_ &pt) const
| dot product More...
template<typename _Tp2 >
| operator Point3_< _Tp2 > () const
| conversion to another data type More...
| operator Vec< _Tp, 3 > () const
| conversion to cv::Vec<> More...
Point3_ & | operator= (const Point3_ &pt)

## Public Attributes
_Tp | x
| x coordinate of the 3D point More...
_Tp | y
| y coordinate of the 3D point More...
_Tp | z
| z coordinate of the 3D point More...

## Detailed Description

### template<typename _Tp>
class cv::Point3_< _Tp >

Template class for 3D points specified by its coordinates `x`, `y` and `z`.

An instance of the class is interchangeable with the C structure CvPoint2D32f . Similarly to Point_ , the coordinates of 3D points can be converted to another type. The vector arithmetic and comparison operations are also supported.

The following Point3_<> aliases are available:

typedef Point3_<int> Point3i;
typedef Point3_<float> Point3f;
typedef Point3_<double> Point3d;

See also
  cv::Point3i, cv::Point3f and cv::Point3d

Examples:
  cout_mat.cpp, decompose_homography.cpp, homography_from_camera_displacement.cpp, and pose_from_homography.cpp.

## Member Typedef Documentation

## § value_type

template<typename _Tp>

typedef _Tp cv::Point3_< _Tp >::value_type

## Constructor & Destructor Documentation

## § Point3_() [1/5]

template<typename _Tp>

cv::Point3_< _Tp >::Point3_ | ( |  | ) |

default constructor

## § Point3_() [2/5]

template<typename _Tp>

cv::Point3_< _Tp >::Point3_ | ( | _Tp | _x,
|  | _Tp | _y,
|  | _Tp | _z
| ) |  |

## § Point3_() [3/5]

template<typename _Tp>

cv::Point3_< _Tp >::Point3_ | ( | const Point3_< _Tp > & | pt | ) |

## § Point3_() [4/5]

template<typename _Tp>

cv::Point3_< _Tp >::Point3_ | ( | const Point_< _Tp > & | pt | ) |
| explicit

## § Point3_() [5/5]

template<typename _Tp>

cv::Point3_< _Tp >::Point3_ | ( | const Vec< _Tp, 3 > & | v | ) |

## Member Function Documentation

## § cross()

template<typename _Tp>

Point3_ cv::Point3_< _Tp >::cross | ( | const Point3_< _Tp > & | pt | ) | const

cross product of the 2 3D points

## § ddot()

template<typename _Tp>

double cv::Point3_< _Tp >::ddot | ( | const Point3_< _Tp > & | pt | ) | const

dot product computed in double-precision arithmetics

## § dot()

template<typename _Tp>

_Tp cv::Point3_< _Tp >::dot | ( | const Point3_< _Tp > & | pt | ) | const

dot product

## § operator Point3_< _Tp2 >()

template<typename _Tp>
template<typename _Tp2 >

cv::Point3_< _Tp >::operator Point3_< _Tp2 > | ( |  | ) | const

conversion to another data type

## § operator Vec< _Tp, 3 >()

template<typename _Tp>

cv::Point3_< _Tp >::operator Vec< _Tp, 3 > | ( |  | ) | const

conversion to cv::Vec<>

## § operator=()

template<typename _Tp>

Point3_& cv::Point3_< _Tp >::operator= | ( | const Point3_< _Tp > & | pt | ) |

## Member Data Documentation

## § x

template<typename _Tp>

_Tp cv::Point3_< _Tp >::x

x coordinate of the 3D point

## § y

template<typename _Tp>

_Tp cv::Point3_< _Tp >::y

y coordinate of the 3D point

## § z

template<typename _Tp>

_Tp cv::Point3_< _Tp >::z

z coordinate of the 3D point

The documentation for this class was generated from the following file:

- core/include/opencv2/core/types.hpp