MeVisLab Toolbox Reference
MLWEMIncludes.h File Reference
#include "MLWEMSystem.h"
#include <algorithm>
#include <vector>
#include <string>
#include <mlModuleIncludes.h>
#include <mlModule.h>
#include <fstream>
#include <mlUnicode.h>

Go to the source code of this file.

Classes

struct  ml::WEMPersistenceParameters
 Structure to gather persistence parameters. More...
struct  ml::WEMProgressUpdater
 Helper struct for updating the progress bar while loading/saving. More...
struct  ml::WEMReadParameters
 Helper struct for bundling parameters to keep method interfaces small. More...

Namespaces

namespace  ml
 Defines the class GetTileJob.

Macros

#define NULL_VEC   Vector3(0,0,0)
#define UNIT_VEC   Vector3(0,1,0)
#define WEM_PRINT(msg)
 Defines an output routine for debug output (short, without output of the file name and the line).
#define WEM_ERROR(msg)
 Defines an output routine for error messages.
#define WEM_WARNING(msg)
 Defines an output routine for warning messages.
#define WEM_DEBUG(msg)
 Defines an output routine for debug messages.
#define WEM_MODULE_ERROR(function, msg)
 Defines a macro to output module errors.
#define WEM_MODULE_WARNING(function, msg)
 Defines a macro to output module warnings.
#define WEM_MODULE_INFO(function, msg)
 Defines a macro to output module infos.
#define NORMALIZE_VECTOR3(v)
 Defines a normalization method for SML (Vector3) vectors.

Enumerations

enum  ml::WEMUpdateMode { ml::Off = 0 , ml::AutoUpdate , ml::AutoClear }
 Defines the update modes of WEM modules. More...
enum  ml::WEMNotificationType {
  ml::WEM_NOTIFICATION_NONE = 0 , ml::WEM_NOTIFICATION_SELECTION = 1 , ml::WEM_NOTIFICATION_FINISHED = 2 , ml::WEM_NOTIFICATION_REPAINT = 4 ,
  ml::WEM_NOTIFICATION_INTERACTION_INIT = 8
}
 Defines the available WEM notifications. More...
enum  ml::ColorModes {
  ml::WEM_COLOR_GENERAL = 0 , ml::WEM_COLOR_NODE_COLORS = 1 , ml::WEM_COLOR_LUT_VALUES = 2 , ml::WEM_COLOR_LUT_VALUES_INTEGER = 3 ,
  ml::WEM_COLOR_TEXTURED = 4 , ml::WEM_COLOR_NONE = 5
}
 Enumeration of the color modes. Note that these are 'mirrored' in the SoWEM part. More...
enum  ml::NodeRenderingModes { ml::WEM_NODE_RENDERING_NORMAL = 0 , ml::WEM_NODE_RENDERING_HIGH = 1 , ml::WEM_NODE_RENDERING_EXTRA_HIGH = 2 }
 Enumeration of the node rendering modes. Note that these are 'mirrored' in the SoWEM part. More...
enum  ml::BoundingBoxModes { ml::WEM_BOUNDING_BOX_AXIS_ALIGNED = 0 , ml::WEM_BOUNDING_BOX_OBJECT_ALIGNED = 1 }
 Enumeration of bounding box visualization. Note that these are 'mirrored' in the SoWEM part. More...
enum  ml::TriangulationModes { ml::WEM_TRIANGULATION_CENTER = 0 , ml::WEM_TRIANGULATION_FAN = 1 , ml::WEM_TRIANGULATION_STRIP = 2 }
 Enumeration of the triangulation modes. Note that these are 'mirrored' in the SoWEM part. More...
enum  ml::PatchTypes : std::int32_t { ml::WEM_PATCH_UNKNOWN = 0 , ml::WEM_PATCH_TRIANGLES = 1 , ml::WEM_PATCH_QUADS = 2 , ml::WEM_PATCH_POLYGONS = 3 }
 Enumeration of mesh types. More...
enum  ml::PrimitiveValueListTypes : std::int32_t { ml::WEM_PRIMITIVE_VALUE_LIST_NODE = 0 , ml::WEM_PRIMITIVE_VALUE_LIST_EDGE = 1 , ml::WEM_PRIMITIVE_VALUE_LIST_FACE = 2 }
 Enumeration of primitive value list types. More...
enum  ml::OrientationTypes { ml::WEM_ORIENTATION_UNKNOWN = 0 , ml::WEM_ORIENTATION_OUTWARD = 1 , ml::WEM_ORIENTATION_INWARD = 2 }
 Enumeration of orientation types. More...

Variables

const double WEM_EPSILON = 0.00001
 Epsilon value used in Vector3 comparisons.
const double WEM_LARGE_EPSILON = 0.0002
 Epsilon value used in Vector3 comparisons when precision is an issue.
const int WEM_VERSION = 7
 Current version of WEM library.
const double WEM_GOLDEN_PERIMETER = 4.5590141139
 Golden perimeter.
const unsigned int WEM_MAX_VALENCE = 30
 Maximum edge and face valence for nodes.
const unsigned int WEM_DEFAULT_VALENCE = 16
 Default vector size of edge and face valence for nodes.
const unsigned int WEM_MAX_NUM_NODES = 100
 Maximum number of nodes for polygons.
const double WEM_NODE_VALENCE3_THRESHOLD = 0.35
 Angle threshold for nodes with valence 3 removal for default check (~70 degrees).
const double WEM_NODE_VALENCE3_NEIGHBORHOOD_THRESHOLD = 0.6
 Angle threshold for nodes with valence 3 removal for neighborhood check (~50 degrees).
