X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fmisc%2Ftexcoord.hxx;h=20537922b47fa0229f919532075196e159c961d5;hb=e4e31be7d43569a92a5d9fa7e784381b66cbd95a;hp=42657e37f179cc8e23615286f83b9a4cc1359571;hpb=a09806bb984b32607614df92dd430494d7af05de;p=simgear.git diff --git a/simgear/misc/texcoord.hxx b/simgear/misc/texcoord.hxx index 42657e37..20537922 100644 --- a/simgear/misc/texcoord.hxx +++ b/simgear/misc/texcoord.hxx @@ -1,8 +1,11 @@ -// 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 library is free software; you can redistribute it and/or // modify it under the terms of the GNU Library General Public @@ -14,10 +17,9 @@ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Library General Public License for more details. // -// You should have received a copy of the GNU Library General Public -// License along with this library; if not, write to the -// Free Software Foundation, Inc., 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. +// 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // // $Id$ @@ -26,18 +28,31 @@ #define _TEXCOORD_HXX -#ifndef __cplusplus +#ifndef __cplusplus # error This library requires C++ -#endif +#endif #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 SGBucket& b, const point_list& geod_nodes, +std::vector sgCalcTexCoords( double centerLat, const std::vector& geod_nodes, const int_list& fan, double scale = 1.0 );