|
|
@ -231,7 +231,11 @@ public: |
|
|
|
//! conversion to another data type
|
|
|
|
//! conversion to another data type
|
|
|
|
template<typename _Tp2> operator Point3_<_Tp2>() const; |
|
|
|
template<typename _Tp2> operator Point3_<_Tp2>() const; |
|
|
|
//! conversion to cv::Vec<>
|
|
|
|
//! conversion to cv::Vec<>
|
|
|
|
|
|
|
|
#if OPENCV_ABI_COMPATIBILITY > 300 |
|
|
|
|
|
|
|
template<typename _Tp2> operator Vec<_Tp2, 3>() const; |
|
|
|
|
|
|
|
#else |
|
|
|
operator Vec<_Tp, 3>() const; |
|
|
|
operator Vec<_Tp, 3>() const; |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
//! dot product
|
|
|
|
//! dot product
|
|
|
|
_Tp dot(const Point3_& pt) const; |
|
|
|
_Tp dot(const Point3_& pt) const; |
|
|
@ -1326,11 +1330,19 @@ Point3_<_Tp>::operator Point3_<_Tp2>() const |
|
|
|
return Point3_<_Tp2>(saturate_cast<_Tp2>(x), saturate_cast<_Tp2>(y), saturate_cast<_Tp2>(z)); |
|
|
|
return Point3_<_Tp2>(saturate_cast<_Tp2>(x), saturate_cast<_Tp2>(y), saturate_cast<_Tp2>(z)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if OPENCV_ABI_COMPATIBILITY > 300 |
|
|
|
|
|
|
|
template<typename _Tp> template<typename _Tp2> inline |
|
|
|
|
|
|
|
Point3_<_Tp>::operator Vec<_Tp2, 3>() const |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
return Vec<_Tp2, 3>(x, y, z); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
#else |
|
|
|
template<typename _Tp> inline |
|
|
|
template<typename _Tp> inline |
|
|
|
Point3_<_Tp>::operator Vec<_Tp, 3>() const |
|
|
|
Point3_<_Tp>::operator Vec<_Tp, 3>() const |
|
|
|
{ |
|
|
|
{ |
|
|
|
return Vec<_Tp, 3>(x, y, z); |
|
|
|
return Vec<_Tp, 3>(x, y, z); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
template<typename _Tp> inline |
|
|
|
template<typename _Tp> inline |
|
|
|
Point3_<_Tp>& Point3_<_Tp>::operator = (const Point3_& pt) |
|
|
|
Point3_<_Tp>& Point3_<_Tp>::operator = (const Point3_& pt) |
|
|
|