120 BoolField* _listenToFinishNotificationsFld;
122 BoolField* _listenToRepaintNotificationsFld;
124 BoolField* _listenToSelectionChangedNotificationsFld;
131 void _warnAboutInvalidUpdateModeOrAutoApplyFieldConfiguration();
135 void _setupOutputWEM();
137 void _copyInputWEMToOutputWEMMakeCompatible();
Field to encapsulate a pointer to an ML base object.
Field to encapsulate a boolean value.
Base class for all fields used in the ML.
Field to encapsulate an increasing float value from range [0,1].
TypedEnumField is used to encapsulate a C++ enum value and work with a real enum value instead of int...
The WEMGenerator is the base class for all modules that generate WEMs, be it automatically or interac...
virtual void _addWEMPatch(WEMPatch *wemPatch)
Adds a new WEMPatch to the output list and applies the default attributes.
Base class for triangle and quad patches.
The WEMProcessor is the base class for all modules that process WEMs, be it automatically or interact...
void _copyWEMPatch(WEMPatch *wemPatch)
Copy given WEM.
bool _forceCompatible
Make compatible during creation of _outWEM? If new patches are created, _copyInputWEMs is set to true...
TypedEnumField< TriangulationModes > * _triangulationModeFld
Triangulation mode (used to get compatible patch on requireTriangulation).
bool _isNotifyingMyself
Is this module notifying itself?
bool _isInNotificationCB
Is this module currently in the notification callback?
bool isOrientationTypeRequired(OrientationTypes orientationType)
Is orientation type required?
void _process() override
Triggers the computation of the preprocessing.
bool areEdgesRequired()
Are edges required?
void requirePatchType(PatchTypes patchType)
Require patch type.
WEMPatch * _makeCompatible(WEMPatch *wemPatch)
Make given WEMPatch compatible with module requirements.
static void _wemInputNotificationCB(void *userData, std::vector< WEMEventContainer > ecList)
Callback method that gets triggered on notifications sent to the input WEM.
WEMRequirements * getRequirements()
Get requirements.
bool isSinglePatchRequired()
Is a single patch required?
void requireOrientationType(OrientationTypes orientationType)
Require orientation type.
bool isPatchTypeRequired(PatchTypes patchType)
Is patch type required?
~WEMProcessor() override
Standard destructor.
void requireSinglePatch(bool requireSinglePatchFlag=true)
Require single patch.
void _notifyObservers() override
Notify observers with FINISHED | SELECTION | REPAINT message.
virtual void _addWEMPatch(WEMPatch *wemPatch, bool mergeAllPatches=false)
Adds a new WEMPatch to the output list and optionally applies the default attributes.
void handleNotification(Field *field) override
Called when input changes.
BaseField * _inputWEMFld
Input WEM list field.
void activateAttachments() override
Initialize module after loading.
void requireEdges(bool requireEdgesFlag=true)
Require edges.
WEM * _inWEM
Pointer to inWEM.
WEMProcessor(std::string type="WEMProcessor", bool useInput=true, int numInImages=0, int numOutImages=0, std::string inWEMFieldName="inWEM")
Standard constructor.
BoolField * _workDirectlyOnInputWEMsFld
ProgressField * _progressFld
Progress field.
This class represents WEMPatch requirements to be used by WEMProcessor.
A WEM comprises a number of WEMPatches.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
#define ML_CLASS_HEADER(className)
Same like ML_CLASS_HEADER_EXPORTED with a non existing export symbol.
OrientationTypes
Enumeration of orientation types.
PatchTypes
Enumeration of mesh types.