Loading...
Searching...
No Matches
Traits.hh File Reference

This file defines the default traits and some convenience macros. More...

`#include <OpenMesh/Core/System/config.h>`
`#include <OpenMesh/Core/Geometry/VectorT.hh>`
`#include <OpenMesh/Core/Mesh/Attributes.hh>`
`#include <OpenMesh/Core/Mesh/Handles.hh>`
Include dependency graph for Traits.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes

class | OpenMesh::DefaultTraits
| Base class for all traits. More...
class | OpenMesh::DefaultTraitsDouble
| Version of Default Traits that uses double precision for points and normals as well as floating point vectors for colors. More...
struct | OpenMesh::MergeTraits< _Traits1, _Traits2 >
| Helper class to merge two mesh traits. More...

## Namespaces

namespace | OpenMesh
| Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels and mesh traits.

## Macros

#define | VertexAttributes(_i)
| Macro for defining the vertex attributes. See Specifying your MyMesh.
#define | HalfedgeAttributes(_i)
| Macro for defining the halfedge attributes. See Specifying your MyMesh.
#define | EdgeAttributes(_i)
| Macro for defining the edge attributes. See Specifying your MyMesh.
#define | FaceAttributes(_i)
| Macro for defining the face attributes. See Specifying your MyMesh.
#define | VertexTraits template <class Base, class Refs> struct VertexT : public Base
| Macro for defining the vertex traits. See Specifying your MyMesh.
#define | HalfedgeTraits template <class Base, class Refs> struct HalfedgeT : public Base
| Macro for defining the halfedge traits. See Specifying your MyMesh.
#define | EdgeTraits template <class Base, class Refs> struct EdgeT : public Base
| Macro for defining the edge traits. See Specifying your MyMesh.
#define | FaceTraits template <class Base, class Refs> struct FaceT : public Base
| Macro for defining the face traits. See Specifying your MyMesh.
#define | OM_Merge_Traits(_S1, _S2, _D)
| Macro for merging two traits classes _S1 and _S2 into one traits class _D.
#define | OM_Merge_Traits_In_Template(_S1, _S2, _D)
| Macro for merging two traits classes _S1 and _S2 into one traits class _D.

## Detailed Description

This file defines the default traits and some convenience macros.

## Macro Definition Documentation

## EdgeAttributes

#define EdgeAttributes | ( |  | _i | ) |

Value:
enum { EdgeAttributes = _i }
EdgeAttributes
#define EdgeAttributes(_i)
Macro for defining the edge attributes. See Specifying your MyMesh.
Definition Traits.hh:85

Macro for defining the edge attributes. See Specifying your MyMesh.

## FaceAttributes

#define FaceAttributes | ( |  | _i | ) |

Value:
enum { FaceAttributes = _i }
FaceAttributes
#define FaceAttributes(_i)
Macro for defining the face attributes. See Specifying your MyMesh.
Definition Traits.hh:88

Macro for defining the face attributes. See Specifying your MyMesh.

## HalfedgeAttributes

#define HalfedgeAttributes | ( |  | _i | ) |

Value:
enum { HalfedgeAttributes = _i }
HalfedgeAttributes
#define HalfedgeAttributes(_i)
Macro for defining the halfedge attributes. See Specifying your MyMesh.
Definition Traits.hh:82

Macro for defining the halfedge attributes. See Specifying your MyMesh.

## OM_Merge_Traits

#define OM_Merge_Traits | ( |  | _S1,
|  |  | _S2,
|  |  | _D )

Value:
typedef OpenMesh::MergeTraits<_S1, _S2>::Result _D;
OpenMesh::MergeTraits
Helper class to merge two mesh traits.
Definition Traits.hh:189

Macro for merging two traits classes _S1 and _S2 into one traits class _D.

Note that in case of ambiguities class _S1 overrides _S2, especially the point/normal/color/texcoord type to be used is taken from _S1::Point / _S1::Normal / _S1::Color / _S1::TexCoord

## OM_Merge_Traits_In_Template

#define OM_Merge_Traits_In_Template | ( |  | _S1,
|  |  | _S2,
|  |  | _D )

Value:
typedef typename OpenMesh::MergeTraits<_S1, _S2>::Result _D;

Macro for merging two traits classes _S1 and _S2 into one traits class _D.

Same as OM_Merge_Traits, but this can be used inside template classes.

## VertexAttributes

#define VertexAttributes | ( |  | _i | ) |

Value:
enum { VertexAttributes = _i }
VertexAttributes
#define VertexAttributes(_i)
Macro for defining the vertex attributes. See Specifying your MyMesh.
Definition Traits.hh:79

Macro for defining the vertex attributes. See Specifying your MyMesh.