MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLWEM/MLWEMIncludes.h File Reference

Central include file, defines some variables and macros. More...

#include "MLWEMSystem.h"
#include <algorithm>
#include <vector>
#include <mlModuleIncludes.h>
#include <mlModule.h>
#include <fstream>
#include <mlUnicode.h>

Go to the source code of this file.

Namespaces

namespace  ml
 

Define the namespace name like in the ML. Default is ml.


Defines

#define _PIII_CODE_
 Activates the direct implementation of the SML in assembler.
#define NULL_VEC   Vector3(0,0,0)
#define UNIT_VEC   Vector3(0,1,0)
#define WEM_PRINT(msg)   { std::cout << msg << std::endl; };
 Defines an output routine for debug output (short, without output of the file name and the line).
#define WEM_ERROR(msg)   { WEM_PRINT("WEM ERROR: " << msg << " in file " << __FILE__ << ", line: " << __LINE__); };
 Defines an output routine for error messages.
#define WEM_WARNING(msg)   { WEM_PRINT("WEM WARNING: " << msg << " in file " << __FILE__ << ", line: " << __LINE__); };
 Defines an output routine for warning messages.
#define WEM_DEBUG(msg)   { WEM_PRINT("WEM Debug: " << msg << " in file " << __FILE__ << ", line: " << __LINE__); };
 Defines an output routine for debug messages.
#define NORMALIZE_VECTOR3(v)   v.normalize()
 Defines a normalization method for SML (Vector3) vectors.

Enumerations

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, ml::WEM_TRIANGULATION_SPIDERWEB = 3 }
 Enumeration of the triangulation modes. Note that these are 'mirrored' in the SoWEM part. More...
enum  ml::PatchTypes { 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 { 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.00001f
 Epsilon value used in Vector3 comparisons.
const double WEM_LARGE_EPSILON = 0.0002f
 Epsilon value used in Vector3 comparisons when precision is an issue.
const int WEM_VERSION = 6
 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_MAX_NUM_NODES = 100
 Maximum number of nodes for polygons.
const double WEM_NODE_VALENCE3_THRESHOLD = 0.35f
 Angle threshold for nodes with valence 3 removal for default check (~70 degrees).
const double WEM_NODE_VALENCE3_NEIGHBORHOOD_THRESHOLD = 0.6f
 Angle threshold for nodes with valence 3 removal for neighborhood check (~50 degrees).
const int ml::WEM_PATCH_ID_ALL = -1
 Patch Id meaning: all patches.

Detailed Description

Central include file, defines some variables and macros.

Also, some pragma statements can be found here.

Author:
Olaf Konrad, Bart De Dobbelaer
Date:
8/2007

Definition in file MLWEMIncludes.h.


Define Documentation

#define _PIII_CODE_

Activates the direct implementation of the SML in assembler.

Definition at line 41 of file MLWEMIncludes.h.

#define NORMALIZE_VECTOR3 (   v)    v.normalize()

Defines a normalization method for SML (Vector3) vectors.

Definition at line 88 of file MLWEMIncludes.h.

#define NULL_VEC   Vector3(0,0,0)

Definition at line 75 of file MLWEMIncludes.h.

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

#define UNIT_VEC   Vector3(0,1,0)

Definition at line 76 of file MLWEMIncludes.h.

#define WEM_DEBUG (   msg)    { WEM_PRINT("WEM Debug: " << msg << " in file " << __FILE__ << ", line: " << __LINE__); };

Defines an output routine for debug messages.

Definition at line 85 of file MLWEMIncludes.h.

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

Defines an output routine for error messages.

Definition at line 81 of file MLWEMIncludes.h.

#define WEM_PRINT (   msg)    { 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 79 of file MLWEMIncludes.h.

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

Defines an output routine for warning messages.

Definition at line 83 of file MLWEMIncludes.h.


Variable Documentation

const double WEM_EPSILON = 0.00001f

Epsilon value used in Vector3 comparisons.

Definition at line 44 of file MLWEMIncludes.h.

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

const double WEM_GOLDEN_PERIMETER = 4.5590141139

Golden perimeter.

Definition at line 53 of file MLWEMIncludes.h.

const double WEM_LARGE_EPSILON = 0.0002f

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

Definition at line 47 of file MLWEMIncludes.h.

const unsigned int WEM_MAX_NUM_NODES = 100

Maximum number of nodes for polygons.

Definition at line 59 of file MLWEMIncludes.h.

const unsigned int WEM_MAX_VALENCE = 30

Maximum edge and face valence for nodes.

Definition at line 56 of file MLWEMIncludes.h.

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

Definition at line 65 of file MLWEMIncludes.h.

const double WEM_NODE_VALENCE3_THRESHOLD = 0.35f

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

Definition at line 62 of file MLWEMIncludes.h.

const int WEM_VERSION = 6

Current version of WEM library.

Definition at line 50 of file MLWEMIncludes.h.