IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Inertia3dMsrResults.h
1 // Inertia3dMsrResults.h:
3 // ----------------------
4 //
15 
16 #ifndef __IPSDKIPLSHAPEANALYSIS_INERTIA3DMSRRESULTS_H__
17 #define __IPSDKIPLSHAPEANALYSIS_INERTIA3DMSRRESULTS_H__
18 
19 // suppression warning
20 // warning C4251: 'ipsdk::imaproc::shape::analysis::Inertia3dMsrResults::_coll': class 'std::vector<ipsdk::imaproc::shape::analysis::Inertia3dMsrResults::CollType,std::allocator<_Ty>>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::shape::analysis::Inertia3dMsrResults'
21 #pragma warning (push)
22 #pragma warning (disable : 4251)
23 
25 #include <IPSDKIPL/IPSDKIPLShapeAnalysis/Measure/Geometry/Inertia/Inertia3d/Inertia3dData.h>
26 #include <IPSDKBaseShapeAnalysis/Measure/Result/BaseCustomMeasureResult.h>
27 
28 namespace ipsdk {
29 namespace imaproc {
30 namespace shape {
31 namespace analysis {
32 
35 
37 {
38  // declare serial class
40 
41 // predefined public type
42 public:
43 
46 
48  typedef std::vector<ValueType> CollType;
49 
51  typedef std::vector<CollType> ColorCollType;
52 
53 public:
59 
60 // methods
61 public:
66  const CollType& getColl(const ipsdk::ipUInt64 cPlanIdx = 0) const;
67  CollType& getColl(const ipsdk::ipUInt64 cPlanIdx = 0);
69 
70 protected:
72  void initDerived(const ipsdk::ipUInt64 nbColorPlans,
73  const ipsdk::ipUInt64 nbEntities);
74 
77  void collectResultsDerived(const ipsdk::ipUInt64 resultStartIndex,
78  const ipsdk::shape::analysis::BaseMeasureResult& baseSubResults);
79  void collectResultsDerived(const ipsdk::UInt64Vector& subDataIdxColl,
80  const ipsdk::shape::analysis::BaseMeasureResult& baseSubResults);
82 
85  void extractResultsDerived(const ipsdk::ipUInt64 resultStartIndex,
86  const ipsdk::shape::analysis::BaseMeasureResult& baseMainResults);
87  void extractResultsDerived(const ipsdk::UInt64Vector& mainDataIdxColl,
88  const ipsdk::shape::analysis::BaseMeasureResult& baseMainResults);
90 
92  void clearDerived();
93 
94 // attributes
95 protected:
98 };
99 
102 
103 } // end of namespace analysis
104 } // end of namespace shape
105 } // end of namespace imaproc
106 } // end of namespace ipsdk
107 
108 #pragma warning (pop)
109 
110 #endif // __IPSDKIPLSHAPEANALYSIS_INERTIA3DMSRRESULTS_H__
#define IPSDK_DECLARE_SERIAL_WITH_COPY(libraryName, className)
uint64_t ipUInt64
std::vector< ipUInt64 > UInt64Vector
ColorCollType _coll
result collection associated to object
Definition: Inertia3dMsrResults.h:97
Definition of import/export macro for library.
std::vector< ValueType > CollType
collection type associated to object
Definition: Inertia3dMsrResults.h:48
Measurement results object for measure Inertia3d.
Definition: Inertia3dMsrResults.h:36
class used to store data associated to inertia 3D matrix
Definition: Inertia3dData.h:29
Inertia3dData ValueType
measure type associated to object
Definition: Inertia3dMsrResults.h:45
std::vector< CollType > ColorCollType
color (by color plan) collection type associated to object
Definition: Inertia3dMsrResults.h:51
#define IPSDKIPLSHAPEANALYSIS_API
Import/Export macro for library IPSDKIPLShapeAnalysis.
Definition: IPSDKIPLShapeAnalysisExports.h:25