IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Ellipse2d.h
Go to the documentation of this file.
1 // Ellipse2d.h:
3 // ------------
4 //
14 
15 #ifndef __IPSDKMATH_ELLIPSE2D_H__
16 #define __IPSDKMATH_ELLIPSE2D_H__
17 
19 #include <IPSDKUtil/BaseTypes.h>
20 
21 namespace ipsdk {
22 namespace math {
23 
26 
45 IPSDKMATH_API bool
46 convertEllipseFromQuadratic(const ipReal64 a11, const ipReal64 a12, const ipReal64 a22,
47  const ipReal64 b1, const ipReal64 b2, const ipReal64 c,
48  ipReal64& cx, ipReal64& cy, ipReal64& theta,
49  ipReal64& a, ipReal64& b);
50 
70 IPSDKMATH_API bool
71 convertEllipseToQuadratic(const ipReal64 cx, const ipReal64 cy, const ipReal64 theta,
72  const ipReal64 a, const ipReal64 b,
73  ipReal64& a11, ipReal64& a12, ipReal64& a22,
74  ipReal64& b1, ipReal64& b2, ipReal64& c);
75 
83 
94 
99 ellipseArea(const ipReal64 a, const ipReal64 b);
100 
107 ellipseExcentricity(const ipReal64 a, const ipReal64 b);
108 
112 IPSDKMATH_API bool
113 equivalentEllipse(const ipReal64 perimeter, const ipReal64 area,
114  ipReal64& a, ipReal64& b);
115 
120 ellipseRadius(const ipReal64 a, const ipReal64 b,
121  const ipReal64 phi);
122 
127 ellipseRadius(const ipReal64 a, const ipReal64 b, const ipReal64 ellipseOrient,
128  const ipReal64 theta);
129 
131 IPSDKMATH_API void
132 ellipsePoint(const ipReal64 xc, const ipReal64 yc,
133  const ipReal64 a, const ipReal64 b,
134  const ipReal64 ellipseOrient,
135  const ipReal64 theta,
136  ipReal64& ptX, ipReal64& ptY);
137 
140 
141 } // end of namespace math
142 } // end of namespace ipsdk
143 
144 #endif // __IPSDKMATH_ELLIPSE2D_H__
Definition of import/export macro for library.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
IPSDKMATH_API ipReal64 ellipseRadius(const ipReal64 a, const ipReal64 b, const ipReal64 phi)
function allowing to compute axis aligned ellipse &#39;radius&#39; for a given angle phi
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
IPSDKMATH_API bool convertEllipseFromQuadratic(const ipReal64 a11, const ipReal64 a12, const ipReal64 a22, const ipReal64 b1, const ipReal64 b2, const ipReal64 c, ipReal64 &cx, ipReal64 &cy, ipReal64 &theta, ipReal64 &a, ipReal64 &b)
function allowing to convert from quadratic to standard representation of ellipse ...
Base types for multiplatform compatibility.
IPSDKMATH_API ipReal64 ellipsePerimeterUpperBound(const ipReal64 a, const ipReal64 b)
function allowing to compute upper bound value for an ellipse perimeter
#define IPSDKMATH_API
Import/Export macro for library IPSDKMath.
Definition: IPSDKMathExports.h:27
IPSDKMATH_API bool equivalentEllipse(const ipReal64 perimeter, const ipReal64 area, ipReal64 &a, ipReal64 &b)
function allowing to compute equivalent ellipse for a given perimeter and area
IPSDKMATH_API bool convertEllipseToQuadratic(const ipReal64 cx, const ipReal64 cy, const ipReal64 theta, const ipReal64 a, const ipReal64 b, ipReal64 &a11, ipReal64 &a12, ipReal64 &a22, ipReal64 &b1, ipReal64 &b2, ipReal64 &c)
function allowing to convert from standard to quadratic representation of ellipse ...
IPSDKMATH_API ipReal64 ellipseExcentricity(const ipReal64 a, const ipReal64 b)
function allowing to compute ellipse excentricity
IPSDKMATH_API ipReal64 ellipseArea(const ipReal64 a, const ipReal64 b)
function allowing to compute ellipse area
IPSDKMATH_API void ellipsePoint(const ipReal64 xc, const ipReal64 yc, const ipReal64 a, const ipReal64 b, const ipReal64 ellipseOrient, const ipReal64 theta, ipReal64 &ptX, ipReal64 &ptY)
function allowing to compute ellipse boundary point for a given angle
IPSDKMATH_API ipReal64 ellipsePerimeterLowerBound(const ipReal64 a, const ipReal64 b)
function allowing to compute lower bound value for an ellipse perimeter