Moka libraries
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
rounding-vertex.hh
Go to the documentation of this file.
1
/*
2
* lib-rounding : Opérations de chamfreinage.
3
* Copyright (C) 2004, Moka Team, Université de Poitiers, Laboratoire SIC
4
* http://www.sic.sp2mi.univ-poitiers.fr/
5
* Copyright (C) 2009, Guillaume Damiand, CNRS, LIRIS,
6
* guillaume.damiand@liris.cnrs.fr, http://liris.cnrs.fr/
7
*
8
* This file is part of lib-rounding
9
*
10
* This program is free software: you can redistribute it and/or modify
11
* it under the terms of the GNU Lesser General Public License as published by
12
* the Free Software Foundation, either version 3 of the License, or
13
* (at your option) any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU Lesser General Public License for more details.
19
*
20
* You should have received a copy of the GNU Lesser General Public License
21
* along with this program. If not, see <http://www.gnu.org/licenses/>.
22
*/
23
24
//******************************************************************************
25
#ifndef ROUNDING_VERTEX_HH
26
#define ROUNDING_VERTEX_HH
27
//******************************************************************************
28
#include "
rounding-generic.hh
"
29
#include "math-extension.hh"
30
//******************************************************************************
31
namespace
GMap3d
32
{
33
class
CCoverage;
34
class
CGMapVertex;
35
class
CRoundingInterface;
36
37
class
CRoundingVertex
:
public
CRoundingGeneric
38
{
39
friend
class
CRoundingInterface
;
40
41
public
:
43
CRoundingVertex
(CGMapVertex* AMap);
44
46
~CRoundingVertex
();
47
55
int
roundMarkedVertices
(
int
AMarkNumber,
bool
ADig);
56
76
int
roundMarkedEdges
(
int
AMarkNumber,
bool
A3D,
bool
ADig,
bool
ASetBack);
77
78
protected
:
79
84
TCoordinate
getDartRoundingCoef
(CDart* ADart,
int
ADimension)
const
;
85
90
void
setDartRoundingCoef
(CDart* ADart,
int
ADimension,
91
TCoordinate AValue)
const
;
92
93
// @name Méthodes auxiliaires pour le chanfreinage d'arêtes
94
// @{
95
void
doListExtension
(
int
AMarkNumber,
int
AMarkInitial,
96
int
AMarkSelected,
int
AMarkTreated,
97
int
AMarkVertexToDestroy, CCoverage* ACov);
98
99
void
doMinMaxCalcul
(
int
ADirectCoef1,
int
AMarkSelected,
int
AMarkTreated,
100
int
AMarkInitial,
int
AMarkMax,
bool
A3D,
101
CCoverage* ACov);
102
103
void
doNewVerticesCalcul
(
int
AMarkSelected,
int
AMarkTreated,
104
int
AMarkInitial,
int
AMarkMax,
105
int
ADirectIndexOld,
int
ADirectIndexNew,
106
bool
ASetback,
bool
A3D, CCoverage* ACov);
107
108
int
doEdgeChamferingInRounding
(
int
AMarkTreated,
int
AMarkInitial,
109
bool
ADig,
bool
A3D, CCoverage* ACov);
110
111
void
doVerticesChamferingInRounding
(
int
AMarkTreated,
int
AMarkInitial,
112
bool
ADig,
bool
A3D, CCoverage* ACov);
113
// @}
114
115
private
:
116
CGMapVertex* FMap;
117
118
int
FCoefs[2];
119
};
120
}
121
//******************************************************************************
122
#endif // ROUNDING_VERTEX_HH
123
//******************************************************************************
lib-rounding
rounding-vertex.hh
Generated on Tue Apr 9 2013 09:51:42 for Moka libraries by
1.8.2