//=========================================================================== // GoTools Core - SINTEF Geometry Tools Core library, version 2.0.1 // // Copyright (C) 2000-2007, 2010 SINTEF ICT, Applied Mathematics, Norway. // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation version 2 of the License. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., // 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // // Contact information: E-mail: tor.dokken@sintef.no // SINTEF ICT, Department of Applied Mathematics, // P.O. Box 124 Blindern, // 0314 Oslo, Norway. // // Other licenses are also available for this software, notably licenses // for: // - Building commercial software. // - Building software whose source code you wish to keep private. //===========================================================================
00001 #ifndef SPLINE2MESH_H_INCLUDED 00002 #define SPLINE2MESH_H_INCLUDED 00003 00004 00005 00006 00007 00008 00009 #include "GoTools/utils/Array.h" 00010 00011 #include <vector> 00012 00013 00014 #include "GoTools/tesselator/2dpoly_for_s2m.h" 00015 #include "GoTools/geometry/SplineSurface.h" 00016 #include "GoTools/geometry/SplineCurve.h" 00017 00018 00019 00020 00021 00022 00023 namespace Go 00024 { 00025 00026 // 081206: A version for more than one curve. 00027 void make_trimmed_mesh(boost::shared_ptr<SplineSurface> srf, 00028 std::vector<boost::shared_ptr<SplineCurve> >& crv_set, 00029 std::vector< Vector3D > &vert, 00030 std::vector< Vector2D > &vert_p, 00031 std::vector< int > &bd, 00032 std::vector< Vector3D > &norm, 00033 std::vector<int> &mesh, 00034 std::vector< Vector3D > &trim_curve, 00035 std::vector< Vector3D > &trim_curve_p, 00036 const int dn, const int dm, 00037 double bd_res_ratio); 00038 00039 } // namespace Go 00040 00041 #endif