MeVisLabToolboxReference
|
A WEM comprises a number of WEMPatches. More...
#include <WEM.h>
Classes | |
struct | WEMNotificationCBData |
This struct combines a function pointer, a user data pointer and a flag for the notification observer mechanism. More... | |
Public Member Functions | |
WEM () | |
Standard constructor. | |
WEM (const WEM &wem) | |
Copy constructor. | |
void | clone (const WEM &wem) |
Clones the internal WEMs of the given WEM to this one. | |
virtual WEM * | deepCopy () const |
Returns a deep copy of this WEM. | |
void | addNotificationObserver (wemNotificationCB *callback, void *userData) |
Adds a notification observer to this WEM. | |
void | removeNotificationObserver (wemNotificationCB *callback, void *userData) |
Removes a notification observer from this WEM. | |
void | notifyObservers (std::vector< WEMEventContainer > ecList) |
Notifies all observers. | |
unsigned int | getCurrentWEMPatchId () |
Returns the current last id (incremented each call) for WEMPatches. | |
void | setCurrentWEMPatchId (unsigned int id) |
Sets the current last id for WEMPatches. Do not mess with it. | |
void | addWEMPatch (WEMPatch *wemPatch) |
Adds the given WEMPatch as a pointer to the list. | |
WEMTrianglePatch * | addWEMPatchCopy (WEMTrianglePatch *wemPatch, bool assignNewId=false) |
Adds a copy of the given WEMPatch (WEMTrianglePatch) to the list. Assigns optionally a new id to the patch. | |
WEMQuadPatch * | addWEMPatchCopy (WEMQuadPatch *wemPatch, bool assignNewId=false) |
Adds a copy of the given WEMPatch (WEMQuadPatch) to the list. Assigns optionally a new id to the patch. | |
WEMPolygonPatch * | addWEMPatchCopy (WEMPolygonPatch *wemPatch, bool assignNewId=false) |
Adds a copy of the given WEMPatch (WEMPolygonPatch) to the list. Assigns optionally a new id to the patch. | |
bool | removeWEMPatch (WEMPatch *wemPatch) |
Removes a given WEMPatch from the list. | |
bool | removeWEMPatch (unsigned int id) |
Removes a WEMPatch by its id . | |
bool | removeAll () |
Removes all WEMPatches from the list. | |
void | clear () |
Clear internal vector (DOES NOT DELETE WEMs!!) | |
WEMPatch * | getWEMPatchAt (unsigned int index) |
Returns a pointer to the WEMPatch at the given position in the internal list. | |
const WEMPatch * | getWEMPatchAt (unsigned int index) const |
Returns a pointer to the WEMPatch at the given position in the internal list. | |
WEMPatch * | getWEMPatchById (unsigned int id) |
Returns a pointer to the WEMPatch with the given unique id. | |
const WEMPatch * | getWEMPatchById (unsigned int id) const |
Returns a pointer to the WEMPatch with the given unique id. | |
unsigned int | getWEMPatchIndex (WEMPatch *wemPatch) const |
Returns the index of the given WEMPatch in its list. | |
unsigned int | getWEMPatchIndex (unsigned int id) const |
Returns the index of the WEMPatch with the given id in its list. | |
bool | hasWEMPatch (WEMPatch *wemPatch) const |
Returns whether there is the given WEMPatch in the list. | |
unsigned int | getNumWEMPatches () const |
Returns the number of WEMs in the list. | |
void | enableRepaintObserver () |
Enables the repaint observer mechanism. | |
void | disableRepaintObserver () |
Disables the repaint observer mechanism. | |
void | enableFinishedObserver () |
Enables the finished observer mechanism. | |
void | disableFinishedObserver () |
Disables the finished observer mechanism. | |
void | enableInteractionObserver () |
Enables the interaction observer mechanism. | |
void | disableInteractionObserver () |
Disables the interaction observer mechanism. | |
void | enableSelectionObserver () |
Enables the selection observer mechanism. | |
void | disableSelectionObserver () |
Disables the selection observer mechanism. | |
bool | isRepaintNotificationEnabled () const |
Returns whether the repaint notification is enabled. | |
bool | isFinishedNotificationEnabled () const |
Returns whether the finished notification is enabled. | |
bool | isInteractionInitNotificationEnabled () const |
Returns whether the interaction init notification is enabled. | |
bool | isSelectionNotificationEnabled () const |
Returns whether the selection notification is enabled. | |
int | getId () const |
Returns the id of the WEM. | |
std::string | getName () const |
Returns name of the WEM. | |
void | setName (std::string name) |
Sets name of the WEM to the given string. | |
bool | loadWEMSurface (const std::string &filename, bool generateEdges=true, ProgressField *progressFld=NULL) |
Loads the geometry from a file given by its file name. | |
bool | loadWEMSurface (const std::string &filename, int filesize, bool generateEdges=true, ProgressField *progressFld=NULL) |
Loads the geometry from a file given by its file name. | |
bool | loadWEMSurface (std::istream &instream, int filesize, bool generateEdges=true, ProgressField *progressFld=NULL) |
Loads the geometry from a given stream. | |
void | saveWEMSurface (const std::string &filename, ProgressField *progressFld=NULL) |
Saves the geometry to the given file name. | |
void | saveWEMSurface (std::ostream &outstream, ProgressField *progressFld=NULL) |
Saves the geometry to a given stream. | |
bool | hasPrimitiveValueListForAllPatches (std::string description) const |
Returns whether all patches have a PVL with the given description. | |
std::vector< std::string > | getRegisteredPrimitiveValueLists () const |
Returns unique list of registered primitive value lists for all patches as a vector. | |
void | flatten (WEMTrianglePatch *triPatch, WEMRequirements *requirements, TriangulationModes triangulationMode) |
Flatten: joins and converts all patches to triangle patches with same normal orientation. | |
Static Public Member Functions | |
static void | removeNotificationObserverFromAllWEMs (wemNotificationCB *callback, void *userData) |
Removes a certain notification observer from all WEM. | |
Protected Member Functions | |
virtual | ~WEM () |
The WEM destructor is protected since the WEM ownership is managed by the WEMPtr intrusive smart pointer. |
A WEM comprises a number of WEMPatches.
The WEM is derived from Base and can be used as a data structure in a MeVisLab network. The WEM ownership is managed via smart pointers, make sure to use a WEMPtr so manage newly created WEM objects.
ml::WEM::WEM | ( | ) |
Standard constructor.
ml::WEM::WEM | ( | const WEM & | wem | ) |
Copy constructor.
virtual ml::WEM::~WEM | ( | ) | [protected, virtual] |
void ml::WEM::addNotificationObserver | ( | wemNotificationCB * | callback, |
void * | userData | ||
) |
Adds a notification observer to this WEM.
void ml::WEM::addWEMPatch | ( | WEMPatch * | wemPatch | ) |
WEMTrianglePatch* ml::WEM::addWEMPatchCopy | ( | WEMTrianglePatch * | wemPatch, |
bool | assignNewId = false |
||
) |
Adds a copy of the given WEMPatch (WEMTrianglePatch) to the list. Assigns optionally a new id to the patch.
WEMQuadPatch* ml::WEM::addWEMPatchCopy | ( | WEMQuadPatch * | wemPatch, |
bool | assignNewId = false |
||
) |
Adds a copy of the given WEMPatch (WEMQuadPatch) to the list. Assigns optionally a new id to the patch.
WEMPolygonPatch* ml::WEM::addWEMPatchCopy | ( | WEMPolygonPatch * | wemPatch, |
bool | assignNewId = false |
||
) |
Adds a copy of the given WEMPatch (WEMPolygonPatch) to the list. Assigns optionally a new id to the patch.
void ml::WEM::clear | ( | ) |
Clear internal vector (DOES NOT DELETE WEMs!!)
virtual WEM* ml::WEM::deepCopy | ( | ) | const [virtual] |
void ml::WEM::disableFinishedObserver | ( | ) | [inline] |
void ml::WEM::disableInteractionObserver | ( | ) | [inline] |
void ml::WEM::disableRepaintObserver | ( | ) | [inline] |
void ml::WEM::disableSelectionObserver | ( | ) | [inline] |
void ml::WEM::enableFinishedObserver | ( | ) | [inline] |
void ml::WEM::enableInteractionObserver | ( | ) | [inline] |
void ml::WEM::enableRepaintObserver | ( | ) | [inline] |
void ml::WEM::enableSelectionObserver | ( | ) | [inline] |
void ml::WEM::flatten | ( | WEMTrianglePatch * | triPatch, |
WEMRequirements * | requirements, | ||
TriangulationModes | triangulationMode | ||
) |
Flatten: joins and converts all patches to triangle patches with same normal orientation.
unsigned int ml::WEM::getCurrentWEMPatchId | ( | ) |
Returns the current last id (incremented each call) for WEMPatches.
If there are no WEMPatches in the list, this id is set back to 0. Can not be const, because if changes the object's state.
int ml::WEM::getId | ( | void | ) | const [inline] |
std::string ml::WEM::getName | ( | ) | const [inline] |
unsigned int ml::WEM::getNumWEMPatches | ( | ) | const [inline] |
std::vector<std::string> ml::WEM::getRegisteredPrimitiveValueLists | ( | ) | const |
Returns unique list of registered primitive value lists for all patches as a vector.
WEMPatch* ml::WEM::getWEMPatchAt | ( | unsigned int | index | ) |
Returns a pointer to the WEMPatch at the given position in the internal list.
const WEMPatch* ml::WEM::getWEMPatchAt | ( | unsigned int | index | ) | const [inline] |
Returns a pointer to the WEMPatch at the given position in the internal list.
Definition at line 170 of file WEM.h.
References getWEMPatchAt().
Referenced by getWEMPatchAt().
WEMPatch* ml::WEM::getWEMPatchById | ( | unsigned int | id | ) |
const WEMPatch* ml::WEM::getWEMPatchById | ( | unsigned int | id | ) | const [inline] |
Returns a pointer to the WEMPatch with the given unique id.
Returns NULL if no such WEMPatch is stored in the list.
Definition at line 176 of file WEM.h.
References getWEMPatchById().
Referenced by getWEMPatchById().
unsigned int ml::WEM::getWEMPatchIndex | ( | WEMPatch * | wemPatch | ) | const |
Returns the index of the given WEMPatch in its list.
unsigned int ml::WEM::getWEMPatchIndex | ( | unsigned int | id | ) | const |
Returns the index of the WEMPatch with the given id in its list.
bool ml::WEM::hasPrimitiveValueListForAllPatches | ( | std::string | description | ) | const |
Returns whether all patches have a PVL with the given description.
bool ml::WEM::hasWEMPatch | ( | WEMPatch * | wemPatch | ) | const |
Returns whether there is the given WEMPatch in the list.
bool ml::WEM::isFinishedNotificationEnabled | ( | ) | const [inline] |
bool ml::WEM::isInteractionInitNotificationEnabled | ( | ) | const [inline] |
bool ml::WEM::isRepaintNotificationEnabled | ( | ) | const [inline] |
bool ml::WEM::isSelectionNotificationEnabled | ( | ) | const [inline] |
bool ml::WEM::loadWEMSurface | ( | const std::string & | filename, |
bool | generateEdges = true , |
||
ProgressField * | progressFld = NULL |
||
) |
Loads the geometry from a file given by its file name.
Returns whether the operation was successful.
bool ml::WEM::loadWEMSurface | ( | const std::string & | filename, |
int | filesize, | ||
bool | generateEdges = true , |
||
ProgressField * | progressFld = NULL |
||
) |
Loads the geometry from a file given by its file name.
Returns whether the operation was successful.
bool ml::WEM::loadWEMSurface | ( | std::istream & | instream, |
int | filesize, | ||
bool | generateEdges = true , |
||
ProgressField * | progressFld = NULL |
||
) |
Loads the geometry from a given stream.
Returns whether the operation was successful.
void ml::WEM::notifyObservers | ( | std::vector< WEMEventContainer > | ecList | ) |
Notifies all observers.
bool ml::WEM::removeAll | ( | ) |
Removes all WEMPatches from the list.
Returns whether there was something to remove.
void ml::WEM::removeNotificationObserver | ( | wemNotificationCB * | callback, |
void * | userData | ||
) |
Removes a notification observer from this WEM.
static void ml::WEM::removeNotificationObserverFromAllWEMs | ( | wemNotificationCB * | callback, |
void * | userData | ||
) | [static] |
Removes a certain notification observer from all WEM.
bool ml::WEM::removeWEMPatch | ( | unsigned int | id | ) |
Removes a WEMPatch by its id .
Returns whether there was something to remove.
bool ml::WEM::removeWEMPatch | ( | WEMPatch * | wemPatch | ) |
Removes a given WEMPatch from the list.
Returns whether there was something to remove.
void ml::WEM::saveWEMSurface | ( | std::ostream & | outstream, |
ProgressField * | progressFld = NULL |
||
) |
Saves the geometry to a given stream.
void ml::WEM::saveWEMSurface | ( | const std::string & | filename, |
ProgressField * | progressFld = NULL |
||
) |
Saves the geometry to the given file name.
void ml::WEM::setCurrentWEMPatchId | ( | unsigned int | id | ) | [inline] |
void ml::WEM::setName | ( | std::string | name | ) | [inline] |