![]() |
ICF 3.0.5.47
Technical documentation of ICF Libraries
|
Base interface for suppliers providing calculating of objects on demand ("pull data" model). More...
#include <ISupplier.h>
Public Types | |
enum | WorkStatus { WS_INVALID , WS_INIT , WS_LOCKED , WS_OK , WS_CANCELED , WS_FAILED } |
enum | ChangeFlags { CF_SUPPLIER_RESULTS = 0x6326415 } |
Data model change notification flags. More... | |
enum | MessageContainerType { MCT_RESULTS , MCT_TEMP , MTC_LAST = MCT_TEMP } |
![]() | |
enum | ChangeFlags { CF_ICF_INTERNAL = 0 , CF_ALL_DATA , CF_ANY , CF_DESTROYING , CF_DELEGATED , CF_NO_UNDO } |
Data model change notification flags. More... | |
enum | SupportedOperations { SO_NONE = 0 , SO_OBSERVE = 1 << 0 , SO_COPY = 1 << 1 , SO_CLONE = 1 << 2 , SO_COMPARE = 1 << 3 , SO_RESET = 1 << 4 , SO_CHANGE_LOCK = 1 << 5 } |
Flags for supported operations. More... | |
enum | CompatibilityMode { CM_STRICT , CM_WITHOUT_REFS , CM_WITH_REFS , CM_CONVERT } |
Control how relationship betweeen objects are interpreted. More... | |
Public Member Functions | |
virtual int | GetWorkStatus () const =0 |
Get status of last work. | |
virtual imod::IModel * | GetWorkStatusModel () const =0 |
Get access to the status model of the supplier. | |
virtual void | InvalidateSupplier ()=0 |
Called to signalize that this supplier is invalid. | |
virtual void | EnsureWorkInitialized ()=0 |
Force the supplier to initialize its work. | |
virtual void | EnsureWorkFinished ()=0 |
Ensure that all objects are produced. | |
virtual void | ClearWorkResults ()=0 |
Remove all stored work results. | |
virtual const ilog::IMessageContainer * | GetWorkMessages (int containerType) const =0 |
Get messages outputted by this work. | |
virtual iprm::IParamsSet * | GetModelParametersSet () const =0 |
Get parameter set using by this supplier. | |
![]() | |
virtual int | GetSupportedOperations () const |
Get set of flags for supported operations. | |
virtual bool | CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) |
Copy this object from another one. | |
virtual bool | IsEqual (const IChangeable &object) const |
Compare this object with another object. | |
virtual std::unique_ptr< IChangeable > | CloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const |
Make a copy of this object. | |
virtual bool | ResetData (CompatibilityMode mode=CM_WITHOUT_REFS) |
Reset data to its default state. | |
virtual QMutex * | GetChangesLock () const |
Get mutex beeing locked during changes, if available. | |
virtual void | BeginChanges (const ChangeSet &changeSet) |
Starts the change transaction. | |
virtual void | EndChanges (const ChangeSet &changeSet) |
Ends the change transaction. | |
virtual void | BeginChangeGroup (const ChangeSet &changeSet) |
Starts group of changes. | |
virtual void | EndChangeGroup (const ChangeSet &changeSet) |
Ends group of changes. | |
Additional Inherited Members | |
![]() | |
static const ChangeSet & | GetNoChanges () |
Get empty set of changes. | |
static const ChangeSet & | GetAnyChange () |
Get anonymous change set. | |
static const ChangeSet & | GetAllChanges () |
Get anonymous change set. | |
static const ChangeSet & | GetDelegatedChanges () |
Get delegated change set. | |
![]() | |
virtual void | OnBeginChanges () |
Callback function for begin change event. | |
virtual void | OnEndChanges (const ChangeSet &changeSet) |
Callback function for end change event. | |
Base interface for suppliers providing calculating of objects on demand ("pull data" model).
Additional interfaces (providers) should provide access to intern stored calculated output objects. For example image provider should provide method {const iimg::IImage* GetImage() const}, where the image will be calculated on demand.
Definition at line 27 of file ISupplier.h.
Data model change notification flags.
Enumerator | |
---|---|
CF_SUPPLIER_RESULTS | Supplier result changed. |
Definition at line 61 of file ISupplier.h.
Enumerator | |
---|---|
MCT_RESULTS | |
MCT_TEMP | |
MTC_LAST |
Definition at line 69 of file ISupplier.h.
Definition at line 30 of file ISupplier.h.
|
pure virtual |
Remove all stored work results.
This set also work state to WS_INIT
.
Implemented in iinsp::CInspectionTaskComp, iinsp::CSupplierActivationProxyComp, iinsp::CSupplierCompBase, iinsp::TSupplierCompWrap< Product >, iinsp::TSupplierCompWrap< CFeaturesContainer >, iinsp::TSupplierCompWrap< icalib::CPerspectiveCalibration2d >, iinsp::TSupplierCompWrap< icalib::CSimpleLensCorrection >, iinsp::TSupplierCompWrap< iipr::CFeaturesContainer >, iinsp::TSupplierCompWrap< imeas::CGeneralDataSequence >, iinsp::TSupplierCompWrap< imod::TModelWrap< imeas::CSimpleSamplesSequence32 > >, iinsp::TSupplierCompWrap< istd::TPointerVector< const iimg::IBitmap > >, iinsp::TSupplierCompWrap< QPair< i2d::ICalibration2d *, std::unique_ptr< iimg::IBitmap > > >, iinsp::TSupplierCompWrap< QPair< i2d::ITransformation2d *, std::unique_ptr< iimg::IBitmap > > >, iinsp::TSupplierCompWrap< QPair< std::unique_ptr< const i2d::ICalibration2d >, std::unique_ptr< iimg::IBitmap > > >, iinsp::TSupplierCompWrap< QVector< i2d::CLine2d > >, iinsp::TSupplierCompWrap< std::unique_ptr< const i2d::ICalibration2d > >, iinsp::TSupplierCompWrap< std::unique_ptr< iimg::IBitmap > >, iinsp::TSupplierCompWrap< std::unique_ptr< iimg::IMultiBitmapProvider > >, iinsp::TSupplierCompWrap< std::vector< imeas::CGeneralDataSequence > >, and iipr::CDelegatedBitmapSupplierComp.
|
pure virtual |
Ensure that all objects are produced.
Implemented in iinsp::CInspectionTaskComp, iinsp::CSupplierActivationProxyComp, iinsp::CSupplierCompBase, and iipr::CDelegatedBitmapSupplierComp.
Referenced by iinspgui::TCommonSupplierGuiCompBase< UI >::DoTest(), and iinspgui::TGeneralSupplierGuiComp< UI >::Test().
|
pure virtual |
Force the supplier to initialize its work.
First if work is initialized, new calculation can be done.
Implemented in iinsp::CInspectionTaskComp, iinsp::CSupplierActivationProxyComp, iinsp::CSupplierCompBase, and iipr::CDelegatedBitmapSupplierComp.
Referenced by iinspgui::TCommonSupplierGuiCompBase< UI >::DoTest(), and iinspgui::TGeneralSupplierGuiComp< UI >::Test().
|
pure virtual |
Get parameter set using by this supplier.
The pointed object will not be relocated - no reconnect is needed if it is observed. If the supplier doesn't support parameters, it returns nullptr.
Implemented in iinsp::CInspectionTaskComp, iinsp::CSupplierActivationProxyComp, iinsp::CSupplierCompBase, and iipr::CDelegatedBitmapSupplierComp.
Referenced by iinspgui::TCommonSupplierGuiCompBase< UI >::IsLoadParamsSupported(), iinspgui::TCommonSupplierGuiCompBase< UI >::IsSaveParamsSupported(), iinspgui::TCommonSupplierGuiCompBase< UI >::LoadParams(), iinspgui::TCommonSupplierGuiCompBase< UI >::OnGuiModelAttached(), iinspgui::TCommonSupplierGuiCompBase< UI >::OnGuiModelDetached(), and iinspgui::TCommonSupplierGuiCompBase< UI >::SaveParams().
|
pure virtual |
Get messages outputted by this work.
The pointed object will not be relocated - no reconnect is needed if it is observed. If the supplier doesn't support list of messages, it returns nullptr.
containerType | type of message container, |
Implemented in iinsp::CInspectionTaskComp, iinsp::CSupplierActivationProxyComp, iinsp::CSupplierCompBase, and iipr::CDelegatedBitmapSupplierComp.
|
pure virtual |
Get status of last work.
Please note, that this status is not a part of supplier model and can be changed without any notification. If you want to observe the status model of the supplier, please use the GetWorkStatusModel method.
Implemented in iinsp::CInspectionTaskComp, iinsp::CSupplierActivationProxyComp, iinsp::CSupplierCompBase, and iipr::CDelegatedBitmapSupplierComp.
Referenced by iinspgui::TCommonSupplierGuiCompBase< UI >::DoTest(), iinspgui::TGeneralSupplierGuiComp< UI >::Test(), and iinspgui::TCommonSupplierGuiCompBase< UI >::UpdateVisualStatus().
|
pure virtual |
Get access to the status model of the supplier.
Implemented in iinsp::CInspectionTaskComp, iinsp::CSupplierActivationProxyComp, iinsp::CSupplierCompBase, and iipr::CDelegatedBitmapSupplierComp.
Referenced by iinspgui::TCommonSupplierGuiCompBase< UI >::OnGuiModelAttached().
|
pure virtual |
Called to signalize that this supplier is invalid.
This signal will be transfered to all supplier which are registered as output.
Implemented in iinsp::CInspectionTaskComp, iinsp::CSupplierActivationProxyComp, iinsp::CSupplierCompBase, and iipr::CDelegatedBitmapSupplierComp.
Referenced by iinspgui::TCommonSupplierGuiCompBase< UI >::DoTest(), and iinspgui::TGeneralSupplierGuiComp< UI >::Test().
© Witold Gantzke and Kirill Lepskiy