const std::string WEM_SINGLE_COLORED_FACES = "WEMSingleColoredFaces"
const int ml::WEM_PATCH_ID_ALL = -1
 Patch Id meaning: all patches.

Macro Definition Documentation

◆ NORMALIZE_VECTOR3

#define NORMALIZE_VECTOR3 ( v)
Value:
v.normalize()

Defines a normalization method for SML (Vector3) vectors.

Definition at line 77 of file MLWEMIncludes.h.

◆ NULL_VEC

#define NULL_VEC   Vector3(0,0,0)

Definition at line 57 of file MLWEMIncludes.h.

Referenced by ml::WEMBoundingBox::isCentered().

◆ UNIT_VEC

#define UNIT_VEC   Vector3(0,1,0)

Definition at line 58 of file MLWEMIncludes.h.

◆ WEM_DEBUG

#define WEM_DEBUG ( msg)
Value:
{ WEM_PRINT("WEM Debug: " << msg << " in file " << __FILE__ << ", line: " << __LINE__); };
#define WEM_PRINT(msg)
Defines an output routine for debug output (short, without output of the file name and the line).

Defines an output routine for debug messages.

Definition at line 67 of file MLWEMIncludes.h.

◆ WEM_ERROR

#define WEM_ERROR ( msg)
Value:
{ WEM_PRINT("WEM ERROR: " << msg << " in file " << __FILE__ << ", line: " << __LINE__); };

Defines an output routine for error messages.

Definition at line 63 of file MLWEMIncludes.h.

Referenced by ml::WEMIndexVector< T >::reorder().

◆ WEM_MODULE_ERROR

#define WEM_MODULE_ERROR ( function,
msg )
Value:
{ mlError(function) << whoAmI() << ": " << msg; };
#define mlError(FUNCTION,...)
Definition mlLogging.h:52

Defines a macro to output module errors.

Definition at line 70 of file MLWEMIncludes.h.

◆ WEM_MODULE_INFO

#define WEM_MODULE_INFO ( function,
msg )
Value:
{ mlInfo(function) << whoAmI() << ": " << msg; };
#define mlInfo(FUNCTION)
Definition mlLogging.h:62

Defines a macro to output module infos.

Definition at line 74 of file MLWEMIncludes.h.

◆ WEM_MODULE_WARNING

#define WEM_MODULE_WARNING ( function,
msg )
Value:
{ mlWarning(function) << whoAmI() << ": " << msg; };
#define mlWarning(FUNCTION,...)
Definition mlLogging.h:57

Defines a macro to output module warnings.

Definition at line 72 of file MLWEMIncludes.h.

◆ WEM_PRINT

#define WEM_PRINT ( msg)
Value:
{ std::cout << msg << std::endl; };

Defines an output routine for debug output (short, without output of the file name and the line).

Definition at line 61 of file MLWEMIncludes.h.

◆ WEM_WARNING

#define WEM_WARNING ( msg)
Value:
{ WEM_PRINT("WEM WARNING: " << msg << " in file " << __FILE__ << ", line: " << __LINE__); };

Defines an output routine for warning messages.

Definition at line 65 of file MLWEMIncludes.h.

Variable Documentation

◆ WEM_DEFAULT_VALENCE

const unsigned int WEM_DEFAULT_VALENCE = 16

Default vector size of edge and face valence for nodes.

Definition at line 37 of file MLWEMIncludes.h.

◆ WEM_EPSILON

const double WEM_EPSILON = 0.00001

Epsilon value used in Vector3 comparisons.

Definition at line 22 of file MLWEMIncludes.h.

Referenced by ml::WEMBoundingBox::isScalable().

◆ WEM_GOLDEN_PERIMETER

const double WEM_GOLDEN_PERIMETER = 4.5590141139

Golden perimeter.

Definition at line 31 of file MLWEMIncludes.h.

◆ WEM_LARGE_EPSILON

const double WEM_LARGE_EPSILON = 0.0002

Epsilon value used in Vector3 comparisons when precision is an issue.

Definition at line 25 of file MLWEMIncludes.h.

◆ WEM_MAX_NUM_NODES

const unsigned int WEM_MAX_NUM_NODES = 100

Maximum number of nodes for polygons.

Definition at line 40 of file MLWEMIncludes.h.

Referenced by ml::WEMPolygon::mirror().

◆ WEM_MAX_VALENCE

const unsigned int WEM_MAX_VALENCE = 30

Maximum edge and face valence for nodes.

Definition at line 34 of file MLWEMIncludes.h.

◆ WEM_NODE_VALENCE3_NEIGHBORHOOD_THRESHOLD

const double WEM_NODE_VALENCE3_NEIGHBORHOOD_THRESHOLD = 0.6

Angle threshold for nodes with valence 3 removal for neighborhood check (~50 degrees).

Definition at line 46 of file MLWEMIncludes.h.

◆ WEM_NODE_VALENCE3_THRESHOLD

const double WEM_NODE_VALENCE3_THRESHOLD = 0.35

Angle threshold for nodes with valence 3 removal for default check (~70 degrees).

Definition at line 43 of file MLWEMIncludes.h.

◆ WEM_SINGLE_COLORED_FACES

const std::string WEM_SINGLE_COLORED_FACES = "WEMSingleColoredFaces"

Name of the PVL for faces where a value of -1 signals to use the nodes' PVL, all other values are to be used as a look-up into the LUT. Also, nodes and edges adjacent to a face with a value != 1 should not be smoothed, collapsed, or otherwise modified.

Definition at line 52 of file MLWEMIncludes.h.

◆ WEM_VERSION

const int WEM_VERSION = 7

Current version of WEM library.

Definition at line 28 of file MLWEMIncludes.h.