00001 /* 00002 * lib-gmapkernel : Un noyau de 3-G-cartes et des opérations. 00003 * Copyright (C) 2004, Moka Team, Université de Poitiers, Laboratoire SIC 00004 * http://www.sic.sp2mi.univ-poitiers.fr/ 00005 * Copyright (C) 2009, Guillaume Damiand, CNRS, LIRIS, 00006 * guillaume.damiand@liris.cnrs.fr, http://liris.cnrs.fr/ 00007 * 00008 * This file is part of lib-gmapkernel 00009 * 00010 * This program is free software: you can redistribute it and/or modify 00011 * it under the terms of the GNU Lesser General Public License as published by 00012 * the Free Software Foundation, either version 3 of the License, or 00013 * (at your option) any later version. 00014 * 00015 * This program is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 * GNU Lesser General Public License for more details. 00019 * 00020 * You should have received a copy of the GNU Lesser General Public License 00021 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00022 */ 00023 00024 //****************************************************************************** 00025 #include <list> 00026 #include <queue> 00027 00028 #include "dynamic-coverage.hh" 00029 #include "static-coverage.hh" 00030 //****************************************************************************** 00031 namespace GMap3d 00032 { 00033 //****************************************************************************** 00034 INLINE 00035 CDart* CGMapGeneric::alpha01(CDart* ADart) const 00036 { 00037 return alpha1(alpha0(ADart)); 00038 } 00039 //****************************************************************************** 00040 INLINE 00041 CDart* CGMapGeneric::alpha010(CDart* ADart) const 00042 { 00043 return alpha0(alpha01(ADart)); 00044 } 00045 //****************************************************************************** 00046 INLINE 00047 CDart* CGMapGeneric::alpha0101(CDart* ADart) const 00048 { 00049 return alpha1(alpha010(ADart)); 00050 } 00051 //****************************************************************************** 00052 INLINE 00053 CDart* CGMapGeneric::alpha0101210(CDart* ADart) const 00054 { 00055 return alpha210(alpha0101(ADart)); 00056 } 00057 //****************************************************************************** 00058 INLINE 00059 CDart* CGMapGeneric::alpha01010(CDart* ADart) const 00060 { 00061 return alpha0(alpha0101(ADart)); 00062 } 00063 //****************************************************************************** 00064 INLINE 00065 CDart* CGMapGeneric::alpha01021(CDart* ADart) const 00066 { 00067 return alpha21(alpha010(ADart)); 00068 } 00069 //****************************************************************************** 00070 INLINE 00071 CDart* CGMapGeneric::alpha0102101(CDart* ADart) const 00072 { 00073 return alpha2101(alpha010(ADart)); 00074 } 00075 //****************************************************************************** 00076 INLINE 00077 CDart* CGMapGeneric::alpha010212(CDart* ADart) const 00078 { 00079 return alpha212(alpha010(ADart)); 00080 } 00081 //****************************************************************************** 00082 INLINE 00083 CDart* CGMapGeneric::alpha012(CDart* ADart) const 00084 { 00085 return alpha2(alpha01(ADart)); 00086 } 00087 //****************************************************************************** 00088 INLINE 00089 CDart* CGMapGeneric::alpha0123(CDart* ADart) const 00090 { 00091 return alpha3(alpha012(ADart)); 00092 } 00093 //****************************************************************************** 00094 INLINE 00095 CDart* CGMapGeneric::alpha0121(CDart* ADart) const 00096 { 00097 return alpha1(alpha012(ADart)); 00098 } 00099 //****************************************************************************** 00100 INLINE 00101 CDart* CGMapGeneric::alpha012321(CDart* ADart) const 00102 { 00103 return alpha21(alpha0123(ADart)); 00104 } 00105 //****************************************************************************** 00106 INLINE 00107 CDart* CGMapGeneric::alpha02(CDart* ADart) const 00108 { 00109 return alpha2(alpha0(ADart)); 00110 } 00111 //****************************************************************************** 00112 INLINE 00113 CDart* CGMapGeneric::alpha020(CDart* ADart) const 00114 { 00115 return alpha0(alpha02(ADart)); 00116 } 00117 //****************************************************************************** 00118 INLINE 00119 CDart* CGMapGeneric::alpha021(CDart* ADart) const 00120 { 00121 return alpha1(alpha02(ADart)); 00122 } 00123 //****************************************************************************** 00124 INLINE 00125 CDart* CGMapGeneric::alpha0210(CDart* ADart) const 00126 { 00127 return alpha0(alpha021(ADart)); 00128 } 00129 //****************************************************************************** 00130 INLINE 00131 CDart* CGMapGeneric::alpha02101(CDart* ADart) const 00132 { 00133 return alpha1(alpha0210(ADart)); 00134 } 00135 //****************************************************************************** 00136 INLINE 00137 CDart* CGMapGeneric::alpha02121(CDart* ADart) const 00138 { 00139 return alpha21(alpha021(ADart)); 00140 } 00141 //****************************************************************************** 00142 INLINE 00143 CDart* CGMapGeneric::alpha023(CDart* ADart) const 00144 { 00145 return alpha3(alpha02(ADart)); 00146 } 00147 //****************************************************************************** 00148 INLINE 00149 CDart* CGMapGeneric::alpha03(CDart* ADart) const 00150 { 00151 return alpha3(alpha0(ADart)); 00152 } 00153 //****************************************************************************** 00154 INLINE 00155 CDart* CGMapGeneric::alpha030(CDart* ADart) const 00156 { 00157 return alpha0(alpha03(ADart)); 00158 } 00159 //****************************************************************************** 00160 INLINE 00161 CDart* CGMapGeneric::alpha10(CDart* ADart) const 00162 { 00163 return alpha0(alpha1(ADart)); 00164 } 00165 //****************************************************************************** 00166 INLINE 00167 CDart* CGMapGeneric::alpha101(CDart* ADart) const 00168 { 00169 return alpha1(alpha10(ADart)); 00170 } 00171 //****************************************************************************** 00172 INLINE 00173 CDart* CGMapGeneric::alpha1010(CDart* ADart) const 00174 { 00175 return alpha0(alpha101(ADart)); 00176 } 00177 //****************************************************************************** 00178 INLINE 00179 CDart* CGMapGeneric::alpha10101(CDart* ADart) const 00180 { 00181 return alpha1(alpha1010(ADart)); 00182 } 00183 //****************************************************************************** 00184 INLINE 00185 CDart* CGMapGeneric::alpha1010101(CDart* ADart) const 00186 { 00187 return alpha01(alpha10101(ADart)); 00188 } 00189 //****************************************************************************** 00190 INLINE 00191 CDart* CGMapGeneric::alpha1012(CDart* ADart) const 00192 { 00193 return alpha2(alpha101(ADart)); 00194 } 00195 //****************************************************************************** 00196 INLINE 00197 CDart* CGMapGeneric::alpha1012101(CDart* ADart) const 00198 { 00199 return alpha2101(alpha101(ADart)); 00200 } 00201 //****************************************************************************** 00202 INLINE 00203 CDart* CGMapGeneric::alpha10121(CDart* ADart) const 00204 { 00205 return alpha1(alpha1012(ADart)); 00206 } 00207 //****************************************************************************** 00208 INLINE 00209 CDart* CGMapGeneric::alpha101201(CDart* ADart) const 00210 { 00211 return alpha01(alpha1012(ADart)); 00212 } 00213 //****************************************************************************** 00214 INLINE 00215 CDart* CGMapGeneric::alpha101232(CDart* ADart) const 00216 { 00217 return alpha32(alpha1012(ADart)); 00218 } 00219 //****************************************************************************** 00220 INLINE 00221 CDart* CGMapGeneric::alpha102(CDart* ADart) const 00222 { 00223 return alpha2(alpha10(ADart)); 00224 } 00225 //****************************************************************************** 00226 INLINE 00227 CDart* CGMapGeneric::alpha1021(CDart* ADart) const 00228 { 00229 return alpha1(alpha102(ADart)); 00230 } 00231 //****************************************************************************** 00232 INLINE 00233 CDart* CGMapGeneric::alpha12(CDart* ADart) const 00234 { 00235 return alpha2(alpha1(ADart)); 00236 } 00237 //****************************************************************************** 00238 INLINE 00239 CDart* CGMapGeneric::alpha121(CDart* ADart) const 00240 { 00241 return alpha1(alpha12(ADart)); 00242 } 00243 //****************************************************************************** 00244 INLINE 00245 CDart* CGMapGeneric::alpha1210(CDart* ADart) const 00246 { 00247 return alpha0(alpha121(ADart)); 00248 } 00249 //****************************************************************************** 00250 INLINE 00251 CDart* CGMapGeneric::alpha12101(CDart* ADart) const 00252 { 00253 return alpha1(alpha1210(ADart)); 00254 } 00255 //****************************************************************************** 00256 INLINE 00257 CDart* CGMapGeneric::alpha1212(CDart* ADart) const 00258 { 00259 return alpha2(alpha121(ADart)); 00260 } 00261 //****************************************************************************** 00262 INLINE 00263 CDart* CGMapGeneric::alpha123(CDart* ADart) const 00264 { 00265 return alpha3(alpha12(ADart)); 00266 } 00267 //****************************************************************************** 00268 INLINE 00269 CDart* CGMapGeneric::alpha1232(CDart* ADart) const 00270 { 00271 return alpha2(alpha123(ADart)); 00272 } 00273 //****************************************************************************** 00274 INLINE 00275 CDart* CGMapGeneric::alpha12321(CDart* ADart) const 00276 { 00277 return alpha1(alpha1232(ADart)); 00278 } 00279 //****************************************************************************** 00280 INLINE 00281 CDart* CGMapGeneric::alpha123210(CDart* ADart) const 00282 { 00283 return alpha0(alpha12321(ADart)); 00284 } 00285 //****************************************************************************** 00286 INLINE 00287 CDart* CGMapGeneric::alpha13(CDart* ADart) const 00288 { 00289 return alpha3(alpha1(ADart)); 00290 } 00291 //****************************************************************************** 00292 INLINE 00293 CDart* CGMapGeneric::alpha20(CDart* ADart) const 00294 { 00295 return alpha0(alpha2(ADart)); 00296 } 00297 //****************************************************************************** 00298 INLINE 00299 CDart* CGMapGeneric::alpha201(CDart* ADart) const 00300 { 00301 return alpha1(alpha20(ADart)); 00302 } 00303 //****************************************************************************** 00304 INLINE 00305 CDart* CGMapGeneric::alpha21(CDart* ADart) const 00306 { 00307 return alpha1(alpha2(ADart)); 00308 } 00309 //****************************************************************************** 00310 INLINE 00311 CDart* CGMapGeneric::alpha210(CDart* ADart) const 00312 { 00313 return alpha0(alpha21(ADart)); 00314 } 00315 //****************************************************************************** 00316 INLINE 00317 CDart* CGMapGeneric::alpha2101(CDart* ADart) const 00318 { 00319 return alpha1(alpha210(ADart)); 00320 } 00321 //****************************************************************************** 00322 INLINE 00323 CDart* CGMapGeneric::alpha21012(CDart* ADart) const 00324 { 00325 return alpha2(alpha2101(ADart)); 00326 } 00327 //****************************************************************************** 00328 INLINE 00329 CDart* CGMapGeneric::alpha210123(CDart* ADart) const 00330 { 00331 return alpha3(alpha21012(ADart)); 00332 } 00333 //****************************************************************************** 00334 INLINE 00335 CDart* CGMapGeneric::alpha212(CDart* ADart) const 00336 { 00337 return alpha2(alpha21(ADart)); 00338 } 00339 //****************************************************************************** 00340 INLINE 00341 CDart* CGMapGeneric::alpha2121(CDart* ADart) const 00342 { 00343 return alpha1(alpha212(ADart)); 00344 } 00345 //****************************************************************************** 00346 INLINE 00347 CDart* CGMapGeneric::alpha23(CDart* ADart) const 00348 { 00349 return alpha3(alpha2(ADart)); 00350 } 00351 //****************************************************************************** 00352 INLINE 00353 CDart* CGMapGeneric::alpha231(CDart* ADart) const 00354 { 00355 return alpha1(alpha23(ADart)); 00356 } 00357 //****************************************************************************** 00358 INLINE 00359 CDart* CGMapGeneric::alpha2310(CDart* ADart) const 00360 { 00361 return alpha0(alpha231(ADart)); 00362 } 00363 //****************************************************************************** 00364 INLINE 00365 CDart* CGMapGeneric::alpha232(CDart* ADart) const 00366 { 00367 return alpha2(alpha23(ADart)); 00368 } 00369 //****************************************************************************** 00370 INLINE 00371 CDart* CGMapGeneric::alpha2321(CDart* ADart) const 00372 { 00373 return alpha21(alpha23(ADart)); 00374 } 00375 //****************************************************************************** 00376 INLINE 00377 CDart* CGMapGeneric::alpha232101(CDart* ADart) const 00378 { 00379 return alpha01(alpha2321(ADart)); 00380 } 00381 //****************************************************************************** 00382 INLINE 00383 CDart* CGMapGeneric::alpha30(CDart* ADart) const 00384 { 00385 return alpha0(alpha3(ADart)); 00386 } 00387 //****************************************************************************** 00388 INLINE 00389 CDart* CGMapGeneric::alpha3012(CDart* ADart) const 00390 { 00391 return alpha12(alpha30(ADart)); 00392 } 00393 //****************************************************************************** 00394 INLINE 00395 CDart* CGMapGeneric::alpha30120(CDart* ADart) const 00396 { 00397 return alpha0(alpha3012(ADart)); 00398 } 00399 //****************************************************************************** 00400 INLINE 00401 CDart* CGMapGeneric::alpha302(CDart* ADart) const 00402 { 00403 return alpha2(alpha30(ADart)); 00404 } 00405 //****************************************************************************** 00406 INLINE 00407 CDart* CGMapGeneric::alpha31(CDart* ADart) const 00408 { 00409 return alpha1(alpha3(ADart)); 00410 } 00411 //****************************************************************************** 00412 INLINE 00413 CDart* CGMapGeneric::alpha32(CDart* ADart) const 00414 { 00415 return alpha2(alpha3(ADart)); 00416 } 00417 //****************************************************************************** 00418 INLINE 00419 CDart* CGMapGeneric::alpha3201(CDart* ADart) const 00420 { 00421 return alpha01(alpha32(ADart)); 00422 } 00423 //****************************************************************************** 00424 INLINE 00425 CDart* CGMapGeneric::alpha321(CDart* ADart) const 00426 { 00427 return alpha1(alpha32(ADart)); 00428 } 00429 //****************************************************************************** 00430 INLINE 00431 CDart* CGMapGeneric::alpha323(CDart* ADart) const 00432 { 00433 return alpha3(alpha32(ADart)); 00434 } 00435 //****************************************************************************** 00436 INLINE 00437 CDart* CGMapGeneric::alpha321012(CDart* ADart) const 00438 { 00439 return alpha012(alpha321(ADart)); 00440 } 00441 //****************************************************************************** 00442 INLINE 00443 CDart* CGMapGeneric::getDirectInfoAsDart(CDart* ADart, int ADirectInfoIndex) 00444 { 00445 assert(ADart!=NULL); 00446 return (CDart*) ADart->getDirectInfo(ADirectInfoIndex); 00447 } 00448 //****************************************************************************** 00449 } // namespace GMap3d 00450 //******************************************************************************
1.5.8