MeVisLab Toolbox Reference
|
Database manager and communication switchboard. More...
#include <ObjMgr/mlObjMgr.h>
Public Member Functions | |
ObjMgr () | |
Constructor. More... | |
~ObjMgr () override | |
Destructor. More... | |
void | setDefaultAddressFlags (const omFlags &flags) |
Set default address flags to be assigned to newly created objects or attributes. More... | |
const omFlags & | getDefaultAddressFlags () const |
Get default address flags to be assigned to newly created objects or attributes. More... | |
void | addEvent (const ObjMgrEvent &event) |
Add event to event container. More... | |
void | disableEventRecording () |
Modifications to the object container go without any notice (no events generated). More... | |
void | enableEventRecording () |
Modifications to the object container will be recorded (events are generated). More... | |
void | disableEventRecordingForSocketDistribution () |
Modifications to the object container go without any notice for ObjMgrs connected via socket interface (these events will not be distributed). More... | |
void | enableEventRecordingForSocketDistribution () |
Modifications to the object container will be recorded for ObjMgrs connected via socket interface. More... | |
const omObjectContainer * | getObjectContainer () const |
Get read-only access to object container. More... | |
void | saveNetworkInfo (const std::string &filename) |
Write information about the current ObjMgr network to a file. More... | |
Public Member Functions inherited from ml::ObjMgrBase | |
~ObjMgrBase () override | |
Macro for declaring methods for the runtime system. More... | |
Public Member Functions inherited from ml::Module | |
MLMetaProfilePtr & | getMetaProfile () const |
Returns the meta profile for the base operator. More... | |
const char * | getTypeNameFast () const |
Macro to declare methods for the ML runtime type system (see mlRuntimeSubClass.h). More... | |
Module (int numInputImages, int numOutputImages) | |
Constructor: Initializes numInputImages input images and numOutputImages output images of the module. More... | |
~Module () override | |
Destructor: Destroys this module. More... | |
InputConnectorField * | getInputImageField (MLint i) const |
Returns the field representing input image i . i must be a valid index. More... | |
OutputConnectorField * | getOutputImageField (MLint i=0) const |
Returns field representing output image i . i must be a valid index. More... | |
MLint | getNumInputImages () const |
Returns number of input images of this module. More... | |
MLint | getNumOutputImages () const |
Returns number of output images of this module. More... | |
PagedImage * | getOutputImage (MLint outputIndex=0) const |
Returns output image outputIndex . The index needs to be in the range [0, getNumOutputImages()-1]. More... | |
InputConnectorField * | addInputImage (const char *name=nullptr) |
Adds a new input image with name to the module. More... | |
OutputConnectorField * | addOutputImage (const char *name=nullptr) |
Adds a new output image with name to the module. More... | |
PagedImage * | getInputImage (MLint inputIndex, bool getReal=false) const |
Returns the output image of the module connected to input inputIndex . More... | |
PagedImage * | getUpdatedInputImage (MLint inputIndex, bool getReal=false) const |
Convenience method for safe access to the input image at index inputIndex . More... | |
MLErrorCode | processAllPages (int outputIndex=-1, SubImageBox region=SubImageBox(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
Processes all pages of a module for easy implementation of page-based image processing of complete images. More... | |
MLErrorCode | processAllPages (ProcessAllPagesHandler &handler, SubImageBox region=SubImageBox(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
Process input images with a ProcessAllPagesHandler handler on a temporary output image (which allocates no data) For details, see processAllPages(-1) above. More... | |
MLErrorCode | processMissingPages (int outputIndex=0, SubImageBox region=SubImageBox(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
Processes all missing pages on the given output image. More... | |
void | clearOutputImage (MLint i=0) |
Clear cached output image pages of output image i . More... | |
InputConnectorField * | addInputConnector (const char *name, Module *module, MLint i) override |
OutputConnectorField * | addOutputConnector (const char *name, Module *module, MLint i) override |
MLint | getOutputImageInplace (MLint outputIndex=0) const |
Return optimization flag: Return index of input image whose input tile is used also as output page for output outputIndex in calculateOutputSubImage() (instead of allocating its own memory). More... | |
MLint | getBypass (MLint outputIndex=0) const |
Returns the currently bypass index or -1 if bypassing is disabled (default). More... | |
THREAD_SUPPORT | getThreadSupport () const |
Returns the multithreading mode supported by this module, default is NO_THREAD_SUPPORT. More... | |
bool | areRecursiveHandleNotificationsPermitted () const |
Returns if recursive entries in handleNotification are permitted. More... | |
MLint | getHandleNotificationEntryCounter () const |
A counter returning the current number of (recursive re)entries in handleNotification. More... | |
PERMITTED_TYPES | getVoxelDataTypeSupport () const |
Returns the current state of supported voxel data types. More... | |
bool | isSupportedVoxelDataType (MLDataType dt) const |
Check if a given data type is supported on the module as configured with setVoxelDataTypeSupport. More... | |
virtual INPUT_HANDLE | handleInput (int, INPUT_STATE) const |
This method may be reimplemented to enable support for invalid input images on the module. More... | |
INPUT_STATE | getInputState (MLint index) |
Returns the current state of the input connection. More... | |
INPUT_STATE | getUpdatedInputState (MLint index) |
Returns the updated state of the input image by calling updateImageProperties(index) and returning getInputState(index) afterwards. More... | |
bool | isInputImageField (Field *field) const |
Returns if the given field is an input image field. This can be used in handleNotification(), to check if one of the input images has changed. More... | |
void | touchOutputImageFields () const |
Touch all output image fields to indicate that the images have changed. More... | |
FieldContainer * | getFieldContainer () |
Returns a pointer to the container of all the module's fields. More... | |
const FieldContainer * | getFieldContainer () const |
Returns a constant pointer to the container of all the module's fields. More... | |
virtual void | beginSaveFields () |
Called before all fields data contents of this modules are saved. More... | |
virtual void | endSaveFields () |
Called after saving all field contents of this module. More... | |
Public Member Functions inherited from ml::FieldContainer | |
FieldContainer () | |
Constructor. More... | |
~FieldContainer () override | |
Destructor: Deletes all added fields. More... | |
std::string | whoAmI (bool withInstanceName=true) const |
Returns type and instance name of format "ClassTypeName(instanceName)" if the instance name is not empty and withInstanceName is true. More... | |
Field * | addField (const char *name, const char *type, const char *value) |
Adds a new field with name name , type type and value value (coded as string) to the container. More... | |
Field * | addField (Field *field) |
Adds a field , the ownership of the field is passed to the FieldContainer. More... | |
BoolField * | addBool (const char *name) |
Creates a BoolField with name and adds it to the container. Default value is false. More... | |
BoolField * | addBool (const char *name, bool value) |
Creates a BoolField with name and adds it to the container. More... | |
IntField * | addInt (const char *name) |
Creates an IntField with name and adds it to the container. Default value is 0. More... | |
IntField * | addInt (const char *name, MLint value) |
Creates an IntField with name and adds it to the container. More... | |
EnumField * | addEnum (const char *name, const char *const *enumerationItemNames, MLint numEnumerationItems) |
Creates an EnumField field with name and adds it to the container. More... | |
EnumField * | addEnum (const char *name, const std::vector< std::string > &enumerationItemNames) |
Creates an EnumField field with name and adds it to the container. More... | |
template<typename EnumType > | |
TypedEnumField< EnumType > * | addEnum (const char *name, const EnumValues< EnumType > &values, EnumType initialValue) |
Creates a TypedEnumField field with name and adds it to the container. More... | |
FloatField * | addFloat (const char *name) |
Creates a FloatField with name and adds it to the container. Default value is 0.f. More... | |
FloatField * | addFloat (const char *name, float value) |
Creates a FloatField with name and adds it to the container. More... | |
ProgressField * | addProgress (const char *name) |
Creates a float ProgressField with name and adds it to the container. Default value is 0.f. More... | |
ProgressField * | addProgress (const char *name, float value) |
Creates a float ProgressField with name and adds it to the container. More... | |
DoubleField * | addDouble (const char *name) |
Creates a DoubleField with name and adds it to the container. Default value is 0. More... | |
DoubleField * | addDouble (const char *name, double value) |
Creates a DoubleField with name and adds it to the container. More... | |
StringField * | addString (const char *name) |
Creates a StringField with name and adds it to the container. Default value is empty string. More... | |
StringField * | addString (const char *name, const std::string &value) |
Creates a StringField with name and adds it to the container. More... | |
NotifyField * | addNotify (const char *name) |
Creates a NotifyField field with name and adds it to the container. More... | |
TriggerField * | addTrigger (const char *name) |
Creates a TriggerField field with name and adds it to the container. More... | |
BaseField * | addBase (const char *name) |
Creates a Base field with name and adds it to the container. Default value is NULL. More... | |
BaseField * | addBase (const char *name, Base *value) |
Creates a Base field with name and adds it to the container. More... | |
BaseField * | addBase (const char *name, const RefCountedBasePtr &value) |
Creates a Base field with name and adds it to the container. Sets the value from intrusive pointer. More... | |
template<typename T > | |
BaseField * | addBaseWithAllowedType (const char *name, T *value=nullptr) |
As above, but also sets the allowed type of the field. More... | |
template<typename T > | |
BaseField * | addBaseWithAllowedType (const char *name, const ::boost::intrusive_ptr< T > &value) |
As above, but also sets the allowed type of the field. More... | |
template<typename T > | |
TypedBaseField< T > * | addTypedBase (const char *name) |
Creates a TypedBaseField with name and adds it to the container. Default value is NULL. More... | |
template<typename T > | |
TypedBaseField< T > * | addTypedBase (const char *name, T *value) |
Creates a TypedBaseField with name and adds it to the container. More... | |
template<typename T > | |
TypedBaseField< T > * | addTypedBase (const char *name, const ::boost::intrusive_ptr< T > &value) |
Creates a TypedBaseField with name and adds it to the container. Sets the value from intrusive pointer. More... | |
SoNodeField * | addSoNode (const char *name) |
Creates a SoNodeField with name and adds it to the container. Default value is NULL. More... | |
SoNodeField * | addSoNode (const char *name, SoNode *value) |
Creates a SoNodeField with name and adds it to the container. More... | |
PointerField * | addPointer (const char *name) |
Creates a PointerField with name and adds it to the container. More... | |
Vector2Field * | addVector2 (const char *name) |
Creates a Vector2Field with name and adds it to the container. More... | |
Vector2Field * | addVector2 (const char *name, const Vector2 &value) |
Creates a Vector2Field with name and adds it to the container. More... | |
Vector2Field * | addVector2 (const char *name, double x, double y) |
Creates a Vector2Field with name and adds it to the container. More... | |
Vector3Field * | addVector3 (const char *name) |
Creates a Vector3Field with name and adds it to the container. More... | |
Vector3Field * | addVector3 (const char *name, const Vector3 &value) |
Creates a Vector3Field with name and adds it to the container. More... | |
Vector3Field * | addVector3 (const char *name, double x, double y, double z) |
Creates a Vector3Field with name and adds it to the container. More... | |
Vector4Field * | addVector4 (const char *name) |
Creates a Vector4Field with name and adds it to the container. More... | |
Vector4Field * | addVector4 (const char *name, const Vector4 &value) |
Creates a Vector4Field with name and adds it to the container. More... | |
Vector4Field * | addVector4 (const char *name, double x, double y, double z, double w) |
Creates a Vector4Field with name and adds it to the container. More... | |
Vector5Field * | addVector5 (const char *name) |
Creates a Vector5Field with name and adds it to the container. More... | |
Vector5Field * | addVector5 (const char *name, const Vector5 &value) |
Creates a Vector5Field with name and adds it to the container. More... | |
Vector6Field * | addVector6 (const char *name) |
Creates a Vector6Field with name and adds it to the container. More... | |
Vector6Field * | addVector6 (const char *name, const Vector6 &value) |
Creates a Vector6Field with name and adds it to the container. More... | |
Vector10Field * | addVector10 (const char *name) |
Creates a Vector10Field with name and adds it to the container. More... | |
Vector10Field * | addVector10 (const char *name, const Vector10 &value) |
Creates a Vector10Field with name and adds it to the container. More... | |
ImageVectorField * | addImageVector (const char *name) |
Creates a ImageVectorField with name and adds it to the container. More... | |
ImageVectorField * | addImageVector (const char *name, const ImageVector &value) |
Creates a ImageVectorField with name and adds it to the container. More... | |
ImageVectorField * | addImageVector (const char *name, MLint x, MLint y, MLint z, MLint c, MLint t, MLint u) |
Creates a ImageVectorField with name and adds it to the container. More... | |
SubImageBoxField * | addSubImageBox (const char *name) |
Creates a SubImageBoxField with name and adds it to the container. More... | |
SubImageBoxField * | addSubImageBox (const char *name, const SubImageBox &value) |
Creates a SubImageBoxField with name and adds it to the container. More... | |
SubImageBoxdField * | addSubImageBoxd (const char *name) |
Creates a SubImageBoxd field with name and adds it to the container. More... | |
SubImageBoxdField * | addSubImageBoxd (const char *name, const SubImageBoxd &value) |
Creates a SubImageBoxd field with name and adds it to the container. More... | |
ColorField * | addColor (const char *name) |
Creates a ColorField with name and adds it to the container. More... | |
ColorField * | addColor (const char *name, float r, float g, float b) |
Creates a ColorField with name and adds it to the container. More... | |
ColorField * | addColor (const char *name, const Vector3 &value) |
Creates a ColorField with name and adds it to the container. More... | |
PlaneField * | addPlane (const char *name) |
Creates a PlaneField with name and adds it to the container. More... | |
PlaneField * | addPlane (const char *name, double f0, double f1, double f2, double f3) |
Creates a PlaneField with name and adds it to the container. More... | |
PlaneField * | addPlane (const char *name, const Plane &value) |
Creates a PlaneField with name and adds it to the container. More... | |
RotationField * | addRotation (const char *name) |
Creates a RotationField with name and adds it to the container. More... | |
RotationField * | addRotation (const char *name, const Rotation &value) |
Creates a RotationField with name and adds it to the container. More... | |
Matrix2Field * | addMatrix2 (const char *name) |
Creates a Matrix2Field with name and adds it to the container. More... | |
Matrix2Field * | addMatrix2 (const char *name, const Matrix2 &value) |
Creates a Matrix2Field with name and adds it to the container. More... | |
Matrix3Field * | addMatrix3 (const char *name) |
Creates a Matrix3Field with name and adds it to the container. More... | |
Matrix3Field * | addMatrix3 (const char *name, const Matrix3 &value) |
Creates a Matrix3Field with name and adds it to the container. More... | |
Matrix4Field * | addMatrix4 (const char *name) |
Creates a Matrix4Field with name and adds it to the container. More... | |
Matrix4Field * | addMatrix4 (const char *name, const Matrix4 &value) |
Creates a Matrix4Field with name and adds it to the container. More... | |
Matrix5Field * | addMatrix5 (const char *name) |
Creates a Matrix5Field with name and adds it to the container. More... | |
Matrix5Field * | addMatrix5 (const char *name, const Matrix5 &value) |
Creates a Matrix5Field with name and adds it to the container. More... | |
Matrix6Field * | addMatrix6 (const char *name) |
Creates a Matrix6Field with name and adds it to the container. More... | |
Matrix6Field * | addMatrix6 (const char *name, const Matrix6 &value) |
Creates a Matrix6Field with name and adds it to the container. More... | |
MatrixField * | addMatrix (const char *name) |
Creates a MatrixField with name and adds it to the container. More... | |
MatrixField * | addMatrix (const char *name, const Matrix4 &value) |
Creates a MatrixField with name and adds it to the container. More... | |
MLDataTypeField * | addMLDataType (const char *name) |
Creates a MTDataTypeField with name and adds it to the container. More... | |
MLDataTypeField * | addMLDataType (const char *name, MLDataType value) |
Creates a MTDataTypeField with name and adds it to the container. More... | |
UniversalTypeField * | addUniversalType (const char *name) |
Creates an UniversalTypeField field with name and adds it to the container. More... | |
IntListField * | addIntList (const char *name) |
Creates an IntListField field with name and empty list value and adds it to the container. More... | |
IntListField * | addIntList (const char *name, const std::vector< MLint > &value) |
Creates an IntListField field with name and given list value and adds it to the container. More... | |
DoubleListField * | addDoubleList (const char *name) |
Creates an DoubleListField field with name and empty list value and adds it to the container. More... | |
DoubleListField * | addDoubleList (const char *name, const std::vector< double > &value) |
Creates an DoubleListField field with name and given list value and adds it to the container. More... | |
Vector2ListField * | addVector2List (const char *name) |
Creates an Vector2ListField field with name and empty list value and adds it to the container. More... | |
Vector2ListField * | addVector2List (const char *name, const std::vector< Vector2 > &value) |
Creates an Vector2ListField field with name and given list value and adds it to the container. More... | |
Vector3ListField * | addVector3List (const char *name) |
Creates an Vector3ListField field with name and empty list value and adds it to the container. More... | |
Vector3ListField * | addVector3List (const char *name, const std::vector< Vector3 > &value) |
Creates an Vector3ListField field with name and given list value and adds it to the container. More... | |
Vector4ListField * | addVector4List (const char *name) |
Creates an Vector4ListField field with name and empty list value and adds it to the container. More... | |
Vector4ListField * | addVector4List (const char *name, const std::vector< Vector4 > &value) |
Creates an Vector4ListField field with name and given list value and adds it to the container. More... | |
size_t | getNumFields () const |
Returns the number of added fields. More... | |
bool | hasField (const std::string &name) const |
Returns true if the field with name name exists; otherwise false is returned. More... | |
Field * | getField (const std::string &name) const |
Returns the pointer to the field with name name . More... | |
Field * | getField (MLint index) const |
Returns pointer of field at index if it exists. If not, -1 is returned. More... | |
MLint | getFieldIndex (Field *field) const |
Returns index of field if it exists. If not, -1 is returned. More... | |
void | setFieldStringValue (const std::string &name, const std::string &value) |
Sets the value of the field with name if it exists. More... | |
std::string | getFieldStringValue (const std::string &name) const |
Returns the string value of the field with name if it is found. More... | |
virtual void | deactivateAttachments () |
Disables notification handling, i.e., all fields of this module will not send notifications to attached sensors and fields any more if their values are set or changed. More... | |
Public Member Functions inherited from ml::Base | |
Base () | |
Constructor. More... | |
virtual | ~Base () |
Destructor. More... | |
virtual Base * | deepCopy () const |
Set addStateToTree version number that can be accessed via getAddStateVersion() More... | |
bool | isOfAllowedType (const std::vector< const RuntimeType * > &types) const |
Check if this object's type is equal to or derived from one of the types given in the argument. More... | |
virtual bool | isRefCountedBase () const |
Returns if the instance is derived from RefCountedBase. More... | |
virtual std::string | detailString () const |
Return a string describing this object. More... | |
virtual bool | implementsPersistence (PersistenceInterface) const |
Override this method to declare which persistence interfaces are implemented by your derived class. More... | |
virtual std::string | persistentState () const |
Returns a string describing the object's internal state. More... | |
virtual void | setPersistentState (const std::string &state) |
Restores the object's internal state from a string that had been previously generated using persistentState() . More... | |
virtual void | addStateToTree (TreeNode *) const |
Attaches the object state as children of the given parent node. More... | |
virtual void | readStateFromTree (TreeNode *) |
Reads the object state from the children of the given parent node. More... | |
virtual void | writeTo (AbstractPersistenceOutputStream *) const |
Write the objects state to the data stream object. More... | |
virtual void | readFrom (AbstractPersistenceInputStream *, int) |
Read the objects state from the data stream object. More... | |
Public Attributes | |
BoolField * | eventLoggingFld |
Macro for declaring methods for the runtime system. More... | |
BoolField * | eventFilterFld |
Filter events and remove duplicates etc. if toggle is on. Default is ON. More... | |
BoolField * | permitRecursiveNotificationFld |
Permit recursive reentry in handleNotification() of ObjMgrClient modules if toggle is on. Default is ON. More... | |
BoolField * | clientsReceiveOwnNotifyFld |
Client modules receive notification sent by themselves if toggle is on. Default is OFF. More... | |
NotifyField * | clearObjContainerFld |
Clear object container. More... | |
StringField * | infoFileNameFld |
Specifies the name of a file in which information about the current ObjMgr network are written. More... | |
NotifyField * | saveInfoFld |
Write information about the current ObjMgr network to a file whose name is given in infoFileFld. More... | |
Public Attributes inherited from ml::ObjMgrBase | |
BaseField * | objectsOutFld |
Access field to object container. More... | |
Protected Member Functions | |
void | activateAttachments () override |
Initialize module after loading. More... | |
void | handleNotification (Field *field) override |
Called when input changes. More... | |
void | addClient (ObjMgrClient *client) |
Add a new ObjMgrClient to the container of instantiated modules. More... | |
void | removeClient (ObjMgrClient *client) |
Remove ObjMgrClient from the container of instantiated modules. More... | |
void | sendNotification (ObjMgrBase *sendingClient) |
Send notification to all connected ObjMgrClient modules (the BaseField is touched) that something has changed in the object container. More... | |
void | sendNotificationOnNextOpportunity () |
Send notification to all connected ObjMgrClient modules on next opportunity. More... | |
std::string | getDebugComment () const override |
Return debug comment. More... | |
Protected Member Functions inherited from ml::ObjMgrBase | |
ObjMgrBase (int inputNum, int outputNum) | |
Constructor. More... | |
void | notifySensorsAndConnectedClients (bool fireOutputSensors) |
Notify all directly connected modules. More... | |
void | configureNetwork () |
(Re)initialize/configure client connections. More... | |
void | buildGraph (std::multimap< ObjMgrBase *, ObjMgrBase * > &graph) |
May be used to build a graph of the network originating from this module. More... | |
Protected Member Functions inherited from ml::Module | |
void | handleNotificationInternal (Field *field, FieldSensor::Strength strength) override |
Called from FieldContainer whenever a field changes. More... | |
virtual void | provideCustomPage (int, const SubImageBox &, MLMemoryBlockHandle &) |
This method allows a Module to provide its own pages to the Host for the outputIndex output image. More... | |
void | handleNotificationOff () |
Decreases lock counter for handleNotification calls. More... | |
void | handleNotificationOn () |
Increases lock counter for handleNotification calls. More... | |
bool | isHandleNotificationOn () |
Returns true if handleNotification calls are permitted, otherwise false. More... | |
void | setOutputImageInplace (MLint outputIndex=0, MLint inputIndex=0) |
Set optimization flag: If calculating a page in calculateOutputSubImage(), the output image page of output outputIndex shall use the same memory as the input page of input inputIndex . More... | |
void | unsetOutputImageInplace (MLint outputIndex=0) |
Clear optimization flag: output page of output at outputIndex and input tile shall use different memory buffers in calculateOutputSubImage(). More... | |
void | setBypass (MLint outputIndex=0, MLint inputIndex=0) |
Sets the input image whose pages can also be used instead of output pages for the output image at outputIndex to avoid recalculations. More... | |
void | setClampPagesToImageExtent (bool flag=true) |
Enables/disables page clamping on all output images. More... | |
void | setThreadSupport (THREAD_SUPPORT supportMode) |
Pass any THREAD_SUPPORT supportMode to decide whether and what type of multithreading is supported by this module. More... | |
void | permitRecursiveHandleNotifications (bool enable) |
If this flag is set to enable =true, recursive entries in handleNotification are permitted. More... | |
void | setVoxelDataTypeSupport (PERMITTED_TYPES permTypes) |
Specifies which types this module supports. More... | |
virtual CalculateOutputImageHandler * | createCalculateOutputImageHandler (PagedImage *outputImage) |
Creates the CalculateOutputImageHandler for the given output image outputImage . More... | |
virtual void | calculateOutputImageProperties (int outputIndex, PagedImage *) |
Set properties of output image outputImage with output index outputIndex . More... | |
virtual SubImageBox | calculateInputSubImageBox (int, const SubImageBox &outputSubImageBox, int) |
Called by the Host to determine which input image region (tile) of input inputIndex is required to calculate a certain output image region (page) of output outputIndex . More... | |
virtual void | calculateOutputSubImage (SubImage *outputSubImage, int outputIndex, SubImage *inputSubImages) |
Calculate page outputSubImage of output image with index outputIndex given the input image tiles in array inputSubImages . More... | |
Protected Member Functions inherited from ml::Base | |
virtual char * | getPersistentState () const |
Returns a C string describing the object's internal state. More... | |
virtual void | setPersistentState (const char *) |
Restores the object's internal state from a string that had been previously generated using getPersistentState() . More... | |
virtual void | clearPersistentState (char *) const |
Disposes a string previously allocated by getPersistentState() . More... | |
Protected Attributes | |
omObjectContainer * | _objects |
Objects map. More... | |
MLint32 | _notifyRecursionDepth |
This value represents the current recursion depth in the sendNotification() method caused by an initial notify from one ObjMgrClient. More... | |
CallOnNextOpportunity | _callLater |
Helper object to schedule a call on next opportunity. More... | |
Protected Attributes inherited from ml::ObjMgrBase | |
omObjMgrConnection | _connection |
Current connection that originates from this module. More... | |
std::set< ObjMgrBase * > | _connectedModules |
Container of directly connected ObjMgrBase modules. More... | |
Friends | |
class | ObjMgrBase |
class | ObjMgrClient |
Additional Inherited Members | |
Public Types inherited from ml::Module | |
enum | PERMITTED_TYPES { ONLY_SCALAR_TYPES , ONLY_DEFAULT_TYPES , ALL_REGISTERED_TYPES , ONLY_STANDARD_TYPES = ONLY_SCALAR_TYPES , FULLY_OPERATIONAL = ONLY_DEFAULT_TYPES , MINIMUM_OPERATIONAL = ALL_REGISTERED_TYPES } |
See documentation of setVoxelDataTypeSupport. More... | |
enum | INPUT_STATE { DISCONNECTED = 0 , CONNECTED_BUT_INVALID = 1 , CONNECTED_AND_VALID = 2 , CONNECTED_BUT_NEEDS_UPDATE = 3 } |
See documentation of handleInput. More... | |
enum | INPUT_HANDLE { INVALIDATE = 0 , ALLOW_INVALID_INPUT = 2 } |
See documentation of handleInput. More... | |
Public Types inherited from ml::Base | |
enum | PersistenceInterface { PersistenceByString , PersistenceByTreeNode , PersistenceByStream } |
This enum describes the different persistence interfaces available. More... | |
Static Public Member Functions inherited from ml::Module | |
static MLErrorCode | getTile (PagedImage *image, SubImageBox loc, MLDataType datatype, void **data, const ScaleShiftData &scaleShiftData=ScaleShiftData(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
For documentation see Host::getTile() function with same signature. More... | |
static MLErrorCode | getTile (PagedImage *image, SubImage &subimg, const ScaleShiftData &scaleShiftData=ScaleShiftData(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
For documentation see Host::getTile() function with same signature and Module passed as reference. More... | |
static MLErrorCode | updateImageProperties (PagedImage *image) |
For documentation see Host::updateImageProperties() function with same signature. More... | |
static void | freeTile (void *data) |
For documentation see Host::freeTile(). More... | |
static void | updateProgress (const char *info1, const char *info2) |
For documentation see Host::updateProgress(). More... | |
static bool | shouldTerminate () |
For documentation see Host::shouldTerminate(). More... | |
static Field * | getPressedNotifyField () |
For documentation see Host::getPressedNotifyField(). More... | |
static void | adaptPageExtent (ImageVector &pageExtent, MLDataType imageType, const ImageVector &newImgExtent, const ImageVector &oldImgExtent, const ImageVector &pageUnit=ImageVector(0), const ImageVector &minPageExtent=ImageVector(0), const ImageVector &maxPageExtent=ImageVector(0)) |
Adapt page size. More... | |
static std::string | getVoxelValueAsString (PagedImage *image, const ImageVector &position, MLErrorCode *errorCode=nullptr, const std::string &errorResult="") |
Returns the voxel value at position position of the image image . More... | |
static size_t | getNumModules () |
Returns number of instantiated modules. More... | |
static Module * | getModule (size_t index) |
Returns pointer to instantiated module index . More... | |
static MLint | findModuleIndex (Module &module) |
Returns index of Module module . If not found -1 is returned. More... | |
static void | destroyModule () |
Destroys static allocated tables to avoid memory leaks. More... | |
Protected Types inherited from ml::Module | |
enum | THREAD_SUPPORT { NO_THREAD_SUPPORT = PagedImage::NO_THREAD_SUPPORT , MULTITHREADED = PagedImage::MULTITHREADED , IO_THREAD = PagedImage::IO_THREAD , ML_CALCULATEOUTPUTSUBIMAGE_ON_STD_TYPES = PagedImage::MULTITHREADED , ML_CALCULATEOUTPUTSUBIMAGE_ON_ALL_TYPES = PagedImage::MULTITHREADED } |
Enumerator deciding whether and which type of multithreading is supported by this module. More... | |
Database manager and communication switchboard.
Definition at line 39 of file mlObjMgr.h.
ml::ObjMgr::ObjMgr | ( | ) |
Constructor.
|
override |
Destructor.
|
overrideprotectedvirtual |
Initialize module after loading.
Reimplemented from ml::FieldContainer.
|
protected |
Add a new ObjMgrClient to the container of instantiated modules.
void ml::ObjMgr::addEvent | ( | const ObjMgrEvent & | event | ) |
Add event to event container.
If something is created, this function must be called after the creation took place. If something is removed, it must be called prior to the action itself. Hence the function is able to analyze some aspects of the event.
|
inline |
Modifications to the object container go without any notice (no events generated).
Handle with care!
Definition at line 134 of file mlObjMgr.h.
|
inline |
Modifications to the object container go without any notice for ObjMgrs connected via socket interface (these events will not be distributed).
Handle with care!
Definition at line 145 of file mlObjMgr.h.
|
inline |
Modifications to the object container will be recorded (events are generated).
This is the normal case.
Definition at line 139 of file mlObjMgr.h.
|
inline |
Modifications to the object container will be recorded for ObjMgrs connected via socket interface.
This is the normal case.
Definition at line 150 of file mlObjMgr.h.
|
inlineoverrideprotectedvirtual |
|
inline |
Get default address flags to be assigned to newly created objects or attributes.
Definition at line 123 of file mlObjMgr.h.
|
inline |
Get read-only access to object container.
Definition at line 155 of file mlObjMgr.h.
|
overrideprotectedvirtual |
Called when input changes.
Reimplemented from ml::Module.
|
protected |
Remove ObjMgrClient from the container of instantiated modules.
void ml::ObjMgr::saveNetworkInfo | ( | const std::string & | filename | ) |
Write information about the current ObjMgr network to a file.
|
protected |
Send notification to all connected ObjMgrClient modules (the BaseField is touched) that something has changed in the object container.
If client is NULL, the sender cannot be determined.
|
protected |
Send notification to all connected ObjMgrClient modules on next opportunity.
|
inline |
Set default address flags to be assigned to newly created objects or attributes.
Definition at line 119 of file mlObjMgr.h.
|
friend |
Definition at line 41 of file mlObjMgr.h.
|
friend |
Definition at line 42 of file mlObjMgr.h.
|
protected |
Helper object to schedule a call on next opportunity.
Definition at line 194 of file mlObjMgr.h.
|
protected |
This value represents the current recursion depth in the sendNotification() method caused by an initial notify from one ObjMgrClient.
Definition at line 191 of file mlObjMgr.h.
|
protected |
Objects map.
Definition at line 187 of file mlObjMgr.h.
NotifyField* ml::ObjMgr::clearObjContainerFld |
Clear object container.
Definition at line 87 of file mlObjMgr.h.
BoolField* ml::ObjMgr::clientsReceiveOwnNotifyFld |
Client modules receive notification sent by themselves if toggle is on. Default is OFF.
Definition at line 84 of file mlObjMgr.h.
BoolField* ml::ObjMgr::eventFilterFld |
Filter events and remove duplicates etc. if toggle is on. Default is ON.
Definition at line 78 of file mlObjMgr.h.
BoolField* ml::ObjMgr::eventLoggingFld |
Macro for declaring methods for the runtime system.
If toggle is off, no events will be recorded and sent to connected ObjMgrClient modules. Default is ON
Definition at line 75 of file mlObjMgr.h.
StringField* ml::ObjMgr::infoFileNameFld |
Specifies the name of a file in which information about the current ObjMgr network are written.
Definition at line 90 of file mlObjMgr.h.
BoolField* ml::ObjMgr::permitRecursiveNotificationFld |
Permit recursive reentry in handleNotification() of ObjMgrClient modules if toggle is on. Default is ON.
Definition at line 81 of file mlObjMgr.h.
NotifyField* ml::ObjMgr::saveInfoFld |
Write information about the current ObjMgr network to a file whose name is given in infoFileFld.
Definition at line 93 of file mlObjMgr.h.