34 WEMProcessor(std::string type=
"WEMProcessor",
bool useInput=
true,
int numInImages=0,
int numOutImages=0, std::string inWEMFieldName=
"inWEM");
75 inline void requireEdges(
bool requireEdgesFlag=
true) { _requirements->requireEdges(requireEdgesFlag); }
77 inline void requireSinglePatch(
bool requireSinglePatchFlag=
true) { _requirements->requireSinglePatch(requireSinglePatchFlag); }
120 BoolField* _listenToFinishNotificationsFld;
122 BoolField* _listenToRepaintNotificationsFld;
124 BoolField* _listenToSelectionChangedNotificationsFld;
131 void _warnAboutInvalidUpdateModeOrAutoApplyFieldConfiguration();
135 void _setupOutputWEM();
137 void _copyInputWEMToOutputWEMMakeCompatible();
139 bool _doesMakeCompatibleCreateNew(
WEMPatch* wemPatch);
WEMGenerator(std::string type="WEMGenerator", int numInImages=0, int numOutImages=0, bool shouldGenerateApplyField=true)
Standard constructor.
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.
void _copyWEMPatch(WEMPatch *wemPatch)
Copy given WEM.
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)
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.
#define ML_CLASS_HEADER(className)
OrientationTypes
Enumeration of orientation types.
PatchTypes
Enumeration of mesh types.