1 /** 2 * SFCGAL 3 * 4 * Copyright (C) 2012-2013 Oslandia <infos@oslandia.com> 5 * Copyright (C) 2012-2013 IGN (http://www.ign.fr) 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Library General Public 9 * License as published by the Free Software Foundation; either 10 * version 2 of the License, or (at your option) any later version. 11 * 12 * This library is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Library General Public License for more details. 16 17 * You should have received a copy of the GNU Library General Public 18 * License along with this library; if not, see <http://www.gnu.org/licenses/>. 19 */ 20 21 #ifndef _SFCGAL_TRIANGULATE_TRIANGULATEPOLYGON_H_ 22 #define _SFCGAL_TRIANGULATE_TRIANGULATEPOLYGON_H_ 23 24 #include <SFCGAL/config.h> 25 26 #include <SFCGAL/Geometry.h> 27 28 namespace SFCGAL { 29 namespace triangulate { 30 31 /** 32 * @brief Triangulate 3D polygons in a Geometry. 33 * 34 * @param g input geometry 35 * @param triangulatedSurface resulting TriangulatedSurface 36 * @param usePolygonPlanes use polygon plane or Triangulate in OXY plane 37 * @todo unittest 38 * @ingroup detail 39 */ 40 SFCGAL_API void triangulatePolygon3D( 41 const Geometry& g, 42 TriangulatedSurface& triangulatedSurface 43 ); 44 /** 45 * @brief Triangulate a 3D Polygon 46 * @todo unittest 47 * @ingroup detail 48 */ 49 SFCGAL_API void triangulatePolygon3D( 50 const Polygon& g, 51 TriangulatedSurface& triangulatedSurface 52 ); 53 /** 54 * @brief Triangulate a 3D Triangle (copy triangle) 55 * @todo unittest 56 * @ingroup detail 57 */ 58 SFCGAL_API void triangulatePolygon3D( 59 const Triangle& g, 60 TriangulatedSurface& triangulatedSurface 61 ); 62 /** 63 * @brief Triangulate a 3D TriangulatedSurface (copy triangles) 64 * 65 * @todo unittest 66 * @ingroup detail 67 */ 68 SFCGAL_API void triangulatePolygon3D( 69 const TriangulatedSurface& g, 70 TriangulatedSurface& triangulatedSurface 71 ); 72 /** 73 * @brief Triangulate a 3D MultiPolygon 74 * @todo unittest 75 * @ingroup detail 76 */ 77 SFCGAL_API void opentriangulatePolygon3D( 78 const GeometryCollection& g, 79 TriangulatedSurface& triangulatedSurface 80 ); 81 /** 82 * @brief Triangulate 3D polygons in a PolyhedralSurface. 83 * 84 * @todo unittest 85 * @ingroup detail 86 */ 87 SFCGAL_API void triangulatePolygon3D( 88 const PolyhedralSurface& polyhedralSurface, 89 TriangulatedSurface& triangulatedSurface 90 ); 91 /** 92 * @brief Triangulate a Solid 93 * 94 * @todo unittest 95 * @ingroup detail 96 */ 97 SFCGAL_API void triangulatePolygon3D( 98 const Solid& g, 99 TriangulatedSurface& triangulatedSurface 100 ); 101 102 }//algorithm 103 }//SFCGAL 104 105 #endif 106 107