Developer Documentation
Traits.hh File Reference
#include <OpenMesh/Core/System/config.h>
#include <OpenMesh/Core/Geometry/VectorT.hh>
#include <OpenMesh/Core/Mesh/Attributes.hh>
#include <OpenMesh/Core/Mesh/Handles.hh>

Go to the source code of this file.

Classes

class  OpenMesh::DefaultTraits
 
class  OpenMesh::DefaultTraitsDouble
 
struct  OpenMesh::MergeTraits< _Traits1, _Traits2 >
 

Namespaces

namespace  OpenMesh
 

Macros

#define VertexAttributes(_i)   enum { VertexAttributes = _i }
 Macro for defining the vertex attributes. See Specifying your MyMesh. More...
 
#define HalfedgeAttributes(_i)   enum { HalfedgeAttributes = _i }
 Macro for defining the halfedge attributes. See Specifying your MyMesh. More...
 
#define EdgeAttributes(_i)   enum { EdgeAttributes = _i }
 Macro for defining the edge attributes. See Specifying your MyMesh. More...
 
#define FaceAttributes(_i)   enum { FaceAttributes = _i }
 Macro for defining the face attributes. See Specifying your MyMesh. More...
 
#define VertexTraits    template <class Base, class Refs> struct VertexT : public Base
 Macro for defining the vertex traits. See Specifying your MyMesh. More...
 
#define HalfedgeTraits    template <class Base, class Refs> struct HalfedgeT : public Base
 Macro for defining the halfedge traits. See Specifying your MyMesh. More...
 
#define EdgeTraits    template <class Base, class Refs> struct EdgeT : public Base
 Macro for defining the edge traits. See Specifying your MyMesh. More...
 
#define FaceTraits    template <class Base, class Refs> struct FaceT : public Base
 Macro for defining the face traits. See Specifying your MyMesh. More...
 
#define OM_Merge_Traits(_S1, _S2, _D)    typedef OpenMesh::MergeTraits<_S1, _S2>::Result _D;
 
#define OM_Merge_Traits_In_Template(_S1, _S2, _D)    typedef typename OpenMesh::MergeTraits<_S1, _S2>::Result _D;
 

Detailed Description

This file defines the default traits and some convenience macros.

Definition in file Traits.hh.

Macro Definition Documentation

◆ EdgeAttributes

#define EdgeAttributes (   _i)    enum { EdgeAttributes = _i }

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

Definition at line 85 of file Traits.hh.

◆ EdgeTraits

#define EdgeTraits    template <class Base, class Refs> struct EdgeT : public Base

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

Definition at line 99 of file Traits.hh.

◆ FaceAttributes

#define FaceAttributes (   _i)    enum { FaceAttributes = _i }

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

Definition at line 88 of file Traits.hh.

◆ FaceTraits

#define FaceTraits    template <class Base, class Refs> struct FaceT : public Base

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

Definition at line 103 of file Traits.hh.

◆ HalfedgeAttributes

#define HalfedgeAttributes (   _i)    enum { HalfedgeAttributes = _i }

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

Definition at line 82 of file Traits.hh.

◆ HalfedgeTraits

#define HalfedgeTraits    template <class Base, class Refs> struct HalfedgeT : public Base

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

Definition at line 95 of file Traits.hh.

◆ OM_Merge_Traits

#define OM_Merge_Traits (   _S1,
  _S2,
  _D 
)     typedef OpenMesh::MergeTraits<_S1, _S2>::Result _D;

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

Definition at line 241 of file Traits.hh.

◆ OM_Merge_Traits_In_Template

#define OM_Merge_Traits_In_Template (   _S1,
  _S2,
  _D 
)     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.

Definition at line 249 of file Traits.hh.

◆ VertexAttributes

#define VertexAttributes (   _i)    enum { VertexAttributes = _i }

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

Definition at line 79 of file Traits.hh.

◆ VertexTraits

#define VertexTraits    template <class Base, class Refs> struct VertexT : public Base

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

Definition at line 91 of file Traits.hh.