MEPP2 Project
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Variables
Typedefs
a
c
e
f
h
i
m
p
r
s
t
v
Enumerations
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
m
n
o
p
q
r
s
t
v
w
Enumerations
Enumerator
Related Functions
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Functions
a
b
c
d
e
f
g
h
i
l
m
n
p
r
s
t
u
w
x
Variables
c
d
e
f
i
l
m
n
o
p
r
s
t
v
Typedefs
a
c
e
f
g
h
i
k
l
m
n
o
p
r
t
v
w
Enumerations
Enumerator
Macros
_
a
b
c
h
i
m
n
o
p
s
t
u
v
w
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
FEVV
DataStructures
DataStructures_openmesh.h
Go to the documentation of this file.
1
// Copyright (c) 2012-2019 University of Lyon and CNRS (France).
2
// All rights reserved.
3
//
4
// This file is part of MEPP2; you can redistribute it and/or modify
5
// it under the terms of the GNU Lesser General Public License as
6
// published by the Free Software Foundation; either version 3 of
7
// the License, or (at your option) any later version.
8
//
9
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
10
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
11
#pragma once
12
13
#include <OpenMesh/Core/IO/MeshIO.hh>
14
15
// force usage of OpenMesh native Point type instead of CGAL Point type
16
// in point map in properties_PolyMesh_ArrayKernelT.h
17
#define CGAL_USE_OM_POINTS
18
#include <CGAL/boost/graph/graph_traits_PolyMesh_ArrayKernelT.h>
19
#include <CGAL/boost/graph/properties_PolyMesh_ArrayKernelT.h>
20
21
namespace
FEVV
{
22
23
/* From :
24
http://www.openmesh.org/media/Documentations/OpenMesh-Doc-Latest/a00012.html
25
26
--> The default traits class looks like this:
27
struct DefaultTraits
28
{
29
typedef Vec3f Point;
30
typedef Vec3f Normal;
31
typedef Vec2f TexCoord;
32
typedef Vec3uc Color;
33
VertexTraits {};
34
HalfedgeTraits {};
35
EdgeTraits {};
36
FaceTraits {};
37
38
VertexAttributes(0);
39
HalfedgeAttributes(Attributes::PrevHalfedge);
40
EdgeAttributes(0);
41
FaceAttributes(0);
42
};*/
43
44
struct
MyTraits
:
public
OpenMesh::DefaultTraits
45
{
46
typedef
OpenMesh::Vec3d
Point
;
// use double-values
47
typedef
OpenMesh::Vec3d
Normal
;
// use double-values
48
typedef
OpenMesh::Vec2d
TexCoord
;
// use double-values
49
};
50
51
using
MeshOpenMesh
= OpenMesh::PolyMesh_ArrayKernelT< MyTraits >;
52
53
}
// namespace FEVV
54
FEVV::MyTraits::TexCoord
OpenMesh::Vec2d TexCoord
Definition:
DataStructures_openmesh.h:48
FEVV::MyTraits
Definition:
DataStructures_openmesh.h:45
FEVV
Interfaces for plugins These interfaces will be used for different plugins.
Definition:
Assert.h:16
FEVV::MyTraits::Point
OpenMesh::Vec3d Point
Definition:
DataStructures_openmesh.h:46
FEVV::MeshOpenMesh
OpenMesh::PolyMesh_ArrayKernelT< MyTraits > MeshOpenMesh
Definition:
DataStructures_openmesh.h:51
FEVV::MyTraits::Normal
OpenMesh::Vec3d Normal
Definition:
DataStructures_openmesh.h:47
Generated by
1.8.20