IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
SymmetricMatrix.h
1 // SymmetricMatrix.h:
3 // ---------
4 //
14 
15 #ifndef __IPSDKGEOMETRY_SYMMETRICMATRIX_H__
16 #define __IPSDKGEOMETRY_SYMMETRICMATRIX_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::geom::Mesh3d<T>::_mesh3dType': class 'ipsdk::geom::eMesh3dType' needs to have dll-interface to be used by clients of class 'ipsdk::geom::Mesh3d<T>'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
23 #include <IPSDKGeometry/Entity/3d/BaseTypedGeometryEntity3d.h>
24 #include <IPSDKGeometry/Entity/3d/Mesh/TriMesh3d.h>
25 
27 #include <IPSDKGeometry/Entity/3d/Triangle/Triangle3d.h>
29 #include <boost/tuple/tuple.hpp>
30 #include <IPSDKGeometry/Entity/3d/BoundingBox/BoundingBox3d.h>
31 #include <IPSDKGeometry/Transform/3d/BaseGeometryTransform3d.h>
32 
33 #include <iostream>
34 #include <string.h>
35 #include <stdio.h>
36 #include <stdlib.h>
37 #include <vector>
38 #include <utility>
39 #include <string>
40 #include <math.h>
41 #include <stdint.h>
42 
43 namespace ipsdk {
44 namespace geom {
45 
46 
49 
50 //template <typename T>
52 {
53 
54 
55 public:
58  /*SymetricMatrix();*/
59  ~SymmetricMatrix();
60 
62 
64  ipReal64 m22, ipReal64 m23, ipReal64 m24, ipReal64 m33,
65  ipReal64 m34, ipReal64 m44);
66 
69 
70 // methods
71 public:
72  ipReal64 operator[](const ipUInt32 c) const;
73 
74  ipReal64 det(ipUInt32 a11, ipUInt32 a12, ipUInt32 a13,
75  ipUInt32 a21, ipUInt32 a22, ipUInt32 a23,
76  ipUInt32 a31, ipUInt32 a32, ipUInt32 a33);
77 
78  const SymmetricMatrix operator+(const SymmetricMatrix& pt) const;
79  SymmetricMatrix& operator+=(const SymmetricMatrix& n);
80 
81  void clear();
82 
83 // attributes
84 protected:
85 
86  ipReal64 _matrix[10];
87 
88 
89 };
90 
93 
96 
97 } // end of namespace geom
98 } // end of namespace ipsdk
99 
100 //#pragma warning (pop)
101 
102 #endif // __IPSDKGEOMETRY_SYMMETRICMATRIX_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
#define IPSDKGEOMETRY_API
Import/Export macro for library IPSDKGeometry.
Definition: IPSDKGeometryExports.h:25
IPSDK_FORCEINLINE ipReal64 det(const ipReal64 a11, const ipReal64 a12, const ipReal64 a21, const ipReal64 a22)
computation of a 2x2 matrix determinant
Definition: BasicLinearAlgebra.h:30
Header files allowing to gather iterators and circulators framework for mesh 3d objects.
Closed mesh associated to a triangulated boundary.
Definition: SymmetricMatrix.h:51
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53