IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Point3dOperators.h
Go to the documentation of this file.
1 // Point3dOperators.h:
3 // -------------------
4 //
14 
15 #ifndef __IPSDKGEOMETRY_POINT3DOPERATORS_H__
16 #define __IPSDKGEOMETRY_POINT3DOPERATORS_H__
17 
19 #include <IPSDKUtil/BaseTypes.h>
21 
22 namespace ipsdk {
23 namespace geom {
24 
25 template <typename T>
26 class Point3d;
27 template <typename T>
28 struct Point3dData;
29 class Vector3d;
30 
33 
37 template <typename TOut, typename TIn>
38 IPSDKGEOMETRY_API Point3d<TOut>
39 cast(const Point3d<TIn>& pt);
40 template <typename TOut, typename TIn>
41 IPSDKGEOMETRY_API Point3dData<TOut>
42 cast(const Point3dData<TIn>& pt);
43 
44 template <typename TOut, typename TIn>
45 IPSDKGEOMETRY_API Point3d<TOut>
46 round(const Point3d<TIn>& pt);
47 template <typename TOut, typename TIn>
48 IPSDKGEOMETRY_API Point3dData<TOut>
49 round(const Point3dData<TIn>& pt);
51 
55 template <typename T>
57 convert(const Point3d<T>& pt);
58 template <typename T>
60 convert(const Point3dData<T>& pt);
61 template <typename T>
63 convert(const Point3d<T>& pt,
64  Vector3d& vec);
65 template <typename T>
67 convert(const Point3dData<T>& pt,
68  Vector3d& vec);
69 template <typename T>
70 IPSDKGEOMETRY_API Point3dData<T>
71 convert(const Vector3d& vec);
72 template <typename T>
74 convert(const Vector3d& vec,
75  Point3d<T>& pt);
76 template <typename T>
78 convert(const Vector3d& vec,
79  Point3dData<T>& pt);
81 
86 template <typename T>
88 compare(const Point3d<T>& pt1, const Point3d<T>& pt2,
89  const T epsilon = NumericLimits<T>::s_sqrt_eps);
90 template <typename T>
92 compare(const Point3dData<T>& pt1, const Point3dData<T>& pt2,
93  const T epsilon = NumericLimits<T>::s_sqrt_eps);
95 
98 template <typename T>
100 operator== (const Point3d<T>& pt1, const Point3d<T>& pt2);
101 template <typename T>
103 operator!= (const Point3d<T>& pt1, const Point3d<T>& pt2);
104 template <typename T>
106 operator< (const Point3d<T>& pt1, const Point3d<T>& pt2);
107 template <typename T>
109 operator> (const Point3d<T>& pt1, const Point3d<T>& pt2);
110 template <typename T>
112 operator<= (const Point3d<T>& pt1, const Point3d<T>& pt2);
113 template <typename T>
115 operator>= (const Point3d<T>& pt1, const Point3d<T>& pt2);
116 
117 template <typename T>
119 operator== (const Point3dData<T>& pt1, const Point3dData<T>& pt2);
120 template <typename T>
122 operator!= (const Point3dData<T>& pt1, const Point3dData<T>& pt2);
123 template <typename T>
125 operator< (const Point3dData<T>& pt1, const Point3dData<T>& pt2);
126 template <typename T>
128 operator> (const Point3dData<T>& pt1, const Point3dData<T>& pt2);
129 template <typename T>
131 operator<= (const Point3dData<T>& pt1, const Point3dData<T>& pt2);
132 template <typename T>
134 operator>= (const Point3dData<T>& pt1, const Point3dData<T>& pt2);
136 
139 template <typename T>
140 IPSDKGEOMETRY_API Point3d<T>
141 operator*(const ipReal64 value, const Point3d<T>& pt);
142 template <typename T>
143 IPSDKGEOMETRY_API Point3dData<T>
144 operator*(const ipReal64 value, const Point3dData<T>& pt);
146 
149 template <typename T>
150 IPSDKGEOMETRY_API std::ostream&
151 operator<< (std::ostream& os, const Point3dData<T>& pt);
152 template <typename T>
153 IPSDKGEOMETRY_API std::ostream&
154 operator<< (std::ostream& os, const Point3d<T>& pt);
156 
159 
160 } // end of namespace geom
161 } // end of namespace ipsdk
162 
163 #endif // __IPSDKGEOMETRY_POINT3DOPERATORS_H__
IPSDKGEOMETRY_API bool compare(const BoundingBox2d< T > &boundingBox1, const BoundingBox2d< T > &boundingBox2, const T epsilon=ipsdk::NumericLimits< T >::sqrt_epsilon())
function allowing to compare bounding box
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
IPSDKGEOMETRY_API bool operator>=(const BoundingBox2d< T > &boundingBox1, const BoundingBox2d< T > &boundingBox2)
comparison operators for ipsdk::geom::BoundingBox2d class
IPSDKGEOMETRY_API Point2d< TOut > round(const Point2d< TIn > &pt)
conversion operators for ipsdk::geom::Point2d class
IPSDKGEOMETRY_API Point2d< T > operator*(const ipReal64 value, const Point2d< T > &pt)
arithmetic operators on point
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
IPSDKGEOMETRY_API bool operator>(const BoundingBox2d< T > &boundingBox1, const BoundingBox2d< T > &boundingBox2)
comparison operators for ipsdk::geom::BoundingBox2d class
IPSDKGEOMETRY_API bool operator!=(const BoundingBox2d< T > &boundingBox1, const BoundingBox2d< T > &boundingBox2)
comparison operators for ipsdk::geom::BoundingBox2d class
Definition of import/export macro for library.
Base types for multiplatform compatibility.
#define IPSDKGEOMETRY_API
Import/Export macro for library IPSDKGeometry.
Definition: IPSDKGeometryExports.h:25
IPSDKGEOMETRY_API Vector2d convert(const Point2d< T > &pt)
conversion operator for ipsdk::geom::Point2d and ipsdk::geom::Vector2d convertion ...
IPSDKGEOMETRY_API bool operator==(const BoundingBox2d< T > &boundingBox1, const BoundingBox2d< T > &boundingBox2)
comparison operators for ipsdk::geom::BoundingBox2d class
boost::numeric::ublas::bounded_vector< ipReal64, 3 > Vector3d
3d vector type associated to library
Definition: LinearAlgebraTypes.h:42
IPSDKGEOMETRY_API Point2d< TOut > cast(const Point2d< TIn > &pt)
conversion operators for ipsdk::geom::Point2d class