// ====================================================================== // // Copyright (c) 2005-2011 GeometryFactory (France). All Rights Reserved. // // This file is part of CGAL (www.cgal.org); you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public License as // published by the Free Software Foundation; either version 3 of the License, // or (at your option) any later version. // // Licensees holding a valid commercial license may use this file in // accordance with the commercial license agreement provided with the software. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. // // $URL$ // $Id$ // // // Author(s): Le-Jeng Shiue // // ====================================================================== #ifndef CGAL_POLYHEDRON_SUBDIVISION_H_01292002 #define CGAL_POLYHEDRON_SUBDIVISION_H_01292002 #include #include #include #include #include namespace CGAL { // ====================================================================== namespace Subdivision_method_3 { // template class Mask> void PQQ(Polyhedron& p, Mask mask, int step = 1) { for (int i = 0; i < step; i++) Private::PQQ_1step(p, mask); } // template class Mask> void PTQ(Polyhedron& p, Mask mask, int step = 1) { for (int i = 0; i < step; i++) Private::PTQ_1step(p, mask); } // template class Mask> void DQQ(Polyhedron& p, Mask mask, int step = 1) { for (int i = 0; i < step; ++i) Private::DQQ_1step(p, mask); } // template class Mask> void Sqrt3(Polyhedron& p, Mask mask, int step = 1) { for (int i = 0; i < step; i++) Private::Sqrt3_1step(p, mask); } // template void CatmullClark_subdivision(Polyhedron& p, int step = 1) { PQQ(p, CatmullClark_mask_3(), step); } // template void Loop_subdivision(Polyhedron& p, int step = 1) { PTQ(p, Loop_mask_3() , step); } // template void DooSabin_subdivision(Polyhedron& p, int step = 1) { DQQ(p, DooSabin_mask_3(), step); } // template void Sqrt3_subdivision(Polyhedron& p, int step = 1) { Sqrt3(p, Sqrt3_mask_3(), step); } } } //namespace CGAL #endif //CGAL_POLYHEDRON_SUBDIVISION_H_01292002