15 #ifndef __IPSDKBASESHAPEANALYSIS_BASEMEASUREINFO_H__ 16 #define __IPSDKBASESHAPEANALYSIS_BASEMEASUREINFO_H__ 20 #pragma warning (push) 21 #pragma warning (disable : 4251) 25 #include <IPSDKBaseData/ToolTip/BaseToolTip.h> 27 #include <IPSDKSerialization/Engine/BaseSerializationObject.h> 28 #include <IPSDKUtil/Tools/ProcessingResult.h> 29 #include <boost/enable_shared_from_this.hpp> 30 #include <boost/optional.hpp> 41 public boost::enable_shared_from_this<BaseMeasureInfo>
60 virtual const std::string& getDefaultName()
const = 0;
70 const std::string& getMeasureName()
const;
75 bool is2dMode()
const;
101 inline bool requiresRowIntersections()
const;
104 inline bool requiresBoundaryApproximation()
const;
124 std::string getMsrUnitStr()
const;
141 bool hasDefaultConfig()
const;
157 bool hasDefaultParams()
const;
182 bool dependsOnNamedMsr(
const std::string& dependencyName)
const;
188 bool dependsOn(
const std::string& dependencyDefaultName)
const;
194 bool dependsOn(
const std::string& dependencyDefaultName,
208 DataItemConstPtr getDependencyParams(
const std::string& dependencyName)
const;
224 virtual MeasurePtr createMeasureDerived()
const = 0;
230 virtual void initDerived() = 0;
237 virtual void createDependencies(
const bool b2dMsrMode) = 0;
246 void addDependency(
const std::string& dependencyDefaultName);
255 void addDependency(
const std::string& dependencyName,
256 const std::string& dependencyDefaultName,
264 void addNamedMsrDependency(
const std::string& dependencyName);
275 BoolResult init(
const std::string& measureName,
276 const bool b2dMsrMode,
284 std::string _measureName;
309 return _measureName.empty() ==
false;
335 #pragma warning (pop) 337 #endif // __IPSDKBASESHAPEANALYSIS_BASEMEASUREINFO_H__ Predefined types for geometric calibration management.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
virtual void createCustomDependencies(const bool b2dMsrMode)
method allowing to retrieve custom dependencies informations
Definition: BaseMeasureInfo.h:240
boost::shared_ptr< BaseMeasure > MeasurePtr
shared pointer to shape measure object
Definition: MeasureTypes.h:65
boost::shared_ptr< const MeasureConfig > MeasureConfigConstPtr
shared pointer to const MeasureConfig object
Definition: MeasureConfigTypes.h:89
boost::shared_ptr< const BaseDataItem > DataItemConstPtr
shared pointer to const DataItem
Definition: DataItemTypes.h:149
boost::shared_ptr< const ipsdk::GeometricCalibration > GeometricCalibrationConstPtr
shared pointer to const ipsdk::GeometricCalibration
Definition: GeometricCalibrationTypes.h:31
measure requires boundary approximation data from shape
Definition: MeasureInfoTypes.h:92
measure requires row intersection data from shape
Definition: MeasureInfoTypes.h:90
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on abstract class
Definition: SerializationHdrMacro.h:97
eMsrVolumePolicy
Enumerate describing measure volume policy.
Definition: MeasureInfoTypes.h:60
Definition of import/export macro for library.
#define IPSDKBASESHAPEANALYSIS_API
Import/Export macro for library IPSDKBaseShapeAnalysis.
Definition: IPSDKBaseShapeAnalysisExports.h:25
virtual BoolResult validateMsrParams(const bool b2dMsrMode, const DataItemConstPtr &pMeasureParams) const
method allowing to validate measure parameters in derived class
Definition: BaseMeasureInfo.h:227
boost::shared_ptr< BaseDataItem > DataItemPtr
shared pointer to DataItem
Definition: DataItemTypes.h:146
Factory singleton allowing dynamic creation of registred measure information class.
Definition: MeasureInfoFactory.h:39
virtual std::string computeCustomMsrUnitStr(const std::string &baseUnitStr) const
Definition: BaseMeasureInfo.h:234
eMsrUnitFormat
Enumerate describing unit format associated to measure.
Definition: MeasureInfoTypes.h:102
eMsrShapeRequirements
Enumerate describing shape data requirement for measure computation.
Definition: MeasureInfoTypes.h:86
eMsrProcessingPolicy
Enumerate describing measure processing policy.
Definition: MeasureInfoTypes.h:42
virtual bool requiresInputImage() const
check whether measure requires input image
Definition: BaseMeasureInfo.h:95
bool requiresRowIntersections() const
check whether measure requires shape row intersection
Definition: BaseMeasureInfo.h:313
virtual eMsrShapeRequirements getMsrShapeRequirements() const =0
retrieve shape data requirements associated to measure
measure requires row intersection and boundary approximation data from shape
Definition: MeasureInfoTypes.h:94
virtual DataItemPtr createDefaultParams() const
Definition: BaseMeasureInfo.h:151
Base class for shape analysis measurement informations.
Definition: BaseMeasureInfo.h:39
Predefined types for measures management.
std::map< std::string, OptMeasureId > DependencyMap
collection of measure dependencies
Definition: MeasureInfoTypes.h:185
bool isInit() const
check for object initialization
Definition: BaseMeasureInfo.h:307
Base class for objects with name and tool tip informations.
Definition: BaseToolTip.h:27
Base class for serializable class.
Definition: BaseSerializationObject.h:33
bool requiresBoundaryApproximation() const
check whether measure requires shape boundary approximation
Definition: BaseMeasureInfo.h:321