IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Ellipsoid3d.h
Go to the documentation of this file.
1 // Ellipsoid3d.h:
3 // --------------
4 //
14 
15 #ifndef __IPSDKMATH_ELLIPSOID3D_H__
16 #define __IPSDKMATH_ELLIPSOID3D_H__
17 
19 #include <IPSDKUtil/BaseTypes.h>
21 
22 namespace ipsdk {
23 namespace math {
24 
27 
51 IPSDKMATH_API bool
52 convertEllipsoidFromQuadratic(const ipReal64 a11, const ipReal64 a12, const ipReal64 a13,
53  const ipReal64 a22, const ipReal64 a23, const ipReal64 a33,
54  const ipReal64 b1, const ipReal64 b2, const ipReal64 b3,
55  const ipReal64 c0,
56  ipReal64& cx, ipReal64& cy, ipReal64& cz,
57  ipReal64& chi, ipReal64& beta, ipReal64& alpha,
58  ipReal64& a, ipReal64& b, ipReal64& c);
59 
82 IPSDKMATH_API bool
83 convertEllipsoidToQuadratic(const ipReal64 cx, const ipReal64 cy, const ipReal64 cz,
84  const ipReal64 chi, const ipReal64 beta, const ipReal64 alpha,
85  const ipReal64 a, const ipReal64 b, const ipReal64 c,
86  ipReal64& a11, ipReal64& a12, ipReal64& a13,
87  ipReal64& a22, ipReal64& a23, ipReal64& a33,
88  ipReal64& b1, ipReal64& b2, ipReal64& b3,
89  ipReal64& c0);
90 
97 ellipsoidArea(const ipReal64 a, const ipReal64 b, const ipReal64 c);
98 
103 ellipsoidVolume(const ipReal64 a, const ipReal64 b, const ipReal64 c);
104 
111 ellipsoidExcentricity(const ipReal64 a, const ipReal64 b, const ipReal64 c);
112 
117 ellipsoidRadius(const ipReal64 a, const ipReal64 b, const ipReal64 c,
118  const ipReal64 theta, const ipReal64 phi);
119 
124 ellipsoidRadius(const ipReal64 a, const ipReal64 b, const ipReal64 c,
125  const Matrix3d& matRot,
126  const ipReal64 theta, const ipReal64 phi);
127 
130 IPSDKMATH_API void
131 ellipsoidPoint(const ipReal64 xc, const ipReal64 yc, const ipReal64 zc,
132  const ipReal64 a, const ipReal64 b, const ipReal64 c,
133  const Matrix3d& matRot,
134  const ipReal64 theta, const ipReal64 phi,
135  ipReal64& ptX, ipReal64& ptY, ipReal64& ptZ);
136 
139 
140 } // end of namespace math
141 } // end of namespace ipsdk
142 
143 #endif // __IPSDKMATH_ELLIPSOID3D_H__
Definition of import/export macro for library.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
IPSDKMATH_API bool convertEllipsoidFromQuadratic(const ipReal64 a11, const ipReal64 a12, const ipReal64 a13, const ipReal64 a22, const ipReal64 a23, const ipReal64 a33, const ipReal64 b1, const ipReal64 b2, const ipReal64 b3, const ipReal64 c0, ipReal64 &cx, ipReal64 &cy, ipReal64 &cz, ipReal64 &chi, ipReal64 &beta, ipReal64 &alpha, ipReal64 &a, ipReal64 &b, ipReal64 &c)
function allowing to convert from quadratic to standard representation of ellipsoid ...
IPSDKMATH_API ipReal64 ellipsoidVolume(const ipReal64 a, const ipReal64 b, const ipReal64 c)
function allowing to compute ellipsoid volume
Basic linear algebra functions.
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
Base types for multiplatform compatibility.
#define IPSDKMATH_API
Import/Export macro for library IPSDKMath.
Definition: IPSDKMathExports.h:27
IPSDKMATH_API ipReal64 ellipsoidRadius(const ipReal64 a, const ipReal64 b, const ipReal64 c, const ipReal64 theta, const ipReal64 phi)
function allowing to compute axis aligned ellipsoid &#39;radius&#39; for a given orientation (see Points and ...
IPSDKMATH_API bool convertEllipsoidToQuadratic(const ipReal64 cx, const ipReal64 cy, const ipReal64 cz, const ipReal64 chi, const ipReal64 beta, const ipReal64 alpha, const ipReal64 a, const ipReal64 b, const ipReal64 c, ipReal64 &a11, ipReal64 &a12, ipReal64 &a13, ipReal64 &a22, ipReal64 &a23, ipReal64 &a33, ipReal64 &b1, ipReal64 &b2, ipReal64 &b3, ipReal64 &c0)
function allowing to convert from standard to quadratic representation of ellipsoid ...
IPSDKMATH_API ipReal64 ellipsoidExcentricity(const ipReal64 a, const ipReal64 b, const ipReal64 c)
function allowing to compute ellipsoid excentricity
boost::numeric::ublas::bounded_matrix< ipReal64, 3, 3 > Matrix3d
3d matrix (3x3) type associated to library
Definition: LinearAlgebraTypes.h:54
IPSDKMATH_API void ellipsoidPoint(const ipReal64 xc, const ipReal64 yc, const ipReal64 zc, const ipReal64 a, const ipReal64 b, const ipReal64 c, const Matrix3d &matRot, const ipReal64 theta, const ipReal64 phi, ipReal64 &ptX, ipReal64 &ptY, ipReal64 &ptZ)
function allowing to compute ellipsoid boundary point for a given angle
IPSDKMATH_API ipReal64 ellipsoidArea(const ipReal64 a, const ipReal64 b, const ipReal64 c)
function allowing to compute ellipsoid area