IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
NearestNeighborsMsrResults.h
1 // NearestNeighborsMsrResults.h:
3 // -----------------------------
4 //
15 
16 #ifndef __IPSDKIPLSHAPEANALYSIS_NEARESTNEIGHBORSMSRRESULTS_H__
17 #define __IPSDKIPLSHAPEANALYSIS_NEARESTNEIGHBORSMSRRESULTS_H__
18 
19 // suppression warnings
20 // warning C4251: 'ipsdk::imaproc::shape::analysis::NearestNeighborsMsrResults::_coll' : class 'std::vector<ipsdk::imaproc::shape::analysis::NearestNeighborsMsrResults::CollType,std::allocator<_Ty>>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::shape::analysis::NearestNeighborsMsrResults'
21 #pragma warning (push)
22 #pragma warning (disable : 4251)
23 
25 #include <IPSDKBaseShapeAnalysis/Measure/Result/BaseCustomMeasureResult.h>
26 
27 namespace ipsdk {
28 namespace imaproc {
29 namespace shape {
30 namespace analysis {
31 
34 
36 {
37  // declare serial class
39 
40 // predefined public type
41 public:
44  typedef std::pair<ipUInt64, ipReal64> ShapeInfo;
45 
47  typedef std::vector<ShapeInfo> ValueType;
48 
50  typedef std::vector<ValueType> CollType;
51 
53  typedef std::vector<CollType> ColorCollType;
54 
55 public:
61 
62 // methods
63 public:
68  const CollType& getColl(const ipsdk::ipUInt64 cPlanIdx = 0) const;
69  CollType& getColl(const ipsdk::ipUInt64 cPlanIdx = 0);
71 
72 protected:
74  void initDerived(const ipsdk::ipUInt64 nbColorPlans,
75  const ipsdk::ipUInt64 nbEntities);
76 
79  void collectResultsDerived(const ipsdk::ipUInt64 resultStartIndex,
80  const ipsdk::shape::analysis::BaseMeasureResult& baseSubResults);
81  void collectResultsDerived(const ipsdk::UInt64Vector& subDataIdxColl,
82  const ipsdk::shape::analysis::BaseMeasureResult& baseSubResults);
84 
87  void extractResultsDerived(const ipsdk::ipUInt64 resultStartIndex,
88  const ipsdk::shape::analysis::BaseMeasureResult& baseMainResults);
89  void extractResultsDerived(const ipsdk::UInt64Vector& mainDataIdxColl,
90  const ipsdk::shape::analysis::BaseMeasureResult& baseMainResults);
92 
94  void clearDerived();
95 
96 // attributes
97 protected:
100 };
101 
104 
105 } // end of namespace analysis
106 } // end of namespace shape
107 } // end of namespace imaproc
108 } // end of namespace ipsdk
109 
110 #pragma warning (push)
111 
112 #endif // __IPSDKIPLSHAPEANALYSIS_NEARESTNEIGHBORSMSRRESULTS_H__
#define IPSDK_DECLARE_SERIAL_WITH_COPY(libraryName, className)
uint64_t ipUInt64
std::vector< ipUInt64 > UInt64Vector
std::vector< ShapeInfo > ValueType
measure type associated to object
Definition: NearestNeighborsMsrResults.h:47
Definition of import/export macro for library.
std::vector< ValueType > CollType
collection type associated to object
Definition: NearestNeighborsMsrResults.h:50
Measurement results object for measure NearestNeighbors.
Definition: NearestNeighborsMsrResults.h:35
std::pair< ipUInt64, ipReal64 > ShapeInfo
Definition: NearestNeighborsMsrResults.h:44
ColorCollType _coll
result collection associated to object
Definition: NearestNeighborsMsrResults.h:99
#define IPSDKIPLSHAPEANALYSIS_API
Import/Export macro for library IPSDKIPLShapeAnalysis.
Definition: IPSDKIPLShapeAnalysisExports.h:25
std::vector< CollType > ColorCollType
color (by color plan) collection type associated to object
Definition: NearestNeighborsMsrResults.h:53