IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
LeastSquareLine2dMsrResults.h
1 // LeastSquareLine2dMsrResults.h:
3 // ------------------------------
4 //
15 
16 #ifndef __IPSDKIPLSHAPEANALYSIS_LEASTSQUARELINE2DMSRRESULTS_H__
17 #define __IPSDKIPLSHAPEANALYSIS_LEASTSQUARELINE2DMSRRESULTS_H__
18 
19 // suppression warnings
20 // warning C4251: 'ipsdk::imaproc::shape::analysis::LeastSquareLine2dMsrResults::_coll' : class 'std::vector<ipsdk::imaproc::shape::analysis::LeastSquareLine2dMsrResults::CollType,std::allocator<_Ty>>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::shape::analysis::LeastSquareLine2dMsrResults'
21 #pragma warning (push)
22 #pragma warning (disable : 4251)
23 
25 #include <IPSDKBaseShapeAnalysis/Measure/Result/BaseCustomMeasureResult.h>
26 #include <IPSDKGeometry/Entity/2d/Line/Line2d.h>
27 #include <IPSDKMath/Estimation/EstimationResults.h>
28 
29 namespace ipsdk {
30 namespace imaproc {
31 namespace shape {
32 namespace analysis {
33 
36 
38 {
39  // declare serial class
41 
42 // predefined public type
43 public:
45  typedef std::pair<ipsdk::geom::Line2d, ipsdk::math::EstimationResults> ValueType;
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 (push)
109 
110 #endif // __IPSDKIPLSHAPEANALYSIS_LEASTSQUARELINE2DMSRRESULTS_H__
#define IPSDK_DECLARE_SERIAL_WITH_COPY(libraryName, className)
uint64_t ipUInt64
std::vector< ipUInt64 > UInt64Vector
std::vector< ValueType > CollType
collection type associated to object
Definition: LeastSquareLine2dMsrResults.h:48
Measurement results object for measure LeastSquareLine2d.
Definition: LeastSquareLine2dMsrResults.h:37
Definition of import/export macro for library.
std::vector< CollType > ColorCollType
color (by color plan) collection type associated to object
Definition: LeastSquareLine2dMsrResults.h:51
ColorCollType _coll
result collection associated to object
Definition: LeastSquareLine2dMsrResults.h:97
#define IPSDKIPLSHAPEANALYSIS_API
Import/Export macro for library IPSDKIPLShapeAnalysis.
Definition: IPSDKIPLShapeAnalysisExports.h:25
std::pair< ipsdk::geom::Line2d, ipsdk::math::EstimationResults > ValueType
measure type associated to object
Definition: LeastSquareLine2dMsrResults.h:45