//=========================================================================== // 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. //=========================================================================== 00019 #ifndef _SURFACEGEN_H 00020 #define _SURFACEGEN_H 00021 00022 #include "GoTools/geometry/SplineSurface.h" 00023 #include "GoTools/geometry/SplineCurve.h" 00024 00025 00029 00030 namespace Go{ 00031 00032 namespace HahnsSurfaceGen{ 00033 00034 00048 std::vector<boost::shared_ptr<Go::ParamSurface> > 00049 constructPolygonialSurface(std::vector<boost::shared_ptr<Go::ParamCurve> >& bnd_curves, 00050 std::vector<boost::shared_ptr<Go::ParamCurve> >& cross_curves, 00051 double neighbour_tol, 00052 double kink_tol, 00053 double knot_diff_tol); 00054 00064 std::vector<boost::shared_ptr<Go::ParamSurface> > 00065 constructHahnsSurface(std::vector<boost::shared_ptr<Go::SplineCurve> >& bnd_curves, 00066 std::vector<boost::shared_ptr<Go::SplineCurve> >& mod_cross_curves, 00067 double neighbour_tol, 00068 double kink_tol, 00069 double knot_diff_tol); 00070 00071 } // end of namespace 00072 00073 } // end of namespace 00074 00075 00076 #endif // _SURFACEGEN_H