40template <
class BASE_DERIVED_CLASS>
125 "Usage of copy constructor of CopyBase is not supported.");
136 "Usage of assignment operator of CopyBase is not supported.");
141 int _lockNotification;
180template <
class BASE_DERIVED_CLASS>
190template <
class BASE_DERIVED_CLASS>
207 _lockNotification = 0;
213template <
class BASE_DERIVED_CLASS>
221template <
class BASE_DERIVED_CLASS>
232 const RuntimeType* inType = inputObject->getTypeId();
247template <
class BASE_DERIVED_CLASS>
254 BASE_DERIVED_CLASS* outputObject =
nullptr;
264 outputObject =
static_cast<BASE_DERIVED_CLASS*
>(inputObject)->clone();
276template <
class BASE_DERIVED_CLASS>
287template <
class BASE_DERIVED_CLASS>
302template <
class BASE_DERIVED_CLASS>
305 if (!_lockNotification) {
311 _fldStatusString->setStringValue(
"Output externally touched, possibly modified.");
void copyObject()
Copies the input object to _outputObject and updates the base output.
@ AutoUpdateModeAutoUpdate
@ AutoUpdateModeAutoClear
@ AutoUpdateModeDoNothing
static const char * autoUpdateModeNames[]
auto update mode enum tokens
StringField * _fldStatusString
String with object type name.
BaseField * _fldInputBase
Base input.
void setNewOutputObject(BASE_DERIVED_CLASS *newOutObject)
Sets output object to newOutObject, touches the output object.
BaseField * _fldOutputBase
Base output.
Base * _outputObject
Copied object:
void deleteObject()
Deletes the output object.
NotifyField * _fldUpdate
Delete output object, then update output object and set upToDateFld to true.
const RuntimeType * checkObjectType(const Base *inputObject) const
Returns the ml-runtime type of the input object if valid, NULL otherwise.
void handleNotification(Field *field) override
handle field changes
~CopyBase() override
Destructor, deleting the _outputObject.
StringField * _fldObjectType
String with object type name.
EnumField * _fldAutoUpdateMode
Possible actions at input touch: DoNothing, AutoClear, AutoUpdate.
Engine(int numInputImages=0, int numOutputImages=0)
Constructor.
EnumField * addEnum(const char *name, const char *const *enumerationItemNames, MLint numEnumerationItems)
BaseField * addBase(const char *name)
Creates a Base field with name and adds it to the container. Default value is NULL.
BoolField * addBool(const char *name)
Creates a BoolField with name and adds it to the container. Default value is false.
NotifyField * addNotify(const char *name)
Creates a NotifyField field with name and adds it to the container.
StringField * addString(const char *name)
Creates a StringField with name and adds it to the container. Default value is empty string.
bool canCreateInstance() const
Returns true if this (runtime) type knows how to create an instance of the class.
ML_UTILS_EXPORT bool isDerivedFrom(const RuntimeType *runtimeType) const
const char * getName() const
Returns the NULL-terminated string name of the class. Returns 'BadType' on error.
#define ML_MODULE_CLASS_HEADER(className)
#define ML_PROGRAMMING_ERROR
#define ML_PRINT_FATAL_ERROR(FUNC_NAME, REASON, HANDLING)
#define MLBASEEXPORT
defined Header file mlBaseInit.h