MeVisLabToolboxReference
ml::WEMProcessor Class Reference

The WEMProcessor is the base class for all modules that process WEMs, be it automatically or interactive. More...

#include <WEMProcessor.h>

Inheritance diagram for ml::WEMProcessor:
ml::WEMGenerator ml::WEMModule ml::Module ml::FieldContainer ml::Base

List of all members.

Public Member Functions

 WEMProcessor (std::string type="WEMProcessor", bool useInput=true, int numInImages=0, int numOutImages=0)
 Standard constructor.

Protected Member Functions

virtual ~WEMProcessor ()
 Standard destructor.
WEMRequirementsgetRequirements ()
 Get requirements.
bool areEdgesRequired ()
 Are edges required?
bool isPatchTypeRequired (PatchTypes patchType)
 Is patch type required?
bool isOrientationTypeRequired (OrientationTypes orientationType)
 Is orientation type required?
void requireEdges (bool requireEdgesFlag=true)
 Require edges.
void requirePatchType (PatchTypes patchType)
 Require patch type.
void requireOrientationType (OrientationTypes orientationType)
 Require orientation type.
virtual void handleNotification (Field *field)
 Called when input changes.
virtual void activateAttachments ()
 Initialize module after loading.
virtual void _process ()
 Triggers the computation of the preprocessing.
virtual void _inWEMChanged ()
 Called when the inputWEM has changed.
virtual void _addWEMPatch (WEMPatch *wemPatch)
 Adds a new WEMPatch to the output list and optionally applies the default attributes.
virtual void _notifyObservers ()
 Notify observers with FINISHED | SELECTION | REPAINT message.
WEMPatch_makeCompatible (WEMPatch *wemPatch)
 Make given WEMPatch compatible with module requirements.
void _copyWEMPatch (WEMPatch *wemPatch)
 Copy given WEM.

Static Protected Member Functions

static void _wemInputNotificationCB (void *userData, std::vector< WEMEventContainer > ecList)
 Callback method that gets triggered on notifications sent to the input WEM.
static void _wemOutputNotificationCB (void *userData, std::vector< WEMEventContainer > ecList)
 Callback method that gets triggered on notifications sent to the output WEM.

Protected Attributes

BoolField_copyInputWEMsFld
 Copy WEM?
ProgressField_progressFld
 Progress field.
EnumField_triangulationModeFld
 Triangulation mode (used to get compatible patch on requireTriangulation).
BoolField_useInputWEMToCreateOutputWEMFld
 Is the input used to create the output? If not, the input is only used, not piped or copied.
WEM_inWEM
 Pointer to inWEM.
bool _isInNotificationCB
 Is this module currently in the notification callback?
bool _isNotifyingMyself
 Is this module notifying itself?
bool _forceCompatible
 Make compatible during creation of _outWEM? If new patches are created, _copyInputWEMs is set to true.

Detailed Description

The WEMProcessor is the base class for all modules that process WEMs, be it automatically or interactive.

Basically it determines the type of the WEM and an id that can be used to associate WEMs with their processor. Modules with a WEM input and a WEM output derive from this module.

Definition at line 32 of file WEMProcessor.h.


Constructor & Destructor Documentation

ml::WEMProcessor::WEMProcessor ( std::string  type = "WEMProcessor",
bool  useInput = true,
int  numInImages = 0,
int  numOutImages = 0 
)

Standard constructor.

virtual ml::WEMProcessor::~WEMProcessor ( ) [protected, virtual]

Standard destructor.


Member Function Documentation

virtual void ml::WEMProcessor::_addWEMPatch ( WEMPatch wemPatch) [protected, virtual]

Adds a new WEMPatch to the output list and optionally applies the default attributes.

Reimplemented from ml::WEMGenerator.

void ml::WEMProcessor::_copyWEMPatch ( WEMPatch wemPatch) [protected]

Copy given WEM.

virtual void ml::WEMProcessor::_inWEMChanged ( ) [protected, virtual]

Called when the inputWEM has changed.

WEMPatch* ml::WEMProcessor::_makeCompatible ( WEMPatch wemPatch) [protected]

Make given WEMPatch compatible with module requirements.

virtual void ml::WEMProcessor::_notifyObservers ( ) [protected, virtual]

Notify observers with FINISHED | SELECTION | REPAINT message.

Reimplemented from ml::WEMGenerator.

virtual void ml::WEMProcessor::_process ( ) [protected, virtual]

Triggers the computation of the preprocessing.

Reimplemented from ml::WEMGenerator.

static void ml::WEMProcessor::_wemInputNotificationCB ( void *  userData,
std::vector< WEMEventContainer ecList 
) [static, protected]

Callback method that gets triggered on notifications sent to the input WEM.

static void ml::WEMProcessor::_wemOutputNotificationCB ( void *  userData,
std::vector< WEMEventContainer ecList 
) [static, protected]

Callback method that gets triggered on notifications sent to the output WEM.

virtual void ml::WEMProcessor::activateAttachments ( ) [protected, virtual]

Initialize module after loading.

Reimplemented from ml::WEMGenerator.

bool ml::WEMProcessor::areEdgesRequired ( ) [inline, protected]

Are edges required?

Definition at line 75 of file WEMProcessor.h.

WEMRequirements* ml::WEMProcessor::getRequirements ( ) [inline, protected]

Get requirements.

Definition at line 72 of file WEMProcessor.h.

virtual void ml::WEMProcessor::handleNotification ( Field field) [protected, virtual]

Called when input changes.

Reimplemented from ml::WEMGenerator.

bool ml::WEMProcessor::isOrientationTypeRequired ( OrientationTypes  orientationType) [inline, protected]

Is orientation type required?

Definition at line 79 of file WEMProcessor.h.

bool ml::WEMProcessor::isPatchTypeRequired ( PatchTypes  patchType) [inline, protected]

Is patch type required?

Definition at line 77 of file WEMProcessor.h.

void ml::WEMProcessor::requireEdges ( bool  requireEdgesFlag = true) [inline, protected]

Require edges.

Definition at line 82 of file WEMProcessor.h.

void ml::WEMProcessor::requireOrientationType ( OrientationTypes  orientationType) [inline, protected]

Require orientation type.

Definition at line 86 of file WEMProcessor.h.

void ml::WEMProcessor::requirePatchType ( PatchTypes  patchType) [inline, protected]

Require patch type.

Definition at line 84 of file WEMProcessor.h.


Member Data Documentation

Copy WEM?

Definition at line 49 of file WEMProcessor.h.

Make compatible during creation of _outWEM? If new patches are created, _copyInputWEMs is set to true.

Definition at line 90 of file WEMProcessor.h.

Pointer to inWEM.

Definition at line 64 of file WEMProcessor.h.

Is this module currently in the notification callback?

Definition at line 66 of file WEMProcessor.h.

Is this module notifying itself?

Definition at line 69 of file WEMProcessor.h.

Progress field.

Definition at line 51 of file WEMProcessor.h.

Triangulation mode (used to get compatible patch on requireTriangulation).

Definition at line 54 of file WEMProcessor.h.

Is the input used to create the output? If not, the input is only used, not piped or copied.

Definition at line 58 of file WEMProcessor.h.


The documentation for this class was generated from the following file: