From: curt Date: Sat, 12 Jun 1999 21:14:01 +0000 (+0000) Subject: Renamed tileentry.[ch]xx X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=4924c06ca5690b472c76fa38c2ab29edde23eb6b;p=flightgear.git Renamed tileentry.[ch]xx --- diff --git a/Simulator/Scenery/tile.cxx b/Simulator/Scenery/tile.cxx deleted file mode 100644 index 52a271f03..000000000 --- a/Simulator/Scenery/tile.cxx +++ /dev/null @@ -1,71 +0,0 @@ -// tile.cxx -- routines to handle a scenery tile -// -// Written by Curtis Olson, started May 1998. -// -// Copyright (C) 1998 Curtis L. Olson - curt@infoplane.com -// -// 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 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., 675 Mass Ave, Cambridge, MA 02139, USA. -// -// $Id$ - - -#include - -#ifdef FG_MATH_EXCEPTION_CLASH -# include -#endif - -#include STL_FUNCTIONAL -#include STL_ALGORITHM - -#include -#include -#include "Bucket/newbucket.hxx" - -#include "tile.hxx" - -FG_USING_STD(for_each); -FG_USING_STD(mem_fun_ref); - - -// Constructor -fgTILE::fgTILE ( void ) - : nodes(new double[FG_MAX_NODES][3]), - ncount(0), - used(false) -{ -} - - -// Destructor -fgTILE::~fgTILE ( void ) { -// free(nodes); - delete[] nodes; -} - -// Step through the fragment list, deleting the display list, then -// the fragment, until the list is empty. -void -fgTILE::release_fragments() -{ - FG_LOG( FG_TERRAIN, FG_DEBUG, - "FREEING TILE = (" << tile_bucket << ")" ); - for_each( begin(), end(), - mem_fun_ref( &fgFRAGMENT::deleteDisplayList )); - fragment_list.erase( begin(), end() ); - used = false; -} - - diff --git a/Simulator/Scenery/tile.hxx b/Simulator/Scenery/tile.hxx deleted file mode 100644 index a1b235c0f..000000000 --- a/Simulator/Scenery/tile.hxx +++ /dev/null @@ -1,162 +0,0 @@ -// tile.hxx -- routines to handle a scenery tile -// -// Written by Curtis Olson, started May 1998. -// -// Copyright (C) 1998 Curtis L. Olson - curt@infoplane.com -// -// 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 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., 675 Mass Ave, Cambridge, MA 02139, USA. -// -// $Id$ - - -#ifndef _TILE_HXX -#define _TILE_HXX - - -#ifndef __cplusplus -# error This library requires C++ -#endif - -#ifdef HAVE_CONFIG_H -# include -#endif - -#ifdef HAVE_WINDOWS_H -# include -#endif - -#include -#include - -#include - -#include -#include STL_STRING - -#include -#include -#include -#include - -#ifdef FG_HAVE_NATIVE_SGI_COMPILERS -#include -#endif - -FG_USING_STD(string); -FG_USING_STD(vector); - - -// Scenery tile class -class fgTILE { - -public: - - typedef vector < fgFRAGMENT > container; - typedef container::iterator FragmentIterator; - typedef container::const_iterator FragmentConstIterator; - -public: - // node list (the per fragment face lists reference this node list) - double (*nodes)[3]; - int ncount; - - // culling data for whole tile (course grain culling) - Point3D center; - double bounding_radius; - Point3D offset; - GLfloat model_view[16]; - - // this tile's official location in the world - FGBucket tile_bucket; - - // the tile cache will mark here if the tile is being used - bool used; - - container fragment_list; - -public: - - FragmentIterator begin() { return fragment_list.begin(); } - FragmentConstIterator begin() const { return fragment_list.begin(); } - - FragmentIterator end() { return fragment_list.end(); } - FragmentConstIterator end() const { return fragment_list.end(); } - - void add_fragment( fgFRAGMENT& frag ) { - frag.tile_ptr = this; - fragment_list.push_back( frag ); - } - - // - size_t num_fragments() const { - return fragment_list.size(); - } - - // Step through the fragment list, deleting the display list, then - // the fragment, until the list is empty. - void release_fragments(); - -// int ObjLoad( const string& path, const fgBUCKET& p ); - - // Constructor - fgTILE ( void ); - - // Destructor - ~fgTILE ( void ); - - // Calculate this tile's offset - void SetOffset( const Point3D& off) - { - offset = center - off; - } - - // Return this tile's offset - inline Point3D GetOffset( void ) const { return offset; } - - // Calculate the model_view transformation matrix for this tile - inline void - UpdateViewMatrix(GLfloat *MODEL_VIEW) - { - -#if defined( USE_MEM ) || defined( WIN32 ) - memcpy( model_view, MODEL_VIEW, 16*sizeof(GLfloat) ); -#else - bcopy( MODEL_VIEW, model_view, 16*sizeof(GLfloat) ); -#endif - - // This is equivalent to doing a glTranslatef(x, y, z); - model_view[12] += (model_view[0]*offset.x() + - model_view[4]*offset.y() + - model_view[8]*offset.z()); - model_view[13] += (model_view[1]*offset.x() + - model_view[5]*offset.y() + - model_view[9]*offset.z()); - model_view[14] += (model_view[2]*offset.x() + - model_view[6]*offset.y() + - model_view[10]*offset.z() ); - // m[15] += (m[3]*x + m[7]*y + m[11]*z); - // m[3] m7[] m[11] are 0.0 see LookAt() in views.cxx - // so m[15] is unchanged - } - -private: - - // not defined - fgTILE( const fgTILE& ); - fgTILE& operator = ( const fgTILE& ); -}; - - -#endif // _TILE_HXX