]> git.mxchange.org Git - flightgear.git/blob - Scenery/tilemgr.hxx
Attempting to iron out seg faults and crashes.
[flightgear.git] / Scenery / tilemgr.hxx
1 // tilemgr.hxx -- routines to handle dynamic management of scenery tiles
2 //
3 // Written by Curtis Olson, started January 1998.
4 //
5 // Copyright (C) 1997  Curtis L. Olson  - curt@infoplane.com
6 //
7 // This program is free software; you can redistribute it and/or
8 // modify it under the terms of the GNU General Public License as
9 // published by the Free Software Foundation; either version 2 of the
10 // License, or (at your option) any later version.
11 //
12 // This program is distributed in the hope that it will be useful, but
13 // WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 // General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with this program; if not, write to the Free Software
19 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 //
21 // $Id$
22 // (Log is kept at end of this file)
23
24
25 #ifndef _TILEMGR_HXX
26 #define _TILEMGR_HXX
27
28
29 #ifndef __cplusplus                                                          
30 # error This library requires C++
31 #endif                                   
32
33
34 // Initialize the Tile Manager subsystem
35 int fgTileMgrInit( void );
36
37
38 // given the current lon/lat, fill in the array of local chunks.  If
39 // the chunk isn't already in the cache, then read it from disk.
40 int fgTileMgrUpdate( void );
41
42
43 // Determine scenery altitude.  Normally this just happens when we
44 // render the scene, but we'd also like to be able to do this
45 // explicitely.  lat & lon are in radians.  abs_view_pos in meters.
46 // Returns result in meters.
47 double fgTileMgrCurElev( double lon, double lat, fgPoint3d *abs_view_pos );
48
49
50 // Render the local tiles --- hack, hack, hack
51 void fgTileMgrRender( void );
52
53
54 #endif // _TILEMGR_HXX
55
56
57 // $Log$
58 // Revision 1.3  1998/08/22 14:49:59  curt
59 // Attempting to iron out seg faults and crashes.
60 // Did some shuffling to fix a initialization order problem between view
61 // position, scenery elevation.
62 //
63 // Revision 1.2  1998/05/20 20:53:56  curt
64 // Moved global ref point and radius (bounding sphere info, and offset) to
65 // data file rather than calculating it on the fly.
66 // Fixed polygon winding problem in scenery generation stage rather than
67 // compensating for it on the fly.
68 // Made a fgTILECACHE class.
69 //
70 // Revision 1.1  1998/04/22 13:22:49  curt
71 // C++ - ifing the code a bit.
72 //
73 // Revision 1.6  1998/04/21 17:02:45  curt
74 // Prepairing for C++ integration.
75 //
76 // Revision 1.5  1998/02/12 21:59:53  curt
77 // Incorporated code changes contributed by Charlie Hotchkiss
78 // <chotchkiss@namg.us.anritsu.com>
79 //
80 // Revision 1.4  1998/01/22 02:59:42  curt
81 // Changed #ifdef FILE_H to #ifdef _FILE_H
82 //
83 // Revision 1.3  1998/01/19 18:40:38  curt
84 // Tons of little changes to clean up the code and to remove fatal errors
85 // when building with the c++ compiler.
86 //
87 // Revision 1.2  1998/01/13 00:23:11  curt
88 // Initial changes to support loading and management of scenery tiles.  Note,
89 // there's still a fair amount of work left to be done.
90 //
91 // Revision 1.1  1998/01/07 23:50:51  curt
92 // "area" renamed to "tile"