Skip to content

Commit

Permalink
Adding element-wise division operators to Point3_ class.
Browse files Browse the repository at this point in the history
  • Loading branch information
mrollins committed Sep 22, 2014
1 parent fb9bbf9 commit f32a6fb
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions modules/core/include/opencv2/core/types.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1235,6 +1235,33 @@ Point3_<_Tp>& operator *= (Point3_<_Tp>& a, double b)
return a;
}

template<typename _Tp> static inline
Point3_<_Tp>& operator /= (Point3_<_Tp>& a, int b)
{
a.x = saturate_cast<_Tp>(a.x / b);
a.y = saturate_cast<_Tp>(a.y / b);
a.z = saturate_cast<_Tp>(a.z / b);
return a;
}

template<typename _Tp> static inline
Point3_<_Tp>& operator /= (Point3_<_Tp>& a, float b)
{
a.x = saturate_cast<_Tp>(a.x / b);
a.y = saturate_cast<_Tp>(a.y / b);
a.z = saturate_cast<_Tp>(a.z / b);
return a;
}

template<typename _Tp> static inline
Point3_<_Tp>& operator /= (Point3_<_Tp>& a, double b)
{
a.x = saturate_cast<_Tp>(a.x / b);
a.y = saturate_cast<_Tp>(a.y / b);
a.z = saturate_cast<_Tp>(a.z / b);
return a;
}

template<typename _Tp> static inline
double norm(const Point3_<_Tp>& pt)
{
Expand Down Expand Up @@ -1320,6 +1347,30 @@ Matx<_Tp, 4, 1> operator * (const Matx<_Tp, 4, 4>& a, const Point3_<_Tp>& b)
return a * Matx<_Tp, 4, 1>(b.x, b.y, b.z, 1);
}

template<typename _Tp> static inline
Point3_<_Tp> operator / (const Point3_<_Tp>& a, int b)
{
Point3_<_Tp> tmp(a);
tmp /= b;
return tmp;
}

template<typename _Tp> static inline
Point3_<_Tp> operator / (const Point3_<_Tp>& a, float b)
{
Point3_<_Tp> tmp(a);
tmp /= b;
return tmp;
}

template<typename _Tp> static inline
Point3_<_Tp> operator / (const Point3_<_Tp>& a, double b)
{
Point3_<_Tp> tmp(a);
tmp /= b;
return tmp;
}



////////////////////////////////// Size /////////////////////////////////
Expand Down

0 comments on commit f32a6fb

Please sign in to comment.