X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fmisc%2Ftexcoord.hxx;h=20537922b47fa0229f919532075196e159c961d5;hb=e4e31be7d43569a92a5d9fa7e784381b66cbd95a;hp=50d9945a920a76149edee978f1d6e4871d9778d7;hpb=2ed07850c616705695f2add269d187f981f8d09d;p=simgear.git diff --git a/simgear/misc/texcoord.hxx b/simgear/misc/texcoord.hxx index 50d9945a..20537922 100644 --- a/simgear/misc/texcoord.hxx +++ b/simgear/misc/texcoord.hxx @@ -1,22 +1,25 @@ -// texcoord.hxx -- routine(s) to handle texture coordinate generation -// +/** + * \file texcoord.hxx + * Routine to handle texture coordinate generation. + */ + // Written by Curtis Olson, started March 1999. // -// Copyright (C) 1999 Curtis L. Olson - curt@flightgear.org +// Copyright (C) 1999 Curtis L. Olson - http://www.flightgear.org/~curt // -// 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; either version 2 of the -// License, or (at your option) any later version. +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Library General Public +// License as published by the Free Software Foundation; either +// version 2 of the License, or (at your option) any later version. // -// This program is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of +// This library 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. +// Library 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., 675 Mass Ave, Cambridge, MA 02139, USA. +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // // $Id$ @@ -25,18 +28,31 @@ #define _TEXCOORD_HXX -#ifndef __cplusplus +#ifndef __cplusplus # error This library requires C++ -#endif +#endif #include -#include - +#include + +#include +#include +#include + +/** + * Traverse the specified fan/strip/list of vertices and attempt to + * calculate "none stretching" texture coordinates. + * @param b the bucket containing the structure + * @param geod_nodes vertices in geodetic coordinates + * @param fan integer list of indices pointing into the vertex list + * @param scale (default = 1.0) scaling factor + * @return list of texture coordinates + */ +std::vector sgCalcTexCoords( const SGBucket& b, const std::vector& geod_nodes, + const int_list& fan, double scale = 1.0 ); -// traverse the specified fan/strip/list of vertices and attempt to -// calculate "none stretching" texture coordinates -point_list calc_tex_coords( const FGBucket& b, const point_list& geod_nodes, +std::vector sgCalcTexCoords( double centerLat, const std::vector& geod_nodes, const int_list& fan, double scale = 1.0 );