Moka kernel
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
gmg-selection.hh
Go to the documentation of this file.
1 /*
2  * lib-gmapkernel : Un noyau de 3-G-cartes et des opérations.
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-gmapkernel
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 // Ce fichier fait partie de "g-map-generic.hh".
26 //******************************************************************************
27 
28 public:
29 
39 unsigned int markOrbit(CDart* ADart, TOrbit AOrbit, int AMarkNumber);
40 
60 void halfMarkOrbit(CDart* ADart, TOrbit AOrbit, int AMarkNumber);
61 
81 void halfUnmarkOrbit(CDart* ADart, TOrbit AOrbit, int AMarkNumber);
82 
91 void unmarkOrbit(CDart* ADart, TOrbit AOrbit, int AMarkNumber);
92 
98 void unmarkAll(int AMarkNumber);
99 
112 int markIncidentCells(TOrbit AOrbit,
113  int AMarkNumberSrce, int AMarkNumberDest);
114 
123 int markIncidentCells(TOrbit AOrbit, int AMarkNumber);
124 
140 void halfMarkIncidentCells(TOrbit AOrbit,
141  int AMarkNumberSrce, int AMarkNumberDest);
142 
155 void halfMarkIncidentCells(TOrbit AOrbit, int AMarkNumber);
156 
169 void markInterior(CDart* ADart, int ADimension,
170  int AMarkBorder, int AMarkInterior = -1);
171 
185 void markIntersection(int AMarkNumber1, int AMarkNumber2,
186  TOrbit AOrbit1, TOrbit AOrbit2,
187  int AMarkResult,
188  bool AInitialMarkIncidentCells = false);
189 
202 void markCopy(int AMarkNumberFrom, int AMarkNumberTo,
203  CDart* ADart, TOrbit AOrbit);
204 
215 void markCopy(int AMarkNumberFrom, int AMarkNumberTo);
216 
227 void markAdd(int AMarkNumberFrom, int AMarkNumberTo);
228 
241 void markAdd(int AMarkNumberFrom, int AMarkNumberTo,
242  CDart* ADart, TOrbit AOrbit);
243 
254 void markAnd(int AMarkNumberFrom, int AMarkNumberTo);
255 
268 void markAnd(int AMarkNumberFrom, int AMarkNumberTo,
269  CDart* ADart, TOrbit AOrbit);
270 
281 void markSub(int AMarkNumberFrom, int AMarkNumberTo);
282 
295 void markSub(int AMarkNumberFrom, int AMarkNumberTo,
296  CDart* ADart, TOrbit AOrbit);
297 
309 void markMove(int AMarkNumberFrom, int AMarkNumberTo);
310 
323 void markMove(int AMarkNumberFrom, int AMarkNumberTo,
324  CDart* ADart, TOrbit AOrbit);
325 
335 bool isWholeCellMarked(CDart* ADart, TOrbit AOrbit, int AMarkNumber);
336 
358 int getMarkedCells(TOrbit AOrbit, int AMarkNumber,
359  CDart* ALastMarked = NULL,
360  CDart* * ADart1 = NULL,
361  CDart* * ADart2 = NULL,
362  CDart* * ADart3 = NULL);
363 
364 //******************************************************************************