%------------------------------------------------------------------------
-% $Log$
-% Revision 1.1 1999/04/05 21:32:34 curt
-% Initial revision
-%
-% Revision 1.1 1999/03/09 19:09:41 curt
-% Initial revision.
-%
%------------------------------------------------------------------------
-% $Log$
-% Revision 1.1 1999/04/05 21:32:34 curt
-% Initial revision
-%
-% Revision 1.1 1999/03/09 19:09:41 curt
-% Initial revision.
-%
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.12 1999/03/07 michael
-%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Building the plane: Compiling\index{compiling} the program\label{building}}
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.12 1999/03/07 michael
-%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Flight: Keystrokes,\index{keystrokes} the \Index{HUD} and all that\label{flight}}
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.12 1999/03/07 michael
-%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Want to have a free flight? Take {\FlightGear}!\label{free}}
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.12 1999/03/07 michael
-%% (Log is kept at end of this file)
\documentclass[11pt,openany]{book}
\usepackage{makeidx}
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.12 1999/03/07 michael
-%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\eject
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.12 1999/03/07 michael
-%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Landing: Some further thoughts before leaving the plane\label{landing}}
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.12 1999/03/07 michael
-%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Missed approach: If anything refuses to work\label{missed}}
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.12 1999/03/07 michael
-%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Getting the engine: Installing \Index{OpenGL} \Index{graphics drivers}\label{opengl}}
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.12 1999/03/07 michael
-%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Preflight: Installing \FlightGear \label{prefligh}}
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.12 1999/03/07 michael
-%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.12 1999/03/07 michael
-%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{FlightGear Flight Simulator -- Installation and Getting Started}
%------------------------------------------------------------------------
-% $Log$
-% Revision 1.1 1999/04/05 21:32:34 curt
-% Initial revision
-%
-% Revision 1.1 1999/02/14 19:10:47 curt
-% Initial revisions.
-%
%------------------------------------------------------------------------
-% $Log$
-% Revision 1.1 1999/04/05 21:32:34 curt
-% Initial revision
-%
-% Revision 1.4 1999/03/21 15:12:51 curt
-% Updated to reflect current scenery progress.
-%
-% Revision 1.3 1999/03/13 21:42:37 curt
-% Updated to match current scenery generation tools progress.
-%
-% Revision 1.2 1999/03/08 21:59:52 curt
-% Updated based on current efforts.
-%
-% Revision 1.1 1999/02/15 00:38:46 curt
-% Initial revision.
-%
%------------------------------------------------------------------------
-% $Log$
-% Revision 1.1 1999/04/05 21:32:34 curt
-% Initial revision
-%
-% Revision 1.1 1999/02/14 19:12:21 curt
-% Initial revisions.
-%
%------------------------------------------------------------------------
-% $Log$
-% Revision 1.1 1999/04/05 21:32:34 curt
-% Initial revision
-%
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifndef _AUTO_PTR_HXX
#endif /* _AUTO_PTR_HXX */
-// $Log$
-// Revision 1.1 1999/04/05 21:32:41 curt
-// Initial revision
-//
-// Revision 1.2 1998/09/10 19:07:03 curt
-// /Simulator/Objects/fragment.hxx
-// Nested fgFACE inside fgFRAGMENT since its not used anywhere else.
-//
-// ./Simulator/Objects/material.cxx
-// ./Simulator/Objects/material.hxx
-// Made fgMATERIAL and fgMATERIAL_MGR bona fide classes with private
-// data members - that should keep the rabble happy :)
-//
-// ./Simulator/Scenery/tilemgr.cxx
-// In viewable() delay evaluation of eye[0] and eye[1] in until they're
-// actually needed.
-// Change to fgTileMgrRender() to call fgMATERIAL_MGR::render_fragments()
-// method.
-//
-// ./Include/fg_stl_config.h
-// ./Include/auto_ptr.hxx
-// Added support for g++ 2.7.
-// Further changes to other files are forthcoming.
-//
-// Brief summary of changes required for g++ 2.7.
-// operator->() not supported by iterators: use (*i).x instead of i->x
-// default template arguments not supported,
-// <functional> doesn't have mem_fun_ref() needed by callbacks.
-// some std include files have different names.
-// template member functions not supported.
-//
-// Revision 1.1 1998/08/30 14:12:45 curt
-// Initial revision. Contributed by Bernie Bright.
-//
// CHotchkiss 10 Feb 98
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _CMDARGS_H
// end of cmdargs.h
-// $Log$
-// Revision 1.1 1999/04/05 21:32:41 curt
-// Initial revision
-//
-// Revision 1.2 1998/02/16 16:17:36 curt
-// Minor tweaks.
-//
-// Revision 1.1 1998/02/13 00:18:46 curt
-// Initial revision.
-//
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifndef _COMPILER_H
#endif // _COMPILER_H
-// $Log$
-// Revision 1.1 1999/04/05 21:32:40 curt
-// Initial revision
-//
-// Revision 1.9 1999/03/02 00:36:31 curt
-// Tweaks for native SGI compilers.
-//
-// Revision 1.8 1999/02/26 22:07:10 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.7 1999/02/05 21:27:41 curt
-// Tweaks for the solaris platform.
-//
-// Revision 1.6 1999/01/27 04:45:17 curt
-// Tweak for solaris.
-//
-// Revision 1.5 1999/01/19 20:41:25 curt
-// Added support for MacOS (Metrowerks)
-//
-// Revision 1.4 1999/01/06 21:47:37 curt
-// renamed general.h to general.hxx
-// More portability enhancements to compiler.h
-//
-// Revision 1.3 1998/11/06 14:04:09 curt
-// More portability improvements by Bernie Bright.
-//
-// Revision 1.2 1998/11/02 18:28:08 curt
-// Portability updates from Bernie Bright
-//
-// Revision 1.1 1998/10/16 00:49:04 curt
-// fg_stl_config.h -> compiler.h, fg_stl_config.h maintained for backwards
-// compatibility.
-//
-// Revision 1.3 1998/09/29 02:00:16 curt
-// Start of some borland c support
-//
-// Revision 1.2 1998/09/10 19:07:04 curt
-// /Simulator/Objects/fragment.hxx
-// Nested fgFACE inside fgFRAGMENT since its not used anywhere else.
-//
-// ./Simulator/Objects/material.cxx
-// ./Simulator/Objects/material.hxx
-// Made fgMATERIAL and fgMATERIAL_MGR bona fide classes with private
-// data members - that should keep the rabble happy :)
-//
-// ./Simulator/Scenery/tilemgr.cxx
-// In viewable() delay evaluation of eye[0] and eye[1] in until they're
-// actually needed.
-// Change to fgTileMgrRender() to call fgMATERIAL_MGR::render_fragments()
-// method.
-//
-// ./Include/fg_stl_config.h
-// ./Include/auto_ptr.hxx
-// Added support for g++ 2.7.
-// Further changes to other files are forthcoming.
-//
-// Brief summary of changes required for g++ 2.7.
-// operator->() not supported by iterators: use (*i).x instead of i->x
-// default template arguments not supported,
-// <functional> doesn't have mem_fun_ref() needed by callbacks.
-// some std include files have different names.
-// template member functions not supported.
-//
-// Revision 1.1 1998/08/30 14:13:49 curt
-// Initial revision. Contributed by Bernie Bright.
-//
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifndef _FG_CALLBACK_HXX
#endif // _FG_CALLBACK_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:41 curt
-// Initial revision
-//
-// Revision 1.2 1998/09/15 02:09:04 curt
-// Include/fg_callback.hxx
-// Moved code inline to stop g++ 2.7 from complaining.
-//
-// Simulator/Time/event.[ch]xx
-// Changed return type of fgEVENT::printStat(). void caused g++ 2.7 to
-// complain bitterly.
-//
-// Minor bugfix and changes.
-//
-// Simulator/Main/GLUTmain.cxx
-// Added missing type to idle_state definition - eliminates a warning.
-//
-// Simulator/Main/fg_init.cxx
-// Changes to airport lookup.
-//
-// Simulator/Main/options.cxx
-// Uses fg_gzifstream when loading config file.
-//
-// Revision 1.1 1998/08/30 14:13:48 curt
-// Initial revision. Contributed by Bernie Bright.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _FG_CONSTANTS_H
#endif // _FG_CONSTANTS_H
-// $Log$
-// Revision 1.1 1999/04/05 21:32:40 curt
-// Initial revision
-//
-// Revision 1.13 1999/04/05 02:12:59 curt
-// Define maximum nodes for a tile here.
-//
-// Revision 1.12 1999/03/01 15:33:43 curt
-// Truth in advertising.
-//
-// Revision 1.11 1999/02/01 21:14:10 curt
-// Converted to C++ style comments.
-//
-// Revision 1.10 1999/01/27 04:45:19 curt
-// Tweak for solaris.
-//
-// Revision 1.9 1998/08/24 20:02:35 curt
-// Added ONE_SECOND (in radians)
-//
-// Revision 1.8 1998/07/12 03:07:13 curt
-// Added #ifdef HAVE_CONFIG_H ...
-//
-// Revision 1.7 1998/07/08 14:36:29 curt
-// Changed name of EQUATORIAL_RADIUS_KM and RESQ_KM to "M" since they were
-// in meters anyways.
-//
-// Unified fgCartesianPoint3d and fgPolarPoint3d in a single struct called
-// fgPoint3d.
-//
-// Revision 1.6 1998/07/03 14:36:11 curt
-// Added conversion constants to fg_constants.h to assist with converting
-// between various world units and coordinate systems.
-// Added gl vendor/renderer/version info to general structure. Initialized
-// in fg_init.cxx
-//
-// Revision 1.5 1998/05/17 16:56:47 curt
-// Re-organized PI related constants.
-//
-// Revision 1.4 1998/05/16 13:03:10 curt
-// Defined field of view max/min limits.
-//
-// Revision 1.3 1998/04/08 23:35:32 curt
-// Tweaks to Gnu automake/autoconf system.
-//
-// Revision 1.2 1998/03/23 21:18:37 curt
-// Made FG_EPSILON smaller.
-//
-// Revision 1.1 1998/01/27 00:46:50 curt
-// prepended "fg_" on the front of these to avoid potential conflicts with
-// system include files.
-//
-// Revision 1.3 1998/01/22 02:59:35 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.2 1998/01/07 03:31:26 curt
-// Miscellaneous tweaks.
-//
-// Revision 1.1 1997/12/15 21:02:15 curt
-// Moved to .../FlightGear/Src/Include/
-//
-// Revision 1.10 1997/09/13 01:59:45 curt
-// Mostly working on stars and generating sidereal time for accurate star
-// placement.
-//
-// Revision 1.9 1997/08/22 21:34:32 curt
-// Doing a bit of reorganizing and house cleaning.
-//
-// Revision 1.8 1997/07/31 22:52:22 curt
-// Working on redoing internal coordinate systems & scenery transformations.
-//
-// Revision 1.7 1997/07/23 21:52:10 curt
-// Put comments around the text after an #endif for increased portability.
-//
-// Revision 1.6 1997/07/21 14:45:01 curt
-// Minor tweaks.
-//
-// Revision 1.5 1997/07/19 23:04:46 curt
-// Added an initial weather section.
-//
-// Revision 1.4 1997/07/19 22:37:03 curt
-// Added various PI definitions.
-//
-// Revision 1.3 1997/07/14 16:26:03 curt
-// Testing/playing -- placed objects randomly across the entire terrain.
-//
-// Revision 1.2 1997/07/08 18:20:11 curt
-// Working on establishing a hard ground.
-//
-// Revision 1.1 1997/07/07 21:02:36 curt
-// Initial revision.
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _FG_MEMORY_H
#endif // _FG_MEMORY_H
-// $Log$
-// Revision 1.1 1999/04/05 21:32:40 curt
-// Initial revision
-//
-// Revision 1.2 1998/12/09 18:47:39 curt
-// Use C++ style comments.
-//
-// Revision 1.1 1998/12/07 21:07:25 curt
-// Memory related portability improvements.
-//
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#endif /* _FG_ZLIB_H */
-/* $Log$
-/* Revision 1.1 1999/04/05 21:32:41 curt
-/* Initial revision
-/*
- * Revision 1.1 1998/04/28 21:41:39 curt
- * Initial revision of fg_zlib.h
- *
- */
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _GENERAL_HXX
#endif // _GENERAL_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:40 curt
-// Initial revision
-//
-// Revision 1.1 1999/01/06 21:47:39 curt
-// renamed general.h to general.hxx
-// More portability enhancements to compiler.h
-//
-// Revision 1.9 1998/12/18 23:34:42 curt
-// Converted to a simpler frame rate calculation method.
-//
-// Revision 1.8 1998/08/20 15:09:46 curt
-// Added a status flat for instrument panel use.
-//
-// Revision 1.7 1998/07/03 14:36:11 curt
-// Added conversion constants to fg_constants.h to assist with converting
-// between various world units and coordinate systems.
-// Added gl vendor/renderer/version info to general structure. Initialized
-// in fg_init.cxx
-//
-// Revision 1.6 1998/05/13 18:23:46 curt
-// fg_typedefs.h: updated version by Charlie Hotchkiss
-// general.h: moved fg_root info to fgOPTIONS structure.
-//
-// Revision 1.5 1998/05/07 23:03:17 curt
-// Lowered size of frame rate history buffer.
-//
-// Revision 1.4 1998/05/06 03:14:30 curt
-// Added a shared frame rate counter.
-//
-// Revision 1.3 1998/03/14 00:27:58 curt
-// Promoted fgGENERAL to a "type" of struct.
-//
-// Revision 1.2 1998/01/22 02:59:35 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.1 1997/12/15 21:02:16 curt
-// Moved to .../FlightGear/Src/Include/
-//
-// Revision 1.3 1997/12/10 22:37:34 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.2 1997/08/27 03:29:38 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.1 1997/08/23 11:37:12 curt
-// Initial revision.
-//
-
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:34 curt
-// Initial revision
-//
-// Revision 1.4 1999/03/27 05:34:05 curt
-// Elimitated some const warnings from the compiler.
-//
-// Revision 1.3 1999/02/26 22:07:54 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.2 1999/02/11 01:09:33 curt
-// Added a routine to calculate the offset in bucket units between two buckets.
-//
-// Revision 1.1 1999/02/08 23:52:16 curt
-// Added a new "newbucket.[ch]xx" FGBucket class to replace the old
-// fgBUCKET struct and C routines. This FGBucket class adjusts the tile
-// width towards the poles to ensure the tiles are at least 8 miles wide.
-//
-
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#endif // _NEWBUCKET_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:34 curt
-// Initial revision
-//
-// Revision 1.8 1999/03/27 05:34:06 curt
-// Elimitated some const warnings from the compiler.
-//
-// Revision 1.7 1999/03/25 19:01:51 curt
-// Jettisoned old bucketutils.[ch] for newbucket.[ch]xx
-//
-// Revision 1.6 1999/03/15 17:58:41 curt
-// MSVC++ portability tweaks contributed by Bernie Bright.
-// Added using std::ostream declaration.
-// Added forward declarations to work around a MSVC bug.
-//
-// Revision 1.5 1999/03/12 22:51:18 curt
-// Added some informational methods.
-//
-// Revision 1.4 1999/03/02 01:01:43 curt
-// Tweaks for compiling with native SGI compilers.
-//
-// Revision 1.3 1999/02/26 22:07:55 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.2 1999/02/11 01:09:34 curt
-// Added a routine to calculate the offset in bucket units between two buckets.
-//
-// Revision 1.1 1999/02/08 23:52:16 curt
-// Added a new "newbucket.[ch]xx" FGBucket class to replace the old
-// fgBUCKET struct and C routines. This FGBucket class adjusts the tile
-// width towards the poles to ensure the tiles are at least 8 miles wide.
-//
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
}
-/* $Log$
-/* Revision 1.1 1999/04/05 21:32:33 curt
-/* Initial revision
-/*
- * Revision 1.4 1998/06/01 17:49:44 curt
- * Rewrote a slightly ambiguous code fragment (contributed by Charlie Hotchkiss)
- *
- * Revision 1.3 1998/05/07 23:03:54 curt
- * Added an entry for AUTOPILOT.
- *
- * Revision 1.2 1998/04/21 17:03:45 curt
- * Prepairing for C++ integration.
- *
- * Revision 1.1 1998/04/18 03:52:04 curt
- * Moved to Lib directory and created a libDebug.
- *
- * Revision 1.10 1998/03/14 00:31:21 curt
- * Beginning initial terrain texturing experiments.
- *
- * Revision 1.9 1998/03/09 22:44:58 curt
- * Modified so that you can specify FG_DEBUGCLASS ***or*** FG_DEBUG_PRIORITY
- *
- * Revision 1.8 1998/03/09 22:11:00 curt
- * Processed through the format-o-matic.
- *
- * Revision 1.7 1998/02/16 13:39:43 curt
- * Miscellaneous weekend tweaks. Fixed? a cache problem that caused whole
- * tiles to occasionally be missing.
- *
- */
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * (Log is kept at end of this file)
**************************************************************************/
#error "use logstream"
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include "logstream.hxx"
logbuf::set_log_level( c, p );
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.2 1999/01/19 20:53:34 curt
-// Portability updates by Bernie Bright.
-//
-// Revision 1.1 1998/11/06 21:20:41 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _LOGSTREAM_H
#define _LOGSTREAM_H
#endif // _LOGSTREAM_H
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.4 1999/03/02 01:01:47 curt
-// Tweaks for compiling with native SGI compilers.
-//
-// Revision 1.3 1999/01/19 20:53:35 curt
-// Portability updates by Bernie Bright.
-//
-// Revision 1.2 1998/11/07 19:07:02 curt
-// Enable release builds using the --without-logging option to the configure
-// script. Also a couple log message cleanups, plus some C to C++ comment
-// conversion.
-//
-// Revision 1.1 1998/11/06 21:20:42 curt
-// Initial revision.
-//
// See below for the complete original LaRCsim comments.
//
// $Id$
-// (Log is kept at end of this file)
#include "Include/compiler.h"
#ifdef FG_HAVE_STD_INCLUDES
CURRENT RCS HEADER:
$Header$
-$Log$
-Revision 1.1 1999/04/05 21:32:33 curt
-Initial revision
-
-Revision 1.6 1999/03/02 01:01:49 curt
-Tweaks for compiling with native SGI compilers.
-
-Revision 1.5 1999/01/27 04:46:14 curt
-Portability tweaks by Bernie Bright.
-
-Revision 1.4 1998/11/20 01:00:36 curt
-Patch in fgGeoc2Geod() to avoid a floating explosion.
-point3d.hxx include math.h for FreeBSD
-
-Revision 1.3 1998/11/11 00:18:36 curt
-Check for domain error in fgGeoctoGeod()
-
-Revision 1.2 1998/10/16 23:36:36 curt
-c++-ifying.
-
-Revision 1.1 1998/10/16 19:30:40 curt
-Renamed .c -> .h so we can start adding c++ supporting routines.
-
-Revision 1.6 1998/07/08 14:40:07 curt
-polar3d.[ch] renamed to polar3d.[ch]xx, vector.[ch] renamed to vector.[ch]xx
-Updated fg_geodesy comments to reflect that routines expect and produce
- meters.
-
-Revision 1.5 1998/04/25 22:06:23 curt
-Edited cvs log messages in source files ... bad bad bad!
-
-Revision 1.4 1998/01/27 00:47:59 curt
-Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-system and commandline/config file processing code.
-
-Revision 1.3 1998/01/19 19:27:12 curt
-Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-This should simplify things tremendously.
-
-Revision 1.2 1997/12/15 23:54:54 curt
-Add xgl wrappers for debugging.
-Generate terrain normals on the fly.
-
-Revision 1.1 1997/07/31 23:13:14 curt
-Initial revision.
-
-Revision 1.1 1997/05/29 00:09:56 curt
-Initial Flight Gear revision.
-
* Revision 1.5 1994/01/11 18:47:05 bjax
* Changed include files to use types and constants, not ls_eom.h
* Also changed DATA type to SCALAR type.
--------------------------------------------------------------------------*/
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.6 1999/03/02 01:01:49 curt
-// Tweaks for compiling with native SGI compilers.
-//
-// Revision 1.5 1999/01/27 04:46:14 curt
-// Portability tweaks by Bernie Bright.
-//
-// Revision 1.4 1998/11/20 01:00:36 curt
-// Patch in fgGeoc2Geod() to avoid a floating explosion.
-// point3d.hxx include math.h for FreeBSD
-//
-// Revision 1.3 1998/11/11 00:18:36 curt
-// Check for domain error in fgGeoctoGeod()
-//
-// Revision 1.2 1998/10/16 23:36:36 curt
-// c++-ifying.
-//
-// Revision 1.1 1998/10/16 19:30:40 curt
-// Renamed .c -> .h so we can start adding c++ supporting routines.
-//
-// Revision 1.6 1998/07/08 14:40:07 curt
-// polar3d.[ch] renamed to polar3d.[ch]xx, vector.[ch] renamed to vector.[ch]xx
-// Updated fg_geodesy comments to reflect that routines expect and produce
-// meters.
-//
-// Revision 1.5 1998/04/25 22:06:23 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.4 1998/01/27 00:47:59 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.3 1998/01/19 19:27:12 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.2 1997/12/15 23:54:54 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.1 1997/07/31 23:13:14 curt
-// Initial revision.
-//
-
// See below for the complete original LaRCsim comments.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _FG_GEODESY_HXX
CURRENT RCS HEADER:
$Header$
-$Log$
-Revision 1.1 1999/04/05 21:32:33 curt
-Initial revision
-
-Revision 1.4 1999/01/27 04:46:15 curt
-Portability tweaks by Bernie Bright.
-
-Revision 1.3 1998/10/18 01:17:11 curt
-Point3D tweaks.
-
-Revision 1.2 1998/10/16 23:36:37 curt
-c++-ifying.
-
-Revision 1.1 1998/10/16 19:30:42 curt
-Renamed .c -> .h so we can start adding c++ supporting routines.
-
-Revision 1.4 1998/07/08 14:40:08 curt
-polar3d.[ch] renamed to polar3d.[ch]xx, vector.[ch] renamed to vector.[ch]xx
-Updated fg_geodesy comments to reflect that routines expect and produce
- meters.
-
-Revision 1.3 1998/04/21 17:03:48 curt
-Prepairing for C++ integration.
-
-Revision 1.2 1998/01/22 02:59:38 curt
-Changed #ifdef FILE_H to #ifdef _FILE_H
-
-Revision 1.1 1997/07/31 23:13:14 curt
-Initial revision.
-
-Revision 1.1 1997/05/29 00:09:56 curt
-Initial Flight Gear revision.
* Revision 1.5 1994/01/11 18:47:05 bjax
* Changed include files to use types and constants, not ls_eom.h
#endif // _FG_GEODESY_HXX
-
-
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.4 1999/01/27 04:46:15 curt
-// Portability tweaks by Bernie Bright.
-//
-// Revision 1.3 1998/10/18 01:17:11 curt
-// Point3D tweaks.
-//
-// Revision 1.2 1998/10/16 23:36:37 curt
-// c++-ifying.
-//
-// Revision 1.1 1998/10/16 19:30:42 curt
-// Renamed .c -> .h so we can start adding c++ supporting routines.
-//
-// Revision 1.4 1998/07/08 14:40:08 curt
-// polar3d.[ch] renamed to polar3d.[ch]xx, vector.[ch] renamed to vector.[ch]xx
-// Updated fg_geodesy comments to reflect that routines expect and produce
-// meters.
-//
-// Revision 1.3 1998/04/21 17:03:48 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.2 1998/01/22 02:59:38 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.1 1997/07/31 23:13:14 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.10 1998/11/07 19:07:03 curt
-// Enable release builds using the --without-logging option to the configure
-// script. Also a couple log message cleanups, plus some C to C++ comment
-// conversion.
-//
-// Revision 1.9 1998/11/06 21:17:26 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.8 1998/04/25 22:06:23 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.7 1998/04/24 00:43:13 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-//
-// Revision 1.6 1998/04/18 03:53:42 curt
-// Miscellaneous Tweaks.
-//
-// Revision 1.5 1998/04/03 22:10:29 curt
-// Converting to Gnu autoconf system.
-//
-// Revision 1.4 1998/02/03 23:20:28 curt
-// Lots of little tweaks to fix various consistency problems discovered by
-// Solaris' CC. Fixed a bug in fg_debug.c with how the fgPrintf() wrapper
-// passed arguments along to the real printf(). Also incorporated HUD changes
-// by Michele America.
-//
-// Revision 1.3 1998/01/27 00:47:59 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.2 1997/12/30 20:47:48 curt
-// Integrated new event manager with subsystem initializations.
-//
-// Revision 1.1 1997/07/30 16:04:09 curt
-// Moved random routines from Utils/ to Math/
-//
-// Revision 1.1 1997/07/19 22:31:57 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _FG_RANDOM_H
#endif // _FG_RANDOM_H
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.4 1998/11/07 19:07:04 curt
-// Enable release builds using the --without-logging option to the configure
-// script. Also a couple log message cleanups, plus some C to C++ comment
-// conversion.
-//
-// Revision 1.3 1998/04/21 17:03:48 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.2 1998/01/22 02:59:38 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.1 1997/07/30 16:04:09 curt
-// Moved random routines from Utils/ to Math/
-//
-// Revision 1.2 1997/07/23 21:52:28 curt
-// Put comments around the text after an #endif for increased portability.
-//
-// Revision 1.1 1997/07/19 22:31:57 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <Include/compiler.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.7 1999/02/26 22:08:03 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.6 1999/01/27 04:46:16 curt
-// Portability tweaks by Bernie Bright.
-//
-// Revision 1.5 1998/11/06 21:17:27 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.4 1998/05/13 18:24:25 curt
-// Wrapped zlib calls so zlib can be optionally disabled.
-//
-// Revision 1.3 1998/04/25 15:05:01 curt
-// Changed "r" to "rb" in gzopen() options. This fixes bad behavior in win32.
-//
-// Revision 1.2 1998/04/22 13:18:10 curt
-// C++ - ified comments. Make file open errors fatal.
-//
-// Revision 1.1 1998/04/21 19:14:23 curt
-// Modified Files:
-// Makefile.am Makefile.in
-// Added Files:
-// interpolater.cxx interpolater.hxx
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _INTERPOLATER_H
#endif // _INTERPOLATER_H
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.6 1999/03/02 01:01:50 curt
-// Tweaks for compiling with native SGI compilers.
-//
-// Revision 1.5 1999/02/26 22:08:05 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.4 1999/01/27 04:46:17 curt
-// Portability tweaks by Bernie Bright.
-//
-// Revision 1.3 1998/11/06 21:17:28 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.2 1998/04/22 13:18:10 curt
-// C++ - ified comments. Make file open errors fatal.
-//
-// Revision 1.1 1998/04/21 19:14:23 curt
-// Modified Files:
-// Makefile.am Makefile.in
-// Added Files:
-// interpolater.cxx interpolater.hxx
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
//
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.1 1999/03/13 17:34:45 curt
-// Moved to math subdirectory.
-//
-// Revision 1.2 1998/04/21 17:03:41 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.1 1998/04/08 22:57:24 curt
-// Adopted Gnu automake/autoconf system.
-//
-// Revision 1.1 1998/03/19 02:54:47 curt
-// Reorganized into a class lib called fgDEM.
-//
-// Revision 1.1 1997/10/13 17:02:35 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
///
#endif // _LEASTSQS_H
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.1 1999/03/13 17:34:45 curt
-// Moved to math subdirectory.
-//
-// Revision 1.2 1998/04/21 17:03:42 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.1 1998/04/08 22:57:25 curt
-// Adopted Gnu automake/autoconf system.
-//
-// Revision 1.1 1998/03/19 02:54:48 curt
-// Reorganized into a class lib called fgDEM.
-//
-// Revision 1.1 1997/10/13 17:02:35 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _POINT3D_HXX
#endif // _POINT3D_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.10 1999/03/02 01:01:52 curt
-// Tweaks for compiling with native SGI compilers.
-//
-// Revision 1.9 1999/02/01 21:08:28 curt
-// Optimizations from Norman Vine.
-//
-// Revision 1.8 1999/01/27 04:46:18 curt
-// Portability tweaks by Bernie Bright.
-//
-// Revision 1.7 1999/01/19 20:56:58 curt
-// MacOS portability changes contributed by "Robert Puyol" <puyol@abvent.fr>
-//
-// Revision 1.6 1998/11/23 21:46:37 curt
-// Borland portability tweaks.
-//
-// Revision 1.5 1998/11/20 01:00:38 curt
-// Patch in fgGeoc2Geod() to avoid a floating explosion.
-// point3d.hxx include math.h for FreeBSD
-//
-// Revision 1.4 1998/11/11 00:18:38 curt
-// Check for domain error in fgGeoctoGeod()
-//
-// Revision 1.3 1998/10/20 18:21:49 curt
-// Tweaks from Bernie Bright.
-//
-// Revision 1.2 1998/10/18 01:17:12 curt
-// Point3D tweaks.
-//
-// Revision 1.1 1998/10/16 00:50:29 curt
-// Added point3d.hxx to replace cheezy fgPoint3d struct.
-//
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <math.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.6 1999/01/27 04:46:19 curt
-// Portability tweaks by Bernie Bright.
-//
-// Revision 1.5 1998/10/18 01:17:13 curt
-// Point3D tweaks.
-//
-// Revision 1.4 1998/10/16 19:30:09 curt
-// C++-ified the comments.
-//
-// Revision 1.3 1998/10/16 00:50:29 curt
-// Added point3d.hxx to replace cheezy fgPoint3d struct.
-//
-// Revision 1.2 1998/08/24 20:04:11 curt
-// Various "inline" code optimizations contributed by Norman Vine.
-//
-// Revision 1.1 1998/07/08 14:40:08 curt
-// polar3d.[ch] renamed to polar3d.[ch]xx, vector.[ch] renamed to vector.[ch]xx
-// Updated fg_geodesy comments to reflect that routines expect and produce
-// meters.
-//
-// Revision 1.2 1998/05/03 00:45:49 curt
-// Commented out a debugging printf.
-//
-// Revision 1.1 1998/05/02 01:50:11 curt
-// polar.[ch] renamed to polar3d.[ch]
-//
-// Revision 1.6 1998/04/25 22:06:23 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.5 1998/01/27 00:48:00 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.4 1998/01/19 19:27:12 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.3 1997/12/15 23:54:54 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.2 1997/07/31 22:52:27 curt
-// Working on redoing internal coordinate systems & scenery transformations.
-//
-// Revision 1.1 1997/07/07 21:02:36 curt
-// Initial revision.
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _POLAR_HXX
#endif // _POLAR_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.5 1999/01/27 04:46:20 curt
-// Portability tweaks by Bernie Bright.
-//
-// Revision 1.4 1998/10/16 19:30:07 curt
-// C++-ified the comments.
-//
-// Revision 1.3 1998/10/16 00:50:30 curt
-// Added point3d.hxx to replace cheezy fgPoint3d struct.
-//
-// Revision 1.2 1998/08/24 20:04:12 curt
-// Various "inline" code optimizations contributed by Norman Vine.
-//
-// Revision 1.1 1998/07/08 14:40:09 curt
-// polar3d.[ch] renamed to polar3d.[ch]xx, vector.[ch] renamed to vector.[ch]xx
-// Updated fg_geodesy comments to reflect that routines expect and produce
-// meters.
-//
-// Revision 1.1 1998/05/02 01:50:11 curt
-// polar.[ch] renamed to polar3d.[ch]
-//
-// Revision 1.9 1998/04/25 22:06:23 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.8 1998/04/21 17:03:50 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.7 1998/01/27 00:48:00 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.6 1998/01/22 02:59:39 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.5 1998/01/19 19:27:13 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.4 1997/12/15 23:54:55 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.3 1997/07/31 22:52:28 curt
-// Working on redoing internal coordinate systems & scenery transformations.
-//
-// Revision 1.2 1997/07/23 21:52:21 curt
-// Put comments around the text after an #endif for increased portability.
-//
-// Revision 1.1 1997/07/07 21:02:37 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <math.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.6 1999/03/25 19:02:28 curt
-// Minor optimization tweaks.
-//
-// Revision 1.5 1998/10/16 23:36:38 curt
-// c++-ifying.
-//
-// Revision 1.4 1998/10/16 00:50:31 curt
-// Added point3d.hxx to replace cheezy fgPoint3d struct.
-//
-// Revision 1.3 1998/08/24 20:04:12 curt
-// Various "inline" code optimizations contributed by Norman Vine.
-//
-// Revision 1.2 1998/07/24 21:34:38 curt
-// fgPointLine() rewritten into fgPointLineSquared() ... this ultimately saves
-// us from doing a sqrt().
-//
-// Revision 1.1 1998/07/08 14:40:10 curt
-// polar3d.[ch] renamed to polar3d.[ch]xx, vector.[ch] renamed to vector.[ch]xx
-// Updated fg_geodesy comments to reflect that routines expect and produce
-// meters.
-//
-// Revision 1.3 1998/05/07 23:04:28 curt
-// Added a blank formating line!
-//
-// Revision 1.2 1998/01/19 19:27:13 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.1 1997/12/22 04:13:17 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _VECTOR_HXX
#endif // _VECTOR_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.4 1998/10/16 23:36:39 curt
-// c++-ifying.
-//
-// Revision 1.3 1998/08/24 20:04:13 curt
-// Various "inline" code optimizations contributed by Norman Vine.
-//
-// Revision 1.2 1998/07/24 21:34:38 curt
-// fgPointLine() rewritten into fgPointLineSquared() ... this ultimately saves
-// us from doing a sqrt().
-//
-// Revision 1.1 1998/07/08 14:40:10 curt
-// polar3d.[ch] renamed to polar3d.[ch]xx, vector.[ch] renamed to vector.[ch]xx
-// Updated fg_geodesy comments to reflect that routines expect and produce
-// meters.
-//
-// Revision 1.4 1998/04/21 17:03:51 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.3 1998/01/22 02:59:39 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.2 1998/01/19 19:27:14 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.1 1997/12/22 04:13:18 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <ctype.h> // isspace()
#include <Misc/fgstream.hxx>
return in;
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.3 1998/11/06 14:05:12 curt
-// More portability improvements by Bernie Bright.
-//
-// Revision 1.2 1998/09/24 15:22:17 curt
-// Additional enhancements.
-//
-// Revision 1.1 1998/09/01 19:06:29 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _FGSTREAM_HXX
#define _FGSTREAM_HXX
#endif /* _FGSTREAM_HXX */
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.9 1999/03/27 14:04:25 curt
-// Added is_open() so we can check if the open() succeeded.
-//
-// Revision 1.8 1999/03/02 01:01:55 curt
-// Tweaks for compiling with native SGI compilers.
-//
-// Revision 1.7 1999/02/26 22:08:08 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.6 1999/01/19 20:41:46 curt
-// Portability updates contributed by Bernie Bright.
-//
-// Revision 1.5 1998/11/06 14:05:13 curt
-// More portability improvements by Bernie Bright.
-//
-// Revision 1.4 1998/10/16 00:50:56 curt
-// Remove leading _ from a couple defines.
-//
-// Revision 1.3 1998/10/13 00:10:06 curt
-// More portability changes to help with windoze compilation problems.
-//
-// Revision 1.2 1998/09/24 15:22:18 curt
-// Additional enhancements.
-//
-// Revision 1.1 1998/09/01 19:06:29 curt
-// Initial revision.
-//
* For more information, please see the Blitz++ Home Page:
* http://seurat.uwaterloo.ca/blitz/
*
- ***************************************************************************
- * $Log$
- * Revision 1.1 1999/04/05 21:32:33 curt
- * Initial revision
- *
- * Revision 1.3 1998/11/20 01:01:03 curt
- * FreeBSD support.
- *
- * Revision 1.2 1998/11/02 18:28:31 curt
- * Additional win32 support.
- *
- * Revision 1.1 1998/09/01 19:06:30 curt
- * Initial revision.
- *
- * Revision 1.4 1998/03/14 00:04:47 tveldhui
- * 0.2-alpha-05
- *
- * Revision 1.3 1997/07/16 14:51:20 tveldhui
- * Update: Alpha release 0.2 (Arrays)
- *
- * Revision 1.2 1997/01/24 14:42:00 tveldhui
- * Periodic RCS update
- *
*/
// This class is not portable to non System V platforms.
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
# include "config.h"
return trimright( trimleft( s, trimmings ), trimmings );
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.2 1998/10/18 01:17:15 curt
-// Point3D tweaks.
-//
-// Revision 1.1 1998/09/01 19:06:30 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef STRUTILS_H
#define STRUTILS_H
#endif // STRUTILS_H
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.6 1999/03/02 01:01:56 curt
-// Tweaks for compiling with native SGI compilers.
-//
-// Revision 1.5 1999/02/26 22:08:09 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.4 1999/01/19 20:41:47 curt
-// Portability updates contributed by Bernie Bright.
-//
-// Revision 1.3 1998/10/16 00:50:57 curt
-// Remove leading _ from a couple defines.
-//
-// Revision 1.2 1998/10/13 00:10:07 curt
-// More portability changes to help with windoze compilation problems.
-//
-// Revision 1.1 1998/09/01 19:06:31 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <memory.h>
#include "zfstream.hxx"
}
#endif
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.3 1999/01/19 20:41:48 curt
-// Portability updates contributed by Bernie Bright.
-//
-// Revision 1.2 1998/11/06 14:05:14 curt
-// More portability improvements by Bernie Bright.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _zfstream_hxx
#define _zfstream_hxx
#endif // _zfstream_hxx
-// $Log$
-// Revision 1.1 1999/04/05 21:32:33 curt
-// Initial revision
-//
-// Revision 1.9 1999/03/08 22:00:12 curt
-// Tweak for native SGI compilers.
-//
-// Revision 1.8 1999/02/26 22:08:10 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.7 1999/01/19 20:41:49 curt
-// Portability updates contributed by Bernie Bright.
-//
-// Revision 1.6 1998/12/07 21:10:26 curt
-// Portability improvements.
-//
-// Revision 1.5 1998/11/06 21:17:29 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.4 1998/11/06 14:05:16 curt
-// More portability improvements by Bernie Bright.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:34 curt
-// Initial revision
-//
-// Revision 1.9 1999/02/02 20:13:23 curt
-// MSVC++ portability changes by Bernie Bright:
-//
-// Lib/Serial/serial.[ch]xx: Initial Windows support - incomplete.
-// Simulator/Astro/stars.cxx: typo? included <stdio> instead of <cstdio>
-// Simulator/Cockpit/hud.cxx: Added Standard headers
-// Simulator/Cockpit/panel.cxx: Redefinition of default parameter
-// Simulator/Flight/flight.cxx: Replaced cout with FG_LOG. Deleted <stdio.h>
-// Simulator/Main/fg_init.cxx:
-// Simulator/Main/GLUTmain.cxx:
-// Simulator/Main/options.hxx: Shuffled <fg_serial.hxx> dependency
-// Simulator/Objects/material.hxx:
-// Simulator/Time/timestamp.hxx: VC++ friend kludge
-// Simulator/Scenery/tile.[ch]xx: Fixed using std::X declarations
-// Simulator/Main/views.hxx: Added a constant
-//
-// Revision 1.8 1999/01/20 13:42:21 curt
-// Tweaked FDM interface.
-// Testing check sum support for NMEA serial output.
-//
-// Revision 1.7 1998/12/04 01:24:35 curt
-// Tweak for SGI portability.
-//
-// Revision 1.6 1998/11/30 17:15:29 curt
-// Having the class destructor close the fd was a bad idea ... especially if you
-// ever make a copy of the instance and then subsequently destroy either.
-// close_port() is now a separate member function.
-//
-// Revision 1.5 1998/11/25 01:33:23 curt
-// Remove call to cfmakeraw()
-//
-// Revision 1.4 1998/11/23 21:47:00 curt
-// Cygnus tools compatibility tweaks.
-//
-// Revision 1.3 1998/11/19 13:52:54 curt
-// port configuration tweaks & experiments.
-//
-// Revision 1.2 1998/11/19 03:35:43 curt
-// Updates ...
-//
-// Revision 1.1 1998/11/16 13:53:02 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _SERIAL_HXX
#endif // _SERIAL_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:34 curt
-// Initial revision
-//
-// Revision 1.5 1999/03/02 01:01:58 curt
-// Tweaks for compiling with native SGI compilers.
-//
-// Revision 1.4 1999/02/26 22:08:13 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.3 1999/02/02 20:13:24 curt
-// MSVC++ portability changes by Bernie Bright:
-//
-// Lib/Serial/serial.[ch]xx: Initial Windows support - incomplete.
-// Simulator/Astro/stars.cxx: typo? included <stdio> instead of <cstdio>
-// Simulator/Cockpit/hud.cxx: Added Standard headers
-// Simulator/Cockpit/panel.cxx: Redefinition of default parameter
-// Simulator/Flight/flight.cxx: Replaced cout with FG_LOG. Deleted <stdio.h>
-// Simulator/Main/fg_init.cxx:
-// Simulator/Main/GLUTmain.cxx:
-// Simulator/Main/options.hxx: Shuffled <fg_serial.hxx> dependency
-// Simulator/Objects/material.hxx:
-// Simulator/Time/timestamp.hxx: VC++ friend kludge
-// Simulator/Scenery/tile.[ch]xx: Fixed using std::X declarations
-// Simulator/Main/views.hxx: Added a constant
-//
-// Revision 1.2 1998/11/30 17:15:30 curt
-// Having the class destructor close the fd was a bad idea ... especially if you
-// ever make a copy of the instance and then subsequently destroy either.
-// close_port() is now a separate member function.
-//
-// Revision 1.1 1998/11/16 13:53:02 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <stdio.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.7 1999/02/05 21:28:09 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.6 1998/12/05 15:53:59 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.5 1998/12/03 01:14:58 curt
-// Converted fgFLIGHT to a class.
-//
-// Revision 1.4 1998/11/06 21:17:31 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.3 1998/10/25 14:08:37 curt
-// Turned "struct fgCONTROLS" into a class, with inlined accessor functions.
-//
-// Revision 1.2 1998/10/17 01:33:52 curt
-// C++ ifying ...
-//
-// Revision 1.1 1998/10/16 23:26:47 curt
-// C++-ifying.
-//
-// Revision 1.19 1998/04/25 22:06:24 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.18 1998/04/18 04:13:56 curt
-// Moved fg_debug.c to it's own library.
-//
-// Revision 1.17 1998/02/12 21:59:31 curt
-// Incorporated code changes contributed by Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.16 1998/02/07 15:29:31 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.15 1998/01/27 00:47:46 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.14 1998/01/19 19:26:56 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.13 1997/12/15 23:54:30 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.12 1997/12/10 22:37:37 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.11 1997/09/13 02:00:05 curt
-// Mostly working on stars and generating sidereal time for accurate star
-// placement.
-//
-// Revision 1.10 1997/08/27 03:29:56 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.9 1997/07/19 22:39:08 curt
-// Moved PI to ../constants.h
-//
-// Revision 1.8 1997/06/25 15:39:45 curt
-// Minor changes to compile with rsxnt/win32.
-//
-// Revision 1.7 1997/06/02 03:01:39 curt
-// Working on views (side, front, back, transitions, etc.)
-//
-// Revision 1.6 1997/05/31 19:16:26 curt
-// Elevator trim added.
-//
-// Revision 1.5 1997/05/30 19:30:14 curt
-// The LaRCsim flight model is starting to look like it is working.
-//
-// Revision 1.4 1997/05/30 03:54:11 curt
-// Made a bit more progress towards integrating the LaRCsim flight model.
-//
-// Revision 1.3 1997/05/29 22:39:56 curt
-// Working on incorporating the LaRCsim flight model.
-//
-// Revision 1.2 1997/05/23 15:40:29 curt
-// Added GNU copyright headers.
-//
-// Revision 1.1 1997/05/16 15:58:24 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
//*************************************************************************/
#endif // _AIRCRAFT_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.6 1999/02/05 21:28:10 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.5 1999/02/01 21:33:24 curt
-// Renamed FlightGear/Simulator/Flight to FlightGear/Simulator/FDM since
-// Jon accepted my offer to do this and thought it was a good idea.
-//
-// Revision 1.4 1998/12/05 16:13:10 curt
-// Renamed class fgCONTROLS to class FGControls.
-//
-// Revision 1.3 1998/12/05 15:54:01 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.2 1998/10/17 01:33:54 curt
-// C++ ifying ...
-//
-// Revision 1.1 1998/10/16 23:26:49 curt
-// C++-ifying.
-//
-// Revision 1.12 1998/04/22 13:26:15 curt
-// C++ - ifing the code a bit.
-//
-// Revision 1.11 1998/04/21 17:02:27 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.10 1998/02/07 15:29:32 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.9 1998/01/22 02:59:23 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.8 1998/01/19 19:26:57 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.7 1997/12/10 22:37:38 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.6 1997/09/13 02:00:06 curt
-// Mostly working on stars and generating sidereal time for accurate star
-// placement.
-//
-// Revision 1.5 1997/08/27 03:29:58 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.4 1997/07/23 21:52:17 curt
-// Put comments around the text after an #endif for increased portability.
-//
-// Revision 1.3 1997/06/21 17:12:42 curt
-// Capitalized subdirectory names.
-//
-// Revision 1.2 1997/05/23 15:40:30 curt
-// Added GNU copyright headers.
-//
-// Revision 1.1 1997/05/16 15:58:25 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <Include/compiler.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.14 1999/03/02 01:02:31 curt
-// Tweaks for building with native SGI compilers.
-//
-// Revision 1.13 1999/02/26 22:08:34 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.12 1999/02/01 21:08:33 curt
-// Optimizations from Norman Vine.
-//
-// Revision 1.11 1998/11/23 21:48:09 curt
-// Borland portability tweaks.
-//
-// Revision 1.10 1998/11/07 19:07:06 curt
-// Enable release builds using the --without-logging option to the configure
-// script. Also a couple log message cleanups, plus some C to C++ comment
-// conversion.
-//
-// Revision 1.9 1998/11/06 21:17:32 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.8 1998/11/06 14:46:59 curt
-// Changes to track Bernie's updates to fgstream.
-//
-// Revision 1.7 1998/10/20 18:26:06 curt
-// Updates to point3d.hxx
-//
-// Revision 1.6 1998/10/18 01:17:16 curt
-// Point3D tweaks.
-//
-// Revision 1.5 1998/10/16 23:27:14 curt
-// C++-ifying.
-//
-// Revision 1.4 1998/10/16 00:51:46 curt
-// Converted to Point3D class.
-//
-// Revision 1.3 1998/09/21 20:55:00 curt
-// Used the cartesian form of the airport area coordinates to determine the
-// center.
-//
-// Revision 1.2 1998/09/14 12:44:30 curt
-// Don't recalculate perimeter points since it is not likely that they will match
-// exactly with the previously calculated points, which will leave an ugly gap
-// around the airport area.
-//
-// Revision 1.1 1998/09/14 02:14:01 curt
-// Initial revision of genapt.[ch]xx for generating airport scenery.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _GENAPT_HXX
#endif /* _AIRPORTS_HXX */
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.3 1999/03/02 01:02:32 curt
-// Tweaks for building with native SGI compilers.
-//
-// Revision 1.2 1998/11/23 21:48:10 curt
-// Borland portability tweaks.
-//
-// Revision 1.1 1998/09/14 02:14:01 curt
-// Initial revision of genapt.[ch]xx for generating airport scenery.
-//
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <Include/compiler.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:48 curt
-// Initial revision
-//
-// Revision 1.10 1999/02/26 22:08:35 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.9 1998/11/06 21:17:34 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.8 1998/11/06 14:47:01 curt
-// Changes to track Bernie's updates to fgstream.
-//
-// Revision 1.7 1998/09/08 21:38:41 curt
-// Changes by Bernie Bright.
-//
-// Revision 1.6 1998/09/03 21:25:02 curt
-// tweaked in data file comment handling.
-//
-// Revision 1.5 1998/09/02 14:35:38 curt
-// Rewrote simple airport loader so it can deal with comments and blank lines.
-//
-// Revision 1.4 1998/09/01 19:02:53 curt
-// Changes contributed by Bernie Bright <bbright@c031.aone.net.au>
-// - The new classes in libmisc.tgz define a stream interface into zlib.
-// I've put these in a new directory, Lib/Misc. Feel free to rename it
-// to something more appropriate. However you'll have to change the
-// include directives in all the other files. Additionally you'll have
-// add the library to Lib/Makefile.am and Simulator/Main/Makefile.am.
-//
-// The StopWatch class in Lib/Misc requires a HAVE_GETRUSAGE autoconf
-// test so I've included the required changes in config.tgz.
-//
-// There are a fair few changes to Simulator/Objects as I've moved
-// things around. Loading tiles is quicker but thats not where the delay
-// is. Tile loading takes a few tenths of a second per file on a P200
-// but it seems to be the post-processing that leads to a noticeable
-// blip in framerate. I suppose its time to start profiling to see where
-// the delays are.
-//
-// I've included a brief description of each archives contents.
-//
-// Lib/Misc/
-// zfstream.cxx
-// zfstream.hxx
-// C++ stream interface into zlib.
-// Taken from zlib-1.1.3/contrib/iostream/.
-// Minor mods for STL compatibility.
-// There's no copyright associated with these so I assume they're
-// covered by zlib's.
-//
-// fgstream.cxx
-// fgstream.hxx
-// FlightGear input stream using gz_ifstream. Tries to open the
-// given filename. If that fails then filename is examined and a
-// ".gz" suffix is removed or appended and that file is opened.
-//
-// stopwatch.hxx
-// A simple timer for benchmarking. Not used in production code.
-// Taken from the Blitz++ project. Covered by GPL.
-//
-// strutils.cxx
-// strutils.hxx
-// Some simple string manipulation routines.
-//
-// Simulator/Airports/
-// Load airports database using fgstream.
-// Changed fgAIRPORTS to use set<> instead of map<>.
-// Added bool fgAIRPORTS::search() as a neater way doing the lookup.
-// Returns true if found.
-//
-// Simulator/Astro/
-// Modified fgStarsInit() to load stars database using fgstream.
-//
-// Simulator/Objects/
-// Modified fgObjLoad() to use fgstream.
-// Modified fgMATERIAL_MGR::load_lib() to use fgstream.
-// Many changes to fgMATERIAL.
-// Some changes to fgFRAGMENT but I forget what!
-//
-// Revision 1.3 1998/08/27 17:01:55 curt
-// Contributions from Bernie Bright <bbright@c031.aone.net.au>
-// - use strings for fg_root and airport_id and added methods to return
-// them as strings,
-// - inlined all access methods,
-// - made the parsing functions private methods,
-// - deleted some unused functions.
-// - propogated some of these changes out a bit further.
-//
-// Revision 1.2 1998/08/25 20:53:24 curt
-// Shuffled $FG_ROOT file layout.
-//
-// Revision 1.1 1998/08/25 17:19:13 curt
-// Moved from ../Main/
-//
-// Revision 1.8 1998/07/13 21:01:37 curt
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.7 1998/06/03 22:01:07 curt
-// Tweaking sound library usage.
-//
-// Revision 1.6 1998/06/03 00:47:13 curt
-// Updated to compile in audio support if OSS available.
-// Updated for new version of Steve's audio library.
-// STL includes don't use .h
-// Small view optimizations.
-//
-// Revision 1.5 1998/05/29 20:37:22 curt
-// Tweaked material properties & lighting a bit in GLUTmain.cxx.
-// Read airport list into a "map" STL for dynamic list sizing and fast tree
-// based lookups.
-//
-// Revision 1.4 1998/05/13 18:26:25 curt
-// Root path info moved to fgOPTIONS.
-//
-// Revision 1.3 1998/05/06 03:16:24 curt
-// Added an averaged global frame rate counter.
-// Added an option to control tile radius.
-//
-// Revision 1.2 1998/04/28 21:42:50 curt
-// Wrapped zlib calls up so we can conditionally comment out zlib support.
-//
-// Revision 1.1 1998/04/25 15:11:11 curt
-// Added an command line option to set starting position based on airport ID.
-//
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _AIRPORTS_HXX
#endif /* _AIRPORTS_HXX */
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.8 1999/03/15 17:58:57 curt
-// MSVC++ portability tweaks contributed by Bernie Bright.
-// Added using std::istream declaration.
-//
-// Revision 1.7 1999/03/02 01:02:33 curt
-// Tweaks for building with native SGI compilers.
-//
-// Revision 1.6 1999/02/26 22:08:36 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.5 1998/11/02 18:25:34 curt
-// Check for __CYGWIN__ (b20) as well as __CYGWIN32__ (pre b20 compilers)
-// Other misc. tweaks.
-//
-// Revision 1.4 1998/09/08 21:38:43 curt
-// Changes by Bernie Bright.
-//
-// Revision 1.3 1998/09/01 19:02:54 curt
-// Changes contributed by Bernie Bright <bbright@c031.aone.net.au>
-// - The new classes in libmisc.tgz define a stream interface into zlib.
-// I've put these in a new directory, Lib/Misc. Feel free to rename it
-// to something more appropriate. However you'll have to change the
-// include directives in all the other files. Additionally you'll have
-// add the library to Lib/Makefile.am and Simulator/Main/Makefile.am.
-//
-// The StopWatch class in Lib/Misc requires a HAVE_GETRUSAGE autoconf
-// test so I've included the required changes in config.tgz.
-//
-// There are a fair few changes to Simulator/Objects as I've moved
-// things around. Loading tiles is quicker but thats not where the delay
-// is. Tile loading takes a few tenths of a second per file on a P200
-// but it seems to be the post-processing that leads to a noticeable
-// blip in framerate. I suppose its time to start profiling to see where
-// the delays are.
-//
-// I've included a brief description of each archives contents.
-//
-// Lib/Misc/
-// zfstream.cxx
-// zfstream.hxx
-// C++ stream interface into zlib.
-// Taken from zlib-1.1.3/contrib/iostream/.
-// Minor mods for STL compatibility.
-// There's no copyright associated with these so I assume they're
-// covered by zlib's.
-//
-// fgstream.cxx
-// fgstream.hxx
-// FlightGear input stream using gz_ifstream. Tries to open the
-// given filename. If that fails then filename is examined and a
-// ".gz" suffix is removed or appended and that file is opened.
-//
-// stopwatch.hxx
-// A simple timer for benchmarking. Not used in production code.
-// Taken from the Blitz++ project. Covered by GPL.
-//
-// strutils.cxx
-// strutils.hxx
-// Some simple string manipulation routines.
-//
-// Simulator/Airports/
-// Load airports database using fgstream.
-// Changed fgAIRPORTS to use set<> instead of map<>.
-// Added bool fgAIRPORTS::search() as a neater way doing the lookup.
-// Returns true if found.
-//
-// Simulator/Astro/
-// Modified fgStarsInit() to load stars database using fgstream.
-//
-// Simulator/Objects/
-// Modified fgObjLoad() to use fgstream.
-// Modified fgMATERIAL_MGR::load_lib() to use fgstream.
-// Many changes to fgMATERIAL.
-// Some changes to fgFRAGMENT but I forget what!
-//
-// Revision 1.2 1998/08/27 17:01:56 curt
-// Contributions from Bernie Bright <bbright@c031.aone.net.au>
-// - use strings for fg_root and airport_id and added methods to return
-// them as strings,
-// - inlined all access methods,
-// - made the parsing functions private methods,
-// - deleted some unused functions.
-// - propogated some of these changes out a bit further.
-//
-// Revision 1.1 1998/08/25 17:19:14 curt
-// Moved from ../Main/
-//
-// Revision 1.7 1998/07/24 21:39:09 curt
-// Debugging output tweaks.
-// Cast glGetString to (char *) to avoid compiler errors.
-// Optimizations to fgGluLookAt() by Norman Vine.
-//
-// Revision 1.6 1998/07/06 21:34:19 curt
-// Added an enable/disable splash screen option.
-// Added an enable/disable intro music option.
-// Added an enable/disable instrument panel option.
-// Added an enable/disable mouse pointer option.
-// Added using namespace std for compilers that support this.
-//
-// Revision 1.5 1998/06/17 21:35:11 curt
-// Refined conditional audio support compilation.
-// Moved texture parameter setup calls to ../Scenery/materials.cxx
-// #include <string.h> before various STL includes.
-// Make HUD default state be enabled.
-//
-// Revision 1.4 1998/06/03 00:47:14 curt
-// Updated to compile in audio support if OSS available.
-// Updated for new version of Steve's audio library.
-// STL includes don't use .h
-// Small view optimizations.
-//
-// Revision 1.3 1998/06/01 17:54:42 curt
-// Added Linux audio support.
-// avoid glClear( COLOR_BUFFER_BIT ) when not using it to set the sky color.
-// map stl tweaks.
-//
-// Revision 1.2 1998/05/29 20:37:22 curt
-// Tweaked material properties & lighting a bit in GLUTmain.cxx.
-// Read airport list into a "map" STL for dynamic list sizing and fast tree
-// based lookups.
-//
-// Revision 1.1 1998/04/25 15:11:11 curt
-// Added an command line option to set starting position based on airport ID.
-//
-//
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#include "celestialBody.hxx"
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifndef _JUPITER_HXX_
#define _JUPITER_HXX_
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifdef __BORLANDC__
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifndef _MARS_HXX_
#define _MARS_HXX_
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifdef __BORLANDC__
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifndef _MERCURY_HXX_
#define _MERCURY_HXX_
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#include <FDM/flight.hxx>
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifndef _MOON_HXX_
#define _MOON_HXX_
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifdef __BORLANDC__
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifndef _NEPTUNE_HXX_
#define _NEPTUNE_HXX_
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifndef _PLUTO_HXX_
#define _PLUTO_HXX_
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifdef __BORLANDC__
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifndef _SATURN_HXX_
#define _SATURN_HXX_
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:48 curt
-// Initial revision
-//
-// Revision 1.21 1999/02/05 21:28:50 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.20 1999/02/02 20:13:29 curt
-// MSVC++ portability changes by Bernie Bright:
-//
-// Lib/Serial/serial.[ch]xx: Initial Windows support - incomplete.
-// Simulator/Astro/stars.cxx: typo? included <stdio> instead of <cstdio>
-// Simulator/Cockpit/hud.cxx: Added Standard headers
-// Simulator/Cockpit/panel.cxx: Redefinition of default parameter
-// Simulator/Flight/flight.cxx: Replaced cout with FG_LOG. Deleted <stdio.h>
-// Simulator/Main/fg_init.cxx:
-// Simulator/Main/GLUTmain.cxx:
-// Simulator/Main/options.hxx: Shuffled <fg_serial.hxx> dependency
-// Simulator/Objects/material.hxx:
-// Simulator/Time/timestamp.hxx: VC++ friend kludge
-// Simulator/Scenery/tile.[ch]xx: Fixed using std::X declarations
-// Simulator/Main/views.hxx: Added a constant
-//
-// Revision 1.19 1999/02/01 21:33:26 curt
-// Renamed FlightGear/Simulator/Flight to FlightGear/Simulator/FDM since
-// Jon accepted my offer to do this and thought it was a good idea.
-//
-// Revision 1.18 1999/02/01 21:09:00 curt
-// Bug fix in vertex order of inner disk (fan) of the sky dome.
-//
-// Revision 1.17 1998/12/09 18:50:12 curt
-// Converted "class fgVIEW" to "class FGView" and updated to make data
-// members private and make required accessor functions.
-//
-// Revision 1.16 1998/12/05 15:54:03 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.15 1998/12/03 01:15:36 curt
-// Converted fgFLIGHT to a class.
-// Tweaks for Sun portability.
-//
-// Revision 1.14 1998/11/06 21:17:39 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.13 1998/10/20 18:28:30 curt
-// Tweaked sunset/sunrise colors.
-//
-// Revision 1.12 1998/10/16 23:27:18 curt
-// C++-ifying.
-//
-// Revision 1.11 1998/10/16 00:52:19 curt
-// Converted to Point3D class.
-//
-// Revision 1.10 1998/08/29 13:07:16 curt
-// Rewrite of event manager thanks to Bernie Bright.
-//
-// Revision 1.9 1998/08/22 01:18:59 curt
-// Minor tweaks to avoid using unitialized memory.
-//
-// Revision 1.8 1998/08/12 21:40:44 curt
-// Sky now tracks adjusted fog color so it blends well with terrain.
-//
-// Revision 1.7 1998/07/22 21:39:21 curt
-// Lower skirt tracks adjusted fog color, not fog color.
-//
-// Revision 1.6 1998/05/23 14:07:14 curt
-// Use new C++ events class.
-//
-// Revision 1.5 1998/04/28 01:19:02 curt
-// Type-ified fgTIME and fgVIEW
-//
-// Revision 1.4 1998/04/26 05:10:01 curt
-// "struct fgLIGHT" -> "fgLIGHT" because fgLIGHT is typedef'd.
-//
-// Revision 1.3 1998/04/25 22:06:25 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.2 1998/04/24 00:45:03 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Fixed a bug when generating sky colors.
-//
-// Revision 1.1 1998/04/22 13:21:32 curt
-// C++ - ifing the code a bit.
-//
-// Revision 1.9 1998/04/03 21:52:50 curt
-// Converting to Gnu autoconf system.
-//
-// Revision 1.8 1998/03/09 22:47:25 curt
-// Incorporated Durk's updates.
-//
-// Revision 1.7 1998/02/19 13:05:49 curt
-// Incorporated some HUD tweaks from Michelle America.
-// Tweaked the sky's sunset/rise colors.
-// Other misc. tweaks.
-//
-// Revision 1.6 1998/02/07 15:29:32 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.5 1998/01/27 00:47:48 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.4 1998/01/26 15:54:28 curt
-// Added a "skirt" to try to help hide gaps between scenery and sky. This will
-// have to be revisited in the future.
-//
-// Revision 1.3 1998/01/19 19:26:59 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.2 1998/01/19 18:40:17 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.1 1998/01/07 03:16:19 curt
-// Moved from .../Src/Scenery/ to .../Src/Astro/
-//
-// Revision 1.11 1997/12/30 22:22:38 curt
-// Further integration of event manager.
-//
-// Revision 1.10 1997/12/30 20:47:53 curt
-// Integrated new event manager with subsystem initializations.
-//
-// Revision 1.9 1997/12/30 13:06:57 curt
-// A couple lighting tweaks ...
-//
-// Revision 1.8 1997/12/23 04:58:38 curt
-// Tweaked the sky coloring a bit to build in structures to allow finer rgb
-// control.
-//
-// Revision 1.7 1997/12/22 23:45:48 curt
-// First stab at sunset/sunrise sky glow effects.
-//
-// Revision 1.6 1997/12/22 04:14:34 curt
-// Aligned sky with sun so dusk/dawn effects can be correct relative to the sun.
-//
-// Revision 1.5 1997/12/19 23:34:59 curt
-// Lot's of tweaking with sky rendering and lighting.
-//
-// Revision 1.4 1997/12/19 16:45:02 curt
-// Working on scene rendering order and options.
-//
-// Revision 1.3 1997/12/18 23:32:36 curt
-// First stab at sky dome actually starting to look reasonable. :-)
-//
-// Revision 1.2 1997/12/18 04:07:03 curt
-// Worked on properly translating and positioning the sky dome.
-//
-// Revision 1.1 1997/12/17 23:14:30 curt
-// Initial revision.
-// Begin work on rendering the sky. (Rather than just using a clear screen.)
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _SKY_HXX
#endif // _SKY_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:48 curt
-// Initial revision
-//
-// Revision 1.2 1998/10/16 23:27:19 curt
-// C++-ifying.
-//
-// Revision 1.1 1998/04/22 13:21:33 curt
-// C++ - ifing the code a bit.
-//
-// Revision 1.4 1998/04/21 17:02:32 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.3 1998/01/22 02:59:28 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.2 1998/01/19 18:40:17 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.1 1998/01/07 03:16:19 curt
-// Moved from .../Src/Scenery/ to .../Src/Astro/
-//
-// Revision 1.2 1997/12/22 23:45:49 curt
-// First stab at sunset/sunrise sky glow effects.
-//
-// Revision 1.1 1997/12/17 23:14:31 curt
-// Initial revision.
-// Begin work on rendering the sky. (Rather than just using a clear screen.)
-//
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifdef HAVE_CONFIG_H
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifndef _SOLARSYSTEM_H_
#define _SOLARSYSTEM_H_
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifdef __BORLANDC__
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifndef _STAR_HXX_
#define _STAR_HXX_
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
//*************************************************************************/
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:48 curt
-// Initial revision
-//
-// Revision 1.27 1999/02/05 21:28:52 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.26 1999/02/02 20:13:30 curt
-// MSVC++ portability changes by Bernie Bright:
-//
-// Lib/Serial/serial.[ch]xx: Initial Windows support - incomplete.
-// Simulator/Astro/stars.cxx: typo? included <stdio> instead of <cstdio>
-// Simulator/Cockpit/hud.cxx: Added Standard headers
-// Simulator/Cockpit/panel.cxx: Redefinition of default parameter
-// Simulator/Flight/flight.cxx: Replaced cout with FG_LOG. Deleted <stdio.h>
-// Simulator/Main/fg_init.cxx:
-// Simulator/Main/GLUTmain.cxx:
-// Simulator/Main/options.hxx: Shuffled <fg_serial.hxx> dependency
-// Simulator/Objects/material.hxx:
-// Simulator/Time/timestamp.hxx: VC++ friend kludge
-// Simulator/Scenery/tile.[ch]xx: Fixed using std::X declarations
-// Simulator/Main/views.hxx: Added a constant
-//
-// Revision 1.25 1998/12/09 18:50:15 curt
-// Converted "class fgVIEW" to "class FGView" and updated to make data
-// members private and make required accessor functions.
-//
-// Revision 1.24 1998/12/05 15:54:04 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.23 1998/11/23 21:48:28 curt
-// Borland portability tweaks.
-//
-// Revision 1.22 1998/11/07 19:07:07 curt
-// Enable release builds using the --without-logging option to the configure
-// script. Also a couple log message cleanups, plus some C to C++ comment
-// conversion.
-//
-// Revision 1.21 1998/11/06 21:17:42 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.20 1998/11/06 14:47:02 curt
-// Changes to track Bernie's updates to fgstream.
-//
-// Revision 1.19 1998/10/16 23:27:21 curt
-// C++-ifying.
-//
-// Revision 1.18 1998/10/16 00:52:20 curt
-// Converted to Point3D class.
-//
-// Revision 1.17 1998/09/24 15:36:19 curt
-// Converted to c++ style comments.
-//
-// Revision 1.16 1998/09/24 15:25:24 curt
-// Miscellaneous tweaks.
-//
-//
-// Revision 1.15 1998/09/17 18:25:12 curt
-// Fixed output message.
-//
-// Revision 1.14 1998/09/15 04:26:22 curt
-// New textured moon and rewritten/restructured Astro code contributed by Durk
-// Talsma.
-//
-// Revision 1.13 1998/09/01 19:03:04 curt
-// Changes contributed by Bernie Bright <bbright@c031.aone.net.au>
-// - The new classes in libmisc.tgz define a stream interface into zlib.
-// I've put these in a new directory, Lib/Misc. Feel free to rename it
-// to something more appropriate. However you'll have to change the
-// include directives in all the other files. Additionally you'll have
-// add the library to Lib/Makefile.am and Simulator/Main/Makefile.am.
-//
-// The StopWatch class in Lib/Misc requires a HAVE_GETRUSAGE autoconf
-// test so I've included the required changes in config.tgz.
-//
-// There are a fair few changes to Simulator/Objects as I've moved
-// things around. Loading tiles is quicker but thats not where the delay
-// is. Tile loading takes a few tenths of a second per file on a P200
-// but it seems to be the post-processing that leads to a noticeable
-// blip in framerate. I suppose its time to start profiling to see where
-// the delays are.
-//
-// I've included a brief description of each archives contents.
-//
-// Lib/Misc/
-// zfstream.cxx
-// zfstream.hxx
-// C++ stream interface into zlib.
-// Taken from zlib-1.1.3/contrib/iostream/.
-// Minor mods for STL compatibility.
-// There's no copyright associated with these so I assume they're
-// covered by zlib's.
-//
-// fgstream.cxx
-// fgstream.hxx
-// FlightGear input stream using gz_ifstream. Tries to open the
-// given filename. If that fails then filename is examined and a
-// ".gz" suffix is removed or appended and that file is opened.
-//
-// stopwatch.hxx
-// A simple timer for benchmarking. Not used in production code.
-// Taken from the Blitz++ project. Covered by GPL.
-//
-// strutils.cxx
-// strutils.hxx
-// Some simple string manipulation routines.
-//
-// Simulator/Airports/
-// Load airports database using fgstream.
-// Changed fgAIRPORTS to use set<> instead of map<>.
-// Added bool fgAIRPORTS::search() as a neater way doing the lookup.
-// Returns true if found.
-//
-// Simulator/Astro/
-// Modified fgStarsInit() to load stars database using fgstream.
-//
-// Simulator/Objects/
-// Modified fgObjLoad() to use fgstream.
-// Modified fgMATERIAL_MGR::load_lib() to use fgstream.
-// Many changes to fgMATERIAL.
-// Some changes to fgFRAGMENT but I forget what!
-//
-// Revision 1.12 1998/08/27 17:02:01 curt
-// Contributions from Bernie Bright <bbright@c031.aone.net.au>
-// - use strings for fg_root and airport_id and added methods to return
-// them as strings,
-// - inlined all access methods,
-// - made the parsing functions private methods,
-// - deleted some unused functions.
-// - propogated some of these changes out a bit further.
-//
-// Revision 1.11 1998/08/25 20:53:29 curt
-// Shuffled $FG_ROOT file layout.
-//
-// Revision 1.10 1998/08/10 20:33:09 curt
-// Rewrote star loading and rendering to:
-// 1. significantly improve load speed
-// 2. transition from no stars to stars through eight stages.
-//
-// Revision 1.9 1998/08/06 12:45:20 curt
-// Modified to bring in stars in 8 increments based on magnitude, not number
-// of stars.
-//
-// Revision 1.8 1998/07/13 21:00:10 curt
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.7 1998/05/29 20:35:42 curt
-// Added zlib support for reading in compressed data files.
-//
-// Revision 1.6 1998/05/13 18:25:35 curt
-// Root path info moved to fgOPTIONS.
-//
-// Revision 1.5 1998/04/28 01:19:03 curt
-// Type-ified fgTIME and fgVIEW
-//
-// Revision 1.4 1998/04/26 05:10:02 curt
-// "struct fgLIGHT" -> "fgLIGHT" because fgLIGHT is typedef'd.
-//
-// Revision 1.3 1998/04/25 22:06:26 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.2 1998/04/24 00:45:03 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Fixed a bug when generating sky colors.
-//
-// Revision 1.1 1998/04/22 13:21:34 curt
-// C++ - ifing the code a bit.
-//
-// Revision 1.11 1998/04/18 04:13:58 curt
-// Moved fg_debug.c to it's own library.
-//
-// Revision 1.10 1998/04/03 21:52:51 curt
-// Converting to Gnu autoconf system.
-//
-// Revision 1.9 1998/03/14 00:27:12 curt
-// Updated fgGENERAL to a "type" of struct.
-//
-// Revision 1.8 1998/02/12 21:59:38 curt
-// Incorporated code changes contributed by Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.7 1998/02/09 15:07:48 curt
-// Minor tweaks.
-//
-// Revision 1.6 1998/02/02 20:53:23 curt
-// To version 0.29
-//
-// Revision 1.5 1998/01/27 18:35:53 curt
-// Minor tweaks.
-//
-// Revision 1.4 1998/01/27 00:47:49 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.3 1998/01/19 19:26:59 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.2 1998/01/19 18:40:18 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.1 1998/01/07 03:16:20 curt
-// Moved from .../Src/Scenery/ to .../Src/Astro/
-//
-// Revision 1.24 1997/12/30 22:22:39 curt
-// Further integration of event manager.
-//
-// Revision 1.23 1997/12/30 20:47:53 curt
-// Integrated new event manager with subsystem initializations.
-//
-// Revision 1.22 1997/12/30 16:36:53 curt
-// Merged in Durk's changes ...
-//
-// Revision 1.21 1997/12/19 23:35:00 curt
-// Lot's of tweaking with sky rendering and lighting.
-//
-// Revision 1.20 1997/12/15 23:55:03 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.19 1997/12/12 19:53:00 curt
-// Working on lightling and material properties.
-//
-// Revision 1.18 1997/12/10 22:37:52 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.17 1997/12/09 04:25:33 curt
-// Working on adding a global lighting params structure.
-//
-// Revision 1.16 1997/11/25 19:25:38 curt
-// Changes to integrate Durk's moon/sun code updates + clean up.
-//
-// Revision 1.15 1997/10/30 12:38:45 curt
-// Working on new scenery subsystem.
-//
-// Revision 1.14 1997/10/28 21:00:22 curt
-// Changing to new terrain format.
-//
-// Revision 1.13 1997/10/25 03:18:28 curt
-// Incorporated sun, moon, and planet position and rendering code contributed
-// by Durk Talsma.
-//
-// Revision 1.12 1997/09/23 00:29:43 curt
-// Tweaks to get things to compile with gcc-win32.
-//
-// Revision 1.11 1997/09/22 14:44:21 curt
-// Continuing to try to align stars correctly.
-//
-// Revision 1.10 1997/09/20 03:34:32 curt
-// Still trying to get those durned stars aligned properly.
-//
-// Revision 1.9 1997/09/18 16:20:09 curt
-// At dusk/dawn add/remove stars in stages.
-//
-// Revision 1.8 1997/09/16 22:14:52 curt
-// Tweaked time of day lighting equations. Don't draw stars during the day.
-//
-// Revision 1.7 1997/09/16 15:50:31 curt
-// Working on star alignment and time issues.
-//
-// Revision 1.6 1997/09/05 14:17:31 curt
-// More tweaking with stars.
-//
-// Revision 1.5 1997/09/05 01:35:59 curt
-// Working on getting stars right.
-//
-// Revision 1.4 1997/09/04 02:17:38 curt
-// Shufflin' stuff.
-//
-// Revision 1.3 1997/08/29 17:55:28 curt
-// Worked on properly aligning the stars.
-//
-// Revision 1.2 1997/08/27 21:32:30 curt
-// Restructured view calculation code. Added stars.
-//
-// Revision 1.1 1997/08/27 03:34:48 curt
-// Initial revision.
-
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _STARS_HXX
#endif // _STARS_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:48 curt
-// Initial revision
-//
-// Revision 1.8 1999/01/19 20:57:00 curt
-// MacOS portability changes contributed by "Robert Puyol" <puyol@abvent.fr>
-//
-// Revision 1.7 1998/09/24 15:36:20 curt
-// Converted to c++ style comments.
-//
-// Revision 1.6 1998/09/24 15:25:26 curt
-// Miscellaneous tweaks.
-//
-//
-// Revision 1.5 1998/09/17 18:25:13 curt
-// Fixed output message.
-//
-// Revision 1.4 1998/09/15 04:26:23 curt
-// New textured moon and rewritten/restructured Astro code contributed by Durk
-// Talsma.
-//
-// Revision 1.3 1998/08/06 12:45:20 curt
-// Modified to bring in stars in 8 increments based on magnitude, not number
-// of stars.
-//
-// Revision 1.2 1998/04/28 01:19:03 curt
-// Type-ified fgTIME and fgVIEW
-//
-// Revision 1.1 1998/04/22 13:21:35 curt
-// C++ - ifing the code a bit.
-//
-// Revision 1.5 1998/04/21 17:02:33 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.4 1998/02/12 21:59:39 curt
-// Incorporated code changes contributed by Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.3 1998/01/22 02:59:28 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.2 1998/01/19 18:40:18 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.1 1998/01/07 03:16:20 curt
-// Moved from .../Src/Scenery/ to .../Src/Astro/
-//
-// Revision 1.6 1997/10/25 03:18:29 curt
-// Incorporated sun, moon, and planet position and rendering code contributed
-// by Durk Talsma.
-//
-// Revision 1.5 1997/09/18 16:20:09 curt
-// At dusk/dawn add/remove stars in stages.
-//
-// Revision 1.4 1997/09/05 01:36:00 curt
-// Working on getting stars right.
-//
-// Revision 1.3 1997/08/29 17:55:28 curt
-// Worked on properly aligning the stars.
-//
-// Revision 1.2 1997/08/27 21:32:30 curt
-// Restructured view calculation code. Added stars.
-//
-// Revision 1.1 1997/08/27 03:34:50 curt
-// Initial revision.
-//
-
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifdef __BORLANDC__
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifndef _URANUS_HXX_
#define _URANUS_HXX_
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifdef __BORLANDC__
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
#ifndef _VENUS_HXX_
#define _VENUS_HXX_
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
};
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.15 1999/02/12 23:22:35 curt
-// Allow auto-throttle adjustment while active.
-//
-// Revision 1.14 1999/02/12 22:17:14 curt
-// Changes contributed by Norman Vine to allow adjustment of the autopilot
-// while it is activated.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _AUTOPILOT_HXX
#endif // _AUTOPILOT_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.9 1999/02/12 23:22:36 curt
-// Allow auto-throttle adjustment while active.
-//
-// Revision 1.8 1999/02/12 22:17:15 curt
-// Changes contributed by Norman Vine to allow adjustment of the autopilot
-// while it is activated.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.2 1999/04/06 16:58:29 curt
-// Clean ups and reorganizations:
-// - Additional Thanks entry
-// - more info on getting gfc library
-// - converted some C style comments to C++ style.
-//
-// Revision 1.1.1.1 1999/04/05 21:32:48 curt
-// Start of 0.6.x branch.
-//
-// Revision 1.31 1999/03/08 21:56:08 curt
-// Added panel changes sent in by Friedemann.
-//
-// Revision 1.30 1999/02/05 21:28:57 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.29 1999/01/08 19:27:34 curt
-// Fixed AOA reading on HUD.
-// Continued work on time jitter compensation.
-//
-// Revision 1.28 1999/01/07 20:24:17 curt
-// Update fgGENERAL to FGGeneral.
-//
-// Revision 1.27 1998/12/18 23:35:09 curt
-// Converted to a simpler frame rate counting method.
-//
-// Revision 1.26 1998/12/09 18:50:19 curt
-// Converted "class fgVIEW" to "class FGView" and updated to make data
-// members private and make required accessor functions.
-//
-// Revision 1.25 1998/12/05 15:54:07 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.24 1998/12/03 01:16:00 curt
-// Converted fgFLIGHT to a class.
-//
-// Revision 1.23 1998/11/09 23:38:50 curt
-// Panel updates from Friedemann.
-//
-// Revision 1.22 1998/11/06 21:17:45 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.21 1998/11/02 23:04:02 curt
-// HUD units now display in feet by default with meters being a command line
-// option.
-//
-// Revision 1.20 1998/10/25 14:08:40 curt
-// Turned "struct fgCONTROLS" into a class, with inlined accessor functions.
-//
-// Revision 1.19 1998/10/17 01:33:56 curt
-// C++ ifying ...
-//
-// Revision 1.18 1998/10/16 23:27:23 curt
-// C++-ifying.
-//
-// Revision 1.17 1998/09/29 14:56:30 curt
-// c++-ified comments.
-//
-// Revision 1.16 1998/09/29 02:01:06 curt
-// Added a "rate of climb" indicator.
-//
-// Revision 1.15 1998/08/28 18:14:39 curt
-// Added new cockpit code from Friedemann Reinhard
-// <mpt218@faupt212.physik.uni-erlangen.de>
-//
-// Revision 1.14 1998/08/24 20:05:15 curt
-// Added a second minimalistic HUD.
-// Added code to display the number of triangles rendered.
-//
-// Revision 1.13 1998/08/22 01:19:27 curt
-// Omit panel code because it's texture loading overruns array bounds.
-//
-// Revision 1.12 1998/07/13 21:28:00 curt
-// Converted the aoa scale to a radio altimeter.
-//
-// Revision 1.11 1998/07/13 21:00:45 curt
-// Integrated Charlies latest HUD updates.
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.10 1998/07/08 14:41:08 curt
-// Renamed polar3d.h to polar3d.hxx
-//
-// Revision 1.9 1998/06/27 16:47:53 curt
-// Incorporated Friedemann Reinhard's <mpt218@faupt212.physik.uni-erlangen.de>
-// first pass at an isntrument panel.
-//
-// Revision 1.8 1998/05/17 16:58:12 curt
-// Added a View Frustum Culling ratio display to the hud.
-//
-// Revision 1.7 1998/05/16 13:04:13 curt
-// New updates from Charlie Hotchkiss.
-//
-// Revision 1.6 1998/05/13 18:27:53 curt
-// Added an fov to hud display.
-//
-// Revision 1.5 1998/05/11 18:13:10 curt
-// Complete C++ rewrite of all cockpit code by Charlie Hotchkiss.
-//
-// Revision 1.4 1998/05/03 00:46:45 curt
-// polar.h -> polar3d.h
-//
-// Revision 1.3 1998/04/30 12:36:02 curt
-// C++-ifying a couple source files.
-//
-// Revision 1.2 1998/04/25 22:06:26 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.1 1998/04/24 00:45:54 curt
-// C++-ifing the code a bit.
-//
-// Revision 1.13 1998/04/18 04:14:01 curt
-// Moved fg_debug.c to it's own library.
-//
-// Revision 1.12 1998/04/14 02:23:09 curt
-// Code reorganizations. Added a Lib/ directory for more general libraries.
-//
-// Revision 1.11 1998/03/14 00:32:13 curt
-// Changed a printf() to a fgPrintf().
-//
-// Revision 1.10 1998/02/07 15:29:33 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.9 1998/02/03 23:20:14 curt
-// Lots of little tweaks to fix various consistency problems discovered by
-// Solaris' CC. Fixed a bug in fg_debug.c with how the fgPrintf() wrapper
-// passed arguments along to the real printf(). Also incorporated HUD changes
-// by Michele America.
-//
-// Revision 1.8 1998/01/31 00:43:03 curt
-// Added MetroWorks patches from Carmen Volpe.
-//
-// Revision 1.7 1998/01/27 00:47:51 curt
-// Incorporated Paul Bleisch's <bleisch@chromatic.com> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.6 1998/01/19 19:27:01 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.5 1998/01/19 18:40:19 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.4 1997/12/30 20:47:34 curt
-// Integrated new event manager with subsystem initializations.
-//
-// Revision 1.3 1997/12/15 23:54:33 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.2 1997/12/10 22:37:38 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.1 1997/08/29 18:03:20 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _COCKPIT_HXX
#endif // _COCKPIT_HXX
-// $Log$
-// Revision 1.2 1999/04/06 16:58:30 curt
-// Clean ups and reorganizations:
-// - Additional Thanks entry
-// - more info on getting gfc library
-// - converted some C style comments to C++ style.
-//
-// Revision 1.1.1.1 1999/04/05 21:32:48 curt
-// Start of 0.6.x branch.
-//
-// Revision 1.4 1998/07/13 21:00:46 curt
-// Integrated Charlies latest HUD updates.
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.3 1998/06/27 16:47:54 curt
-// Incorporated Friedemann Reinhard's <mpt218@faupt212.physik.uni-erlangen.de>
-// first pass at an isntrument panel.
-//
-// Revision 1.2 1998/05/11 18:13:10 curt
-// Complete C++ rewrite of all cockpit code by Charlie Hotchkiss.
-//
-// Revision 1.1 1998/04/24 00:45:55 curt
-// C++-ifing the code a bit.
-//
-// Revision 1.8 1998/04/22 13:26:19 curt
-// C++ - ifing the code a bit.
-//
-// Revision 1.7 1998/04/21 17:02:34 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.6 1998/02/07 15:29:33 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.5 1998/01/22 02:59:29 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.4 1998/01/19 19:27:01 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.3 1998/01/19 18:40:19 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.2 1997/12/10 22:37:39 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.1 1997/08/29 18:03:21 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
glPopMatrix();
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:48 curt
-// Initial revision
-//
-// Revision 1.32 1999/03/02 01:02:37 curt
-// Tweaks for building with native SGI compilers.
-//
-// Revision 1.31 1999/02/02 20:13:31 curt
-// MSVC++ portability changes by Bernie Bright:
-//
-// Lib/Serial/serial.[ch]xx: Initial Windows support - incomplete.
-// Simulator/Astro/stars.cxx: typo? included <stdio> instead of <cstdio>
-// Simulator/Cockpit/hud.cxx: Added Standard headers
-// Simulator/Cockpit/panel.cxx: Redefinition of default parameter
-// Simulator/Flight/flight.cxx: Replaced cout with FG_LOG. Deleted <stdio.h>
-// Simulator/Main/fg_init.cxx:
-// Simulator/Main/GLUTmain.cxx:
-// Simulator/Main/options.hxx: Shuffled <fg_serial.hxx> dependency
-// Simulator/Objects/material.hxx:
-// Simulator/Time/timestamp.hxx: VC++ friend kludge
-// Simulator/Scenery/tile.[ch]xx: Fixed using std::X declarations
-// Simulator/Main/views.hxx: Added a constant
-//
-// Revision 1.30 1999/01/27 04:47:52 curt
-// Make lower end of altitude = -500 so the altimeter is guaged below zero (such
-// as in death valley.)
-//
-// Revision 1.29 1998/12/18 23:35:10 curt
-// Converted to a simpler frame rate counting method.
-//
-// Revision 1.28 1998/11/23 21:48:59 curt
-// Borland portability tweaks.
-//
-// Revision 1.27 1998/11/06 21:17:47 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.26 1998/11/03 12:33:11 curt
-// Display ft or m in mini-hud next to altitude.
-//
-// Revision 1.25 1998/10/17 01:33:57 curt
-// C++ ifying ...
-//
-// Revision 1.24 1998/10/16 23:27:25 curt
-// C++-ifying.
-//
-// Revision 1.23 1998/10/16 00:53:00 curt
-// Mods to display a bit more info when mini-hud is active.
-//
-// Revision 1.22 1998/09/29 14:56:31 curt
-// c++-ified comments.
-//
-// Revision 1.21 1998/09/29 02:01:07 curt
-// Added a "rate of climb" indicator.
-//
-// Revision 1.20 1998/08/24 20:05:16 curt
-// Added a second minimalistic HUD.
-// Added code to display the number of triangles rendered.
-//
-// Revision 1.19 1998/07/30 23:44:05 curt
-// Tweaks for sgi building.
-//
-// Revision 1.18 1998/07/20 12:47:55 curt
-// Replace the hud rendering for loop (which linearly searches the the hud
-// list to find the entry with the proper position) with a simple linear
-// traversal using an "iterator."
-//
-// Revision 1.17 1998/07/13 21:28:02 curt
-// Converted the aoa scale to a radio altimeter.
-//
-// Revision 1.16 1998/07/13 21:00:47 curt
-// Integrated Charlies latest HUD updates.
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.15 1998/07/08 14:41:08 curt
-// Renamed polar3d.h to polar3d.hxx
-//
-// Revision 1.14 1998/07/06 21:31:20 curt
-// Removed an extraneous ^M.
-//
-// Revision 1.13 1998/07/03 13:16:28 curt
-// Added Charlie Hotchkiss's HUD updates and improvementes.
-//
-// Revision 1.11 1998/06/05 18:17:10 curt
-// Added the declaration of memmove needed by the stl which apparently
-// solaris only defines for cc compilations and not for c++ (__STDC__)
-//
-// Revision 1.10 1998/05/17 16:58:12 curt
-// Added a View Frustum Culling ratio display to the hud.
-//
-// Revision 1.9 1998/05/16 13:04:14 curt
-// New updates from Charlie Hotchkiss.
-//
-// Revision 1.8 1998/05/13 18:27:54 curt
-// Added an fov to hud display.
-//
-// Revision 1.7 1998/05/11 18:13:11 curt
-// Complete C++ rewrite of all cockpit code by Charlie Hotchkiss.
-//
-// Revision 1.22 1998/04/18 04:14:02 curt
-// Moved fg_debug.c to it's own library.
-//
-// Revision 1.21 1998/04/03 21:55:28 curt
-// Converting to Gnu autoconf system.
-// Tweaks to hud.c
-//
-// Revision 1.20 1998/03/09 22:48:40 curt
-// Minor "formatting" tweaks.
-//
-// Revision 1.19 1998/02/23 20:18:28 curt
-// Incorporated Michele America's hud changes.
-//
-// Revision 1.18 1998/02/21 14:53:10 curt
-// Added Charlie's HUD changes.
-//
-// Revision 1.17 1998/02/20 00:16:21 curt
-// Thursday's tweaks.
-//
-// Revision 1.16 1998/02/19 13:05:49 curt
-// Incorporated some HUD tweaks from Michelle America.
-// Tweaked the sky's sunset/rise colors.
-// Other misc. tweaks.
-//
-// Revision 1.15 1998/02/16 13:38:39 curt
-// Integrated changes from Charlie Hotchkiss.
-//
-// Revision 1.14 1998/02/12 21:59:41 curt
-// Incorporated code changes contributed by Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.12 1998/02/09 15:07:48 curt
-// Minor tweaks.
-//
-// Revision 1.11 1998/02/07 15:29:34 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.10 1998/02/03 23:20:14 curt
-// Lots of little tweaks to fix various consistency problems discovered by
-// Solaris' CC. Fixed a bug in fg_debug.c with how the fgPrintf() wrapper
-// passed arguments along to the real printf(). Also incorporated HUD changes
-// by Michele America.
-//
-// Revision 1.9 1998/01/31 00:43:04 curt
-// Added MetroWorks patches from Carmen Volpe.
-//
-// Revision 1.8 1998/01/27 00:47:51 curt
-// Incorporated Paul Bleisch's <bleisch@chromatic.com> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.7 1998/01/19 18:40:20 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.6 1997/12/15 23:54:34 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.5 1997/12/10 22:37:39 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.4 1997/09/23 00:29:32 curt
-// Tweaks to get things to compile with gcc-win32.
-//
-// Revision 1.3 1997/09/05 14:17:26 curt
-// More tweaking with stars.
-//
-// Revision 1.2 1997/09/04 02:17:30 curt
-// Shufflin' stuff.
-//
-// Revision 1.1 1997/08/29 18:03:22 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _HUD_HXX
#endif // _HUD_H
-// $Log$
-// Revision 1.1 1999/04/05 21:32:48 curt
-// Initial revision
-//
-// Revision 1.19 1999/03/02 01:02:38 curt
-// Tweaks for building with native SGI compilers.
-//
-// Revision 1.18 1999/02/26 22:08:45 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.17 1999/02/01 21:33:28 curt
-// Renamed FlightGear/Simulator/Flight to FlightGear/Simulator/FDM since
-// Jon accepted my offer to do this and thought it was a good idea.
-//
-// Revision 1.16 1998/10/17 01:33:59 curt
-// C++ ifying ...
-//
-// Revision 1.15 1998/10/16 23:27:27 curt
-// C++-ifying.
-//
-// Revision 1.14 1998/09/29 14:56:33 curt
-// c++-ified comments.
-//
-// Revision 1.13 1998/09/29 02:01:09 curt
-// Added a "rate of climb" indicator.
-//
-// Revision 1.12 1998/08/24 20:05:17 curt
-// Added a second minimalistic HUD.
-// Added code to display the number of triangles rendered.
-//
-// Revision 1.11 1998/07/24 21:36:55 curt
-// Ran dos2unix to get rid of extraneous ^M's. Tweaked parameter in
-// ImageGetRawData() to match usage.
-//
-// Revision 1.10 1998/07/13 21:28:02 curt
-// Converted the aoa scale to a radio altimeter.
-//
-// Revision 1.9 1998/07/13 21:00:48 curt
-// Integrated Charlies latest HUD updates.
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.8 1998/07/03 13:16:29 curt
-// Added Charlie Hotchkiss's HUD updates and improvementes.
-//
-// Revision 1.6 1998/06/03 00:43:28 curt
-// No .h when including stl stuff.
-//
-// Revision 1.5 1998/05/17 16:58:13 curt
-// Added a View Frustum Culling ratio display to the hud.
-//
-// Revision 1.4 1998/05/16 13:04:15 curt
-// New updates from Charlie Hotchkiss.
-//
-// Revision 1.3 1998/05/13 18:27:55 curt
-// Added an fov to hud display.
-//
-// Revision 1.2 1998/05/11 18:13:12 curt
-// Complete C++ rewrite of all cockpit code by Charlie Hotchkiss.
-//
-// Revision 1.15 1998/02/23 19:07:57 curt
-// Incorporated Durk's Astro/ tweaks. Includes unifying the sun position
-// calculation code between sun display, and other FG sections that use this
-// for things like lighting.
-//
-// Revision 1.14 1998/02/21 14:53:14 curt
-// Added Charlie's HUD changes.
-//
-// Revision 1.13 1998/02/20 00:16:22 curt
-// Thursday's tweaks.
-//
-// Revision 1.12 1998/02/19 13:05:52 curt
-// Incorporated some HUD tweaks from Michelle America.
-// Tweaked the sky's sunset/rise colors.
-// Other misc. tweaks.
-//
-// Revision 1.11 1998/02/16 13:38:42 curt
-// Integrated changes from Charlie Hotchkiss.
-//
-// Revision 1.11 1998/02/16 13:38:42 curt
-// Integrated changes from Charlie Hotchkiss.
-//
-// Revision 1.10 1998/02/12 21:59:42 curt
-// Incorporated code changes contributed by Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.8 1998/02/07 15:29:35 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.7 1998/02/03 23:20:15 curt
-// Lots of little tweaks to fix various consistency problems discovered by
-// Solaris' CC. Fixed a bug in fg_debug.c with how the fgPrintf() wrapper
-// passed arguments along to the real printf(). Also incorporated HUD changes
-// by Michele America.
-//
-// Revision 1.6 1998/01/22 02:59:30 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.5 1998/01/19 19:27:01 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.4 1998/01/19 18:40:21 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.3 1997/12/30 16:36:41 curt
-// Merged in Durk's changes ...
-//
-// Revision 1.2 1997/12/10 22:37:40 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.1 1997/08/29 18:03:22 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
xglDisable(GL_TEXTURE_2D);
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:48 curt
-// Initial revision
-//
-// Revision 1.18 1999/03/09 20:58:17 curt
-// Tweaks for compiling under native Irix compilers.
-//
-// Revision 1.17 1999/03/08 21:56:09 curt
-// Added panel changes sent in by Friedemann.
-//
-// Revision 1.13 1999/01/07 19:25:53 curt
-// Updates from Friedemann Reinhard.
-//
-// Revision 1.11 1998/11/11 00:19:27 curt
-// Updated comment delimeter to C++ style.
-//
-// Revision 1.10 1998/11/09 23:38:52 curt
-// Panel updates from Friedemann.
-//
-// Revision 1.9 1998/11/06 21:18:01 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.8 1998/10/16 23:27:37 curt
-// C++-ifying.
-//
-// Revision 1.7 1998/08/31 20:45:31 curt
-// Tweaks from Friedemann.
-//
-// Revision 1.6 1998/08/28 18:14:40 curt
-// Added new cockpit code from Friedemann Reinhard
-// <mpt218@faupt212.physik.uni-erlangen.de>
-//
-// Revision 1.1 1998/06/27 16:47:54 curt
-// Incorporated Friedemann Reinhard's <mpt218@faupt212.physik.uni-erlangen.de>
-// first pass at an isntrument panel.
-//
-
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#define LETTER_OFFSET 0.03515625
-// $Log$
-// Revision 1.1 1999/04/05 21:32:48 curt
-// Initial revision
-//
-// Revision 1.9 1999/03/09 20:58:18 curt
-// Tweaks for compiling under native Irix compilers.
-//
-// Revision 1.8 1999/03/08 21:56:10 curt
-// Added panel changes sent in by Friedemann.
-//
-// Revision 1.5 1999/01/07 19:25:55 curt
-// Updates from Friedemann Reinhard.
-//
-// Revision 1.4 1998/11/11 00:19:29 curt
-// Updated comment delimeter to C++ style.
-//
-// Revision 1.3 1998/11/09 23:38:54 curt
-// Panel updates from Friedemann.
-//
-// Revision 1.2 1998/08/28 18:14:41 curt
-// Added new cockpit code from Friedemann Reinhard
-// <mpt218@faupt212.physik.uni-erlangen.de>
-//
-// Revision 1.1 1998/06/27 16:47:55 curt
-// Incorporated Friedemann Reinhard's <mpt218@faupt212.physik.uni-erlangen.de>
-// first pass at an isntrument panel.
-
-
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include "controls.hxx"
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.3 1998/12/05 16:13:12 curt
-// Renamed class fgCONTROLS to class FGControls.
-//
-// Revision 1.2 1998/10/25 14:08:41 curt
-// Turned "struct fgCONTROLS" into a class, with inlined accessor functions.
-//
-// Revision 1.1 1998/10/18 01:51:05 curt
-// c++-ifying ...
-//
-// Revision 1.8 1998/09/29 02:01:31 curt
-// Added a brake.
-//
-// Revision 1.7 1998/02/07 15:29:36 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.6 1998/01/19 19:27:02 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.5 1998/01/19 18:40:22 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.4 1997/12/10 22:37:41 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.3 1997/08/27 03:30:01 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.2 1997/06/21 17:12:48 curt
-// Capitalized subdirectory names.
-//
-// Revision 1.1 1997/05/31 19:24:04 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _CONTROLS_HXX
#endif // _CONTROLS_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.4 1999/01/27 04:48:13 curt
-// C++ style refinements by Bernie Bright.
-//
-// Revision 1.3 1998/12/05 16:13:13 curt
-// Renamed class fgCONTROLS to class FGControls.
-//
-// Revision 1.2 1998/10/25 14:08:42 curt
-// Turned "struct fgCONTROLS" into a class, with inlined accessor functions.
-//
-// Revision 1.1 1998/10/18 01:51:07 curt
-// c++-ifying ...
-//
-// Revision 1.17 1998/09/29 14:57:00 curt
-// c++-ified some comments.
-//
-// Revision 1.16 1998/09/29 02:01:32 curt
-// Added a brake.
-//
-// Revision 1.15 1998/04/25 22:06:27 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.14 1998/04/22 13:26:19 curt
-// C++ - ifing the code a bit.
-//
-// Revision 1.13 1998/04/21 17:02:35 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.12 1998/02/09 22:56:48 curt
-// Removed "depend" files from cvs control. Other minor make tweaks.
-//
-// Revision 1.11 1998/02/07 15:29:36 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.10 1998/01/27 00:47:52 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.9 1998/01/22 02:59:31 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.8 1998/01/19 18:40:22 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.7 1997/12/15 23:54:36 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.6 1997/12/10 22:37:41 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.5 1997/08/27 03:30:02 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.4 1997/07/23 21:52:18 curt
-// Put comments around the text after an #endif for increased portability.
-//
-// Revision 1.3 1997/05/31 19:16:27 curt
-// Elevator trim added.
-//
-// Revision 1.2 1997/05/23 15:40:33 curt
-// Added GNU copyright headers.
-//
-// Revision 1.1 1997/05/16 15:59:48 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <math.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:46 curt
-// Initial revision
-//
-// Revision 1.5 1999/02/05 21:29:03 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.4 1999/02/01 21:33:32 curt
-// Renamed FlightGear/Simulator/Flight to FlightGear/Simulator/FDM since
-// Jon accepted my offer to do this and thought it was a good idea.
-//
-// Revision 1.3 1999/01/19 17:52:11 curt
-// Working on being able to extrapolate a new position and orientation
-// based on a position, orientation, and time offset.
-//
-// Revision 1.2 1998/12/05 15:54:13 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.1 1998/12/04 01:28:49 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _EXTERNAL_HXX
#endif // _EXTERNAL_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:46 curt
-// Initial revision
-//
-// Revision 1.6 1999/02/05 21:29:04 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.5 1999/01/19 17:52:12 curt
-// Working on being able to extrapolate a new position and orientation
-// based on a position, orientation, and time offset.
-//
-// Revision 1.4 1999/01/09 13:37:37 curt
-// Convert fgTIMESTAMP to FGTimeStamp which holds usec instead of ms.
-//
-// Revision 1.3 1998/12/05 15:54:14 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.2 1998/12/05 14:18:47 curt
-// added an fgTIMESTAMP to define when this record is valid.
-//
-// Revision 1.1 1998/12/04 01:28:49 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <Include/compiler.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:45 curt
-// Initial revision
-//
-// Revision 1.4 1999/04/03 04:20:01 curt
-// Optimizations (tm) by Norman Vine.
-//
-// Revision 1.3 1999/02/26 22:09:10 curt
-// Added initial support for native SGI compilers.
-// Integrated Jon's next version of JSBsim.
-//
-// Revision 1.2 1999/02/11 21:09:40 curt
-// Interface with Jon's submitted JSBsim changes.
-//
-// Revision 1.1 1999/02/05 21:29:38 curt
-// Incorporating Jon S. Berndt's flight model code.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _JSBSIM_HXX
#endif // _JSBSIM_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:45 curt
-// Initial revision
-//
-// Revision 1.2 1999/02/11 21:09:41 curt
-// Interface with Jon's submitted JSBsim changes.
-//
-// Revision 1.1 1999/02/05 21:29:38 curt
-// Incorporating Jon S. Berndt's flight model code.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include "controls.hxx"
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:46 curt
-// Initial revision
-//
-// Revision 1.1 1999/02/13 01:12:03 curt
-// Initial Revision.
-//
-// Revision 1.1 1999/02/09 04:51:32 jon
-// Initial revision
-//
-// Revision 1.3 1998/12/05 16:13:12 curt
-// Renamed class fgCONTROLS to class FGControls.
-//
-// Revision 1.2 1998/10/25 14:08:41 curt
-// Turned "struct fgCONTROLS" into a class, with inlined accessor functions.
-//
-// Revision 1.1 1998/10/18 01:51:05 curt
-// c++-ifying ...
-//
-// Revision 1.8 1998/09/29 02:01:31 curt
-// Added a brake.
-//
-// Revision 1.7 1998/02/07 15:29:36 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.6 1998/01/19 19:27:02 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.5 1998/01/19 18:40:22 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.4 1997/12/10 22:37:41 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.3 1997/08/27 03:30:01 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.2 1997/06/21 17:12:48 curt
-// Capitalized subdirectory names.
-//
-// Revision 1.1 1997/05/31 19:24:04 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _CONTROLS_HXX
#endif // _CONTROLS_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:45 curt
-// Initial revision
-//
-// Revision 1.1 1999/02/13 01:12:03 curt
-// Initial Revision.
-//
-// Revision 1.3 1998/12/05 16:13:13 curt
-// Renamed class fgCONTROLS to class FGControls.
-//
-// Revision 1.2 1998/10/25 14:08:42 curt
-// Turned "struct fgCONTROLS" into a class, with inlined accessor functions.
-//
-// Revision 1.1 1998/10/18 01:51:07 curt
-// c++-ifying ...
-//
-// Revision 1.17 1998/09/29 14:57:00 curt
-// c++-ified some comments.
-//
-// Revision 1.16 1998/09/29 02:01:32 curt
-// Added a brake.
-//
-// Revision 1.15 1998/04/25 22:06:27 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.14 1998/04/22 13:26:19 curt
-// C++ - ifing the code a bit.
-//
-// Revision 1.13 1998/04/21 17:02:35 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.12 1998/02/09 22:56:48 curt
-// Removed "depend" files from cvs control. Other minor make tweaks.
-//
-// Revision 1.11 1998/02/07 15:29:36 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.10 1998/01/27 00:47:52 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.9 1998/01/22 02:59:31 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.8 1998/01/19 18:40:22 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.7 1997/12/15 23:54:36 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.6 1997/12/10 22:37:41 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.5 1997/08/27 03:30:02 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.4 1997/07/23 21:52:18 curt
-// Put comments around the text after an #endif for increased portability.
-//
-// Revision 1.3 1997/05/31 19:16:27 curt
-// Elevator trim added.
-//
-// Revision 1.2 1997/05/23 15:40:33 curt
-// Added GNU copyright headers.
-//
-// Revision 1.1 1997/05/16 15:59:48 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include "LaRCsim.hxx"
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:44 curt
-// Initial revision
-//
-// Revision 1.12 1999/04/03 04:20:02 curt
-// Optimizations (tm) by Norman Vine.
-//
-// Revision 1.11 1999/02/05 21:28:58 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.10 1999/02/01 21:33:30 curt
-// Renamed FlightGear/Simulator/Flight to FlightGear/Simulator/FDM since
-// Jon accepted my offer to do this and thought it was a good idea.
-//
-// Revision 1.9 1999/01/08 19:27:36 curt
-// Fixed AOA reading on HUD.
-// Continued work on time jitter compensation.
-//
-// Revision 1.8 1998/12/18 23:37:06 curt
-// Collapsed out the FGState variables not currently needed. They are just
-// commented out and can be readded easily at any time. The point of this
-// exersize is to determine which variables were or were not currently being
-// used.
-//
-// Revision 1.7 1998/12/14 13:31:06 curt
-// LaRCsim maintains all it's variables internally. I had been copying all of
-// them back and forth to the FG struture everytime I updated the flight model.
-// However, I have realized that this is not necessary. I just need to copy
-// the control positions and environmental parameters into the LaRCsim structure
-// before updating the FDM, then copy every thing back out into the publick FGFS
-// structure afterwords. This seems to solve (or at least help) a westward
-// drift problem some poeple had been observing.
-//
-// Revision 1.6 1998/12/05 15:54:08 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.5 1998/12/03 04:25:02 curt
-// Working on fixing up new fgFLIGHT class.
-//
-// Revision 1.4 1998/12/03 01:16:37 curt
-// Converted fgFLIGHT to a class.
-//
-// Revision 1.3 1998/10/25 14:08:43 curt
-// Turned "struct fgCONTROLS" into a class, with inlined accessor functions.
-//
-// Revision 1.2 1998/10/17 01:34:11 curt
-// C++ ifying ...
-//
-// Revision 1.1 1998/10/17 00:43:58 curt
-// Initial revision.
-//
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
//*************************************************************************/
#endif // _LARCSIM_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:44 curt
-// Initial revision
-//
-// Revision 1.5 1999/02/05 21:28:59 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.4 1998/12/05 15:54:09 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.3 1998/12/03 01:16:38 curt
-// Converted fgFLIGHT to a class.
-//
-// Revision 1.2 1998/10/17 01:34:13 curt
-// C++ ifying ...
-//
-// Revision 1.1 1998/10/17 00:43:58 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <math.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:45 curt
-// Initial revision
-//
-// Revision 1.6 1999/02/05 21:29:05 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.5 1999/02/01 21:33:33 curt
-// Renamed FlightGear/Simulator/Flight to FlightGear/Simulator/FDM since
-// Jon accepted my offer to do this and thought it was a good idea.
-//
-// Revision 1.4 1998/12/05 16:13:14 curt
-// Renamed class fgCONTROLS to class FGControls.
-//
-// Revision 1.3 1998/12/05 15:54:16 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.2 1998/10/17 01:34:17 curt
-// C++ ifying ...
-//
-// Revision 1.1 1998/10/16 23:27:50 curt
-// C++-ifying.
-//
-// Revision 1.13 1998/04/25 22:06:29 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.12 1998/04/08 23:35:30 curt
-// Tweaks to Gnu automake/autoconf system.
-//
-// Revision 1.11 1998/02/07 15:29:39 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.10 1998/01/27 00:47:53 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.9 1998/01/19 19:27:06 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.8 1998/01/19 18:40:30 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.7 1997/12/15 23:54:42 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.6 1997/08/27 03:30:11 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.5 1997/07/19 22:35:06 curt
-// Moved fiddled with PI to avoid compiler warnings.
-//
-// Revision 1.4 1997/06/21 17:12:51 curt
-// Capitalized subdirectory names.
-//
-// Revision 1.3 1997/05/29 22:40:00 curt
-// Working on incorporating the LaRCsim flight model.
-//
-// Revision 1.2 1997/05/29 12:30:19 curt
-// Some initial mods to work better in a timer environment.
-//
-// Revision 1.1 1997/05/29 02:29:42 curt
-// Moved to their own directory.
-//
-// Revision 1.2 1997/05/23 15:40:37 curt
-// Added GNU copyright headers.
-//
-// Revision 1.1 1997/05/16 16:04:45 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _SLEW_HXX
#endif // _SLEW_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:45 curt
-// Initial revision
-//
-// Revision 1.2 1998/10/17 01:34:18 curt
-// C++ ifying ...
-//
-// Revision 1.1 1998/10/16 23:27:52 curt
-// C++-ifying.
-//
-// Revision 1.4 1998/01/22 02:59:34 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.3 1998/01/19 18:40:30 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.2 1997/07/23 21:52:20 curt
-// Put comments around the text after an #endif for increased portability.
-//
-// Revision 1.1 1997/05/29 02:29:43 curt
-// Moved to their own directory.
-//
-// Revision 1.2 1997/05/23 15:40:38 curt
-// Added GNU copyright headers.
-//
-// Revision 1.1 1997/05/16 16:04:46 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <stdio.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:44 curt
-// Initial revision
-//
-// Revision 1.17 1999/04/03 04:20:03 curt
-// Optimizations (tm) by Norman Vine.
-//
-// Revision 1.16 1999/02/26 22:09:12 curt
-// Added initial support for native SGI compilers.
-// Integrated Jon's next version of JSBsim.
-//
-// Revision 1.15 1999/02/05 21:29:01 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.14 1999/02/01 21:33:31 curt
-// Renamed FlightGear/Simulator/Flight to FlightGear/Simulator/FDM since
-// Jon accepted my offer to do this and thought it was a good idea.
-//
-// Revision 1.13 1999/01/27 04:48:39 curt
-// Set the runway height in cur_fdm_state as well as base_fdm_state.
-//
-// Revision 1.12 1999/01/20 13:42:22 curt
-// Tweaked FDM interface.
-// Testing check sum support for NMEA serial output.
-//
-// Revision 1.11 1999/01/19 17:52:06 curt
-// Working on being able to extrapolate a new position and orientation
-// based on a position, orientation, and time offset.
-//
-// Revision 1.10 1999/01/09 13:37:32 curt
-// Convert fgTIMESTAMP to FGTimeStamp which holds usec instead of ms.
-//
-// Revision 1.9 1999/01/08 19:27:37 curt
-// Fixed AOA reading on HUD.
-// Continued work on time jitter compensation.
-//
-// Revision 1.8 1999/01/08 03:23:51 curt
-// Beginning work on compensating for sim time vs. real world time "jitter".
-//
-// Revision 1.7 1998/12/18 23:37:07 curt
-// Collapsed out the FGState variables not currently needed. They are just
-// commented out and can be readded easily at any time. The point of this
-// exersize is to determine which variables were or were not currently being
-// used.
-//
-// Revision 1.6 1998/12/05 15:54:11 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.5 1998/12/04 01:29:39 curt
-// Stubbed in a new flight model called "External" which is expected to be driven
-// from some external source.
-//
-// Revision 1.4 1998/12/03 01:16:40 curt
-// Converted fgFLIGHT to a class.
-//
-// Revision 1.3 1998/11/06 21:18:03 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUGNDEBUG flag.
-//
-// Revision 1.2 1998/10/16 23:27:40 curt
-// C++-ifying.
-//
-// Revision 1.1 1998/10/16 20:16:41 curt
-// Renamed flight.[ch] to flight.[ch]xx
-//
-// Revision 1.19 1998/09/29 14:57:38 curt
-// c++-ified comments.
-//
-// Revision 1.18 1998/09/29 02:02:40 curt
-// Added a rate of climb calculation.
-//
-// Revision 1.17 1998/08/24 20:09:07 curt
-// .
-//
-// Revision 1.16 1998/08/22 14:49:55 curt
-// Attempting to iron out seg faults and crashes.
-// Did some shuffling to fix a initialization order problem between view
-// position, scenery elevation.
-//
-// Revision 1.15 1998/07/30 23:44:36 curt
-// Beginning to add support for multiple flight models.
-//
-// Revision 1.14 1998/07/12 03:08:27 curt
-// Added fgFlightModelSetAltitude() to force the altitude to something
-// other than the current altitude. LaRCsim doesn't let you do this by just
-// changing FG_Altitude.
-//
-// Revision 1.13 1998/04/25 22:06:28 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.12 1998/04/21 16:59:33 curt
-// Integrated autopilot.
-// Prepairing for C++ integration.
-//
-// Revision 1.11 1998/04/18 04:14:04 curt
-// Moved fg_debug.c to it's own library.
-//
-// Revision 1.10 1998/02/07 15:29:37 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.9 1998/01/27 00:47:53 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.8 1998/01/19 19:27:03 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.7 1998/01/19 18:40:23 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.6 1998/01/19 18:35:43 curt
-// Minor tweaks and fixes for cygwin32.
-//
-// Revision 1.5 1997/12/30 20:47:37 curt
-// Integrated new event manager with subsystem initializations.
-//
-// Revision 1.4 1997/12/10 22:37:42 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.3 1997/08/27 03:30:04 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.2 1997/05/29 22:39:57 curt
-// Working on incorporating the LaRCsim flight model.
-//
-// Revision 1.1 1997/05/29 02:35:04 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _FLIGHT_HXX
#endif // _FLIGHT_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:44 curt
-// Initial revision
-//
-// Revision 1.14 1999/04/03 04:20:04 curt
-// Optimizations (tm) by Norman Vine.
-//
-// Revision 1.13 1999/02/05 21:29:02 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.12 1999/01/20 13:42:23 curt
-// Tweaked FDM interface.
-// Testing check sum support for NMEA serial output.
-//
-// Revision 1.11 1999/01/19 17:52:07 curt
-// Working on being able to extrapolate a new position and orientation
-// based on a position, orientation, and time offset.
-//
-// Revision 1.10 1999/01/09 13:37:33 curt
-// Convert fgTIMESTAMP to FGTimeStamp which holds usec instead of ms.
-//
-// Revision 1.9 1999/01/08 19:27:38 curt
-// Fixed AOA reading on HUD.
-// Continued work on time jitter compensation.
-//
-// Revision 1.8 1999/01/08 03:23:52 curt
-// Beginning work on compensating for sim time vs. real world time "jitter".
-//
-// Revision 1.7 1998/12/18 23:37:09 curt
-// Collapsed out the FGState variables not currently needed. They are just
-// commented out and can be readded easily at any time. The point of this
-// exersize is to determine which variables were or were not currently being
-// used.
-//
-// Revision 1.6 1998/12/05 15:54:12 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.5 1998/12/04 01:29:40 curt
-// Stubbed in a new flight model called "External" which is expected to be driven
-// from some external source.
-//
-// Revision 1.4 1998/12/03 04:25:03 curt
-// Working on fixing up new fgFLIGHT class.
-//
-// Revision 1.3 1998/12/03 01:16:41 curt
-// Converted fgFLIGHT to a class.
-//
-// Revision 1.2 1998/10/16 23:27:41 curt
-// C++-ifying.
-//
-// Revision 1.1 1998/10/16 20:16:44 curt
-// Renamed flight.[ch] to flight.[ch]xx
-//
-// Revision 1.20 1998/09/29 14:57:39 curt
-// c++-ified comments.
-//
-// Revision 1.19 1998/09/29 02:02:41 curt
-// Added a rate of climb calculation.
-//
-// Revision 1.18 1998/07/30 23:44:36 curt
-// Beginning to add support for multiple flight models.
-//
-// Revision 1.17 1998/07/12 03:08:28 curt
-// Added fgFlightModelSetAltitude() to force the altitude to something
-// other than the current altitude. LaRCsim doesn't let you do this by just
-// changing FG_Altitude.
-//
-// Revision 1.16 1998/04/22 13:26:20 curt
-// C++ - ifing the code a bit.
-//
-// Revision 1.15 1998/04/21 16:59:33 curt
-// Integrated autopilot.
-// Prepairing for C++ integration.
-//
-// Revision 1.14 1998/02/07 15:29:37 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.13 1998/01/24 00:04:59 curt
-// misc. tweaks.
-//
-// Revision 1.12 1998/01/22 02:59:32 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.11 1998/01/19 19:27:03 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.10 1997/12/10 22:37:43 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.9 1997/09/04 02:17:33 curt
-// Shufflin' stuff.
-//
-// Revision 1.8 1997/08/27 03:30:06 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.7 1997/07/23 21:52:19 curt
-// Put comments around the text after an #endif for increased portability.
-//
-// Revision 1.6 1997/06/21 17:52:22 curt
-// Continue directory shuffling ... everything should be compilable/runnable
-// again.
-//
-// Revision 1.5 1997/06/21 17:12:49 curt
-// Capitalized subdirectory names.
-//
-// Revision 1.4 1997/05/29 22:39:57 curt
-// Working on incorporating the LaRCsim flight model.
-//
-// Revision 1.3 1997/05/29 02:32:25 curt
-// Starting to build generic flight model interface.
-//
-// Revision 1.2 1997/05/23 15:40:37 curt
-// Added GNU copyright headers.
-//
-// Revision 1.1 1997/05/16 16:04:45 curt
-// Initial revision.
-//
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
**************************************************************************/
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
#endif // ENABLE_LINUX_JOYSTICK
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.8 1999/04/03 04:20:33 curt
-// Integration of Steve's plib conglomeration.
-//
-// Revision 1.7 1999/01/19 17:52:30 curt
-// Some joystick tweaks by Norman Vine.
-//
-// Revision 1.6 1998/12/05 16:13:16 curt
-// Renamed class fgCONTROLS to class FGControls.
-//
-// Revision 1.5 1998/11/06 21:18:04 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.4 1998/10/27 02:14:32 curt
-// Changes to support GLUT joystick routines as fall back.
-//
-// Revision 1.3 1998/10/25 14:08:44 curt
-// Turned "struct fgCONTROLS" into a class, with inlined accessor functions.
-//
-// Revision 1.2 1998/10/25 10:56:25 curt
-// Completely rewritten to use Steve Baker's joystick interface class.
-//
-// Revision 1.1 1998/10/24 22:28:16 curt
-// Renamed joystick.[ch] to joystick.[ch]xx
-// Added js.hxx which is Steve's joystick interface class.
-//
-// Revision 1.7 1998/04/25 22:06:29 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.6 1998/04/18 04:14:05 curt
-// Moved fg_debug.c to it's own library.
-//
-// Revision 1.5 1998/02/12 21:59:44 curt
-// Incorporated code changes contributed by Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.4 1998/02/03 23:20:20 curt
-// Lots of little tweaks to fix various consistency problems discovered by
-// Solaris' CC. Fixed a bug in fg_debug.c with how the fgPrintf() wrapper
-// passed arguments along to the real printf(). Also incorporated HUD changes
-// by Michele America.
-//
-// Revision 1.3 1998/01/27 00:47:54 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.2 1997/12/30 20:47:40 curt
-// Integrated new event manager with subsystem initializations.
-//
-// Revision 1.1 1997/08/29 18:06:54 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _JOYSTICK_HXX
#endif // _JOYSTICK_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.3 1998/10/27 02:14:33 curt
-// Changes to support GLUT joystick routines as fall back.
-//
-// Revision 1.2 1998/10/25 10:56:27 curt
-// Completely rewritten to use Steve Baker's joystick interface class.
-//
-// Revision 1.1 1998/10/24 22:28:18 curt
-// Renamed joystick.[ch] to joystick.[ch]xx
-// Added js.hxx which is Steve's joystick interface class.
-//
-// Revision 1.3 1998/04/22 13:26:21 curt
-// C++ - ifing the code a bit.
-//
-// Revision 1.2 1998/01/22 02:59:36 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.1 1997/08/29 18:06:55 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.44 1999/04/03 04:21:01 curt
-// Integration of Steve's plib conglomeration.
-// Optimizations (tm) by Norman Vine.
-//
-// Revision 1.43 1999/03/11 23:09:46 curt
-// When "Help" is selected from the menu check to see if netscape is running.
-// If so, command it to go to the flight gear user guide url. Otherwise
-// start a new version of netscape with this url.
-//
-// Revision 1.42 1999/02/26 22:09:46 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.41 1999/02/12 23:22:43 curt
-// Allow auto-throttle adjustment while active.
-//
-// Revision 1.40 1999/02/12 22:17:59 curt
-// Changes to allow adjustment of the autopilot settings while it is activated.
-//
-// Revision 1.39 1999/02/05 21:29:07 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.38 1998/12/11 20:26:25 curt
-// Fixed view frustum culling accuracy bug so we can look out the sides and
-// back without tri-stripes dropping out.
-//
-// Revision 1.37 1998/12/09 18:50:22 curt
-// Converted "class fgVIEW" to "class FGView" and updated to make data
-// members private and make required accessor functions.
-//
-// Revision 1.36 1998/12/06 13:51:20 curt
-// Turned "struct fgWEATHER" into "class FGWeather".
-//
-// Revision 1.35 1998/12/05 16:13:17 curt
-// Renamed class fgCONTROLS to class FGControls.
-//
-// Revision 1.34 1998/12/05 15:54:17 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.33 1998/12/03 01:17:12 curt
-// Converted fgFLIGHT to a class.
-//
-// Revision 1.32 1998/11/06 21:18:06 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.31 1998/11/02 18:25:37 curt
-// Check for __CYGWIN__ (b20) as well as __CYGWIN32__ (pre b20 compilers)
-// Other misc. tweaks.
-//
-// Revision 1.30 1998/10/25 14:08:46 curt
-// Turned "struct fgCONTROLS" into a class, with inlined accessor functions.
-//
-// Revision 1.29 1998/10/20 14:58:57 curt
-// Ctrl-R now reverses default polygon winding so I can see if a hole in the
-// terrain is a result of improper winding, or if it is just an empty hole.
-//
-// Revision 1.28 1998/10/17 01:34:20 curt
-// C++ ifying ...
-//
-// Revision 1.27 1998/10/02 12:46:46 curt
-// Added an "auto throttle"
-//
-// Revision 1.26 1998/10/01 00:38:04 curt
-// More altitude hold tweaks.
-//
-// Revision 1.25 1998/09/29 02:03:36 curt
-// Autopilot mods.
-//
-// Revision 1.24 1998/09/26 13:16:44 curt
-// C++-ified the comments.
-//
-// Revision 1.23 1998/09/17 18:35:30 curt
-// Added F8 to toggle fog and F9 to toggle texturing.
-//
-// Revision 1.22 1998/09/15 04:27:27 curt
-// Changes for new Astro code.
-//
-// Revision 1.21 1998/08/29 13:09:25 curt
-// Changes to event manager from Bernie Bright.
-//
-// Revision 1.20 1998/08/24 20:11:12 curt
-// Added i/I to toggle full vs. minimal HUD.
-// Added a --hud-tris vs --hud-culled option.
-// Moved options accessor funtions to options.hxx.
-//
-// Revision 1.19 1998/08/05 00:19:33 curt
-// Added a local routine to update lighting params every frame when time is
-// accelerated.
-//
-// Revision 1.18 1998/07/30 23:48:24 curt
-// Output position & orientation when pausing.
-// Eliminated libtool use.
-// Added options to specify initial position and orientation.
-// Changed default fov to 55 degrees.
-// Added command line option to start in paused or unpaused state.
-//
-// Revision 1.17 1998/07/27 18:41:23 curt
-// Added a pause command "p"
-// Fixed some initialization order problems between pui and glut.
-// Added an --enable/disable-sound option.
-//
-// Revision 1.16 1998/07/16 17:33:34 curt
-// "H" / "h" now control hud brightness as well with off being one of the
-// states.
-// Better checking for xmesa/fx 3dfx fullscreen/window support for deciding
-// whether or not to build in the feature.
-// Translucent menu support.
-// HAVE_AUDIO_SUPPORT -> ENABLE_AUDIO_SUPPORT
-// Use fork() / wait() for playing mp3 init music in background under unix.
-// Changed default tile diameter to 5.
-//
-// Revision 1.15 1998/07/13 21:01:34 curt
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.14 1998/07/06 02:42:02 curt
-// Added support for switching between fullscreen and window mode for
-// Mesa/3dfx/glide.
-//
-// Added a basic splash screen. Restructured the main loop and top level
-// initialization routines to do this.
-//
-// Hacked in some support for playing a startup mp3 sound file while rest
-// of sim initializes. Currently only works in Unix using the mpg123 player.
-// Waits for the mpg123 player to finish before initializing internal
-// sound drivers.
-//
-// Revision 1.13 1998/06/27 16:54:32 curt
-// Replaced "extern displayInstruments" with a entry in fgOPTIONS.
-// Don't change the view port when displaying the panel.
-//
-// Revision 1.12 1998/06/12 14:27:26 curt
-// Pui -> PUI, Gui -> GUI.
-//
-// Revision 1.11 1998/06/12 00:57:38 curt
-// Added support for Pui/Gui.
-// Converted fog to GL_FOG_EXP2.
-// Link to static simulator parts.
-// Update runfg.bat to try to be a little smarter.
-//
-// Revision 1.10 1998/05/27 02:24:05 curt
-// View optimizations by Norman Vine.
-//
-// Revision 1.9 1998/05/16 13:05:21 curt
-// Added limits to fov.
-//
-// Revision 1.8 1998/05/13 18:29:56 curt
-// Added a keyboard binding to dynamically adjust field of view.
-// Added a command line option to specify fov.
-// Adjusted terrain color.
-// Root path info moved to fgOPTIONS.
-// Added ability to parse options out of a config file.
-//
-// Revision 1.7 1998/05/07 23:14:14 curt
-// Added "D" key binding to set autopilot heading.
-// Made frame rate calculation average out over last 10 frames.
-// Borland C++ floating point exception workaround.
-// Added a --tile-radius=n option.
-//
-// Revision 1.6 1998/04/28 01:20:20 curt
-// Type-ified fgTIME and fgVIEW.
-// Added a command line option to disable textures.
-//
-// Revision 1.5 1998/04/25 22:06:29 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.4 1998/04/25 20:24:00 curt
-// Cleaned up initialization sequence to eliminate interdependencies
-// between sun position, lighting, and view position. This creates a
-// valid single pass initialization path.
-//
-// Revision 1.3 1998/04/24 14:19:29 curt
-// Fog tweaks.
-//
-// Revision 1.2 1998/04/24 00:49:17 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Trying out some different option parsing code.
-// Some code reorganization.
-//
-// Revision 1.1 1998/04/22 13:25:40 curt
-// C++ - ifing the code.
-// Starting a bit of reorganization of lighting code.
-//
-// Revision 1.33 1998/04/18 04:11:25 curt
-// Moved fg_debug to it's own library, added zlib support.
-//
-// Revision 1.32 1998/04/14 02:21:01 curt
-// Incorporated autopilot heading hold contributed by: Jeff Goeke-Smith
-// <jgoeke@voyager.net>
-//
-// Revision 1.31 1998/04/08 23:34:05 curt
-// Patch from Durk to fix trim reversal with numlock key active.
-//
-// Revision 1.30 1998/04/03 22:09:02 curt
-// Converting to Gnu autoconf system.
-//
-// Revision 1.29 1998/02/07 15:29:40 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.28 1998/02/03 23:20:23 curt
-// Lots of little tweaks to fix various consistency problems discovered by
-// Solaris' CC. Fixed a bug in fg_debug.c with how the fgPrintf() wrapper
-// passed arguments along to the real printf(). Also incorporated HUD changes
-// by Michele America.
-//
-// Revision 1.27 1998/01/27 00:47:55 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.26 1998/01/19 19:27:07 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.25 1998/01/05 18:44:34 curt
-// Add an option to advance/decrease time from keyboard.
-//
-// Revision 1.24 1997/12/30 16:36:46 curt
-// Merged in Durk's changes ...
-//
-// Revision 1.23 1997/12/15 23:54:44 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.22 1997/12/10 22:37:45 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.21 1997/08/27 21:32:23 curt
-// Restructured view calculation code. Added stars.
-//
-// Revision 1.20 1997/08/27 03:30:13 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.19 1997/08/25 20:27:21 curt
-// Merged in initial HUD and Joystick code.
-//
-// Revision 1.18 1997/08/22 21:34:38 curt
-// Doing a bit of reorganizing and house cleaning.
-//
-// Revision 1.17 1997/07/19 22:34:02 curt
-// Moved PI definitions to ../constants.h
-// Moved random() stuff to ../Utils/ and renamed fg_random()
-//
-// Revision 1.16 1997/07/18 23:41:24 curt
-// Tweaks for building with Cygnus Win32 compiler.
-//
-// Revision 1.15 1997/07/16 20:04:47 curt
-// Minor tweaks to aid Win32 port.
-//
-// Revision 1.14 1997/07/12 03:50:20 curt
-// Added an #include <Windows32/Base.h> to help compiling for Win32
-//
-// Revision 1.13 1997/06/25 15:39:46 curt
-// Minor changes to compile with rsxnt/win32.
-//
-// Revision 1.12 1997/06/21 17:12:52 curt
-// Capitalized subdirectory names.
-//
-// Revision 1.11 1997/06/18 04:10:31 curt
-// A couple more runway tweaks ...
-//
-// Revision 1.10 1997/06/18 02:21:23 curt
-// Hacked in a runway
-//
-// Revision 1.9 1997/06/02 03:40:06 curt
-// A tiny bit more view tweaking.
-//
-// Revision 1.8 1997/06/02 03:01:38 curt
-// Working on views (side, front, back, transitions, etc.)
-//
-// Revision 1.7 1997/05/31 19:16:25 curt
-// Elevator trim added.
-//
-// Revision 1.6 1997/05/31 04:13:52 curt
-// WE CAN NOW FLY!!!
-//
-// Continuing work on the LaRCsim flight model integration.
-// Added some MSFS-like keyboard input handling.
-//
-// Revision 1.5 1997/05/30 23:26:19 curt
-// Added elevator/aileron controls.
-//
-// Revision 1.4 1997/05/27 17:44:31 curt
-// Renamed & rearranged variables and routines. Added some initial simple
-// timer/alarm routines so the flight model can be updated on a regular
-// interval.
-//
-// Revision 1.3 1997/05/23 15:40:25 curt
-// Added GNU copyright headers.
-// Fog now works!
-//
-// Revision 1.2 1997/05/23 00:35:12 curt
-// Trying to get fog to work ...
-//
-// Revision 1.1 1997/05/21 15:57:50 curt
-// Renamed due to added GLUT support.
-//
-// Revision 1.2 1997/05/19 18:22:41 curt
-// Parameter tweaking ... starting to stub in fog support.
-//
-// Revision 1.1 1997/05/16 16:05:51 curt
-// Initial revision.
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _GLUTKEY_HXX
#endif // _GLUTKEY_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.4 1999/03/12 22:51:53 curt
-// Converted to C++ style comments.
-//
-// Revision 1.3 1999/03/11 23:09:47 curt
-// When "Help" is selected from the menu check to see if netscape is running.
-// If so, command it to go to the flight gear user guide url. Otherwise
-// start a new version of netscape with this url.
-//
-// Revision 1.2 1998/04/24 00:49:18 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Trying out some different option parsing code.
-// Some code reorganization.
-//
-// Revision 1.1 1998/04/22 13:25:41 curt
-// C++ - ifing the code.
-// Starting a bit of reorganization of lighting code.
-//
-// Revision 1.9 1998/04/21 17:02:36 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.8 1998/04/03 22:09:02 curt
-// Converting to Gnu autoconf system.
-//
-// Revision 1.7 1998/02/12 21:59:44 curt
-// Incorporated code changes contributed by Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.6 1998/01/22 02:59:36 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.5 1997/07/23 21:52:23 curt
-// Put comments around the text after an #endif for increased portability.
-//
-// Revision 1.4 1997/06/02 03:40:06 curt
-// A tiny bit more view tweaking.
-//
-// Revision 1.3 1997/05/31 04:13:52 curt
-// WE CAN NOW FLY!!!
-//
-// Continuing work on the LaRCsim flight model integration.
-// Added some MSFS-like keyboard input handling.
-//
-// Revision 1.2 1997/05/23 15:40:25 curt
-// Added GNU copyright headers.
-// Fog now works!
-//
-// Revision 1.1 1997/05/21 15:57:51 curt
-// Renamed due to added GLUT support.
-//
-// Revision 1.2 1997/05/17 00:17:34 curt
-// Trying to stub in support for standard OpenGL.
-//
-// Revision 1.1 1997/05/16 16:05:53 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#define MICHAEL_JOHNSON_EXPERIMENTAL_ENGINE_AUDIO
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:46 curt
-// Initial revision
-//
-// Revision 1.88 1999/04/03 04:21:02 curt
-// Integration of Steve's plib conglomeration.
-// Optimizations (tm) by Norman Vine.
-//
-// Revision 1.87 1999/03/08 21:56:37 curt
-// Added panel changes sent in by Friedemann.
-// Added a splash screen randomization since we have several nice splash screens.
-//
-// Revision 1.86 1999/02/26 22:09:47 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.85 1999/02/05 21:29:08 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.84 1999/02/02 20:13:34 curt
-// MSVC++ portability changes by Bernie Bright:
-//
-// Lib/Serial/serial.[ch]xx: Initial Windows support - incomplete.
-// Simulator/Astro/stars.cxx: typo? included <stdio> instead of <cstdio>
-// Simulator/Cockpit/hud.cxx: Added Standard headers
-// Simulator/Cockpit/panel.cxx: Redefinition of default parameter
-// Simulator/Flight/flight.cxx: Replaced cout with FG_LOG. Deleted <stdio.h>
-// Simulator/Main/fg_init.cxx:
-// Simulator/Main/GLUTmain.cxx:
-// Simulator/Main/options.hxx: Shuffled <fg_serial.hxx> dependency
-// Simulator/Objects/material.hxx:
-// Simulator/Time/timestamp.hxx: VC++ friend kludge
-// Simulator/Scenery/tile.[ch]xx: Fixed using std::X declarations
-// Simulator/Main/views.hxx: Added a constant
-//
-// Revision 1.83 1999/01/27 04:49:17 curt
-// Game mode fixes from Norman Vine.
-// Initial altitude setting tweaks and fixes (especially for when starting
-// below sea level.)
-//
-// Revision 1.82 1999/01/20 13:42:24 curt
-// Tweaked FDM interface.
-// Testing check sum support for NMEA serial output.
-//
-// Revision 1.81 1999/01/19 20:57:03 curt
-// MacOS portability changes contributed by "Robert Puyol" <puyol@abvent.fr>
-//
-// Revision 1.80 1999/01/09 13:37:40 curt
-// Convert fgTIMESTAMP to FGTimeStamp which holds usec instead of ms.
-//
-// Revision 1.79 1999/01/08 03:23:56 curt
-// Beginning work on compensating for sim time vs. real world time "jitter".
-//
-// Revision 1.78 1999/01/07 20:25:08 curt
-// Updated struct fgGENERAL to class FGGeneral.
-//
-// Revision 1.77 1998/12/18 23:40:55 curt
-// New frame rate counting mechanism.
-//
-// Revision 1.76 1998/12/11 20:26:26 curt
-// Fixed view frustum culling accuracy bug so we can look out the sides and
-// back without tri-stripes dropping out.
-//
-// Revision 1.75 1998/12/09 18:50:23 curt
-// Converted "class fgVIEW" to "class FGView" and updated to make data
-// members private and make required accessor functions.
-//
-// Revision 1.74 1998/12/06 14:52:54 curt
-// Fixed a problem with the initial starting altitude. "v->abs_view_pos" wasn't
-// being calculated correctly at the beginning causing the first terrain
-// intersection to fail, returning a ground altitude of zero, causing the plane
-// to free fall for one frame, until the ground altitude was corrected, but now
-// being under the ground we got a big bounce and the plane always ended up
-// upside down.
-//
-// Revision 1.73 1998/12/06 13:51:22 curt
-// Turned "struct fgWEATHER" into "class FGWeather".
-//
-// Revision 1.72 1998/12/05 15:54:18 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.71 1998/12/05 14:19:51 curt
-// Looking into a problem with cur_view_params.abs_view_pos initialization.
-//
-// Revision 1.70 1998/12/03 01:17:14 curt
-// Converted fgFLIGHT to a class.
-//
-// Revision 1.69 1998/11/23 20:51:26 curt
-// Fiddling with when I can get info from the opengl driver.
-//
-// Revision 1.68 1998/11/20 01:02:35 curt
-// Try to detect Mesa/Glide/Voodoo and chose the appropriate resolution.
-//
-// Revision 1.67 1998/11/16 13:59:58 curt
-// Added pow() macro bug work around.
-// Added support for starting FGFS at various resolutions.
-// Added some initial serial port support.
-// Specify default log levels in main().
-//
-// Revision 1.66 1998/11/11 00:24:00 curt
-// Added Michael Johnson's audio patches for testing.
-// Also did a few tweaks to avoid numerical problems when starting at a place
-// with no (or bogus) scenery.
-//
-// Revision 1.65 1998/11/09 23:39:22 curt
-// Tweaks for the instrument panel.
-//
-// Revision 1.64 1998/11/07 19:07:09 curt
-// Enable release builds using the --without-logging option to the configure
-// script. Also a couple log message cleanups, plus some C to C++ comment
-// conversion.
-//
-// Revision 1.63 1998/11/06 21:18:08 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.62 1998/10/27 02:14:35 curt
-// Changes to support GLUT joystick routines as fall back.
-//
-// Revision 1.61 1998/10/25 14:08:47 curt
-// Turned "struct fgCONTROLS" into a class, with inlined accessor functions.
-//
-// Revision 1.60 1998/10/25 10:57:18 curt
-// Changes to use the new joystick library if it is available.
-//
-// Revision 1.59 1998/10/17 01:34:21 curt
-// C++ ifying ...
-//
-// Revision 1.58 1998/10/16 23:27:52 curt
-// C++-ifying.
-//
-// Revision 1.57 1998/10/16 00:54:00 curt
-// Converted to Point3D class.
-//
-// Revision 1.56 1998/10/02 12:46:47 curt
-// Added an "auto throttle"
-//
-// Revision 1.55 1998/09/29 14:58:18 curt
-// Use working() instead of !not_working() for audio.
-//
-// Revision 1.54 1998/09/29 02:03:38 curt
-// Autopilot mods.
-//
-// Revision 1.53 1998/09/26 13:18:35 curt
-// Check if audio "working()" before doing audio manipulations.
-//
-// Revision 1.52 1998/09/25 16:02:07 curt
-// Added support for pitch and volume envelopes and tied them to the
-// throttle setting.
-//
-// Revision 1.51 1998/09/15 04:27:28 curt
-// Changes for new Astro code.
-//
-// Revision 1.50 1998/09/15 02:09:24 curt
-// Include/fg_callback.hxx
-// Moved code inline to stop g++ 2.7 from complaining.
-//
-// Simulator/Time/event.[ch]xx
-// Changed return type of fgEVENT::printStat(). void caused g++ 2.7 to
-// complain bitterly.
-//
-// Minor bugfix and changes.
-//
-// Simulator/Main/GLUTmain.cxx
-// Added missing type to idle_state definition - eliminates a warning.
-//
-// Simulator/Main/fg_init.cxx
-// Changes to airport lookup.
-//
-// Simulator/Main/options.cxx
-// Uses fg_gzifstream when loading config file.
-//
-// Revision 1.49 1998/09/09 16:25:39 curt
-// Only use GLUT_STENCIL if the instument panel has been requested.
-//
-// Revision 1.48 1998/08/28 18:15:03 curt
-// Added new cockpit code from Friedemann Reinhard
-// <mpt218@faupt212.physik.uni-erlangen.de>
-//
-// Revision 1.47 1998/08/27 17:02:04 curt
-// Contributions from Bernie Bright <bbright@c031.aone.net.au>
-// - use strings for fg_root and airport_id and added methods to return
-// them as strings,
-// - inlined all access methods,
-// - made the parsing functions private methods,
-// - deleted some unused functions.
-// - propogated some of these changes out a bit further.
-//
-// Revision 1.46 1998/08/22 14:49:56 curt
-// Attempting to iron out seg faults and crashes.
-// Did some shuffling to fix a initialization order problem between view
-// position, scenery elevation.
-//
-// Revision 1.45 1998/08/20 20:32:31 curt
-// Reshuffled some of the code in and around views.[ch]xx
-//
-// Revision 1.44 1998/08/20 15:10:33 curt
-// Added GameGLUT support.
-//
-// Revision 1.43 1998/08/12 21:01:47 curt
-// Master volume from 30% -> 80%
-//
-// Revision 1.42 1998/07/30 23:48:25 curt
-// Output position & orientation when pausing.
-// Eliminated libtool use.
-// Added options to specify initial position and orientation.
-// Changed default fov to 55 degrees.
-// Added command line option to start in paused or unpaused state.
-//
-// Revision 1.41 1998/07/27 18:41:24 curt
-// Added a pause command "p"
-// Fixed some initialization order problems between pui and glut.
-// Added an --enable/disable-sound option.
-//
-// Revision 1.40 1998/07/24 21:56:59 curt
-// Set near clip plane to 0.5 meters when close to the ground. Also, let the view get a bit closer to the ground before hitting the hard limit.
-//
-// Revision 1.39 1998/07/24 21:39:08 curt
-// Debugging output tweaks.
-// Cast glGetString to (char *) to avoid compiler errors.
-// Optimizations to fgGluLookAt() by Norman Vine.
-//
-// Revision 1.38 1998/07/22 21:40:43 curt
-// Clear to adjusted fog color (for sunrise/sunset effects)
-// Make call to fog sunrise/sunset adjustment method.
-// Add a stdc++ library bug work around to fg_init.cxx
-//
-// Revision 1.37 1998/07/20 12:49:44 curt
-// Tweaked color buffer clearing defaults. We clear the color buffer if we
-// are doing textures. Assumptions: If we are doing textures we have hardware
-// support that can clear the color buffer for "free." If we are doing software
-// rendering with textures, then the extra clear time gets lost in the noise.
-//
-// Revision 1.36 1998/07/16 17:33:35 curt
-// "H" / "h" now control hud brightness as well with off being one of the
-// states.
-// Better checking for xmesa/fx 3dfx fullscreen/window support for deciding
-// whether or not to build in the feature.
-// Translucent menu support.
-// HAVE_AUDIO_SUPPORT -> ENABLE_AUDIO_SUPPORT
-// Use fork() / wait() for playing mp3 init music in background under unix.
-// Changed default tile diameter to 5.
-//
-// Revision 1.35 1998/07/13 21:01:36 curt
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.34 1998/07/13 15:32:37 curt
-// Clear color buffer if drawing wireframe.
-// When specifying and airport, start elevation at -1000 and let the system
-// position you at ground level.
-//
-// Revision 1.33 1998/07/12 03:14:42 curt
-// Added ground collision detection.
-// Did some serious horsing around to be able to "hug" the ground properly
-// and still be able to take off.
-// Set the near clip plane to 1.0 meters when less than 10 meters above the
-// ground.
-// Did some serious horsing around getting the initial airplane position to be
-// correct based on rendered terrain elevation.
-// Added a little cheat/hack that will prevent the view position from ever
-// dropping below the terrain, even when the flight model doesn't quite
-// put you as high as you'd like.
-//
-// Revision 1.32 1998/07/08 14:45:07 curt
-// polar3d.h renamed to polar3d.hxx
-// vector.h renamed to vector.hxx
-// updated audio support so it waits to create audio classes (and tie up
-// /dev/dsp) until the mpg123 player is finished.
-//
-// Revision 1.31 1998/07/06 21:34:17 curt
-// Added an enable/disable splash screen option.
-// Added an enable/disable intro music option.
-// Added an enable/disable instrument panel option.
-// Added an enable/disable mouse pointer option.
-// Added using namespace std for compilers that support this.
-//
-// Revision 1.30 1998/07/06 02:42:03 curt
-// Added support for switching between fullscreen and window mode for
-// Mesa/3dfx/glide.
-//
-// Added a basic splash screen. Restructured the main loop and top level
-// initialization routines to do this.
-//
-// Hacked in some support for playing a startup mp3 sound file while rest
-// of sim initializes. Currently only works in Unix using the mpg123 player.
-// Waits for the mpg123 player to finish before initializing internal
-// sound drivers.
-//
-// Revision 1.29 1998/07/04 00:52:22 curt
-// Add my own version of gluLookAt() (which is nearly identical to the
-// Mesa/glu version.) But, by calculating the Model View matrix our selves
-// we can save this matrix without having to read it back in from the video
-// card. This hopefully allows us to save a few cpu cycles when rendering
-// out the fragments because we can just use glLoadMatrixd() with the
-// precalculated matrix for each tile rather than doing a push(), translate(),
-// pop() for every fragment.
-//
-// Panel status defaults to off for now until it gets a bit more developed.
-//
-// Extract OpenGL driver info on initialization.
-//
-// Revision 1.28 1998/06/27 16:54:32 curt
-// Replaced "extern displayInstruments" with a entry in fgOPTIONS.
-// Don't change the view port when displaying the panel.
-//
-// Revision 1.27 1998/06/17 21:35:10 curt
-// Refined conditional audio support compilation.
-// Moved texture parameter setup calls to ../Scenery/materials.cxx
-// #include <string.h> before various STL includes.
-// Make HUD default state be enabled.
-//
-// Revision 1.26 1998/06/13 00:40:32 curt
-// Tweaked fog command line options.
-//
-// Revision 1.25 1998/06/12 14:27:26 curt
-// Pui -> PUI, Gui -> GUI.
-//
-// Revision 1.24 1998/06/12 00:57:39 curt
-// Added support for Pui/Gui.
-// Converted fog to GL_FOG_EXP2.
-// Link to static simulator parts.
-// Update runfg.bat to try to be a little smarter.
-//
-// Revision 1.23 1998/06/08 17:57:04 curt
-// Minor sound/startup position tweaks.
-//
-// Revision 1.22 1998/06/05 18:18:40 curt
-// A bit of fiddling with audio ...
-//
-// Revision 1.21 1998/06/03 22:01:06 curt
-// Tweaking sound library usage.
-//
-// Revision 1.20 1998/06/03 00:47:11 curt
-// Updated to compile in audio support if OSS available.
-// Updated for new version of Steve's audio library.
-// STL includes don't use .h
-// Small view optimizations.
-//
-// Revision 1.19 1998/06/01 17:54:40 curt
-// Added Linux audio support.
-// avoid glClear( COLOR_BUFFER_BIT ) when not using it to set the sky color.
-// map stl tweaks.
-//
-// Revision 1.18 1998/05/29 20:37:19 curt
-// Tweaked material properties & lighting a bit in GLUTmain.cxx.
-// Read airport list into a "map" STL for dynamic list sizing and fast tree
-// based lookups.
-//
-// Revision 1.17 1998/05/22 21:28:52 curt
-// Modifications to use the new fgEVENT_MGR class.
-//
-// Revision 1.16 1998/05/20 20:51:33 curt
-// Tweaked smooth shaded texture lighting properties.
-// Converted fgLIGHT to a C++ class.
-//
-// Revision 1.15 1998/05/16 13:08:34 curt
-// C++ - ified views.[ch]xx
-// Shuffled some additional view parameters into the fgVIEW class.
-// Changed tile-radius to tile-diameter because it is a much better
-// name.
-// Added a WORLD_TO_EYE transformation to views.cxx. This allows us
-// to transform world space to eye space for view frustum culling.
-//
-// Revision 1.14 1998/05/13 18:29:57 curt
-// Added a keyboard binding to dynamically adjust field of view.
-// Added a command line option to specify fov.
-// Adjusted terrain color.
-// Root path info moved to fgOPTIONS.
-// Added ability to parse options out of a config file.
-//
-// Revision 1.13 1998/05/11 18:18:15 curt
-// For flat shading use "glHint (GL_FOG_HINT, GL_FASTEST )"
-//
-// Revision 1.12 1998/05/07 23:14:15 curt
-// Added "D" key binding to set autopilot heading.
-// Made frame rate calculation average out over last 10 frames.
-// Borland C++ floating point exception workaround.
-// Added a --tile-radius=n option.
-//
-// Revision 1.11 1998/05/06 03:16:23 curt
-// Added an averaged global frame rate counter.
-// Added an option to control tile radius.
-//
-// Revision 1.10 1998/05/03 00:47:31 curt
-// Added an option to enable/disable full-screen mode.
-//
-// Revision 1.9 1998/04/30 12:34:17 curt
-// Added command line rendering options:
-// enable/disable fog/haze
-// specify smooth/flat shading
-// disable sky blending and just use a solid color
-// enable wireframe drawing mode
-//
-// Revision 1.8 1998/04/28 01:20:21 curt
-// Type-ified fgTIME and fgVIEW.
-// Added a command line option to disable textures.
-//
-// Revision 1.7 1998/04/26 05:10:02 curt
-// "struct fgLIGHT" -> "fgLIGHT" because fgLIGHT is typedef'd.
-//
-// Revision 1.6 1998/04/25 22:06:30 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.5 1998/04/25 20:24:01 curt
-// Cleaned up initialization sequence to eliminate interdependencies
-// between sun position, lighting, and view position. This creates a
-// valid single pass initialization path.
-//
-// Revision 1.4 1998/04/24 14:19:30 curt
-// Fog tweaks.
-//
-// Revision 1.3 1998/04/24 00:49:18 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Trying out some different option parsing code.
-// Some code reorganization.
-//
-// Revision 1.2 1998/04/22 13:25:41 curt
-// C++ - ifing the code.
-// Starting a bit of reorganization of lighting code.
-//
-// Revision 1.1 1998/04/21 17:02:39 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.71 1998/04/18 04:11:26 curt
-// Moved fg_debug to it's own library, added zlib support.
-//
-// Revision 1.70 1998/04/14 02:21:02 curt
-// Incorporated autopilot heading hold contributed by: Jeff Goeke-Smith
-// <jgoeke@voyager.net>
-//
-// Revision 1.69 1998/04/08 23:35:34 curt
-// Tweaks to Gnu automake/autoconf system.
-//
-// Revision 1.68 1998/04/03 22:09:03 curt
-// Converting to Gnu autoconf system.
-//
-// Revision 1.67 1998/03/23 21:24:37 curt
-// Source code formating tweaks.
-//
-// Revision 1.66 1998/03/14 00:31:20 curt
-// Beginning initial terrain texturing experiments.
-//
-// Revision 1.65 1998/03/09 22:45:57 curt
-// Minor tweaks for building on sparc platform.
-//
-// Revision 1.64 1998/02/20 00:16:23 curt
-// Thursday's tweaks.
-//
-// Revision 1.63 1998/02/16 16:17:39 curt
-// Minor tweaks.
-//
-// Revision 1.62 1998/02/16 13:39:42 curt
-// Miscellaneous weekend tweaks. Fixed? a cache problem that caused whole
-// tiles to occasionally be missing.
-//
-// Revision 1.61 1998/02/12 21:59:46 curt
-// Incorporated code changes contributed by Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.60 1998/02/11 02:50:40 curt
-// Minor changes.
-//
-// Revision 1.59 1998/02/09 22:56:54 curt
-// Removed "depend" files from cvs control. Other minor make tweaks.
-//
-// Revision 1.58 1998/02/09 15:07:49 curt
-// Minor tweaks.
-//
-// Revision 1.57 1998/02/07 15:29:40 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.56 1998/02/03 23:20:23 curt
-// Lots of little tweaks to fix various consistency problems discovered by
-// Solaris' CC. Fixed a bug in fg_debug.c with how the fgPrintf() wrapper
-// passed arguments along to the real printf(). Also incorporated HUD changes
-// by Michele America.
-//
-// Revision 1.55 1998/02/02 20:53:58 curt
-// Incorporated Durk's changes.
-//
-// Revision 1.54 1998/01/31 00:43:10 curt
-// Added MetroWorks patches from Carmen Volpe.
-//
-// Revision 1.53 1998/01/27 18:35:54 curt
-// Minor tweaks.
-//
-// Revision 1.52 1998/01/27 00:47:56 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.51 1998/01/26 15:57:05 curt
-// Tweaks for dynamic scenery development.
-//
-// Revision 1.50 1998/01/19 19:27:07 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.49 1998/01/19 18:40:31 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.48 1998/01/19 18:35:46 curt
-// Minor tweaks and fixes for cygwin32.
-//
-// Revision 1.47 1998/01/13 00:23:08 curt
-// Initial changes to support loading and management of scenery tiles. Note,
-// there's still a fair amount of work left to be done.
-//
-// Revision 1.46 1998/01/08 02:22:06 curt
-// Beginning to integrate Tile management subsystem.
-//
-// Revision 1.45 1998/01/07 03:18:55 curt
-// Moved astronomical stuff from .../Src/Scenery to .../Src/Astro/
-//
-// Revision 1.44 1997/12/30 22:22:31 curt
-// Further integration of event manager.
-//
-// Revision 1.43 1997/12/30 20:47:43 curt
-// Integrated new event manager with subsystem initializations.
-//
-// Revision 1.42 1997/12/30 16:36:47 curt
-// Merged in Durk's changes ...
-//
-// Revision 1.41 1997/12/30 13:06:56 curt
-// A couple lighting tweaks ...
-//
-// Revision 1.40 1997/12/30 01:38:37 curt
-// Switched back to per vertex normals and smooth shading for terrain.
-//
-// Revision 1.39 1997/12/22 23:45:45 curt
-// First stab at sunset/sunrise sky glow effects.
-//
-// Revision 1.38 1997/12/22 04:14:28 curt
-// Aligned sky with sun so dusk/dawn effects can be correct relative to the sun.
-//
-// Revision 1.37 1997/12/19 23:34:03 curt
-// Lot's of tweaking with sky rendering and lighting.
-//
-// Revision 1.36 1997/12/19 16:44:57 curt
-// Working on scene rendering order and options.
-//
-// Revision 1.35 1997/12/18 23:32:32 curt
-// First stab at sky dome actually starting to look reasonable. :-)
-//
-// Revision 1.34 1997/12/17 23:13:34 curt
-// Began working on rendering a sky.
-//
-// Revision 1.33 1997/12/15 23:54:45 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.32 1997/12/15 20:59:08 curt
-// Misc. tweaks.
-//
-// Revision 1.31 1997/12/12 21:41:25 curt
-// More light/material property tweaking ... still a ways off.
-//
-// Revision 1.30 1997/12/12 19:52:47 curt
-// Working on lightling and material properties.
-//
-// Revision 1.29 1997/12/11 04:43:54 curt
-// Fixed sun vector and lighting problems. I thing the moon is now lit
-// correctly.
-//
-// Revision 1.28 1997/12/10 22:37:45 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.27 1997/12/09 05:11:54 curt
-// Working on tweaking lighting.
-//
-// Revision 1.26 1997/12/09 04:25:29 curt
-// Working on adding a global lighting params structure.
-//
-// Revision 1.25 1997/12/08 22:54:09 curt
-// Enabled GL_CULL_FACE.
-//
-// Revision 1.24 1997/11/25 19:25:32 curt
-// Changes to integrate Durk's moon/sun code updates + clean up.
-//
-// Revision 1.23 1997/11/15 18:16:34 curt
-// minor tweaks.
-//
-// Revision 1.22 1997/10/30 12:38:41 curt
-// Working on new scenery subsystem.
-//
-// Revision 1.21 1997/09/23 00:29:38 curt
-// Tweaks to get things to compile with gcc-win32.
-//
-// Revision 1.20 1997/09/22 14:44:19 curt
-// Continuing to try to align stars correctly.
-//
-// Revision 1.19 1997/09/18 16:20:08 curt
-// At dusk/dawn add/remove stars in stages.
-//
-// Revision 1.18 1997/09/16 22:14:51 curt
-// Tweaked time of day lighting equations. Don't draw stars during the day.
-//
-// Revision 1.17 1997/09/16 15:50:29 curt
-// Working on star alignment and time issues.
-//
-// Revision 1.16 1997/09/13 02:00:06 curt
-// Mostly working on stars and generating sidereal time for accurate star
-// placement.
-//
-// Revision 1.15 1997/09/05 14:17:27 curt
-// More tweaking with stars.
-//
-// Revision 1.14 1997/09/05 01:35:53 curt
-// Working on getting stars right.
-//
-// Revision 1.13 1997/09/04 02:17:34 curt
-// Shufflin' stuff.
-//
-// Revision 1.12 1997/08/27 21:32:24 curt
-// Restructured view calculation code. Added stars.
-//
-// Revision 1.11 1997/08/27 03:30:16 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.10 1997/08/25 20:27:22 curt
-// Merged in initial HUD and Joystick code.
-//
-// Revision 1.9 1997/08/22 21:34:39 curt
-// Doing a bit of reorganizing and house cleaning.
-//
-// Revision 1.8 1997/08/19 23:55:03 curt
-// Worked on better simulating real lighting.
-//
-// Revision 1.7 1997/08/16 12:22:38 curt
-// Working on improving the lighting/shading.
-//
-// Revision 1.6 1997/08/13 20:24:56 curt
-// Changes due to changing sunpos interface.
-//
-// Revision 1.5 1997/08/06 21:08:32 curt
-// Sun position now really* works (I think) ... I still have sun time warping
-// code in place, probably should remove it soon.
-//
-// Revision 1.4 1997/08/06 15:41:26 curt
-// Working on correct sun position.
-//
-// Revision 1.3 1997/08/06 00:24:22 curt
-// Working on correct real time sun lighting.
-//
-// Revision 1.2 1997/08/04 20:25:15 curt
-// Organizational tweaking.
-//
-// Revision 1.1 1997/08/02 18:45:00 curt
-// Renamed GLmain.c GLUTmain.c
-//
-// Revision 1.43 1997/08/02 16:23:47 curt
-// Misc. tweaks.
-//
-// Revision 1.42 1997/08/01 19:43:33 curt
-// Making progress with coordinate system overhaul.
-//
-// Revision 1.41 1997/07/31 22:52:37 curt
-// Working on redoing internal coordinate systems & scenery transformations.
-//
-// Revision 1.40 1997/07/30 16:12:42 curt
-// Moved fg_random routines from Util/ to Math/
-//
-// Revision 1.39 1997/07/21 14:45:01 curt
-// Minor tweaks.
-//
-// Revision 1.38 1997/07/19 23:04:47 curt
-// Added an initial weather section.
-//
-// Revision 1.37 1997/07/19 22:34:02 curt
-// Moved PI definitions to ../constants.h
-// Moved random() stuff to ../Utils/ and renamed fg_random()
-//
-// Revision 1.36 1997/07/18 23:41:25 curt
-// Tweaks for building with Cygnus Win32 compiler.
-//
-// Revision 1.35 1997/07/18 14:28:34 curt
-// Hacked in some support for wind/turbulence.
-//
-// Revision 1.34 1997/07/16 20:04:48 curt
-// Minor tweaks to aid Win32 port.
-//
-// Revision 1.33 1997/07/12 03:50:20 curt
-// Added an #include <Windows32/Base.h> to help compiling for Win32
-//
-// Revision 1.32 1997/07/11 03:23:18 curt
-// Solved some scenery display/orientation problems. Still have a positioning
-// (or transformation?) problem.
-//
-// Revision 1.31 1997/07/11 01:29:58 curt
-// More tweaking of terrian floor.
-//
-// Revision 1.30 1997/07/10 04:26:37 curt
-// We now can interpolated ground elevation for any position in the grid. We
-// can use this to enforce a "hard" ground. We still need to enforce some
-// bounds checking so that we don't try to lookup data points outside the
-// grid data set.
-//
-// Revision 1.29 1997/07/09 21:31:12 curt
-// Working on making the ground "hard."
-//
-// Revision 1.28 1997/07/08 18:20:12 curt
-// Working on establishing a hard ground.
-//
-// Revision 1.27 1997/07/07 20:59:49 curt
-// Working on scenery transformations to enable us to fly fluidly over the
-// poles with no discontinuity/distortion in scenery.
-//
-// Revision 1.26 1997/07/05 20:43:34 curt
-// renamed mat3 directory to Math so we could add other math related routines.
-//
-// Revision 1.25 1997/06/29 21:19:17 curt
-// Working on scenery management system.
-//
-// Revision 1.24 1997/06/26 22:14:53 curt
-// Beginning work on a scenery management system.
-//
-// Revision 1.23 1997/06/26 19:08:33 curt
-// Restructuring make, adding automatic "make dep" support.
-//
-// Revision 1.22 1997/06/25 15:39:47 curt
-// Minor changes to compile with rsxnt/win32.
-//
-// Revision 1.21 1997/06/22 21:44:41 curt
-// Working on intergrating the VRML (subset) parser.
-//
-// Revision 1.20 1997/06/21 17:12:53 curt
-// Capitalized subdirectory names.
-//
-// Revision 1.19 1997/06/18 04:10:31 curt
-// A couple more runway tweaks ...
-//
-// Revision 1.18 1997/06/18 02:21:24 curt
-// Hacked in a runway
-//
-// Revision 1.17 1997/06/17 16:51:58 curt
-// Timer interval stuff now uses gettimeofday() instead of ftime()
-//
-// Revision 1.16 1997/06/17 04:19:16 curt
-// More timer related tweaks with respect to view direction changes.
-//
-// Revision 1.15 1997/06/17 03:41:10 curt
-// Nonsignal based interval timing is now working.
-// This would be a good time to look at cleaning up the code structure a bit.
-//
-// Revision 1.14 1997/06/16 19:32:51 curt
-// Starting to add general timer support.
-//
-// Revision 1.13 1997/06/02 03:40:06 curt
-// A tiny bit more view tweaking.
-//
-// Revision 1.12 1997/06/02 03:01:38 curt
-// Working on views (side, front, back, transitions, etc.)
-//
-// Revision 1.11 1997/05/31 19:16:25 curt
-// Elevator trim added.
-//
-// Revision 1.10 1997/05/31 04:13:52 curt
-// WE CAN NOW FLY!!!
-//
-// Continuing work on the LaRCsim flight model integration.
-// Added some MSFS-like keyboard input handling.
-//
-// Revision 1.9 1997/05/30 19:27:01 curt
-// The LaRCsim flight model is starting to look like it is working.
-//
-// Revision 1.8 1997/05/30 03:54:10 curt
-// Made a bit more progress towards integrating the LaRCsim flight model.
-//
-// Revision 1.7 1997/05/29 22:39:49 curt
-// Working on incorporating the LaRCsim flight model.
-//
-// Revision 1.6 1997/05/29 12:31:39 curt
-// Minor tweaks, moving towards general flight model integration.
-//
-// Revision 1.5 1997/05/29 02:33:23 curt
-// Updated to reflect changing interfaces in other "modules."
-//
-// Revision 1.4 1997/05/27 17:44:31 curt
-// Renamed & rearranged variables and routines. Added some initial simple
-// timer/alarm routines so the flight model can be updated on a regular
-// interval.
-//
-// Revision 1.3 1997/05/23 15:40:25 curt
-// Added GNU copyright headers.
-// Fog now works!
-//
-// Revision 1.2 1997/05/23 00:35:12 curt
-// Trying to get fog to work ...
-//
-// Revision 1.1 1997/05/21 15:57:51 curt
-// Renamed due to added GLUT support.
-//
-// Revision 1.3 1997/05/19 18:22:42 curt
-// Parameter tweaking ... starting to stub in fog support.
-//
-// Revision 1.2 1997/05/17 00:17:34 curt
-// Trying to stub in support for standard OpenGL.
-//
-// Revision 1.1 1997/05/16 16:05:52 curt
-// Initial revision.
-//
//
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.72 1999/04/05 02:13:58 curt
-// Minor patch from Norman Vine.
-//
-// Revision 1.71 1999/03/22 02:08:13 curt
-// Changes contributed by Durk Talsma:
-//
-// Here's a few changes I made to fg-0.58 this weekend. Included are the
-// following features:
-// - Sun and moon have a halo
-// - The moon has a light vector, moon_angle, etc. etc. so that we can have
-// some moonlight during the night.
-// - Lot's of small changes tweakes, including some stuff Norman Vine sent
-// me earlier.
-//
-// Revision 1.70 1999/03/11 23:09:49 curt
-// When "Help" is selected from the menu check to see if netscape is running.
-// If so, command it to go to the flight gear user guide url. Otherwise
-// start a new version of netscape with this url.
-//
-// Revision 1.69 1999/03/08 21:56:39 curt
-// Added panel changes sent in by Friedemann.
-// Added a splash screen randomization since we have several nice splash screens.
-//
-// Revision 1.68 1999/03/02 01:03:15 curt
-// Tweaks for building with native SGI compilers.
-//
-// Revision 1.67 1999/02/26 22:09:48 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.66 1999/02/05 21:29:10 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.65 1999/02/02 20:13:36 curt
-// MSVC++ portability changes by Bernie Bright:
-//
-// Lib/Serial/serial.[ch]xx: Initial Windows support - incomplete.
-// Simulator/Astro/stars.cxx: typo? included <stdio> instead of <cstdio>
-// Simulator/Cockpit/hud.cxx: Added Standard headers
-// Simulator/Cockpit/panel.cxx: Redefinition of default parameter
-// Simulator/Flight/flight.cxx: Replaced cout with FG_LOG. Deleted <stdio.h>
-// Simulator/Main/fg_init.cxx:
-// Simulator/Main/GLUTmain.cxx:
-// Simulator/Main/options.hxx: Shuffled <fg_serial.hxx> dependency
-// Simulator/Objects/material.hxx:
-// Simulator/Time/timestamp.hxx: VC++ friend kludge
-// Simulator/Scenery/tile.[ch]xx: Fixed using std::X declarations
-// Simulator/Main/views.hxx: Added a constant
-//
-// Revision 1.64 1999/02/01 21:15:43 curt
-// Removed unused variables.
-//
-// Revision 1.63 1999/01/27 04:49:19 curt
-// Game mode fixes from Norman Vine.
-// Initial altitude setting tweaks and fixes (especially for when starting
-// below sea level.)
-//
-// Revision 1.62 1999/01/20 13:42:25 curt
-// Tweaked FDM interface.
-// Testing check sum support for NMEA serial output.
-//
-// Revision 1.61 1999/01/08 03:23:57 curt
-// Beginning work on compensating for sim time vs. real world time "jitter".
-//
-// Revision 1.60 1999/01/07 20:25:09 curt
-// Updated struct fgGENERAL to class FGGeneral.
-//
-// Revision 1.59 1998/12/18 23:40:57 curt
-// New frame rate counting mechanism.
-//
-// Revision 1.58 1998/12/09 18:50:25 curt
-// Converted "class fgVIEW" to "class FGView" and updated to make data
-// members private and make required accessor functions.
-//
-// Revision 1.57 1998/12/06 14:52:56 curt
-// Fixed a problem with the initial starting altitude. "v->abs_view_pos" wasn't
-// being calculated correctly at the beginning causing the first terrain
-// intersection to fail, returning a ground altitude of zero, causing the plane
-// to free fall for one frame, until the ground altitude was corrected, but now
-// being under the ground we got a big bounce and the plane always ended up
-// upside down.
-//
-// Revision 1.56 1998/12/06 13:51:23 curt
-// Turned "struct fgWEATHER" into "class FGWeather".
-//
-// Revision 1.55 1998/12/05 15:54:20 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.54 1998/12/05 14:19:53 curt
-// Looking into a problem with cur_view_params.abs_view_pos initialization.
-//
-// Revision 1.53 1998/12/03 04:25:05 curt
-// Working on fixing up new fgFLIGHT class.
-//
-// Revision 1.52 1998/12/03 01:17:17 curt
-// Converted fgFLIGHT to a class.
-//
-// Revision 1.51 1998/11/20 01:02:37 curt
-// Try to detect Mesa/Glide/Voodoo and chose the appropriate resolution.
-//
-// Revision 1.50 1998/11/16 14:00:01 curt
-// Added pow() macro bug work around.
-// Added support for starting FGFS at various resolutions.
-// Added some initial serial port support.
-// Specify default log levels in main().
-//
-// Revision 1.49 1998/11/11 00:24:02 curt
-// Added Michael Johnson's audio patches for testing.
-// Also did a few tweaks to avoid numerical problems when starting at a place
-// with no (or bogus) scenery.
-//
-// Revision 1.48 1998/11/07 19:07:10 curt
-// Enable release builds using the --without-logging option to the configure
-// script. Also a couple log message cleanups, plus some C to C++ comment
-// conversion.
-//
-// Revision 1.47 1998/11/06 21:18:10 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.46 1998/10/27 02:14:38 curt
-// Changes to support GLUT joystick routines as fall back.
-//
-// Revision 1.45 1998/10/25 10:57:21 curt
-// Changes to use the new joystick library if it is available.
-//
-// Revision 1.44 1998/10/18 01:17:17 curt
-// Point3D tweaks.
-//
-// Revision 1.43 1998/10/17 01:34:22 curt
-// C++ ifying ...
-//
-// Revision 1.42 1998/10/16 23:27:54 curt
-// C++-ifying.
-//
-// Revision 1.41 1998/10/16 00:54:01 curt
-// Converted to Point3D class.
-//
-// Revision 1.40 1998/10/02 12:46:49 curt
-// Added an "auto throttle"
-//
-// Revision 1.39 1998/09/29 02:03:39 curt
-// Autopilot mods.
-//
-// Revision 1.38 1998/09/15 04:27:30 curt
-// Changes for new Astro code.
-//
-// Revision 1.37 1998/09/15 02:09:26 curt
-// Include/fg_callback.hxx
-// Moved code inline to stop g++ 2.7 from complaining.
-//
-// Simulator/Time/event.[ch]xx
-// Changed return type of fgEVENT::printStat(). void caused g++ 2.7 to
-// complain bitterly.
-//
-// Minor bugfix and changes.
-//
-// Simulator/Main/GLUTmain.cxx
-// Added missing type to idle_state definition - eliminates a warning.
-//
-// Simulator/Main/fg_init.cxx
-// Changes to airport lookup.
-//
-// Simulator/Main/options.cxx
-// Uses fg_gzifstream when loading config file.
-//
-// Revision 1.36 1998/09/08 21:40:08 curt
-// Fixes by Charlie Hotchkiss.
-//
-// Revision 1.35 1998/08/29 13:09:26 curt
-// Changes to event manager from Bernie Bright.
-//
-// Revision 1.34 1998/08/27 17:02:06 curt
-// Contributions from Bernie Bright <bbright@c031.aone.net.au>
-// - use strings for fg_root and airport_id and added methods to return
-// them as strings,
-// - inlined all access methods,
-// - made the parsing functions private methods,
-// - deleted some unused functions.
-// - propogated some of these changes out a bit further.
-//
-// Revision 1.33 1998/08/25 20:53:32 curt
-// Shuffled $FG_ROOT file layout.
-//
-// Revision 1.32 1998/08/25 16:59:09 curt
-// Directory reshuffling.
-//
-// Revision 1.31 1998/08/22 14:49:57 curt
-// Attempting to iron out seg faults and crashes.
-// Did some shuffling to fix a initialization order problem between view
-// position, scenery elevation.
-//
-// Revision 1.30 1998/08/20 20:32:33 curt
-// Reshuffled some of the code in and around views.[ch]xx
-//
-// Revision 1.29 1998/07/30 23:48:27 curt
-// Output position & orientation when pausing.
-// Eliminated libtool use.
-// Added options to specify initial position and orientation.
-// Changed default fov to 55 degrees.
-// Added command line option to start in paused or unpaused state.
-//
-// Revision 1.28 1998/07/27 18:41:25 curt
-// Added a pause command "p"
-// Fixed some initialization order problems between pui and glut.
-// Added an --enable/disable-sound option.
-//
-// Revision 1.27 1998/07/24 21:39:10 curt
-// Debugging output tweaks.
-// Cast glGetString to (char *) to avoid compiler errors.
-// Optimizations to fgGluLookAt() by Norman Vine.
-//
-// Revision 1.26 1998/07/22 21:40:44 curt
-// Clear to adjusted fog color (for sunrise/sunset effects)
-// Make call to fog sunrise/sunset adjustment method.
-// Add a stdc++ library bug work around to fg_init.cxx
-//
-// Revision 1.25 1998/07/13 21:01:38 curt
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.24 1998/07/13 15:32:39 curt
-// Clear color buffer if drawing wireframe.
-// When specifying and airport, start elevation at -1000 and let the system
-// position you at ground level.
-//
-// Revision 1.23 1998/07/12 03:14:43 curt
-// Added ground collision detection.
-// Did some serious horsing around to be able to "hug" the ground properly
-// and still be able to take off.
-// Set the near clip plane to 1.0 meters when less than 10 meters above the
-// ground.
-// Did some serious horsing around getting the initial airplane position to be
-// correct based on rendered terrain elevation.
-// Added a little cheat/hack that will prevent the view position from ever
-// dropping below the terrain, even when the flight model doesn't quite
-// put you as high as you'd like.
-//
-// Revision 1.22 1998/07/04 00:52:25 curt
-// Add my own version of gluLookAt() (which is nearly identical to the
-// Mesa/glu version.) But, by calculating the Model View matrix our selves
-// we can save this matrix without having to read it back in from the video
-// card. This hopefully allows us to save a few cpu cycles when rendering
-// out the fragments because we can just use glLoadMatrixd() with the
-// precalculated matrix for each tile rather than doing a push(), translate(),
-// pop() for every fragment.
-//
-// Panel status defaults to off for now until it gets a bit more developed.
-//
-// Extract OpenGL driver info on initialization.
-//
-// Revision 1.21 1998/06/27 16:54:33 curt
-// Replaced "extern displayInstruments" with a entry in fgOPTIONS.
-// Don't change the view port when displaying the panel.
-//
-// Revision 1.20 1998/06/17 21:35:12 curt
-// Refined conditional audio support compilation.
-// Moved texture parameter setup calls to ../Scenery/materials.cxx
-// #include <string.h> before various STL includes.
-// Make HUD default state be enabled.
-//
-// Revision 1.19 1998/06/08 17:57:05 curt
-// Minor sound/startup position tweaks.
-//
-// Revision 1.18 1998/06/03 00:47:14 curt
-// Updated to compile in audio support if OSS available.
-// Updated for new version of Steve's audio library.
-// STL includes don't use .h
-// Small view optimizations.
-//
-// Revision 1.17 1998/06/01 17:54:42 curt
-// Added Linux audio support.
-// avoid glClear( COLOR_BUFFER_BIT ) when not using it to set the sky color.
-// map stl tweaks.
-//
-// Revision 1.16 1998/05/29 20:37:24 curt
-// Tweaked material properties & lighting a bit in GLUTmain.cxx.
-// Read airport list into a "map" STL for dynamic list sizing and fast tree
-// based lookups.
-//
-// Revision 1.15 1998/05/22 21:28:53 curt
-// Modifications to use the new fgEVENT_MGR class.
-//
-// Revision 1.14 1998/05/20 20:51:35 curt
-// Tweaked smooth shaded texture lighting properties.
-// Converted fgLIGHT to a C++ class.
-//
-// Revision 1.13 1998/05/16 13:08:35 curt
-// C++ - ified views.[ch]xx
-// Shuffled some additional view parameters into the fgVIEW class.
-// Changed tile-radius to tile-diameter because it is a much better
-// name.
-// Added a WORLD_TO_EYE transformation to views.cxx. This allows us
-// to transform world space to eye space for view frustum culling.
-//
-// Revision 1.12 1998/05/13 18:29:58 curt
-// Added a keyboard binding to dynamically adjust field of view.
-// Added a command line option to specify fov.
-// Adjusted terrain color.
-// Root path info moved to fgOPTIONS.
-// Added ability to parse options out of a config file.
-//
-// Revision 1.11 1998/05/07 23:14:15 curt
-// Added "D" key binding to set autopilot heading.
-// Made frame rate calculation average out over last 10 frames.
-// Borland C++ floating point exception workaround.
-// Added a --tile-radius=n option.
-//
-// Revision 1.10 1998/05/06 03:16:24 curt
-// Added an averaged global frame rate counter.
-// Added an option to control tile radius.
-//
-// Revision 1.9 1998/05/03 00:47:31 curt
-// Added an option to enable/disable full-screen mode.
-//
-// Revision 1.8 1998/04/30 12:34:18 curt
-// Added command line rendering options:
-// enable/disable fog/haze
-// specify smooth/flat shading
-// disable sky blending and just use a solid color
-// enable wireframe drawing mode
-//
-// Revision 1.7 1998/04/28 01:20:22 curt
-// Type-ified fgTIME and fgVIEW.
-// Added a command line option to disable textures.
-//
-// Revision 1.6 1998/04/26 05:10:03 curt
-// "struct fgLIGHT" -> "fgLIGHT" because fgLIGHT is typedef'd.
-//
-// Revision 1.5 1998/04/25 22:06:30 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.4 1998/04/25 20:24:01 curt
-// Cleaned up initialization sequence to eliminate interdependencies
-// between sun position, lighting, and view position. This creates a
-// valid single pass initialization path.
-//
-// Revision 1.3 1998/04/25 15:11:11 curt
-// Added an command line option to set starting position based on airport ID.
-//
-// Revision 1.2 1998/04/24 00:49:20 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Trying out some different option parsing code.
-// Some code reorganization.
-//
-// Revision 1.1 1998/04/22 13:25:44 curt
-// C++ - ifing the code.
-// Starting a bit of reorganization of lighting code.
-//
-// Revision 1.56 1998/04/18 04:11:28 curt
-// Moved fg_debug to it's own library, added zlib support.
-//
-// Revision 1.55 1998/04/14 02:21:03 curt
-// Incorporated autopilot heading hold contributed by: Jeff Goeke-Smith
-// <jgoeke@voyager.net>
-//
-// Revision 1.54 1998/04/08 23:35:36 curt
-// Tweaks to Gnu automake/autoconf system.
-//
-// Revision 1.53 1998/04/03 22:09:06 curt
-// Converting to Gnu autoconf system.
-//
-// Revision 1.52 1998/03/23 21:24:38 curt
-// Source code formating tweaks.
-//
-// Revision 1.51 1998/03/14 00:31:22 curt
-// Beginning initial terrain texturing experiments.
-//
-// Revision 1.50 1998/03/09 22:46:19 curt
-// Minor tweaks.
-//
-// Revision 1.49 1998/02/23 19:07:59 curt
-// Incorporated Durk's Astro/ tweaks. Includes unifying the sun position
-// calculation code between sun display, and other FG sections that use this
-// for things like lighting.
-//
-// Revision 1.48 1998/02/21 14:53:15 curt
-// Added Charlie's HUD changes.
-//
-// Revision 1.47 1998/02/19 13:05:53 curt
-// Incorporated some HUD tweaks from Michelle America.
-// Tweaked the sky's sunset/rise colors.
-// Other misc. tweaks.
-//
-// Revision 1.46 1998/02/18 15:07:06 curt
-// Tweaks to build with SGI OpenGL (and therefor hopefully other accelerated
-// drivers will work.)
-//
-// Revision 1.45 1998/02/16 13:39:43 curt
-// Miscellaneous weekend tweaks. Fixed? a cache problem that caused whole
-// tiles to occasionally be missing.
-//
-// Revision 1.44 1998/02/12 21:59:50 curt
-// Incorporated code changes contributed by Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.43 1998/02/11 02:50:40 curt
-// Minor changes.
-//
-// Revision 1.42 1998/02/09 22:56:58 curt
-// Removed "depend" files from cvs control. Other minor make tweaks.
-//
-// Revision 1.41 1998/02/09 15:07:50 curt
-// Minor tweaks.
-//
-// Revision 1.40 1998/02/07 15:29:44 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.39 1998/02/03 23:20:25 curt
-// Lots of little tweaks to fix various consistency problems discovered by
-// Solaris' CC. Fixed a bug in fg_debug.c with how the fgPrintf() wrapper
-// passed arguments along to the real printf(). Also incorporated HUD changes
-// by Michele America.
-//
-// Revision 1.38 1998/02/02 20:53:58 curt
-// Incorporated Durk's changes.
-//
-// Revision 1.37 1998/02/01 03:39:54 curt
-// Minor tweaks.
-//
-// Revision 1.36 1998/01/31 00:43:13 curt
-// Added MetroWorks patches from Carmen Volpe.
-//
-// Revision 1.35 1998/01/27 00:47:57 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.34 1998/01/22 02:59:37 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.33 1998/01/21 21:11:34 curt
-// Misc. tweaks.
-//
-// Revision 1.32 1998/01/19 19:27:08 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.31 1998/01/19 18:40:32 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.30 1998/01/13 00:23:09 curt
-// Initial changes to support loading and management of scenery tiles. Note,
-// there's still a fair amount of work left to be done.
-//
-// Revision 1.29 1998/01/08 02:22:08 curt
-// Beginning to integrate Tile management subsystem.
-//
-// Revision 1.28 1998/01/07 03:18:58 curt
-// Moved astronomical stuff from .../Src/Scenery to .../Src/Astro/
-//
-// Revision 1.27 1998/01/05 18:44:35 curt
-// Add an option to advance/decrease time from keyboard.
-//
-// Revision 1.26 1997/12/30 23:09:04 curt
-// Tweaking initialization sequences.
-//
-// Revision 1.25 1997/12/30 22:22:33 curt
-// Further integration of event manager.
-//
-// Revision 1.24 1997/12/30 20:47:44 curt
-// Integrated new event manager with subsystem initializations.
-//
-// Revision 1.23 1997/12/30 16:36:50 curt
-// Merged in Durk's changes ...
-//
-// Revision 1.22 1997/12/19 23:34:05 curt
-// Lot's of tweaking with sky rendering and lighting.
-//
-// Revision 1.21 1997/12/19 16:45:00 curt
-// Working on scene rendering order and options.
-//
-// Revision 1.20 1997/12/18 23:32:33 curt
-// First stab at sky dome actually starting to look reasonable. :-)
-//
-// Revision 1.19 1997/12/17 23:13:36 curt
-// Began working on rendering a sky.
-//
-// Revision 1.18 1997/12/15 23:54:49 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.17 1997/12/15 20:59:09 curt
-// Misc. tweaks.
-//
-// Revision 1.16 1997/12/12 19:52:48 curt
-// Working on lightling and material properties.
-//
-// Revision 1.15 1997/12/11 04:43:55 curt
-// Fixed sun vector and lighting problems. I thing the moon is now lit
-// correctly.
-//
-// Revision 1.14 1997/12/10 22:37:47 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.13 1997/11/25 19:25:32 curt
-// Changes to integrate Durk's moon/sun code updates + clean up.
-//
-// Revision 1.12 1997/11/15 18:16:35 curt
-// minor tweaks.
-//
-// Revision 1.11 1997/10/30 12:38:42 curt
-// Working on new scenery subsystem.
-//
-// Revision 1.10 1997/10/25 03:24:23 curt
-// Incorporated sun, moon, and star positioning code contributed by Durk Talsma.
-//
-// Revision 1.9 1997/09/23 00:29:39 curt
-// Tweaks to get things to compile with gcc-win32.
-//
-// Revision 1.8 1997/09/22 14:44:20 curt
-// Continuing to try to align stars correctly.
-//
-// Revision 1.7 1997/09/16 15:50:30 curt
-// Working on star alignment and time issues.
-//
-// Revision 1.6 1997/09/05 14:17:30 curt
-// More tweaking with stars.
-//
-// Revision 1.5 1997/09/04 02:17:36 curt
-// Shufflin' stuff.
-//
-// Revision 1.4 1997/08/27 21:32:26 curt
-// Restructured view calculation code. Added stars.
-//
-// Revision 1.3 1997/08/27 03:30:19 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.2 1997/08/25 20:27:23 curt
-// Merged in initial HUD and Joystick code.
-//
-// Revision 1.1 1997/08/23 01:46:20 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _FG_INIT_HXX
#endif // _FG_INIT_H
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.2 1998/04/25 15:11:12 curt
-// Added an command line option to set starting position based on airport ID.
-//
-// Revision 1.1 1998/04/22 13:25:44 curt
-// C++ - ifing the code.
-// Starting a bit of reorganization of lighting code.
-//
-// Revision 1.4 1998/04/21 17:02:41 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.3 1998/02/12 21:59:50 curt
-// Incorporated code changes contributed by Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.2 1998/01/22 02:59:38 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.1 1997/08/23 01:46:20 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <Include/compiler.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:46 curt
-// Initial revision
-//
-// Revision 1.13 1999/03/02 01:03:16 curt
-// Tweaks for building with native SGI compilers.
-//
-// Revision 1.12 1999/02/26 22:09:50 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.11 1999/02/05 21:29:11 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.10 1999/01/21 00:55:01 curt
-// Fixed some problems with timing of output strings.
-// Added checksum support for nmea and garmin output.
-//
-// Revision 1.9 1999/01/20 13:42:26 curt
-// Tweaked FDM interface.
-// Testing check sum support for NMEA serial output.
-//
-// Revision 1.8 1999/01/19 20:57:04 curt
-// MacOS portability changes contributed by "Robert Puyol" <puyol@abvent.fr>
-//
-// Revision 1.7 1998/12/05 15:54:21 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.6 1998/12/03 01:17:18 curt
-// Converted fgFLIGHT to a class.
-//
-// Revision 1.5 1998/11/30 17:43:32 curt
-// Lots of tweaking to get serial output to actually work.
-//
-// Revision 1.4 1998/11/25 01:33:58 curt
-// Support for an arbitrary number of serial ports.
-//
-// Revision 1.3 1998/11/23 20:51:51 curt
-// Tweaking serial stuff.
-//
-// Revision 1.2 1998/11/19 13:53:25 curt
-// Added a "Garmin" mode.
-//
-// Revision 1.1 1998/11/16 13:57:42 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _FG_SERIAL_HXX
#endif // _FG_SERIAL_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:46 curt
-// Initial revision
-//
-// Revision 1.5 1999/01/21 00:55:02 curt
-// Fixed some problems with timing of output strings.
-// Added checksum support for nmea and garmin output.
-//
-// Revision 1.4 1998/11/30 17:43:34 curt
-// Lots of tweaking to get serial output to actually work.
-//
-// Revision 1.3 1998/11/25 01:33:59 curt
-// Support for an arbitrary number of serial ports.
-//
-// Revision 1.2 1998/11/19 13:53:27 curt
-// Added a "Garmin" mode.
-//
-// Revision 1.1 1998/11/16 13:57:43 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.43 1999/03/22 23:47:55 curt
-// FOV set properly when panel activated.
-//
-// Revision 1.42 1999/03/11 23:09:50 curt
-// When "Help" is selected from the menu check to see if netscape is running.
-// If so, command it to go to the flight gear user guide url. Otherwise
-// start a new version of netscape with this url.
-//
-// Revision 1.41 1999/03/02 01:03:17 curt
-// Tweaks for building with native SGI compilers.
-//
-// Revision 1.40 1999/02/26 22:09:51 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.39 1999/02/05 21:29:12 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.38 1999/02/01 21:33:35 curt
-// Renamed FlightGear/Simulator/Flight to FlightGear/Simulator/FDM since
-// Jon accepted my offer to do this and thought it was a good idea.
-//
-// Revision 1.37 1999/01/19 20:57:05 curt
-// MacOS portability changes contributed by "Robert Puyol" <puyol@abvent.fr>
-//
-// Revision 1.36 1999/01/07 20:25:10 curt
-// Updated struct fgGENERAL to class FGGeneral.
-//
-// Revision 1.35 1998/12/06 14:52:57 curt
-// Fixed a problem with the initial starting altitude. "v->abs_view_pos" wasn't
-// being calculated correctly at the beginning causing the first terrain
-// intersection to fail, returning a ground altitude of zero, causing the plane
-// to free fall for one frame, until the ground altitude was corrected, but now
-// being under the ground we got a big bounce and the plane always ended up
-// upside down.
-//
-// Revision 1.34 1998/12/05 15:54:22 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.33 1998/12/04 01:30:44 curt
-// Added support for the External flight model.
-//
-// Revision 1.32 1998/11/25 01:34:00 curt
-// Support for an arbitrary number of serial ports.
-//
-// Revision 1.31 1998/11/23 21:49:04 curt
-// Borland portability tweaks.
-//
-// Revision 1.30 1998/11/16 14:00:02 curt
-// Added pow() macro bug work around.
-// Added support for starting FGFS at various resolutions.
-// Added some initial serial port support.
-// Specify default log levels in main().
-//
-// Revision 1.29 1998/11/06 21:18:12 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.28 1998/11/06 14:47:03 curt
-// Changes to track Bernie's updates to fgstream.
-//
-// Revision 1.27 1998/11/02 23:04:04 curt
-// HUD units now display in feet by default with meters being a command line
-// option.
-//
-// Revision 1.26 1998/10/17 01:34:24 curt
-// C++ ifying ...
-//
-// Revision 1.25 1998/09/15 02:09:27 curt
-// Include/fg_callback.hxx
-// Moved code inline to stop g++ 2.7 from complaining.
-//
-// Simulator/Time/event.[ch]xx
-// Changed return type of fgEVENT::printStat(). void caused g++ 2.7 to
-// complain bitterly.
-//
-// Minor bugfix and changes.
-//
-// Simulator/Main/GLUTmain.cxx
-// Added missing type to idle_state definition - eliminates a warning.
-//
-// Simulator/Main/fg_init.cxx
-// Changes to airport lookup.
-//
-// Simulator/Main/options.cxx
-// Uses fg_gzifstream when loading config file.
-//
-// Revision 1.24 1998/09/08 15:04:33 curt
-// Optimizations by Norman Vine.
-//
-// Revision 1.23 1998/08/27 17:02:07 curt
-// Contributions from Bernie Bright <bbright@c031.aone.net.au>
-// - use strings for fg_root and airport_id and added methods to return
-// them as strings,
-// - inlined all access methods,
-// - made the parsing functions private methods,
-// - deleted some unused functions.
-// - propogated some of these changes out a bit further.
-//
-// Revision 1.22 1998/08/24 20:11:13 curt
-// Added i/I to toggle full vs. minimal HUD.
-// Added a --hud-tris vs --hud-culled option.
-// Moved options accessor funtions to options.hxx.
-//
-// Revision 1.21 1998/08/20 15:10:34 curt
-// Added GameGLUT support.
-//
-// Revision 1.20 1998/07/30 23:48:28 curt
-// Output position & orientation when pausing.
-// Eliminated libtool use.
-// Added options to specify initial position and orientation.
-// Changed default fov to 55 degrees.
-// Added command line option to start in paused or unpaused state.
-//
-// Revision 1.19 1998/07/27 18:41:25 curt
-// Added a pause command "p"
-// Fixed some initialization order problems between pui and glut.
-// Added an --enable/disable-sound option.
-//
-// Revision 1.18 1998/07/22 01:27:03 curt
-// Strip out \r when parsing config file in case we are on a windoze system.
-//
-// Revision 1.17 1998/07/16 17:33:38 curt
-// "H" / "h" now control hud brightness as well with off being one of the
-// states.
-// Better checking for xmesa/fx 3dfx fullscreen/window support for deciding
-// whether or not to build in the feature.
-// Translucent menu support.
-// HAVE_AUDIO_SUPPORT -> ENABLE_AUDIO_SUPPORT
-// Use fork() / wait() for playing mp3 init music in background under unix.
-// Changed default tile diameter to 5.
-//
-// Revision 1.16 1998/07/13 21:01:39 curt
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.15 1998/07/06 21:34:19 curt
-// Added an enable/disable splash screen option.
-// Added an enable/disable intro music option.
-// Added an enable/disable instrument panel option.
-// Added an enable/disable mouse pointer option.
-// Added using namespace std for compilers that support this.
-//
-// Revision 1.14 1998/07/04 00:52:26 curt
-// Add my own version of gluLookAt() (which is nearly identical to the
-// Mesa/glu version.) But, by calculating the Model View matrix our selves
-// we can save this matrix without having to read it back in from the video
-// card. This hopefully allows us to save a few cpu cycles when rendering
-// out the fragments because we can just use glLoadMatrixd() with the
-// precalculated matrix for each tile rather than doing a push(), translate(),
-// pop() for every fragment.
-//
-// Panel status defaults to off for now until it gets a bit more developed.
-//
-// Extract OpenGL driver info on initialization.
-//
-// Revision 1.13 1998/06/27 16:54:34 curt
-// Replaced "extern displayInstruments" with a entry in fgOPTIONS.
-// Don't change the view port when displaying the panel.
-//
-// Revision 1.12 1998/06/17 21:35:13 curt
-// Refined conditional audio support compilation.
-// Moved texture parameter setup calls to ../Scenery/materials.cxx
-// #include <string.h> before various STL includes.
-// Make HUD default state be enabled.
-//
-// Revision 1.11 1998/06/13 00:40:33 curt
-// Tweaked fog command line options.
-//
-// Revision 1.10 1998/05/16 13:08:36 curt
-// C++ - ified views.[ch]xx
-// Shuffled some additional view parameters into the fgVIEW class.
-// Changed tile-radius to tile-diameter because it is a much better
-// name.
-// Added a WORLD_TO_EYE transformation to views.cxx. This allows us
-// to transform world space to eye space for view frustum culling.
-//
-// Revision 1.9 1998/05/13 18:29:59 curt
-// Added a keyboard binding to dynamically adjust field of view.
-// Added a command line option to specify fov.
-// Adjusted terrain color.
-// Root path info moved to fgOPTIONS.
-// Added ability to parse options out of a config file.
-//
-// Revision 1.8 1998/05/07 23:14:16 curt
-// Added "D" key binding to set autopilot heading.
-// Made frame rate calculation average out over last 10 frames.
-// Borland C++ floating point exception workaround.
-// Added a --tile-radius=n option.
-//
-// Revision 1.7 1998/05/06 03:16:25 curt
-// Added an averaged global frame rate counter.
-// Added an option to control tile radius.
-//
-// Revision 1.6 1998/05/03 00:47:32 curt
-// Added an option to enable/disable full-screen mode.
-//
-// Revision 1.5 1998/04/30 12:34:19 curt
-// Added command line rendering options:
-// enable/disable fog/haze
-// specify smooth/flat shading
-// disable sky blending and just use a solid color
-// enable wireframe drawing mode
-//
-// Revision 1.4 1998/04/28 01:20:22 curt
-// Type-ified fgTIME and fgVIEW.
-// Added a command line option to disable textures.
-//
-// Revision 1.3 1998/04/26 05:01:19 curt
-// Added an rint() / HAVE_RINT check.
-//
-// Revision 1.2 1998/04/25 15:11:12 curt
-// Added an command line option to set starting position based on airport ID.
-//
-// Revision 1.1 1998/04/24 00:49:21 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Trying out some different option parsing code.
-// Some code reorganization.
-//
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _OPTIONS_HXX
#endif /* _OPTIONS_HXX */
-// $Log$
-// Revision 1.1 1999/04/05 21:32:46 curt
-// Initial revision
-//
-// Revision 1.30 1999/03/11 23:09:51 curt
-// When "Help" is selected from the menu check to see if netscape is running.
-// If so, command it to go to the flight gear user guide url. Otherwise
-// start a new version of netscape with this url.
-//
-// Revision 1.29 1999/03/02 01:03:19 curt
-// Tweaks for building with native SGI compilers.
-//
-// Revision 1.28 1999/02/26 22:09:52 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.27 1999/02/05 21:29:13 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.26 1999/02/02 20:13:37 curt
-// MSVC++ portability changes by Bernie Bright:
-//
-// Lib/Serial/serial.[ch]xx: Initial Windows support - incomplete.
-// Simulator/Astro/stars.cxx: typo? included <stdio> instead of <cstdio>
-// Simulator/Cockpit/hud.cxx: Added Standard headers
-// Simulator/Cockpit/panel.cxx: Redefinition of default parameter
-// Simulator/Flight/flight.cxx: Replaced cout with FG_LOG. Deleted <stdio.h>
-// Simulator/Main/fg_init.cxx:
-// Simulator/Main/GLUTmain.cxx:
-// Simulator/Main/options.hxx: Shuffled <fg_serial.hxx> dependency
-// Simulator/Objects/material.hxx:
-// Simulator/Time/timestamp.hxx: VC++ friend kludge
-// Simulator/Scenery/tile.[ch]xx: Fixed using std::X declarations
-// Simulator/Main/views.hxx: Added a constant
-//
-// Revision 1.25 1999/01/19 20:57:06 curt
-// MacOS portability changes contributed by "Robert Puyol" <puyol@abvent.fr>
-//
-// Revision 1.24 1998/11/25 01:34:01 curt
-// Support for an arbitrary number of serial ports.
-//
-// Revision 1.23 1998/11/23 21:49:05 curt
-// Borland portability tweaks.
-//
-// Revision 1.22 1998/11/20 01:02:38 curt
-// Try to detect Mesa/Glide/Voodoo and chose the appropriate resolution.
-//
-// Revision 1.21 1998/11/16 14:00:04 curt
-// Added pow() macro bug work around.
-// Added support for starting FGFS at various resolutions.
-// Added some initial serial port support.
-// Specify default log levels in main().
-//
-// Revision 1.20 1998/11/02 23:04:05 curt
-// HUD units now display in feet by default with meters being a command line
-// option.
-//
-// Revision 1.19 1998/10/25 14:08:49 curt
-// Turned "struct fgCONTROLS" into a class, with inlined accessor functions.
-//
-// Revision 1.18 1998/09/17 18:35:31 curt
-// Added F8 to toggle fog and F9 to toggle texturing.
-//
-// Revision 1.17 1998/09/08 21:40:10 curt
-// Fixes by Charlie Hotchkiss.
-//
-// Revision 1.16 1998/08/27 17:02:08 curt
-// Contributions from Bernie Bright <bbright@c031.aone.net.au>
-// - use strings for fg_root and airport_id and added methods to return
-// them as strings,
-// - inlined all access methods,
-// - made the parsing functions private methods,
-// - deleted some unused functions.
-// - propogated some of these changes out a bit further.
-//
-// Revision 1.15 1998/08/24 20:11:15 curt
-// Added i/I to toggle full vs. minimal HUD.
-// Added a --hud-tris vs --hud-culled option.
-// Moved options accessor funtions to options.hxx.
-//
-// Revision 1.14 1998/08/20 15:10:35 curt
-// Added GameGLUT support.
-//
-// Revision 1.13 1998/07/30 23:48:29 curt
-// Output position & orientation when pausing.
-// Eliminated libtool use.
-// Added options to specify initial position and orientation.
-// Changed default fov to 55 degrees.
-// Added command line option to start in paused or unpaused state.
-//
-// Revision 1.12 1998/07/27 18:41:26 curt
-// Added a pause command "p"
-// Fixed some initialization order problems between pui and glut.
-// Added an --enable/disable-sound option.
-//
-// Revision 1.11 1998/07/13 21:01:39 curt
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.10 1998/07/06 21:34:20 curt
-// Added an enable/disable splash screen option.
-// Added an enable/disable intro music option.
-// Added an enable/disable instrument panel option.
-// Added an enable/disable mouse pointer option.
-// Added using namespace std for compilers that support this.
-//
-// Revision 1.9 1998/06/27 16:54:34 curt
-// Replaced "extern displayInstruments" with a entry in fgOPTIONS.
-// Don't change the view port when displaying the panel.
-//
-// Revision 1.8 1998/05/16 13:08:36 curt
-// C++ - ified views.[ch]xx
-// Shuffled some additional view parameters into the fgVIEW class.
-// Changed tile-radius to tile-diameter because it is a much better
-// name.
-// Added a WORLD_TO_EYE transformation to views.cxx. This allows us
-// to transform world space to eye space for view frustum culling.
-//
-// Revision 1.7 1998/05/13 18:29:59 curt
-// Added a keyboard binding to dynamically adjust field of view.
-// Added a command line option to specify fov.
-// Adjusted terrain color.
-// Root path info moved to fgOPTIONS.
-// Added ability to parse options out of a config file.
-//
-// Revision 1.6 1998/05/06 03:16:26 curt
-// Added an averaged global frame rate counter.
-// Added an option to control tile radius.
-//
-// Revision 1.5 1998/05/03 00:47:32 curt
-// Added an option to enable/disable full-screen mode.
-//
-// Revision 1.4 1998/04/30 12:34:19 curt
-// Added command line rendering options:
-// enable/disable fog/haze
-// specify smooth/flat shading
-// disable sky blending and just use a solid color
-// enable wireframe drawing mode
-//
-// Revision 1.3 1998/04/28 01:20:23 curt
-// Type-ified fgTIME and fgVIEW.
-// Added a command line option to disable textures.
-//
-// Revision 1.2 1998/04/25 15:11:13 curt
-// Added an command line option to set starting position based on airport ID.
-//
-// Revision 1.1 1998/04/24 00:49:21 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Trying out some different option parsing code.
-// Some code reorganization.
-//
-//
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# $Id$
-# (Log is kept at end of this file)
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
-# $Log$
-# Revision 1.1 1999/04/05 21:32:46 curt
-# Initial revision
-#
-# Revision 1.2 1998/08/25 16:59:10 curt
-# Directory reshuffling.
-#
-# Revision 1.1 1998/08/24 20:32:41 curt
-# runfg.in renamed to runfgfs.in
-#
-# Revision 1.3 1998/08/03 22:16:42 curt
-# Updated to be smarter about finding $FG_ROOT.
-#
-# Revision 1.2 1998/04/25 22:06:31 curt
-# Edited cvs log messages in source files ... bad bad bad!
-#
-# Revision 1.1 1998/04/09 01:45:31 curt
-# Moved to Main/ and incorperated with automake
-#
-# Revision 1.4 1998/03/09 22:52:38 curt
-# Mod's to better support win32 if perl exists.
-#
-# Revision 1.3 1998/02/16 16:17:34 curt
-# Minor tweaks.
-#
-# Revision 1.2 1998/01/27 00:47:43 curt
-# Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-# system and commandline/config file processing code.
-#
-# Revision 1.1 1997/10/28 18:47:27 curt
-# Initial revision.
-#
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.10 1999/03/08 21:56:40 curt
-// Added panel changes sent in by Friedemann.
-// Added a splash screen randomization since we have several nice splash screens.
-//
-// Revision 1.9 1998/12/09 18:50:26 curt
-// Converted "class fgVIEW" to "class FGView" and updated to make data
-// members private and make required accessor functions.
-//
-// Revision 1.8 1998/11/16 14:00:05 curt
-// Added pow() macro bug work around.
-// Added support for starting FGFS at various resolutions.
-// Added some initial serial port support.
-// Specify default log levels in main().
-//
-// Revision 1.7 1998/11/06 21:18:14 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.6 1998/10/17 01:34:25 curt
-// C++ ifying ...
-//
-// Revision 1.5 1998/09/26 13:17:29 curt
-// Clear screen to "black" before drawing splash screen.
-//
-// Revision 1.4 1998/08/27 17:02:08 curt
-// Contributions from Bernie Bright <bbright@c031.aone.net.au>
-// - use strings for fg_root and airport_id and added methods to return
-// them as strings,
-// - inlined all access methods,
-// - made the parsing functions private methods,
-// - deleted some unused functions.
-// - propogated some of these changes out a bit further.
-//
-// Revision 1.3 1998/08/25 16:59:10 curt
-// Directory reshuffling.
-//
-// Revision 1.2 1998/07/13 21:01:40 curt
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.1 1998/07/06 02:42:36 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _SPLASH_HXX
#endif // _SPLASH_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.1 1998/07/06 02:42:37 curt
-// Initial revision.
-//
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.35 1999/04/03 04:21:04 curt
-// Integration of Steve's plib conglomeration.
-// Optimizations (tm) by Norman Vine.
-//
-// Revision 1.34 1999/03/08 21:56:41 curt
-// Added panel changes sent in by Friedemann.
-// Added a splash screen randomization since we have several nice splash screens.
-//
-// Revision 1.33 1999/02/05 21:29:14 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.32 1999/01/07 20:25:12 curt
-// Updated struct fgGENERAL to class FGGeneral.
-//
-// Revision 1.31 1998/12/11 20:26:28 curt
-// Fixed view frustum culling accuracy bug so we can look out the sides and
-// back without tri-stripes dropping out.
-//
-// Revision 1.30 1998/12/09 18:50:28 curt
-// Converted "class fgVIEW" to "class FGView" and updated to make data
-// members private and make required accessor functions.
-//
-// Revision 1.29 1998/12/05 15:54:24 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.28 1998/12/03 01:17:20 curt
-// Converted fgFLIGHT to a class.
-//
-// Revision 1.27 1998/11/16 14:00:06 curt
-// Added pow() macro bug work around.
-// Added support for starting FGFS at various resolutions.
-// Added some initial serial port support.
-// Specify default log levels in main().
-//
-// Revision 1.26 1998/11/09 23:39:25 curt
-// Tweaks for the instrument panel.
-//
-// Revision 1.25 1998/11/06 21:18:15 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.24 1998/10/18 01:17:19 curt
-// Point3D tweaks.
-//
-// Revision 1.23 1998/10/17 01:34:26 curt
-// C++ ifying ...
-//
-// Revision 1.22 1998/10/16 00:54:03 curt
-// Converted to Point3D class.
-//
-// Revision 1.21 1998/09/17 18:35:33 curt
-// Added F8 to toggle fog and F9 to toggle texturing.
-//
-// Revision 1.20 1998/09/08 15:04:35 curt
-// Optimizations by Norman Vine.
-//
-// Revision 1.19 1998/08/20 20:32:34 curt
-// Reshuffled some of the code in and around views.[ch]xx
-//
-// Revision 1.18 1998/07/24 21:57:02 curt
-// Set near clip plane to 0.5 meters when close to the ground. Also, let the view get a bit closer to the ground before hitting the hard limit.
-//
-// Revision 1.17 1998/07/24 21:39:12 curt
-// Debugging output tweaks.
-// Cast glGetString to (char *) to avoid compiler errors.
-// Optimizations to fgGluLookAt() by Norman Vine.
-//
-// Revision 1.16 1998/07/13 21:01:41 curt
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.15 1998/07/12 03:14:43 curt
-// Added ground collision detection.
-// Did some serious horsing around to be able to "hug" the ground properly
-// and still be able to take off.
-// Set the near clip plane to 1.0 meters when less than 10 meters above the
-// ground.
-// Did some serious horsing around getting the initial airplane position to be
-// correct based on rendered terrain elevation.
-// Added a little cheat/hack that will prevent the view position from ever
-// dropping below the terrain, even when the flight model doesn't quite
-// put you as high as you'd like.
-//
-// Revision 1.14 1998/07/08 14:45:08 curt
-// polar3d.h renamed to polar3d.hxx
-// vector.h renamed to vector.hxx
-// updated audio support so it waits to create audio classes (and tie up
-// /dev/dsp) until the mpg123 player is finished.
-//
-// Revision 1.13 1998/07/04 00:52:27 curt
-// Add my own version of gluLookAt() (which is nearly identical to the
-// Mesa/glu version.) But, by calculating the Model View matrix our selves
-// we can save this matrix without having to read it back in from the video
-// card. This hopefully allows us to save a few cpu cycles when rendering
-// out the fragments because we can just use glLoadMatrixd() with the
-// precalculated matrix for each tile rather than doing a push(), translate(),
-// pop() for every fragment.
-//
-// Panel status defaults to off for now until it gets a bit more developed.
-//
-// Extract OpenGL driver info on initialization.
-//
-// Revision 1.12 1998/06/03 00:47:15 curt
-// Updated to compile in audio support if OSS available.
-// Updated for new version of Steve's audio library.
-// STL includes don't use .h
-// Small view optimizations.
-//
-// Revision 1.11 1998/05/27 02:24:05 curt
-// View optimizations by Norman Vine.
-//
-// Revision 1.10 1998/05/17 16:59:03 curt
-// First pass at view frustum culling now operational.
-//
-// Revision 1.9 1998/05/16 13:08:37 curt
-// C++ - ified views.[ch]xx
-// Shuffled some additional view parameters into the fgVIEW class.
-// Changed tile-radius to tile-diameter because it is a much better
-// name.
-// Added a WORLD_TO_EYE transformation to views.cxx. This allows us
-// to transform world space to eye space for view frustum culling.
-//
-// Revision 1.8 1998/05/02 01:51:01 curt
-// Updated polartocart conversion routine.
-//
-// Revision 1.7 1998/04/30 12:34:20 curt
-// Added command line rendering options:
-// enable/disable fog/haze
-// specify smooth/flat shading
-// disable sky blending and just use a solid color
-// enable wireframe drawing mode
-//
-// Revision 1.6 1998/04/28 01:20:23 curt
-// Type-ified fgTIME and fgVIEW.
-// Added a command line option to disable textures.
-//
-// Revision 1.5 1998/04/26 05:10:04 curt
-// "struct fgLIGHT" -> "fgLIGHT" because fgLIGHT is typedef'd.
-//
-// Revision 1.4 1998/04/25 22:04:53 curt
-// Use already calculated LaRCsim values to create the roll/pitch/yaw
-// transformation matrix (we call it LOCAL)
-//
-// Revision 1.3 1998/04/25 20:24:02 curt
-// Cleaned up initialization sequence to eliminate interdependencies
-// between sun position, lighting, and view position. This creates a
-// valid single pass initialization path.
-//
-// Revision 1.2 1998/04/24 00:49:22 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Trying out some different option parsing code.
-// Some code reorganization.
-//
-// Revision 1.1 1998/04/22 13:25:45 curt
-// C++ - ifing the code.
-// Starting a bit of reorganization of lighting code.
-//
-// Revision 1.16 1998/04/18 04:11:29 curt
-// Moved fg_debug to it's own library, added zlib support.
-//
-// Revision 1.15 1998/02/20 00:16:24 curt
-// Thursday's tweaks.
-//
-// Revision 1.14 1998/02/09 15:07:50 curt
-// Minor tweaks.
-//
-// Revision 1.13 1998/02/07 15:29:45 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.12 1998/01/29 00:50:28 curt
-// Added a view record field for absolute x, y, z position.
-//
-// Revision 1.11 1998/01/27 00:47:58 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.10 1998/01/19 19:27:09 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.9 1998/01/13 00:23:09 curt
-// Initial changes to support loading and management of scenery tiles. Note,
-// there's still a fair amount of work left to be done.
-//
-// Revision 1.8 1997/12/30 22:22:33 curt
-// Further integration of event manager.
-//
-// Revision 1.7 1997/12/30 20:47:45 curt
-// Integrated new event manager with subsystem initializations.
-//
-// Revision 1.6 1997/12/22 04:14:32 curt
-// Aligned sky with sun so dusk/dawn effects can be correct relative to the sun.
-//
-// Revision 1.5 1997/12/18 04:07:02 curt
-// Worked on properly translating and positioning the sky dome.
-//
-// Revision 1.4 1997/12/17 23:13:36 curt
-// Began working on rendering a sky.
-//
-// Revision 1.3 1997/12/15 23:54:50 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.2 1997/12/10 22:37:48 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.1 1997/08/27 21:31:17 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _VIEWS_HXX
#endif // _VIEWS_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.23 1999/04/03 04:21:06 curt
-// Integration of Steve's plib conglomeration.
-// Optimizations (tm) by Norman Vine.
-//
-// Revision 1.22 1999/03/22 02:08:15 curt
-// Changes contributed by Durk Talsma:
-//
-// Here's a few changes I made to fg-0.58 this weekend. Included are the
-// following features:
-// - Sun and moon have a halo
-// - The moon has a light vector, moon_angle, etc. etc. so that we can have
-// some moonlight during the night.
-// - Lot's of small changes tweakes, including some stuff Norman Vine sent
-// me earlier.
-//
-// Revision 1.21 1999/02/05 21:29:15 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.20 1999/02/02 20:13:38 curt
-// MSVC++ portability changes by Bernie Bright:
-//
-// Lib/Serial/serial.[ch]xx: Initial Windows support - incomplete.
-// Simulator/Astro/stars.cxx: typo? included <stdio> instead of <cstdio>
-// Simulator/Cockpit/hud.cxx: Added Standard headers
-// Simulator/Cockpit/panel.cxx: Redefinition of default parameter
-// Simulator/Flight/flight.cxx: Replaced cout with FG_LOG. Deleted <stdio.h>
-// Simulator/Main/fg_init.cxx:
-// Simulator/Main/GLUTmain.cxx:
-// Simulator/Main/options.hxx: Shuffled <fg_serial.hxx> dependency
-// Simulator/Objects/material.hxx:
-// Simulator/Time/timestamp.hxx: VC++ friend kludge
-// Simulator/Scenery/tile.[ch]xx: Fixed using std::X declarations
-// Simulator/Main/views.hxx: Added a constant
-//
-// Revision 1.19 1999/02/01 21:33:36 curt
-// Renamed FlightGear/Simulator/Flight to FlightGear/Simulator/FDM since
-// Jon accepted my offer to do this and thought it was a good idea.
-//
-// Revision 1.18 1998/12/11 20:26:30 curt
-// Fixed view frustum culling accuracy bug so we can look out the sides and
-// back without tri-stripes dropping out.
-//
-// Revision 1.17 1998/12/09 18:50:29 curt
-// Converted "class fgVIEW" to "class FGView" and updated to make data
-// members private and make required accessor functions.
-//
-// Revision 1.16 1998/12/05 15:54:25 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.15 1998/10/16 23:27:56 curt
-// C++-ifying.
-//
-// Revision 1.14 1998/10/16 00:54:04 curt
-// Converted to Point3D class.
-//
-// Revision 1.13 1998/09/08 15:04:36 curt
-// Optimizations by Norman Vine.
-//
-// Revision 1.12 1998/08/24 20:11:15 curt
-// Added i/I to toggle full vs. minimal HUD.
-// Added a --hud-tris vs --hud-culled option.
-// Moved options accessor funtions to options.hxx.
-//
-// Revision 1.11 1998/08/20 20:32:35 curt
-// Reshuffled some of the code in and around views.[ch]xx
-//
-// Revision 1.10 1998/07/08 14:45:09 curt
-// polar3d.h renamed to polar3d.hxx
-// vector.h renamed to vector.hxx
-// updated audio support so it waits to create audio classes (and tie up
-// /dev/dsp) until the mpg123 player is finished.
-//
-// Revision 1.9 1998/07/04 00:52:27 curt
-// Add my own version of gluLookAt() (which is nearly identical to the
-// Mesa/glu version.) But, by calculating the Model View matrix our selves
-// we can save this matrix without having to read it back in from the video
-// card. This hopefully allows us to save a few cpu cycles when rendering
-// out the fragments because we can just use glLoadMatrixd() with the
-// precalculated matrix for each tile rather than doing a push(), translate(),
-// pop() for every fragment.
-//
-// Panel status defaults to off for now until it gets a bit more developed.
-//
-// Extract OpenGL driver info on initialization.
-//
-// Revision 1.8 1998/05/27 02:24:06 curt
-// View optimizations by Norman Vine.
-//
-// Revision 1.7 1998/05/17 16:59:04 curt
-// First pass at view frustum culling now operational.
-//
-// Revision 1.6 1998/05/16 13:08:37 curt
-// C++ - ified views.[ch]xx
-// Shuffled some additional view parameters into the fgVIEW class.
-// Changed tile-radius to tile-diameter because it is a much better
-// name.
-// Added a WORLD_TO_EYE transformation to views.cxx. This allows us
-// to transform world space to eye space for view frustum culling.
-//
-// Revision 1.5 1998/05/02 01:51:02 curt
-// Updated polartocart conversion routine.
-//
-// Revision 1.4 1998/04/28 01:20:24 curt
-// Type-ified fgTIME and fgVIEW.
-// Added a command line option to disable textures.
-//
-// Revision 1.3 1998/04/25 22:06:31 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.2 1998/04/24 00:49:22 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Trying out some different option parsing code.
-// Some code reorganization.
-//
-// Revision 1.1 1998/04/22 13:25:46 curt
-// C++ - ifing the code.
-// Starting a bit of reorganization of lighting code.
-//
-// Revision 1.11 1998/04/21 17:02:42 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.10 1998/02/07 15:29:45 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.9 1998/01/29 00:50:29 curt
-// Added a view record field for absolute x, y, z position.
-//
-// Revision 1.8 1998/01/27 00:47:58 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.7 1998/01/22 02:59:38 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.6 1998/01/19 19:27:10 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.5 1997/12/22 04:14:32 curt
-// Aligned sky with sun so dusk/dawn effects can be correct relative to the sun.
-//
-// Revision 1.4 1997/12/17 23:13:36 curt
-// Began working on rendering a sky.
-//
-// Revision 1.3 1997/12/15 23:54:51 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.2 1997/12/10 22:37:48 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.1 1997/08/27 21:31:18 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <Include/fg_constants.h>
return(0);
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.7 1999/02/26 22:09:56 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.6 1998/10/18 01:17:20 curt
-// Point3D tweaks.
-//
-// Revision 1.5 1998/10/16 00:54:37 curt
-// Converted to Point3D class.
-//
-// Revision 1.4 1998/09/15 01:35:03 curt
-// cleaned up my fragment.num_faces hack :-) to use the STL (no need in
-// duplicating work.)
-// Tweaked fgTileMgrRender() do not calc tile matrix unless necessary.
-// removed some unneeded stuff from fgTileMgrCurElev()
-//
-// Revision 1.3 1998/09/08 21:40:42 curt
-// Updates from Bernie Bright.
-//
-// Revision 1.2 1998/09/01 19:03:07 curt
-// Changes contributed by Bernie Bright <bbright@c031.aone.net.au>
-// - The new classes in libmisc.tgz define a stream interface into zlib.
-// I've put these in a new directory, Lib/Misc. Feel free to rename it
-// to something more appropriate. However you'll have to change the
-// include directives in all the other files. Additionally you'll have
-// add the library to Lib/Makefile.am and Simulator/Main/Makefile.am.
-//
-// The StopWatch class in Lib/Misc requires a HAVE_GETRUSAGE autoconf
-// test so I've included the required changes in config.tgz.
-//
-// There are a fair few changes to Simulator/Objects as I've moved
-// things around. Loading tiles is quicker but thats not where the delay
-// is. Tile loading takes a few tenths of a second per file on a P200
-// but it seems to be the post-processing that leads to a noticeable
-// blip in framerate. I suppose its time to start profiling to see where
-// the delays are.
-//
-// I've included a brief description of each archives contents.
-//
-// Lib/Misc/
-// zfstream.cxx
-// zfstream.hxx
-// C++ stream interface into zlib.
-// Taken from zlib-1.1.3/contrib/iostream/.
-// Minor mods for STL compatibility.
-// There's no copyright associated with these so I assume they're
-// covered by zlib's.
-//
-// fgstream.cxx
-// fgstream.hxx
-// FlightGear input stream using gz_ifstream. Tries to open the
-// given filename. If that fails then filename is examined and a
-// ".gz" suffix is removed or appended and that file is opened.
-//
-// stopwatch.hxx
-// A simple timer for benchmarking. Not used in production code.
-// Taken from the Blitz++ project. Covered by GPL.
-//
-// strutils.cxx
-// strutils.hxx
-// Some simple string manipulation routines.
-//
-// Simulator/Airports/
-// Load airports database using fgstream.
-// Changed fgAIRPORTS to use set<> instead of map<>.
-// Added bool fgAIRPORTS::search() as a neater way doing the lookup.
-// Returns true if found.
-//
-// Simulator/Astro/
-// Modified fgStarsInit() to load stars database using fgstream.
-//
-// Simulator/Objects/
-// Modified fgObjLoad() to use fgstream.
-// Modified fgMATERIAL_MGR::load_lib() to use fgstream.
-// Many changes to fgMATERIAL.
-// Some changes to fgFRAGMENT but I forget what!
-//
-// Revision 1.1 1998/08/25 16:51:23 curt
-// Moved from ../Scenery
-//
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _FRAGMENT_HXX
#endif // _FRAGMENT_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.12 1999/04/05 02:14:21 curt
-// Moved max node per tile definition to fg_constants.h
-//
-// Revision 1.11 1999/03/25 19:02:53 curt
-// Removed an unneeded include.
-//
-// Revision 1.10 1999/03/15 17:59:12 curt
-// MSVC++ portability tweaks contributed by Bernie Bright.
-// Un-nested struct fgFace.
-// Made fgFragment::deleteDisplayList() a non-const member.
-//
-// Revision 1.9 1999/03/02 01:03:23 curt
-// Tweaks for building with native SGI compilers.
-//
-// Revision 1.8 1999/02/26 22:09:57 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.7 1998/11/02 18:29:00 curt
-// Portability changes for the Borland compiler.
-//
-// Revision 1.6 1998/10/16 00:54:38 curt
-// Converted to Point3D class.
-//
-// Revision 1.5 1998/09/15 01:35:04 curt
-// cleaned up my fragment.num_faces hack :-) to use the STL (no need in
-// duplicating work.)
-// Tweaked fgTileMgrRender() do not calc tile matrix unless necessary.
-// removed some unneeded stuff from fgTileMgrCurElev()
-//
-// Revision 1.4 1998/09/10 19:07:09 curt
-// /Simulator/Objects/fragment.hxx
-// Nested fgFACE inside fgFRAGMENT since its not used anywhere else.
-//
-// ./Simulator/Objects/material.cxx
-// ./Simulator/Objects/material.hxx
-// Made fgMATERIAL and fgMATERIAL_MGR bona fide classes with private
-// data members - that should keep the rabble happy :)
-//
-// ./Simulator/Scenery/tilemgr.cxx
-// In viewable() delay evaluation of eye[0] and eye[1] in until they're
-// actually needed.
-// Change to fgTileMgrRender() to call fgMATERIAL_MGR::render_fragments()
-// method.
-//
-// ./Include/fg_stl_config.h
-// ./Include/auto_ptr.hxx
-// Added support for g++ 2.7.
-// Further changes to other files are forthcoming.
-//
-// Brief summary of changes required for g++ 2.7.
-// operator->() not supported by iterators: use (*i).x instead of i->x
-// default template arguments not supported,
-// <functional> doesn't have mem_fun_ref() needed by callbacks.
-// some std include files have different names.
-// template member functions not supported.
-//
-// Revision 1.3 1998/09/08 21:40:44 curt
-// Updates from Bernie Bright.
-//
-// Revision 1.2 1998/09/01 19:03:08 curt
-// Changes contributed by Bernie Bright <bbright@c031.aone.net.au>
-// - The new classes in libmisc.tgz define a stream interface into zlib.
-// I've put these in a new directory, Lib/Misc. Feel free to rename it
-// to something more appropriate. However you'll have to change the
-// include directives in all the other files. Additionally you'll have
-// add the library to Lib/Makefile.am and Simulator/Main/Makefile.am.
-//
-// The StopWatch class in Lib/Misc requires a HAVE_GETRUSAGE autoconf
-// test so I've included the required changes in config.tgz.
-//
-// There are a fair few changes to Simulator/Objects as I've moved
-// things around. Loading tiles is quicker but thats not where the delay
-// is. Tile loading takes a few tenths of a second per file on a P200
-// but it seems to be the post-processing that leads to a noticeable
-// blip in framerate. I suppose its time to start profiling to see where
-// the delays are.
-//
-// I've included a brief description of each archives contents.
-//
-// Lib/Misc/
-// zfstream.cxx
-// zfstream.hxx
-// C++ stream interface into zlib.
-// Taken from zlib-1.1.3/contrib/iostream/.
-// Minor mods for STL compatibility.
-// There's no copyright associated with these so I assume they're
-// covered by zlib's.
-//
-// fgstream.cxx
-// fgstream.hxx
-// FlightGear input stream using gz_ifstream. Tries to open the
-// given filename. If that fails then filename is examined and a
-// ".gz" suffix is removed or appended and that file is opened.
-//
-// stopwatch.hxx
-// A simple timer for benchmarking. Not used in production code.
-// Taken from the Blitz++ project. Covered by GPL.
-//
-// strutils.cxx
-// strutils.hxx
-// Some simple string manipulation routines.
-//
-// Simulator/Airports/
-// Load airports database using fgstream.
-// Changed fgAIRPORTS to use set<> instead of map<>.
-// Added bool fgAIRPORTS::search() as a neater way doing the lookup.
-// Returns true if found.
-//
-// Simulator/Astro/
-// Modified fgStarsInit() to load stars database using fgstream.
-//
-// Simulator/Objects/
-// Modified fgObjLoad() to use fgstream.
-// Modified fgMATERIAL_MGR::load_lib() to use fgstream.
-// Many changes to fgMATERIAL.
-// Some changes to fgFRAGMENT but I forget what!
-//
-// Revision 1.1 1998/08/25 16:51:23 curt
-// Moved from ../Scenery
-//
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.15 1999/03/31 13:25:58 curt
-// Removed some debugging output.
-//
-// Revision 1.14 1999/03/30 23:48:24 curt
-// modifications to obj loader to handle tri fans.
-//
-// Revision 1.13 1999/03/27 05:36:03 curt
-// Alas, I have made non-backwardsly compatible changes to the scenery file
-// format. Thus I have had to make the corresponding changes here in the
-// file loader.
-// Things that do not correspond the the .obj format are placed in comments.
-//
-// Revision 1.12 1999/03/02 01:03:25 curt
-// Tweaks for building with native SGI compilers.
-//
-// Revision 1.11 1999/02/26 22:09:59 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.10 1998/11/06 21:18:18 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.9 1998/11/06 14:47:06 curt
-// Changes to track Bernie's updates to fgstream.
-//
-// Revision 1.8 1998/10/20 18:33:55 curt
-// Tweaked texture coordinates, but we still have some problems. :-(
-//
-// Revision 1.7 1998/10/20 15:48:44 curt
-// Removed an extraneous output message.
-//
-// Revision 1.6 1998/10/18 01:17:21 curt
-// Point3D tweaks.
-//
-// Revision 1.5 1998/10/16 00:54:39 curt
-// Converted to Point3D class.
-//
-// Revision 1.4 1998/09/15 01:35:07 curt
-// cleaned up my fragment.num_faces hack :-) to use the STL (no need in
-// duplicating work.)
-// Tweaked fgTileMgrRender() do not calc tile matrix unless necessary.
-// removed some unneeded stuff from fgTileMgrCurElev()
-//
-// Revision 1.3 1998/09/03 21:27:03 curt
-// Fixed a serious bug caused by not-quite-correct comment/white space eating
-// which resulted in mismatched glBegin() glEnd() pairs, incorrect display lists,
-// and ugly display artifacts.
-//
-// Revision 1.2 1998/09/01 19:03:09 curt
-// Changes contributed by Bernie Bright <bbright@c031.aone.net.au>
-// - The new classes in libmisc.tgz define a stream interface into zlib.
-// I've put these in a new directory, Lib/Misc. Feel free to rename it
-// to something more appropriate. However you'll have to change the
-// include directives in all the other files. Additionally you'll have
-// add the library to Lib/Makefile.am and Simulator/Main/Makefile.am.
-//
-// The StopWatch class in Lib/Misc requires a HAVE_GETRUSAGE autoconf
-// test so I've included the required changes in config.tgz.
-//
-// There are a fair few changes to Simulator/Objects as I've moved
-// things around. Loading tiles is quicker but thats not where the delay
-// is. Tile loading takes a few tenths of a second per file on a P200
-// but it seems to be the post-processing that leads to a noticeable
-// blip in framerate. I suppose its time to start profiling to see where
-// the delays are.
-//
-// I've included a brief description of each archives contents.
-//
-// Lib/Misc/
-// zfstream.cxx
-// zfstream.hxx
-// C++ stream interface into zlib.
-// Taken from zlib-1.1.3/contrib/iostream/.
-// Minor mods for STL compatibility.
-// There's no copyright associated with these so I assume they're
-// covered by zlib's.
-//
-// fgstream.cxx
-// fgstream.hxx
-// FlightGear input stream using gz_ifstream. Tries to open the
-// given filename. If that fails then filename is examined and a
-// ".gz" suffix is removed or appended and that file is opened.
-//
-// stopwatch.hxx
-// A simple timer for benchmarking. Not used in production code.
-// Taken from the Blitz++ project. Covered by GPL.
-//
-// strutils.cxx
-// strutils.hxx
-// Some simple string manipulation routines.
-//
-// Simulator/Airports/
-// Load airports database using fgstream.
-// Changed fgAIRPORTS to use set<> instead of map<>.
-// Added bool fgAIRPORTS::search() as a neater way doing the lookup.
-// Returns true if found.
-//
-// Simulator/Astro/
-// Modified fgStarsInit() to load stars database using fgstream.
-//
-// Simulator/Objects/
-// Modified fgObjLoad() to use fgstream.
-// Modified fgMATERIAL_MGR::load_lib() to use fgstream.
-// Many changes to fgMATERIAL.
-// Some changes to fgFRAGMENT but I forget what!
-//
-// Revision 1.1 1998/08/25 16:51:25 curt
-// Moved from ../Scenery
-//
-// Revision 1.23 1998/08/20 15:16:43 curt
-// obj.cxx: use more explicit parenthases.
-// texload.[ch]: use const in function definitions where appropriate.
-//
-// Revision 1.22 1998/08/20 15:12:03 curt
-// Used a forward declaration of classes fgTILE and fgMATERIAL to eliminate
-// the need for "void" pointers and casts.
-// Quick hack to count the number of scenery polygons that are being drawn.
-//
-// Revision 1.21 1998/08/12 21:13:04 curt
-// material.cxx: don't load textures if they are disabled
-// obj.cxx: optimizations from Norman Vine
-// tile.cxx: minor tweaks
-// tile.hxx: addition of num_faces
-// tilemgr.cxx: minor tweaks
-//
-// Revision 1.20 1998/07/24 21:42:07 curt
-// material.cxx: whups, double method declaration with no definition.
-// obj.cxx: tweaks to avoid errors in SGI's CC.
-// tile.cxx: optimizations by Norman Vine.
-// tilemgr.cxx: optimizations by Norman Vine.
-//
-// Revision 1.19 1998/07/13 21:01:58 curt
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.18 1998/07/12 03:18:27 curt
-// Added ground collision detection. This involved:
-// - saving the entire vertex list for each tile with the tile records.
-// - saving the face list for each fragment with the fragment records.
-// - code to intersect the current vertical line with the proper face in
-// an efficient manner as possible.
-// Fixed a bug where the tiles weren't being shifted to "near" (0,0,0)
-//
-// Revision 1.17 1998/07/08 14:47:21 curt
-// Fix GL_MODULATE vs. GL_DECAL problem introduced by splash screen.
-// polare3d.h renamed to polar3d.hxx
-// fg{Cartesian,Polar}Point3d consolodated.
-// Added some initial support for calculating local current ground elevation.
-//
-// Revision 1.16 1998/07/06 21:34:33 curt
-// Added using namespace std for compilers that support this.
-//
-// Revision 1.15 1998/07/04 00:54:28 curt
-// Added automatic mipmap generation.
-//
-// When rendering fragments, use saved model view matrix from associated tile
-// rather than recalculating it with push() translate() pop().
-//
-// Revision 1.14 1998/06/17 21:36:40 curt
-// Load and manage multiple textures defined in the Materials library.
-// Boost max material fagments for each material property to 800.
-// Multiple texture support when rendering.
-//
-// Revision 1.13 1998/06/12 00:58:05 curt
-// Build only static libraries.
-// Declare memmove/memset for Sloaris.
-//
-// Revision 1.12 1998/06/08 17:57:54 curt
-// Working first pass at material proporty sorting.
-//
-// Revision 1.11 1998/06/06 01:09:31 curt
-// I goofed on the log message in the last commit ... now fixed.
-//
-// Revision 1.10 1998/06/06 01:07:17 curt
-// Increased per material fragment list size from 100 to 400.
-// Now correctly draw viewable fragments in per material order.
-//
-// Revision 1.9 1998/06/05 22:39:54 curt
-// Working on sorting by, and rendering by material properties.
-//
-// Revision 1.8 1998/06/05 18:19:18 curt
-// Recognize file, file.gz, and file.obj as scenery object files.
-//
-// Revision 1.7 1998/05/24 02:49:09 curt
-// Implimented fragment level view frustum culling.
-//
-// Revision 1.6 1998/05/23 14:09:20 curt
-// Added tile.cxx and tile.hxx.
-// Working on rewriting the tile management system so a tile is just a list
-// fragments, and the fragment record contains the display list for that
-// fragment.
-//
-// Revision 1.5 1998/05/20 20:53:53 curt
-// Moved global ref point and radius (bounding sphere info, and offset) to
-// data file rather than calculating it on the fly.
-// Fixed polygon winding problem in scenery generation stage rather than
-// compensating for it on the fly.
-// Made a fgTILECACHE class.
-//
-// Revision 1.4 1998/05/16 13:09:57 curt
-// Beginning to add support for view frustum culling.
-// Added some temporary code to calculate bouding radius, until the
-// scenery generation tools and scenery can be updated.
-//
-// Revision 1.3 1998/05/03 00:48:01 curt
-// Updated texture coordinate fmod() parameter.
-//
-// Revision 1.2 1998/05/02 01:52:14 curt
-// Playing around with texture coordinates.
-//
-// Revision 1.1 1998/04/30 12:35:28 curt
-// Added a command line rendering option specify smooth/flat shading.
-//
-// Revision 1.35 1998/04/28 21:43:26 curt
-// Wrapped zlib calls up so we can conditionally comment out zlib support.
-//
-// Revision 1.34 1998/04/28 01:21:42 curt
-// Tweaked texture parameter calculations to keep the number smaller. This
-// avoids the "swimming" problem.
-// Type-ified fgTIME and fgVIEW.
-//
-// Revision 1.33 1998/04/27 15:58:15 curt
-// Screwing around with texture coordinate generation ... still needs work.
-//
-// Revision 1.32 1998/04/27 03:30:13 curt
-// Minor transformation adjustments to try to keep scenery tiles closer to
-// (0, 0, 0) GLfloats run out of precision at the distances we need to model
-// the earth, but we can do a bunch of pre-transformations using double math
-// and then cast to GLfloat once everything is close in where we have less
-// precision problems.
-//
-// Revision 1.31 1998/04/25 15:09:57 curt
-// Changed "r" to "rb" in gzopen() options. This fixes bad behavior in win32.
-//
-// Revision 1.30 1998/04/24 14:21:08 curt
-// Added "file.obj.gz" support.
-//
-// Revision 1.29 1998/04/24 00:51:07 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Tweaked the scenery file extentions to be "file.obj" (uncompressed)
-// or "file.obz" (compressed.)
-//
-// Revision 1.28 1998/04/22 13:22:44 curt
-// C++ - ifing the code a bit.
-//
-// Revision 1.27 1998/04/18 04:13:17 curt
-// Added zlib on the fly decompression support for loading scenery objects.
-//
-// Revision 1.26 1998/04/03 22:11:36 curt
-// Converting to Gnu autoconf system.
-//
-// Revision 1.25 1998/03/14 00:30:50 curt
-// Beginning initial terrain texturing experiments.
-//
-// Revision 1.24 1998/02/09 21:30:18 curt
-// Fixed a nagging problem with terrain tiles not "quite" matching up perfectly.
-//
-// Revision 1.23 1998/02/09 15:07:52 curt
-// Minor tweaks.
-//
-// Revision 1.22 1998/02/01 03:39:54 curt
-// Minor tweaks.
-//
-// Revision 1.21 1998/01/31 00:43:25 curt
-// Added MetroWorks patches from Carmen Volpe.
-//
-// Revision 1.20 1998/01/29 00:51:39 curt
-// First pass at tile cache, dynamic tile loading and tile unloading now works.
-//
-// Revision 1.19 1998/01/27 03:26:42 curt
-// Playing with new fgPrintf command.
-//
-// Revision 1.18 1998/01/19 19:27:16 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.17 1998/01/13 00:23:10 curt
-// Initial changes to support loading and management of scenery tiles. Note,
-// there's still a fair amount of work left to be done.
-//
-// Revision 1.16 1997/12/30 23:09:40 curt
-// Worked on winding problem without luck, so back to calling glFrontFace()
-// 3 times for each scenery area.
-//
-// Revision 1.15 1997/12/30 20:47:51 curt
-// Integrated new event manager with subsystem initializations.
-//
-// Revision 1.14 1997/12/30 01:38:46 curt
-// Switched back to per vertex normals and smooth shading for terrain.
-//
-// Revision 1.13 1997/12/18 23:32:36 curt
-// First stab at sky dome actually starting to look reasonable. :-)
-//
-// Revision 1.12 1997/12/17 23:13:47 curt
-// Began working on rendering the sky.
-//
-// Revision 1.11 1997/12/15 23:55:01 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.10 1997/12/12 21:41:28 curt
-// More light/material property tweaking ... still a ways off.
-//
-// Revision 1.9 1997/12/12 19:52:57 curt
-// Working on lightling and material properties.
-//
-// Revision 1.8 1997/12/10 01:19:51 curt
-// Tweaks for verion 0.15 release.
-//
-// Revision 1.7 1997/12/08 22:51:17 curt
-// Enhanced to handle ccw and cw tri-stripe winding. This is a temporary
-// admission of defeat. I will eventually go back and get all the stripes
-// wound the same way (ccw).
-//
-// Revision 1.6 1997/11/25 19:25:35 curt
-// Changes to integrate Durk's moon/sun code updates + clean up.
-//
-// Revision 1.5 1997/11/15 18:16:39 curt
-// minor tweaks.
-//
-// Revision 1.4 1997/11/14 00:26:49 curt
-// Transform scenery coordinates earlier in pipeline when scenery is being
-// created, not when it is being loaded. Precalculate normals for each node
-// as average of the normals of each containing polygon so Garoude shading is
-// now supportable.
-//
-// Revision 1.3 1997/10/31 04:49:12 curt
-// Tweaking vertex orders.
-//
-// Revision 1.2 1997/10/30 12:38:45 curt
-// Working on new scenery subsystem.
-//
-// Revision 1.1 1997/10/28 21:14:54 curt
-// Initial revision.
-
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _OBJ_HXX
#endif // _OBJ_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.3 1998/10/16 00:54:41 curt
-// Converted to Point3D class.
-//
-// Revision 1.2 1998/09/01 19:03:10 curt
-// Changes contributed by Bernie Bright <bbright@c031.aone.net.au>
-// - The new classes in libmisc.tgz define a stream interface into zlib.
-// I've put these in a new directory, Lib/Misc. Feel free to rename it
-// to something more appropriate. However you'll have to change the
-// include directives in all the other files. Additionally you'll have
-// add the library to Lib/Makefile.am and Simulator/Main/Makefile.am.
-//
-// The StopWatch class in Lib/Misc requires a HAVE_GETRUSAGE autoconf
-// test so I've included the required changes in config.tgz.
-//
-// There are a fair few changes to Simulator/Objects as I've moved
-// things around. Loading tiles is quicker but thats not where the delay
-// is. Tile loading takes a few tenths of a second per file on a P200
-// but it seems to be the post-processing that leads to a noticeable
-// blip in framerate. I suppose its time to start profiling to see where
-// the delays are.
-//
-// I've included a brief description of each archives contents.
-//
-// Lib/Misc/
-// zfstream.cxx
-// zfstream.hxx
-// C++ stream interface into zlib.
-// Taken from zlib-1.1.3/contrib/iostream/.
-// Minor mods for STL compatibility.
-// There's no copyright associated with these so I assume they're
-// covered by zlib's.
-//
-// fgstream.cxx
-// fgstream.hxx
-// FlightGear input stream using gz_ifstream. Tries to open the
-// given filename. If that fails then filename is examined and a
-// ".gz" suffix is removed or appended and that file is opened.
-//
-// stopwatch.hxx
-// A simple timer for benchmarking. Not used in production code.
-// Taken from the Blitz++ project. Covered by GPL.
-//
-// strutils.cxx
-// strutils.hxx
-// Some simple string manipulation routines.
-//
-// Simulator/Airports/
-// Load airports database using fgstream.
-// Changed fgAIRPORTS to use set<> instead of map<>.
-// Added bool fgAIRPORTS::search() as a neater way doing the lookup.
-// Returns true if found.
-//
-// Simulator/Astro/
-// Modified fgStarsInit() to load stars database using fgstream.
-//
-// Simulator/Objects/
-// Modified fgObjLoad() to use fgstream.
-// Modified fgMATERIAL_MGR::load_lib() to use fgstream.
-// Many changes to fgMATERIAL.
-// Some changes to fgFRAGMENT but I forget what!
-//
-// Revision 1.1 1998/08/25 16:51:26 curt
-// Moved from ../Scenery
-//
-// Revision 1.4 1998/05/24 02:49:10 curt
-// Implimented fragment level view frustum culling.
-//
-// Revision 1.3 1998/05/23 14:09:21 curt
-// Added tile.cxx and tile.hxx.
-// Working on rewriting the tile management system so a tile is just a list
-// fragments, and the fragment record contains the display list for that
-// fragment.
-//
-// Revision 1.2 1998/05/02 01:52:15 curt
-// Playing around with texture coordinates.
-//
-// Revision 1.1 1998/04/30 12:35:29 curt
-// Added a command line rendering option specify smooth/flat shading.
-//
-// Revision 1.11 1998/04/25 22:06:31 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.10 1998/04/24 00:51:07 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Tweaked the scenery file extentions to be "file.obj" (uncompressed)
-// or "file.obz" (compressed.)
-//
-// Revision 1.9 1998/04/22 13:22:45 curt
-// C++ - ifing the code a bit.
-//
-// Revision 1.8 1998/04/21 17:02:43 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.7 1998/04/03 22:11:37 curt
-// Converting to Gnu autoconf system.
-//
-// Revision 1.6 1998/01/31 00:43:25 curt
-// Added MetroWorks patches from Carmen Volpe.
-//
-// Revision 1.5 1998/01/27 00:48:03 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.4 1998/01/22 02:59:41 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.3 1998/01/19 19:27:17 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.2 1998/01/13 00:23:10 curt
-// Initial changes to support loading and management of scenery tiles. Note,
-// there's still a fair amount of work left to be done.
-//
-// Revision 1.1 1997/10/28 21:14:55 curt
-// Initial revision.
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.10 1998/11/06 21:18:20 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.9 1998/10/16 23:27:57 curt
-// C++-ifying.
-//
-// Revision 1.8 1998/08/25 16:52:40 curt
-// material.cxx material.hxx obj.cxx obj.hxx texload.c texload.h moved to
-// ../Objects
-//
-// Revision 1.7 1998/07/13 21:01:59 curt
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.6 1998/07/12 03:18:27 curt
-// Added ground collision detection. This involved:
-// - saving the entire vertex list for each tile with the tile records.
-// - saving the face list for each fragment with the fragment records.
-// - code to intersect the current vertical line with the proper face in
-// an efficient manner as possible.
-// Fixed a bug where the tiles weren't being shifted to "near" (0,0,0)
-//
-// Revision 1.5 1998/06/17 21:36:41 curt
-// Load and manage multiple textures defined in the Materials library.
-// Boost max material fagments for each material property to 800.
-// Multiple texture support when rendering.
-//
-// Revision 1.4 1998/05/13 18:26:40 curt
-// Root path info moved to fgOPTIONS.
-//
-// Revision 1.3 1998/05/07 23:15:20 curt
-// Fixed a glTexImage2D() usage bug where width and height were mis-swapped.
-// Added support for --tile-radius=n option.
-//
-// Revision 1.2 1998/05/02 01:52:16 curt
-// Playing around with texture coordinates.
-//
-// Revision 1.1 1998/04/30 12:35:30 curt
-// Added a command line rendering option specify smooth/flat shading.
-//
-// Revision 1.42 1998/04/28 21:43:27 curt
-// Wrapped zlib calls up so we can conditionally comment out zlib support.
-//
-// Revision 1.41 1998/04/24 00:51:08 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Tweaked the scenery file extentions to be "file.obj" (uncompressed)
-// or "file.obz" (compressed.)
-//
-// Revision 1.40 1998/04/18 04:14:06 curt
-// Moved fg_debug.c to it's own library.
-//
-// Revision 1.39 1998/04/08 23:30:07 curt
-// Adopted Gnu automake/autoconf system.
-//
-// Revision 1.38 1998/04/03 22:11:37 curt
-// Converting to Gnu autoconf system.
-//
-// Revision 1.37 1998/03/23 21:23:05 curt
-// Debugging output tweaks.
-//
-// Revision 1.36 1998/03/14 00:30:50 curt
-// Beginning initial terrain texturing experiments.
-//
-// Revision 1.35 1998/01/31 00:43:26 curt
-// Added MetroWorks patches from Carmen Volpe.
-//
-// Revision 1.34 1998/01/27 03:26:43 curt
-// Playing with new fgPrintf command.
-//
-// Revision 1.33 1998/01/19 19:27:17 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.32 1998/01/19 18:40:37 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.31 1998/01/13 00:23:11 curt
-// Initial changes to support loading and management of scenery tiles. Note,
-// there's still a fair amount of work left to be done.
-//
-// Revision 1.30 1998/01/07 03:22:29 curt
-// Moved astro stuff to .../Src/Astro/
-//
-// Revision 1.29 1997/12/30 20:47:52 curt
-// Integrated new event manager with subsystem initializations.
-//
-// Revision 1.28 1997/12/15 23:55:02 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.27 1997/12/12 21:41:30 curt
-// More light/material property tweaking ... still a ways off.
-//
-// Revision 1.26 1997/12/12 19:52:58 curt
-// Working on lightling and material properties.
-//
-// Revision 1.25 1997/12/10 22:37:51 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.24 1997/12/08 22:51:18 curt
-// Enhanced to handle ccw and cw tri-stripe winding. This is a temporary
-// admission of defeat. I will eventually go back and get all the stripes
-// wound the same way (ccw).
-//
-// Revision 1.23 1997/11/25 19:25:37 curt
-// Changes to integrate Durk's moon/sun code updates + clean up.
-//
-// Revision 1.22 1997/10/28 21:00:22 curt
-// Changing to new terrain format.
-//
-// Revision 1.21 1997/10/25 03:24:24 curt
-// Incorporated sun, moon, and star positioning code contributed by Durk Talsma.
-//
-// Revision 1.20 1997/10/25 03:18:27 curt
-// Incorporated sun, moon, and planet position and rendering code contributed
-// by Durk Talsma.
-//
-// Revision 1.19 1997/09/05 14:17:30 curt
-// More tweaking with stars.
-//
-// Revision 1.18 1997/09/05 01:35:59 curt
-// Working on getting stars right.
-//
-// Revision 1.17 1997/08/29 17:55:27 curt
-// Worked on properly aligning the stars.
-//
-// Revision 1.16 1997/08/27 21:32:29 curt
-// Restructured view calculation code. Added stars.
-//
-// Revision 1.15 1997/08/27 03:30:32 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.14 1997/08/25 20:27:24 curt
-// Merged in initial HUD and Joystick code.
-//
-// Revision 1.13 1997/08/22 21:34:41 curt
-// Doing a bit of reorganizing and house cleaning.
-//
-// Revision 1.12 1997/08/19 23:55:08 curt
-// Worked on better simulating real lighting.
-//
-// Revision 1.11 1997/08/13 20:24:22 curt
-// Changed default detail level.
-//
-// Revision 1.10 1997/08/06 00:24:30 curt
-// Working on correct real time sun lighting.
-//
-// Revision 1.9 1997/08/04 17:08:11 curt
-// Testing cvs on IRIX 6.x
-//
-// Revision 1.8 1997/07/18 23:41:27 curt
-// Tweaks for building with Cygnus Win32 compiler.
-//
-// Revision 1.7 1997/07/16 20:04:52 curt
-// Minor tweaks to aid Win32 port.
-//
-// Revision 1.6 1997/07/14 16:26:05 curt
-// Testing/playing -- placed objects randomly across the entire terrain.
-//
-// Revision 1.5 1997/07/11 03:23:19 curt
-// Solved some scenery display/orientation problems. Still have a positioning
-// (or transformation?) problem.
-//
-// Revision 1.4 1997/07/11 01:30:03 curt
-// More tweaking of terrian floor.
-//
-// Revision 1.3 1997/06/29 21:16:50 curt
-// More twiddling with the Scenery Management system.
-//
-// Revision 1.2 1997/06/27 20:03:37 curt
-// Working on Makefile structure.
-//
-// Revision 1.1 1997/06/27 02:26:30 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _SCENERY_HXX
#endif // _SCENERY_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.6 1998/10/16 23:27:59 curt
-// C++-ifying.
-//
-// Revision 1.5 1998/10/16 00:55:44 curt
-// Converted to Point3D class.
-//
-// Revision 1.4 1998/07/12 03:18:28 curt
-// Added ground collision detection. This involved:
-// - saving the entire vertex list for each tile with the tile records.
-// - saving the face list for each fragment with the fragment records.
-// - code to intersect the current vertical line with the proper face in
-// an efficient manner as possible.
-// Fixed a bug where the tiles weren't being shifted to "near" (0,0,0)
-//
-// Revision 1.3 1998/07/08 14:47:22 curt
-// Fix GL_MODULATE vs. GL_DECAL problem introduced by splash screen.
-// polare3d.h renamed to polar3d.hxx
-// fg{Cartesian,Polar}Point3d consolodated.
-// Added some initial support for calculating local current ground elevation.
-//
-// Revision 1.2 1998/05/02 01:52:16 curt
-// Playing around with texture coordinates.
-//
-// Revision 1.1 1998/04/30 12:35:31 curt
-// Added a command line rendering option specify smooth/flat shading.
-//
-// Revision 1.21 1998/04/25 22:06:31 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.20 1998/04/22 13:22:45 curt
-// C++ - ifing the code a bit.
-//
-// Revision 1.19 1998/04/21 17:02:43 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.18 1998/03/14 00:30:51 curt
-// Beginning initial terrain texturing experiments.
-//
-// Revision 1.17 1998/02/20 00:16:24 curt
-// Thursday's tweaks.
-//
-// Revision 1.16 1998/01/27 00:48:03 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.15 1998/01/22 02:59:41 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.14 1998/01/19 19:27:17 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.13 1998/01/19 18:40:38 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.12 1997/12/15 23:55:03 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.11 1997/12/10 22:37:52 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.10 1997/09/04 02:17:37 curt
-// Shufflin' stuff.
-//
-// Revision 1.9 1997/08/27 03:30:33 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.8 1997/08/06 00:24:30 curt
-// Working on correct real time sun lighting.
-//
-// Revision 1.7 1997/07/23 21:52:27 curt
-// Put comments around the text after an #endif for increased portability.
-//
-// Revision 1.6 1997/07/11 01:30:03 curt
-// More tweaking of terrian floor.
-//
-// Revision 1.5 1997/06/26 22:14:57 curt
-// Beginning work on a scenery management system.
-//
-// Revision 1.4 1997/06/21 17:57:21 curt
-// directory shuffling ...
-//
-// Revision 1.2 1997/05/23 15:40:43 curt
-// Added GNU copyright headers.
-//
-// Revision 1.1 1997/05/16 16:07:07 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <Include/compiler.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.16 1999/03/25 19:03:24 curt
-// Converted to use new bucket routines.
-//
-// Revision 1.15 1999/03/02 01:03:29 curt
-// Tweaks for building with native SGI compilers.
-//
-// Revision 1.14 1999/02/02 20:13:40 curt
-// MSVC++ portability changes by Bernie Bright:
-//
-// Lib/Serial/serial.[ch]xx: Initial Windows support - incomplete.
-// Simulator/Astro/stars.cxx: typo? included <stdio> instead of <cstdio>
-// Simulator/Cockpit/hud.cxx: Added Standard headers
-// Simulator/Cockpit/panel.cxx: Redefinition of default parameter
-// Simulator/Flight/flight.cxx: Replaced cout with FG_LOG. Deleted <stdio.h>
-// Simulator/Main/fg_init.cxx:
-// Simulator/Main/GLUTmain.cxx:
-// Simulator/Main/options.hxx: Shuffled <fg_serial.hxx> dependency
-// Simulator/Objects/material.hxx:
-// Simulator/Time/timestamp.hxx: VC++ friend kludge
-// Simulator/Scenery/tile.[ch]xx: Fixed using std::X declarations
-// Simulator/Main/views.hxx: Added a constant
-//
-// Revision 1.13 1998/11/09 23:40:46 curt
-// Bernie Bright <bbright@c031.aone.net.au> writes:
-// I've made some changes to the Scenery handling. Basically just tidy ups.
-// The main difference is in tile.[ch]xx where I've changed list<fgFRAGMENT> to
-// vector<fgFRAGMENT>. Studying our usage patterns this seems reasonable.
-// Lists are good if you need to insert/delete elements randomly but we
-// don't do that. All access seems to be sequential. Two additional
-// benefits are smaller memory usage - each list element requires pointers
-// to the next and previous elements, and faster access - vector iterators
-// are smaller and faster than list iterators. This should also help
-// Charlie Hotchkiss' problem when compiling with Borland and STLport.
-//
-// ./Lib/Bucket/bucketutils.hxx
-// Convenience functions for fgBUCKET.
-//
-// ./Simulator/Scenery/tile.cxx
-// ./Simulator/Scenery/tile.hxx
-// Changed fragment list to a vector.
-// Added some convenience member functions.
-//
-// ./Simulator/Scenery/tilecache.cxx
-// ./Simulator/Scenery/tilecache.hxx
-// use const fgBUCKET& instead of fgBUCKET* where appropriate.
-//
-// ./Simulator/Scenery/tilemgr.cxx
-// ./Simulator/Scenery/tilemgr.hxx
-// uses all the new convenience functions.
-//
-// Revision 1.12 1998/10/16 00:55:45 curt
-// Converted to Point3D class.
-//
-// Revision 1.11 1998/09/02 14:37:08 curt
-// Use erase() instead of while ( size() ) pop_front();
-//
-// Revision 1.10 1998/08/25 16:52:42 curt
-// material.cxx material.hxx obj.cxx obj.hxx texload.c texload.h moved to
-// ../Objects
-//
-// Revision 1.9 1998/08/24 20:11:39 curt
-// Tweaks ...
-//
-// Revision 1.8 1998/08/22 14:49:58 curt
-// Attempting to iron out seg faults and crashes.
-// Did some shuffling to fix a initialization order problem between view
-// position, scenery elevation.
-//
-// Revision 1.7 1998/08/20 15:12:05 curt
-// Used a forward declaration of classes fgTILE and fgMATERIAL to eliminate
-// the need for "void" pointers and casts.
-// Quick hack to count the number of scenery polygons that are being drawn.
-//
-// Revision 1.6 1998/08/12 21:13:05 curt
-// material.cxx: don't load textures if they are disabled
-// obj.cxx: optimizations from Norman Vine
-// tile.cxx: minor tweaks
-// tile.hxx: addition of num_faces
-// tilemgr.cxx: minor tweaks
-//
-// Revision 1.5 1998/07/24 21:42:08 curt
-// material.cxx: whups, double method declaration with no definition.
-// obj.cxx: tweaks to avoid errors in SGI's CC.
-// tile.cxx: optimizations by Norman Vine.
-// tilemgr.cxx: optimizations by Norman Vine.
-//
-// Revision 1.4 1998/07/22 21:41:42 curt
-// Add basic fgFACE methods contributed by Charlie Hotchkiss.
-// intersect optimization from Norman Vine.
-//
-// Revision 1.3 1998/07/16 17:34:24 curt
-// Ground collision detection optimizations contributed by Norman Vine.
-//
-// Revision 1.2 1998/07/12 03:18:28 curt
-// Added ground collision detection. This involved:
-// - saving the entire vertex list for each tile with the tile records.
-// - saving the face list for each fragment with the fragment records.
-// - code to intersect the current vertical line with the proper face in
-// an efficient manner as possible.
-// Fixed a bug where the tiles weren't being shifted to "near" (0,0,0)
-//
-// Revision 1.1 1998/05/23 14:09:21 curt
-// Added tile.cxx and tile.hxx.
-// Working on rewriting the tile management system so a tile is just a list
-// fragments, and the fragment record contains the display list for that fragment.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _TILE_HXX
#endif // _TILE_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.26 1999/03/25 19:03:25 curt
-// Converted to use new bucket routines.
-//
-// Revision 1.25 1999/03/02 01:03:30 curt
-// Tweaks for building with native SGI compilers.
-//
-// Revision 1.24 1999/02/26 22:10:02 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.23 1999/02/02 20:13:41 curt
-// MSVC++ portability changes by Bernie Bright:
-//
-// Lib/Serial/serial.[ch]xx: Initial Windows support - incomplete.
-// Simulator/Astro/stars.cxx: typo? included <stdio> instead of <cstdio>
-// Simulator/Cockpit/hud.cxx: Added Standard headers
-// Simulator/Cockpit/panel.cxx: Redefinition of default parameter
-// Simulator/Flight/flight.cxx: Replaced cout with FG_LOG. Deleted <stdio.h>
-// Simulator/Main/fg_init.cxx:
-// Simulator/Main/GLUTmain.cxx:
-// Simulator/Main/options.hxx: Shuffled <fg_serial.hxx> dependency
-// Simulator/Objects/material.hxx:
-// Simulator/Time/timestamp.hxx: VC++ friend kludge
-// Simulator/Scenery/tile.[ch]xx: Fixed using std::X declarations
-// Simulator/Main/views.hxx: Added a constant
-//
-// Revision 1.22 1998/12/03 01:18:16 curt
-// Converted fgFLIGHT to a class.
-// Tweaks for Sun Portability.
-// Tweaked current terrain elevation code as per NHV.
-//
-// Revision 1.21 1998/11/09 23:40:47 curt
-// Bernie Bright <bbright@c031.aone.net.au> writes:
-// I've made some changes to the Scenery handling. Basically just tidy ups.
-// The main difference is in tile.[ch]xx where I've changed list<fgFRAGMENT> to
-// vector<fgFRAGMENT>. Studying our usage patterns this seems reasonable.
-// Lists are good if you need to insert/delete elements randomly but we
-// don't do that. All access seems to be sequential. Two additional
-// benefits are smaller memory usage - each list element requires pointers
-// to the next and previous elements, and faster access - vector iterators
-// are smaller and faster than list iterators. This should also help
-// Charlie Hotchkiss' problem when compiling with Borland and STLport.
-//
-// ./Lib/Bucket/bucketutils.hxx
-// Convenience functions for fgBUCKET.
-//
-// ./Simulator/Scenery/tile.cxx
-// ./Simulator/Scenery/tile.hxx
-// Changed fragment list to a vector.
-// Added some convenience member functions.
-//
-// ./Simulator/Scenery/tilecache.cxx
-// ./Simulator/Scenery/tilecache.hxx
-// use const fgBUCKET& instead of fgBUCKET* where appropriate.
-//
-// ./Simulator/Scenery/tilemgr.cxx
-// ./Simulator/Scenery/tilemgr.hxx
-// uses all the new convenience functions.
-//
-// Revision 1.20 1998/10/16 00:55:46 curt
-// Converted to Point3D class.
-//
-// Revision 1.19 1998/09/17 18:36:17 curt
-// Tweaks and optimizations by Norman Vine.
-//
-// Revision 1.18 1998/08/25 16:52:42 curt
-// material.cxx material.hxx obj.cxx obj.hxx texload.c texload.h moved to
-// ../Objects
-//
-// Revision 1.17 1998/08/22 14:49:58 curt
-// Attempting to iron out seg faults and crashes.
-// Did some shuffling to fix a initialization order problem between view
-// position, scenery elevation.
-//
-// Revision 1.16 1998/08/22 02:01:34 curt
-// increased fragment list size.
-//
-// Revision 1.15 1998/08/20 15:12:06 curt
-// Used a forward declaration of classes fgTILE and fgMATERIAL to eliminate
-// the need for "void" pointers and casts.
-// Quick hack to count the number of scenery polygons that are being drawn.
-//
-// Revision 1.14 1998/08/12 21:13:06 curt
-// material.cxx: don't load textures if they are disabled
-// obj.cxx: optimizations from Norman Vine
-// tile.cxx: minor tweaks
-// tile.hxx: addition of num_faces
-// tilemgr.cxx: minor tweaks
-//
-// Revision 1.13 1998/07/24 21:42:08 curt
-// material.cxx: whups, double method declaration with no definition.
-// obj.cxx: tweaks to avoid errors in SGI's CC.
-// tile.cxx: optimizations by Norman Vine.
-// tilemgr.cxx: optimizations by Norman Vine.
-//
-// Revision 1.12 1998/07/22 21:41:42 curt
-// Add basic fgFACE methods contributed by Charlie Hotchkiss.
-// intersect optimization from Norman Vine.
-//
-// Revision 1.11 1998/07/12 03:18:28 curt
-// Added ground collision detection. This involved:
-// - saving the entire vertex list for each tile with the tile records.
-// - saving the face list for each fragment with the fragment records.
-// - code to intersect the current vertical line with the proper face in
-// an efficient manner as possible.
-// Fixed a bug where the tiles weren't being shifted to "near" (0,0,0)
-//
-// Revision 1.10 1998/07/08 14:47:22 curt
-// Fix GL_MODULATE vs. GL_DECAL problem introduced by splash screen.
-// polare3d.h renamed to polar3d.hxx
-// fg{Cartesian,Polar}Point3d consolodated.
-// Added some initial support for calculating local current ground elevation.
-//
-// Revision 1.9 1998/07/06 21:34:34 curt
-// Added using namespace std for compilers that support this.
-//
-// Revision 1.8 1998/07/04 00:54:30 curt
-// Added automatic mipmap generation.
-//
-// When rendering fragments, use saved model view matrix from associated tile
-// rather than recalculating it with push() translate() pop().
-//
-// Revision 1.7 1998/06/12 00:58:05 curt
-// Build only static libraries.
-// Declare memmove/memset for Sloaris.
-//
-// Revision 1.6 1998/06/08 17:57:54 curt
-// Working first pass at material proporty sorting.
-//
-// Revision 1.5 1998/06/06 01:09:32 curt
-// I goofed on the log message in the last commit ... now fixed.
-//
-// Revision 1.4 1998/06/06 01:07:18 curt
-// Increased per material fragment list size from 100 to 400.
-// Now correctly draw viewable fragments in per material order.
-//
-// Revision 1.3 1998/06/05 22:39:54 curt
-// Working on sorting by, and rendering by material properties.
-//
-// Revision 1.2 1998/06/03 00:47:50 curt
-// No .h for STL includes.
-// Minor view culling optimizations.
-//
-// Revision 1.1 1998/05/23 14:09:21 curt
-// Added tile.cxx and tile.hxx.
-// Working on rewriting the tile management system so a tile is just a list
-// fragments, and the fragment record contains the display list for that fragment.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.23 1999/03/25 19:03:26 curt
-// Converted to use new bucket routines.
-//
-// Revision 1.22 1999/02/26 22:10:04 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.21 1998/12/09 18:50:32 curt
-// Converted "class fgVIEW" to "class FGView" and updated to make data
-// members private and make required accessor functions.
-//
-// Revision 1.20 1998/11/09 23:40:49 curt
-// Bernie Bright <bbright@c031.aone.net.au> writes:
-// I've made some changes to the Scenery handling. Basically just tidy ups.
-// The main difference is in tile.[ch]xx where I've changed list<fgFRAGMENT> to
-// vector<fgFRAGMENT>. Studying our usage patterns this seems reasonable.
-// Lists are good if you need to insert/delete elements randomly but we
-// don't do that. All access seems to be sequential. Two additional
-// benefits are smaller memory usage - each list element requires pointers
-// to the next and previous elements, and faster access - vector iterators
-// are smaller and faster than list iterators. This should also help
-// Charlie Hotchkiss' problem when compiling with Borland and STLport.
-//
-// ./Lib/Bucket/bucketutils.hxx
-// Convenience functions for fgBUCKET.
-//
-// ./Simulator/Scenery/tile.cxx
-// ./Simulator/Scenery/tile.hxx
-// Changed fragment list to a vector.
-// Added some convenience member functions.
-//
-// ./Simulator/Scenery/tilecache.cxx
-// ./Simulator/Scenery/tilecache.hxx
-// use const fgBUCKET& instead of fgBUCKET* where appropriate.
-//
-// ./Simulator/Scenery/tilemgr.cxx
-// ./Simulator/Scenery/tilemgr.hxx
-// uses all the new convenience functions.
-//
-// Revision 1.19 1998/11/06 21:18:21 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.18 1998/10/16 18:12:28 curt
-// Fixed a bug in the conversion to Point3D.
-//
-// Revision 1.17 1998/10/16 00:55:48 curt
-// Converted to Point3D class.
-//
-// Revision 1.16 1998/09/14 12:45:23 curt
-// minor tweaks.
-//
-// Revision 1.15 1998/08/27 17:02:10 curt
-// Contributions from Bernie Bright <bbright@c031.aone.net.au>
-// - use strings for fg_root and airport_id and added methods to return
-// them as strings,
-// - inlined all access methods,
-// - made the parsing functions private methods,
-// - deleted some unused functions.
-// - propogated some of these changes out a bit further.
-//
-// Revision 1.14 1998/08/25 16:52:43 curt
-// material.cxx material.hxx obj.cxx obj.hxx texload.c texload.h moved to
-// ../Objects
-//
-// Revision 1.13 1998/07/13 21:02:00 curt
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.12 1998/07/12 03:18:29 curt
-// Added ground collision detection. This involved:
-// - saving the entire vertex list for each tile with the tile records.
-// - saving the face list for each fragment with the fragment records.
-// - code to intersect the current vertical line with the proper face in
-// an efficient manner as possible.
-// Fixed a bug where the tiles weren't being shifted to "near" (0,0,0)
-//
-// Revision 1.11 1998/07/04 00:54:30 curt
-// Added automatic mipmap generation.
-//
-// When rendering fragments, use saved model view matrix from associated tile
-// rather than recalculating it with push() translate() pop().
-//
-// Revision 1.10 1998/05/23 14:09:22 curt
-// Added tile.cxx and tile.hxx.
-// Working on rewriting the tile management system so a tile is just a list
-// fragments, and the fragment record contains the display list for that fragment.
-//
-// Revision 1.9 1998/05/20 20:53:54 curt
-// Moved global ref point and radius (bounding sphere info, and offset) to
-// data file rather than calculating it on the fly.
-// Fixed polygon winding problem in scenery generation stage rather than
-// compensating for it on the fly.
-// Made a fgTILECACHE class.
-//
-// Revision 1.8 1998/05/16 13:09:57 curt
-// Beginning to add support for view frustum culling.
-// Added some temporary code to calculate bouding radius, until the
-// scenery generation tools and scenery can be updated.
-//
-// Revision 1.7 1998/05/13 18:26:41 curt
-// Root path info moved to fgOPTIONS.
-//
-// Revision 1.6 1998/05/02 01:52:17 curt
-// Playing around with texture coordinates.
-//
-// Revision 1.5 1998/04/30 12:35:31 curt
-// Added a command line rendering option specify smooth/flat shading.
-//
-// Revision 1.4 1998/04/28 01:21:43 curt
-// Tweaked texture parameter calculations to keep the number smaller. This
-// avoids the "swimming" problem.
-// Type-ified fgTIME and fgVIEW.
-//
-// Revision 1.3 1998/04/25 22:06:32 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.2 1998/04/24 00:51:08 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Tweaked the scenery file extentions to be "file.obj" (uncompressed)
-// or "file.obz" (compressed.)
-//
-// Revision 1.1 1998/04/22 13:22:46 curt
-// C++ - ifing the code a bit.
-//
-// Revision 1.11 1998/04/18 04:14:07 curt
-// Moved fg_debug.c to it's own library.
-//
-// Revision 1.10 1998/04/14 02:23:17 curt
-// Code reorganizations. Added a Lib/ directory for more general libraries.
-//
-// Revision 1.9 1998/04/08 23:30:07 curt
-// Adopted Gnu automake/autoconf system.
-//
-// Revision 1.8 1998/04/03 22:11:38 curt
-// Converting to Gnu autoconf system.
-//
-// Revision 1.7 1998/02/01 03:39:55 curt
-// Minor tweaks.
-//
-// Revision 1.6 1998/01/31 00:43:26 curt
-// Added MetroWorks patches from Carmen Volpe.
-//
-// Revision 1.5 1998/01/29 00:51:39 curt
-// First pass at tile cache, dynamic tile loading and tile unloading now works.
-//
-// Revision 1.4 1998/01/27 03:26:43 curt
-// Playing with new fgPrintf command.
-//
-// Revision 1.3 1998/01/27 00:48:03 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.2 1998/01/26 15:55:24 curt
-// Progressing on building dynamic scenery system.
-//
-// Revision 1.1 1998/01/24 00:03:29 curt
-// Initial revision.
-
-
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _TILECACHE_HXX
#endif // _TILECACHE_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.14 1999/03/25 19:03:27 curt
-// Converted to use new bucket routines.
-//
-// Revision 1.13 1998/11/09 23:40:51 curt
-// Bernie Bright <bbright@c031.aone.net.au> writes:
-// I've made some changes to the Scenery handling. Basically just tidy ups.
-// The main difference is in tile.[ch]xx where I've changed list<fgFRAGMENT> to
-// vector<fgFRAGMENT>. Studying our usage patterns this seems reasonable.
-// Lists are good if you need to insert/delete elements randomly but we
-// don't do that. All access seems to be sequential. Two additional
-// benefits are smaller memory usage - each list element requires pointers
-// to the next and previous elements, and faster access - vector iterators
-// are smaller and faster than list iterators. This should also help
-// Charlie Hotchkiss' problem when compiling with Borland and STLport.
-//
-// ./Lib/Bucket/bucketutils.hxx
-// Convenience functions for fgBUCKET.
-//
-// ./Simulator/Scenery/tile.cxx
-// ./Simulator/Scenery/tile.hxx
-// Changed fragment list to a vector.
-// Added some convenience member functions.
-//
-// ./Simulator/Scenery/tilecache.cxx
-// ./Simulator/Scenery/tilecache.hxx
-// use const fgBUCKET& instead of fgBUCKET* where appropriate.
-//
-// ./Simulator/Scenery/tilemgr.cxx
-// ./Simulator/Scenery/tilemgr.hxx
-// uses all the new convenience functions.
-//
-// Revision 1.12 1998/10/16 00:55:49 curt
-// Converted to Point3D class.
-//
-// Revision 1.11 1998/09/14 12:45:25 curt
-// minor tweaks.
-//
-// Revision 1.10 1998/07/04 00:54:31 curt
-// Added automatic mipmap generation.
-//
-// When rendering fragments, use saved model view matrix from associated tile
-// rather than recalculating it with push() translate() pop().
-//
-// Revision 1.9 1998/05/23 14:09:22 curt
-// Added tile.cxx and tile.hxx.
-// Working on rewriting the tile management system so a tile is just a list
-// fragments, and the fragment record contains the display list for that fragment.
-//
-// Revision 1.8 1998/05/20 20:53:54 curt
-// Moved global ref point and radius (bounding sphere info, and offset) to
-// data file rather than calculating it on the fly.
-// Fixed polygon winding problem in scenery generation stage rather than
-// compensating for it on the fly.
-// Made a fgTILECACHE class.
-//
-// Revision 1.7 1998/05/16 13:09:57 curt
-// Beginning to add support for view frustum culling.
-// Added some temporary code to calculate bouding radius, until the
-// scenery generation tools and scenery can be updated.
-//
-// Revision 1.6 1998/05/07 23:15:20 curt
-// Fixed a glTexImage2D() usage bug where width and height were mis-swapped.
-// Added support for --tile-radius=n option.
-//
-// Revision 1.5 1998/05/02 01:52:17 curt
-// Playing around with texture coordinates.
-//
-// Revision 1.4 1998/04/30 12:35:31 curt
-// Added a command line rendering option specify smooth/flat shading.
-//
-// Revision 1.3 1998/04/25 22:06:32 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.2 1998/04/24 00:51:08 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Tweaked the scenery file extentions to be "file.obj" (uncompressed)
-// or "file.obz" (compressed.)
-//
-// Revision 1.1 1998/04/22 13:22:47 curt
-// C++ - ifing the code a bit.
-//
-// Revision 1.10 1998/04/21 17:02:45 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.9 1998/04/14 02:23:17 curt
-// Code reorganizations. Added a Lib/ directory for more general libraries.
-//
-// Revision 1.8 1998/04/08 23:30:08 curt
-// Adopted Gnu automake/autoconf system.
-//
-// Revision 1.7 1998/04/03 22:11:38 curt
-// Converting to Gnu autoconf system.
-//
-// Revision 1.6 1998/02/18 15:07:10 curt
-// Tweaks to build with SGI OpenGL (and therefor hopefully other accelerated
-// drivers will work.)
-//
-// Revision 1.5 1998/02/16 13:39:45 curt
-// Miscellaneous weekend tweaks. Fixed? a cache problem that caused whole
-// tiles to occasionally be missing.
-//
-// Revision 1.4 1998/01/31 00:43:27 curt
-// Added MetroWorks patches from Carmen Volpe.
-//
-// Revision 1.3 1998/01/29 00:51:40 curt
-// First pass at tile cache, dynamic tile loading and tile unloading now works.
-//
-// Revision 1.2 1998/01/27 00:48:04 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.1 1998/01/24 00:03:29 curt
-// Initial revision.
-
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.55 1999/03/25 19:03:28 curt
-// Converted to use new bucket routines.
-//
-// Revision 1.54 1999/02/26 22:10:05 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.53 1999/02/05 21:29:16 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.52 1999/01/27 04:49:48 curt
-// Fixes so that the sim can start out at an airport below sea level.
-//
-// Revision 1.51 1998/12/09 18:50:33 curt
-// Converted "class fgVIEW" to "class FGView" and updated to make data
-// members private and make required accessor functions.
-//
-// Revision 1.50 1998/12/06 13:51:25 curt
-// Turned "struct fgWEATHER" into "class FGWeather".
-//
-// Revision 1.49 1998/12/05 15:54:26 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.48 1998/12/05 14:20:21 curt
-// Looking into a terrain intersection problem.
-//
-// Revision 1.47 1998/12/05 14:11:19 curt
-// Sun portability tweak.
-//
-// Revision 1.46 1998/12/03 14:15:24 curt
-// Actually set the current scenery elevation based on scenery intersection point
-// rather than calculating the intesection point and throwing it away.
-//
-// Revision 1.45 1998/12/03 01:18:18 curt
-// Converted fgFLIGHT to a class.
-// Tweaks for Sun Portability.
-// Tweaked current terrain elevation code as per NHV.
-//
-// Revision 1.44 1998/11/23 21:49:48 curt
-// minor tweaks.
-//
-// Revision 1.43 1998/11/09 23:40:52 curt
-// Bernie Bright <bbright@c031.aone.net.au> writes:
-// I've made some changes to the Scenery handling. Basically just tidy ups.
-// The main difference is in tile.[ch]xx where I've changed list<fgFRAGMENT> to
-// vector<fgFRAGMENT>. Studying our usage patterns this seems reasonable.
-// Lists are good if you need to insert/delete elements randomly but we
-// don't do that. All access seems to be sequential. Two additional
-// benefits are smaller memory usage - each list element requires pointers
-// to the next and previous elements, and faster access - vector iterators
-// are smaller and faster than list iterators. This should also help
-// Charlie Hotchkiss' problem when compiling with Borland and STLport.
-//
-// ./Lib/Bucket/bucketutils.hxx
-// Convenience functions for fgBUCKET.
-//
-// ./Simulator/Scenery/tile.cxx
-// ./Simulator/Scenery/tile.hxx
-// Changed fragment list to a vector.
-// Added some convenience member functions.
-//
-// ./Simulator/Scenery/tilecache.cxx
-// ./Simulator/Scenery/tilecache.hxx
-// use const fgBUCKET& instead of fgBUCKET* where appropriate.
-//
-// ./Simulator/Scenery/tilemgr.cxx
-// ./Simulator/Scenery/tilemgr.hxx
-// uses all the new convenience functions.
-//
-// Revision 1.42 1998/11/06 21:18:23 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.41 1998/10/18 01:17:23 curt
-// Point3D tweaks.
-//
-// Revision 1.40 1998/10/17 01:34:28 curt
-// C++ ifying ...
-//
-// Revision 1.39 1998/10/16 00:55:50 curt
-// Converted to Point3D class.
-//
-// Revision 1.38 1998/09/17 18:36:18 curt
-// Tweaks and optimizations by Norman Vine.
-//
-// Revision 1.37 1998/09/15 01:36:45 curt
-// cleaned up my fragment.num_faces hack :-) to use the STL (no need in
-// duplicating work.)
-// Tweaked fgTileMgrRender() do not calc tile matrix unless necessary.
-// removed some unneeded stuff from fgTileMgrCurElev()
-//
-// Revision 1.36 1998/09/14 12:45:26 curt
-// minor tweaks.
-//
-// Revision 1.35 1998/09/10 19:07:16 curt
-// /Simulator/Objects/fragment.hxx
-// Nested fgFACE inside fgFRAGMENT since its not used anywhere else.
-//
-// ./Simulator/Objects/material.cxx
-// ./Simulator/Objects/material.hxx
-// Made fgMATERIAL and fgMATERIAL_MGR bona fide classes with private
-// data members - that should keep the rabble happy :)
-//
-// ./Simulator/Scenery/tilemgr.cxx
-// In viewable() delay evaluation of eye[0] and eye[1] in until they're
-// actually needed.
-// Change to fgTileMgrRender() to call fgMATERIAL_MGR::render_fragments()
-// method.
-//
-// ./Include/fg_stl_config.h
-// ./Include/auto_ptr.hxx
-// Added support for g++ 2.7.
-// Further changes to other files are forthcoming.
-//
-// Brief summary of changes required for g++ 2.7.
-// operator->() not supported by iterators: use (*i).x instead of i->x
-// default template arguments not supported,
-// <functional> doesn't have mem_fun_ref() needed by callbacks.
-// some std include files have different names.
-// template member functions not supported.
-//
-// Revision 1.34 1998/09/09 20:58:09 curt
-// Tweaks to loop constructs with STL usage.
-//
-// Revision 1.33 1998/09/08 15:05:10 curt
-// Optimization by Norman Vine.
-//
-// Revision 1.32 1998/08/25 16:52:44 curt
-// material.cxx material.hxx obj.cxx obj.hxx texload.c texload.h moved to
-// ../Objects
-//
-// Revision 1.31 1998/08/24 20:11:40 curt
-// Tweaks ...
-//
-// Revision 1.30 1998/08/22 14:49:59 curt
-// Attempting to iron out seg faults and crashes.
-// Did some shuffling to fix a initialization order problem between view
-// position, scenery elevation.
-//
-// Revision 1.29 1998/08/20 15:12:06 curt
-// Used a forward declaration of classes fgTILE and fgMATERIAL to eliminate
-// the need for "void" pointers and casts.
-// Quick hack to count the number of scenery polygons that are being drawn.
-//
-// Revision 1.28 1998/08/12 21:13:06 curt
-// material.cxx: don't load textures if they are disabled
-// obj.cxx: optimizations from Norman Vine
-// tile.cxx: minor tweaks
-// tile.hxx: addition of num_faces
-// tilemgr.cxx: minor tweaks
-//
-// Revision 1.27 1998/07/24 21:42:09 curt
-// material.cxx: whups, double method declaration with no definition.
-// obj.cxx: tweaks to avoid errors in SGI's CC.
-// tile.cxx: optimizations by Norman Vine.
-// tilemgr.cxx: optimizations by Norman Vine.
-//
-// Revision 1.26 1998/07/20 12:51:26 curt
-// Added far clip plane to fragment clipping calculations and tie this to
-// weather->visibility. This way you can increase framerates by increasing
-// for and lowering visibility.
-//
-// Revision 1.25 1998/07/13 21:02:01 curt
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.24 1998/07/12 03:18:29 curt
-// Added ground collision detection. This involved:
-// - saving the entire vertex list for each tile with the tile records.
-// - saving the face list for each fragment with the fragment records.
-// - code to intersect the current vertical line with the proper face in
-// an efficient manner as possible.
-// Fixed a bug where the tiles weren't being shifted to "near" (0,0,0)
-//
-// Revision 1.23 1998/07/08 14:47:23 curt
-// Fix GL_MODULATE vs. GL_DECAL problem introduced by splash screen.
-// polare3d.h renamed to polar3d.hxx
-// fg{Cartesian,Polar}Point3d consolodated.
-// Added some initial support for calculating local current ground elevation.
-//
-// Revision 1.22 1998/07/04 00:54:31 curt
-// Added automatic mipmap generation.
-//
-// When rendering fragments, use saved model view matrix from associated tile
-// rather than recalculating it with push() translate() pop().
-//
-// Revision 1.21 1998/06/27 16:54:59 curt
-// Check for GL_VERSION_1_1 or GL_EXT_texture_object to decide whether to use
-// "EXT" versions of texture management routines.
-//
-// Revision 1.20 1998/06/17 21:36:42 curt
-// Load and manage multiple textures defined in the Materials library.
-// Boost max material fagments for each material property to 800.
-// Multiple texture support when rendering.
-//
-// Revision 1.19 1998/06/08 17:57:54 curt
-// Working first pass at material proporty sorting.
-//
-// Revision 1.18 1998/06/06 01:09:32 curt
-// I goofed on the log message in the last commit ... now fixed.
-//
-// Revision 1.17 1998/06/06 01:07:18 curt
-// Increased per material fragment list size from 100 to 400.
-// Now correctly draw viewable fragments in per material order.
-//
-// Revision 1.16 1998/06/05 22:39:55 curt
-// Working on sorting by, and rendering by material properties.
-//
-// Revision 1.15 1998/06/03 00:47:51 curt
-// No .h for STL includes.
-// Minor view culling optimizations.
-//
-// Revision 1.14 1998/06/01 17:56:20 curt
-// Incremental additions to material.cxx (not fully functional)
-// Tweaked vfc_ratio math to avoid divide by zero.
-//
-// Revision 1.13 1998/05/24 02:49:10 curt
-// Implimented fragment level view frustum culling.
-//
-// Revision 1.12 1998/05/23 14:09:23 curt
-// Added tile.cxx and tile.hxx.
-// Working on rewriting the tile management system so a tile is just a list
-// fragments, and the fragment record contains the display list for that fragment.
-//
-// Revision 1.11 1998/05/20 20:53:55 curt
-// Moved global ref point and radius (bounding sphere info, and offset) to
-// data file rather than calculating it on the fly.
-// Fixed polygon winding problem in scenery generation stage rather than
-// compensating for it on the fly.
-// Made a fgTILECACHE class.
-//
-// Revision 1.10 1998/05/17 16:59:34 curt
-// Frist pass at view frustum culling now operational.
-//
-// Revision 1.9 1998/05/16 13:09:58 curt
-// Beginning to add support for view frustum culling.
-// Added some temporary code to calculate bouding radius, until the
-// scenery generation tools and scenery can be updated.
-//
-// Revision 1.8 1998/05/07 23:15:21 curt
-// Fixed a glTexImage2D() usage bug where width and height were mis-swapped.
-// Added support for --tile-radius=n option.
-//
-// Revision 1.7 1998/05/06 03:16:42 curt
-// Added an option to control square tile radius.
-//
-// Revision 1.6 1998/05/02 01:52:18 curt
-// Playing around with texture coordinates.
-//
-// Revision 1.5 1998/04/30 12:35:32 curt
-// Added a command line rendering option specify smooth/flat shading.
-//
-// Revision 1.4 1998/04/27 03:30:14 curt
-// Minor transformation adjustments to try to keep scenery tiles closer to
-// (0, 0, 0) GLfloats run out of precision at the distances we need to model
-// the earth, but we can do a bunch of pre-transformations using double math
-// and then cast to GLfloat once everything is close in where we have less
-// precision problems.
-//
-// Revision 1.3 1998/04/25 22:06:32 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.2 1998/04/24 00:51:09 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Tweaked the scenery file extentions to be "file.obj" (uncompressed)
-// or "file.obz" (compressed.)
-//
-// Revision 1.1 1998/04/22 13:22:48 curt
-// C++ - ifing the code a bit.
-//
-// Revision 1.25 1998/04/18 04:14:07 curt
-// Moved fg_debug.c to it's own library.
-//
-// Revision 1.24 1998/04/14 02:23:18 curt
-// Code reorganizations. Added a Lib/ directory for more general libraries.
-//
-// Revision 1.23 1998/04/08 23:30:08 curt
-// Adopted Gnu automake/autoconf system.
-//
-// Revision 1.22 1998/04/03 22:11:38 curt
-// Converting to Gnu autoconf system.
-//
-// Revision 1.21 1998/03/23 21:23:05 curt
-// Debugging output tweaks.
-//
-// Revision 1.20 1998/03/14 00:30:51 curt
-// Beginning initial terrain texturing experiments.
-//
-// Revision 1.19 1998/02/20 00:16:25 curt
-// Thursday's tweaks.
-//
-// Revision 1.18 1998/02/19 13:05:54 curt
-// Incorporated some HUD tweaks from Michelle America.
-// Tweaked the sky's sunset/rise colors.
-// Other misc. tweaks.
-//
-// Revision 1.17 1998/02/16 13:39:46 curt
-// Miscellaneous weekend tweaks. Fixed? a cache problem that caused whole
-// tiles to occasionally be missing.
-//
-// Revision 1.16 1998/02/12 21:59:53 curt
-// Incorporated code changes contributed by Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.14 1998/02/09 21:30:19 curt
-// Fixed a nagging problem with terrain tiles not "quite" matching up perfectly.
-//
-// Revision 1.13 1998/02/07 15:29:46 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.12 1998/02/01 03:39:55 curt
-// Minor tweaks.
-//
-// Revision 1.11 1998/01/31 00:43:27 curt
-// Added MetroWorks patches from Carmen Volpe.
-//
-// Revision 1.10 1998/01/29 00:51:40 curt
-// First pass at tile cache, dynamic tile loading and tile unloading now works.
-//
-// Revision 1.9 1998/01/27 03:26:44 curt
-// Playing with new fgPrintf command.
-//
-// Revision 1.8 1998/01/27 00:48:04 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.7 1998/01/26 15:55:25 curt
-// Progressing on building dynamic scenery system.
-//
-// Revision 1.6 1998/01/24 00:03:30 curt
-// Initial revision.
-//
-// Revision 1.5 1998/01/19 19:27:18 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.4 1998/01/19 18:40:38 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.3 1998/01/13 00:23:11 curt
-// Initial changes to support loading and management of scenery tiles. Note,
-// there's still a fair amount of work left to be done.
-//
-// Revision 1.2 1998/01/08 02:22:27 curt
-// Continue working on basic features.
-//
-// Revision 1.1 1998/01/07 23:50:51 curt
-// "area" renamed to "tile"
-//
-// Revision 1.2 1998/01/07 03:29:29 curt
-// Given an arbitrary lat/lon, we can now:
-// generate a unique index for the chunk containing the lat/lon
-// generate a path name to the chunk file
-// build a list of the indexes of all the nearby areas.
-//
-// Revision 1.1 1998/01/07 02:05:48 curt
-// Initial revision.
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _TILEMGR_HXX
#endif // _TILEMGR_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:49 curt
-// Initial revision
-//
-// Revision 1.8 1999/03/25 19:03:29 curt
-// Converted to use new bucket routines.
-//
-// Revision 1.7 1999/01/27 04:49:49 curt
-// Fixes so that the sim can start out at an airport below sea level.
-//
-// Revision 1.6 1998/12/03 01:18:19 curt
-// Converted fgFLIGHT to a class.
-// Tweaks for Sun Portability.
-// Tweaked current terrain elevation code as per NHV.
-//
-// Revision 1.5 1998/10/16 00:55:52 curt
-// Converted to Point3D class.
-//
-// Revision 1.4 1998/09/09 20:58:11 curt
-// Tweaks to loop constructs with STL usage.
-//
-// Revision 1.3 1998/08/22 14:49:59 curt
-// Attempting to iron out seg faults and crashes.
-// Did some shuffling to fix a initialization order problem between view
-// position, scenery elevation.
-//
-// Revision 1.2 1998/05/20 20:53:56 curt
-// Moved global ref point and radius (bounding sphere info, and offset) to
-// data file rather than calculating it on the fly.
-// Fixed polygon winding problem in scenery generation stage rather than
-// compensating for it on the fly.
-// Made a fgTILECACHE class.
-//
-// Revision 1.1 1998/04/22 13:22:49 curt
-// C++ - ifing the code a bit.
-//
-// Revision 1.6 1998/04/21 17:02:45 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.5 1998/02/12 21:59:53 curt
-// Incorporated code changes contributed by Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.4 1998/01/22 02:59:42 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.3 1998/01/19 18:40:38 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.2 1998/01/13 00:23:11 curt
-// Initial changes to support loading and management of scenery tiles. Note,
-// there's still a fair amount of work left to be done.
-//
-// Revision 1.1 1998/01/07 23:50:51 curt
-// "area" renamed to "tile"
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.17 1999/01/27 04:50:18 curt
-// Move sun/solaris specific stuff to compiler.h
-//
-// Revision 1.16 1999/01/21 20:14:18 curt
-// Sun portability hack.
-//
-// Revision 1.15 1999/01/09 13:37:42 curt
-// Convert fgTIMESTAMP to FGTimeStamp which holds usec instead of ms.
-//
-// Revision 1.14 1999/01/07 20:25:32 curt
-// Portability changes and updates from Bernie Bright.
-//
-// Revision 1.13 1998/12/04 01:32:46 curt
-// Converted "struct fg_timestamp" to "class fgTIMESTAMP" and added some
-// convenience inline operators.
-//
-// Revision 1.12 1998/11/23 21:49:07 curt
-// Borland portability tweaks.
-//
-// Revision 1.11 1998/11/09 23:41:51 curt
-// Log message clean ups.
-//
-// Revision 1.10 1998/11/07 19:07:13 curt
-// Enable release builds using the --without-logging option to the configure
-// script. Also a couple log message cleanups, plus some C to C++ comment
-// conversion.
-//
-// Revision 1.9 1998/11/06 21:18:24 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.8 1998/09/15 02:09:29 curt
-// Include/fg_callback.hxx
-// Moved code inline to stop g++ 2.7 from complaining.
-//
-// Simulator/Time/event.[ch]xx
-// Changed return type of fgEVENT::printStat(). void caused g++ 2.7 to
-// complain bitterly.
-//
-// Minor bugfix and changes.
-//
-// Simulator/Main/GLUTmain.cxx
-// Added missing type to idle_state definition - eliminates a warning.
-//
-// Simulator/Main/fg_init.cxx
-// Changes to airport lookup.
-//
-// Simulator/Main/options.cxx
-// Uses fg_gzifstream when loading config file.
-//
-// Revision 1.7 1998/08/29 13:11:31 curt
-// Bernie Bright writes:
-// I've created some new classes to enable pointers-to-functions and
-// pointers-to-class-methods to be treated like objects. These objects
-// can be registered with fgEVENT_MGR.
-//
-// File "Include/fg_callback.hxx" contains the callback class defns.
-//
-// Modified fgEVENT and fgEVENT_MGR to use the callback classes. Also
-// some minor tweaks to STL usage.
-//
-// Added file "Include/fg_stl_config.h" to deal with STL portability
-// issues. I've added an initial config for egcs (and probably gcc-2.8.x).
-// I don't have access to Visual C++ so I've left that for someone else.
-// This file is influenced by the stl_config.h file delivered with egcs.
-//
-// Added "Include/auto_ptr.hxx" which contains an implementation of the
-// STL auto_ptr class which is not provided in all STL implementations
-// and is needed to use the callback classes.
-//
-// Deleted fgLightUpdate() which was just a wrapper to call
-// fgLIGHT::Update().
-//
-// Modified fg_init.cxx to register two method callbacks in place of the
-// old wrapper functions.
-//
-// Revision 1.6 1998/08/20 15:12:26 curt
-// Tweak ...
-//
-// Revision 1.5 1998/06/12 00:59:52 curt
-// Build only static libraries.
-// Declare memmove/memset for Sloaris.
-// Rewrote fg_time.c routine to get LST start seconds to better handle
-// Solaris, and be easier to port, and understand the GMT vs. local
-// timezone issues.
-//
-// Revision 1.4 1998/06/05 18:18:12 curt
-// Incorporated some automake conditionals to try to support mktime() correctly
-// on a wider variety of platforms.
-// Added the declaration of memmove needed by the stl which apparently
-// solaris only defines for cc compilations and not for c++ (__STDC__)
-//
-// Revision 1.3 1998/05/22 21:14:53 curt
-// Rewrote event.cxx in C++ as a class using STL for the internal event list
-// and run queue this removes the arbitrary list sizes and makes things much
-// more dynamic. Because this is C++-classified we can now have multiple
-// event_tables if we'd ever want them.
-//
-// Revision 1.2 1998/04/25 22:06:33 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.1 1998/04/24 00:52:26 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Fog color fixes.
-// Separated out lighting calcs into their own file.
-//
-// Revision 1.13 1998/04/18 04:14:08 curt
-// Moved fg_debug.c to it's own library.
-//
-// Revision 1.12 1998/04/09 18:40:13 curt
-// We had unified some of the platform disparate time handling code, and
-// there was a bug in timesum() which calculated a new time stamp based on
-// the current time stamp + offset. This hosed the periodic event processing
-// logic because you'd never arrive at the time the event was scheduled for.
-// Sky updates and lighting changes are handled via this event mechanism so
-// they never changed ... it is fixed now.
-//
-// Revision 1.11 1998/04/03 22:12:55 curt
-// Converting to Gnu autoconf system.
-// Centralized time handling differences.
-//
-// Revision 1.10 1998/03/14 00:28:34 curt
-// replaced a printf() with an fgPrintf().
-//
-// Revision 1.9 1998/01/31 00:43:44 curt
-// Added MetroWorks patches from Carmen Volpe.
-//
-// Revision 1.8 1998/01/27 00:48:05 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.7 1998/01/19 19:27:19 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.6 1998/01/19 18:40:39 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.5 1998/01/06 01:20:27 curt
-// Tweaks to help building with MSVC++
-//
-// Revision 1.4 1997/12/31 17:46:50 curt
-// Tweaked fg_time.c to be able to use ftime() instead of gettimeofday()
-//
-// Revision 1.3 1997/12/30 22:22:42 curt
-// Further integration of event manager.
-//
-// Revision 1.2 1997/12/30 20:47:58 curt
-// Integrated new event manager with subsystem initializations.
-//
-// Revision 1.1 1997/12/30 04:19:22 curt
-// Initial revision.
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _EVENT_HXX
#endif // _EVENT_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.18 1999/03/02 01:03:33 curt
-// Tweaks for building with native SGI compilers.
-//
-// Revision 1.17 1999/02/26 22:10:08 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.16 1999/01/09 13:37:43 curt
-// Convert fgTIMESTAMP to FGTimeStamp which holds usec instead of ms.
-//
-// Revision 1.15 1999/01/07 20:25:33 curt
-// Portability changes and updates from Bernie Bright.
-//
-// Revision 1.14 1998/12/05 14:21:28 curt
-// Moved struct fg_timestamp to class fgTIMESTAMP and moved it's definition
-// to it's own file, timestamp.hxx.
-//
-// Revision 1.13 1998/12/04 01:32:47 curt
-// Converted "struct fg_timestamp" to "class fgTIMESTAMP" and added some
-// convenience inline operators.
-//
-// Revision 1.12 1998/10/16 00:56:08 curt
-// Converted to Point3D class.
-//
-// Revision 1.11 1998/09/15 02:09:30 curt
-// Include/fg_callback.hxx
-// Moved code inline to stop g++ 2.7 from complaining.
-//
-// Simulator/Time/event.[ch]xx
-// Changed return type of fgEVENT::printStat(). void caused g++ 2.7 to
-// complain bitterly.
-//
-// Minor bugfix and changes.
-//
-// Simulator/Main/GLUTmain.cxx
-// Added missing type to idle_state definition - eliminates a warning.
-//
-// Simulator/Main/fg_init.cxx
-// Changes to airport lookup.
-//
-// Simulator/Main/options.cxx
-// Uses fg_gzifstream when loading config file.
-//
-// Revision 1.10 1998/09/08 21:41:06 curt
-// Added constructor for fgEVENT.
-//
-// Revision 1.9 1998/09/02 14:37:45 curt
-// Renamed struct -> class.
-//
-// Revision 1.8 1998/08/29 13:11:32 curt
-// Bernie Bright writes:
-// I've created some new classes to enable pointers-to-functions and
-// pointers-to-class-methods to be treated like objects. These objects
-// can be registered with fgEVENT_MGR.
-//
-// File "Include/fg_callback.hxx" contains the callback class defns.
-//
-// Modified fgEVENT and fgEVENT_MGR to use the callback classes. Also
-// some minor tweaks to STL usage.
-//
-// Added file "Include/fg_stl_config.h" to deal with STL portability
-// issues. I've added an initial config for egcs (and probably gcc-2.8.x).
-// I don't have access to Visual C++ so I've left that for someone else.
-// This file is influenced by the stl_config.h file delivered with egcs.
-//
-// Added "Include/auto_ptr.hxx" which contains an implementation of the
-// STL auto_ptr class which is not provided in all STL implementations
-// and is needed to use the callback classes.
-//
-// Deleted fgLightUpdate() which was just a wrapper to call
-// fgLIGHT::Update().
-//
-// Modified fg_init.cxx to register two method callbacks in place of the
-// old wrapper functions.
-//
-// Revision 1.7 1998/07/30 23:48:54 curt
-// Sgi build tweaks.
-// Pause support.
-//
-// Revision 1.6 1998/07/24 21:42:25 curt
-// Output message tweaks.
-//
-// Revision 1.5 1998/07/13 21:02:07 curt
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.4 1998/06/12 00:59:52 curt
-// Build only static libraries.
-// Declare memmove/memset for Sloaris.
-// Rewrote fg_time.c routine to get LST start seconds to better handle
-// Solaris, and be easier to port, and understand the GMT vs. local
-// timezone issues.
-//
-// Revision 1.3 1998/06/03 00:48:12 curt
-// No .h for STL includes.
-//
-// Revision 1.2 1998/05/22 21:14:54 curt
-// Rewrote event.cxx in C++ as a class using STL for the internal event list
-// and run queue this removes the arbitrary list sizes and makes things much
-// more dynamic. Because this is C++-classified we can now have multiple
-// event_tables if we'd ever want them.
-//
-// Revision 1.1 1998/04/24 00:52:26 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Fog color fixes.
-// Separated out lighting calcs into their own file.
-//
-// Revision 1.4 1998/04/21 17:01:43 curt
-// Fixed a problems where a pointer to a function was being passed around. In
-// one place this functions arguments were defined as ( void ) while in another
-// place they were defined as ( int ). The correct answer was ( int ).
-//
-// Prepairing for C++ integration.
-//
-// Revision 1.3 1998/01/22 02:59:43 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.2 1998/01/19 18:40:39 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.1 1997/12/30 04:19:22 curt
-// Initial revision.
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.2 1999/04/06 16:58:34 curt
-// Clean ups and reorganizations:
-// - Additional Thanks entry
-// - more info on getting gfc library
-// - converted some C style comments to C++ style.
-//
-// Revision 1.1.1.1 1999/04/05 21:32:47 curt
-// Start of 0.6.x branch.
-//
-// Revision 1.32 1999/02/26 22:10:10 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.31 1999/02/05 21:29:18 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.30 1999/02/01 21:33:37 curt
-// Renamed FlightGear/Simulator/Flight to FlightGear/Simulator/FDM since
-// Jon accepted my offer to do this and thought it was a good idea.
-//
-// Revision 1.29 1999/01/19 20:57:08 curt
-// MacOS portability changes contributed by "Robert Puyol" <puyol@abvent.fr>
-//
-// Revision 1.28 1999/01/07 20:25:34 curt
-// Portability changes and updates from Bernie Bright.
-//
-// Revision 1.27 1998/12/11 20:26:55 curt
-// #include tweaks.
-//
-// Revision 1.26 1998/12/05 15:54:28 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.25 1998/12/05 14:21:30 curt
-// Moved struct fg_timestamp to class fgTIMESTAMP and moved it's definition
-// to it's own file, timestamp.hxx.
-//
-// Revision 1.24 1998/12/04 01:32:49 curt
-// Converted "struct fg_timestamp" to "class fgTIMESTAMP" and added some
-// convenience inline operators.
-//
-// Revision 1.23 1998/12/03 01:18:40 curt
-// Converted fgFLIGHT to a class.
-//
-// Revision 1.22 1998/11/16 14:00:28 curt
-// FG_LOG() message tweaks.
-//
-// Revision 1.21 1998/11/06 21:18:26 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.20 1998/11/02 18:25:38 curt
-// Check for __CYGWIN__ (b20) as well as __CYGWIN32__ (pre b20 compilers)
-// Other misc. tweaks.
-//
-// Revision 1.19 1998/10/17 01:34:29 curt
-// C++ ifying ...
-//
-// Revision 1.18 1998/10/02 21:36:09 curt
-// Fixes to try to break through the win95/98 18.3 fps barrier.
-//
-// Revision 1.17 1998/09/15 04:27:49 curt
-// Changes for new astro code.
-//
-// Revision 1.16 1998/08/29 13:11:32 curt
-// Bernie Bright writes:
-// I've created some new classes to enable pointers-to-functions and
-// pointers-to-class-methods to be treated like objects. These objects
-// can be registered with fgEVENT_MGR.
-//
-// File "Include/fg_callback.hxx" contains the callback class defns.
-//
-// Modified fgEVENT and fgEVENT_MGR to use the callback classes. Also
-// some minor tweaks to STL usage.
-//
-// Added file "Include/fg_stl_config.h" to deal with STL portability
-// issues. I've added an initial config for egcs (and probably gcc-2.8.x).
-// I don't have access to Visual C++ so I've left that for someone else.
-// This file is influenced by the stl_config.h file delivered with egcs.
-//
-// Added "Include/auto_ptr.hxx" which contains an implementation of the
-// STL auto_ptr class which is not provided in all STL implementations
-// and is needed to use the callback classes.
-//
-// Deleted fgLightUpdate() which was just a wrapper to call
-// fgLIGHT::Update().
-//
-// Modified fg_init.cxx to register two method callbacks in place of the
-// old wrapper functions.
-//
-// Revision 1.15 1998/08/24 20:12:16 curt
-// Rewrote sidereal_course with simpler parameters.
-//
-// Revision 1.14 1998/08/05 00:20:07 curt
-// Added a local routine to update lighting params every frame when time is
-// accelerated.
-//
-// Revision 1.13 1998/07/30 23:48:55 curt
-// Sgi build tweaks.
-// Pause support.
-//
-// Revision 1.12 1998/07/27 18:42:22 curt
-// Added a pause option.
-//
-// Revision 1.11 1998/07/22 21:45:37 curt
-// fg_time.cxx: Removed call to ctime() in a printf() which should be harmless
-// but seems to be triggering a bug.
-// light.cxx: Added code to adjust fog color based on sunrise/sunset effects
-// and view orientation. This is an attempt to match the fog color to the
-// sky color in the center of the screen. You see discrepancies at the
-// edges, but what else can be done?
-// sunpos.cxx: Caculate local direction to sun here. (what compass direction
-// do we need to face to point directly at sun)
-//
-// Revision 1.10 1998/07/13 21:02:07 curt
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.9 1998/06/12 00:59:53 curt
-// Build only static libraries.
-// Declare memmove/memset for Sloaris.
-// Rewrote fg_time.c routine to get LST start seconds to better handle
-// Solaris, and be easier to port, and understand the GMT vs. local
-// timezone issues.
-//
-// Revision 1.8 1998/06/05 18:18:13 curt
-// Incorporated some automake conditionals to try to support mktime() correctly
-// on a wider variety of platforms.
-// Added the declaration of memmove needed by the stl which apparently
-// solaris only defines for cc compilations and not for c++ (__STDC__)
-//
-// Revision 1.7 1998/05/30 01:57:25 curt
-// misc updates.
-//
-// Revision 1.6 1998/05/02 01:53:17 curt
-// Fine tuning mktime() support because of varying behavior on different
-// platforms.
-//
-// Revision 1.5 1998/04/28 21:45:34 curt
-// Fixed a horible bug that cause the time to be *WAY* off when compiling
-// with the CygWin32 compiler. This may not yet completely address other
-// Win32 compilers, but we'll have to take them on a case by case basis.
-//
-// Revision 1.4 1998/04/28 01:22:16 curt
-// Type-ified fgTIME and fgVIEW.
-//
-// Revision 1.3 1998/04/25 22:06:33 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.2 1998/04/25 20:24:02 curt
-// Cleaned up initialization sequence to eliminate interdependencies
-// between sun position, lighting, and view position. This creates a
-// valid single pass initialization path.
-//
-// Revision 1.1 1998/04/24 00:52:27 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Fog color fixes.
-// Separated out lighting calcs into their own file.
-//
-// Revision 1.41 1998/04/22 13:24:05 curt
-// C++ - ifiing the code a bit.
-// Starting to reorginize some of the lighting calcs to use a table lookup.
-//
-// Revision 1.40 1998/04/18 04:14:09 curt
-// Moved fg_debug.c to it's own library.
-//
-// Revision 1.39 1998/04/09 18:40:14 curt
-// We had unified some of the platform disparate time handling code, and
-// there was a bug in timesum() which calculated a new time stamp based on
-// the current time stamp + offset. This hosed the periodic event processing
-// logic because you'd never arrive at the time the event was scheduled for.
-// Sky updates and lighting changes are handled via this event mechanism so
-// they never changed ... it is fixed now.
-//
-// Revision 1.38 1998/04/08 23:35:40 curt
-// Tweaks to Gnu automake/autoconf system.
-//
-// Revision 1.37 1998/04/03 22:12:55 curt
-// Converting to Gnu autoconf system.
-// Centralized time handling differences.
-//
-// Revision 1.36 1998/03/09 22:48:09 curt
-// Debug message tweaks.
-//
-// Revision 1.35 1998/02/09 15:07:52 curt
-// Minor tweaks.
-//
-// Revision 1.34 1998/02/07 15:29:47 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.33 1998/02/02 20:54:04 curt
-// Incorporated Durk's changes.
-//
-// Revision 1.32 1998/02/01 03:39:56 curt
-// Minor tweaks.
-//
-// Revision 1.31 1998/01/27 00:48:06 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.30 1998/01/21 21:11:35 curt
-// Misc. tweaks.
-//
-// Revision 1.29 1998/01/19 19:27:20 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.28 1998/01/19 18:35:49 curt
-// Minor tweaks and fixes for cygwin32.
-//
-// Revision 1.27 1998/01/13 00:23:13 curt
-// Initial changes to support loading and management of scenery tiles. Note,
-// there's still a fair amount of work left to be done.
-//
-// Revision 1.26 1998/01/05 18:44:36 curt
-// Add an option to advance/decrease time from keyboard.
-//
-// Revision 1.25 1997/12/31 17:46:50 curt
-// Tweaked fg_time.c to be able to use ftime() instead of gettimeofday()
-//
-// Revision 1.24 1997/12/30 22:22:42 curt
-// Further integration of event manager.
-//
-// Revision 1.23 1997/12/30 20:47:58 curt
-// Integrated new event manager with subsystem initializations.
-//
-// Revision 1.22 1997/12/30 01:38:47 curt
-// Switched back to per vertex normals and smooth shading for terrain.
-//
-// Revision 1.21 1997/12/23 04:58:39 curt
-// Tweaked the sky coloring a bit to build in structures to allow finer rgb
-// control.
-//
-// Revision 1.20 1997/12/15 23:55:06 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.19 1997/12/15 20:59:10 curt
-// Misc. tweaks.
-//
-// Revision 1.18 1997/12/12 21:41:31 curt
-// More light/material property tweaking ... still a ways off.
-//
-// Revision 1.17 1997/12/12 19:53:04 curt
-// Working on lightling and material properties.
-//
-// Revision 1.16 1997/12/11 04:43:57 curt
-// Fixed sun vector and lighting problems. I thing the moon is now lit
-// correctly.
-//
-// Revision 1.15 1997/12/10 22:37:54 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.14 1997/12/10 01:19:52 curt
-// Tweaks for verion 0.15 release.
-//
-// Revision 1.13 1997/12/09 05:11:56 curt
-// Working on tweaking lighting.
-//
-// Revision 1.12 1997/12/09 04:25:37 curt
-// Working on adding a global lighting params structure.
-//
-// Revision 1.11 1997/11/25 19:25:40 curt
-// Changes to integrate Durk's moon/sun code updates + clean up.
-//
-// Revision 1.10 1997/11/15 18:16:42 curt
-// minor tweaks.
-//
-// Revision 1.9 1997/11/14 00:26:50 curt
-// Transform scenery coordinates earlier in pipeline when scenery is being
-// created, not when it is being loaded. Precalculate normals for each node
-// as average of the normals of each containing polygon so Garoude shading is
-// now supportable.
-//
-// Revision 1.8 1997/10/25 03:30:08 curt
-// Misc. tweaks.
-//
-// Revision 1.7 1997/09/23 00:29:50 curt
-// Tweaks to get things to compile with gcc-win32.
-//
-// Revision 1.6 1997/09/20 03:34:34 curt
-// Still trying to get those durned stars aligned properly.
-//
-// Revision 1.5 1997/09/16 22:14:52 curt
-// Tweaked time of day lighting equations. Don't draw stars during the day.
-//
-// Revision 1.4 1997/09/16 15:50:31 curt
-// Working on star alignment and time issues.
-//
-// Revision 1.3 1997/09/13 02:00:08 curt
-// Mostly working on stars and generating sidereal time for accurate star
-// placement.
-//
-// Revision 1.2 1997/08/27 03:30:35 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.1 1997/08/13 21:55:59 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _FG_TIME_HXX
#endif // _FG_TIME_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.14 1999/02/05 21:29:19 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.13 1999/02/01 21:33:39 curt
-// Renamed FlightGear/Simulator/Flight to FlightGear/Simulator/FDM since
-// Jon accepted my offer to do this and thought it was a good idea.
-//
-// Revision 1.12 1999/01/07 20:25:35 curt
-// Portability changes and updates from Bernie Bright.
-//
-// Revision 1.11 1998/12/05 15:54:29 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.10 1998/12/05 14:21:31 curt
-// Moved struct fg_timestamp to class fgTIMESTAMP and moved it's definition
-// to it's own file, timestamp.hxx.
-//
-// Revision 1.9 1998/12/04 01:32:50 curt
-// Converted "struct fg_timestamp" to "class fgTIMESTAMP" and added some
-// convenience inline operators.
-//
-// Revision 1.8 1998/10/16 23:28:00 curt
-// C++-ifying.
-//
-// Revision 1.7 1998/10/16 00:56:09 curt
-// Converted to Point3D class.
-//
-// Revision 1.6 1998/07/27 18:42:22 curt
-// Added a pause option.
-//
-// Revision 1.5 1998/05/22 21:14:54 curt
-// Rewrote event.cxx in C++ as a class using STL for the internal event list
-// and run queue this removes the arbitrary list sizes and makes things much
-// more dynamic. Because this is C++-classified we can now have multiple
-// event_tables if we'd ever want them.
-//
-// Revision 1.4 1998/04/28 01:22:17 curt
-// Type-ified fgTIME and fgVIEW.
-//
-// Revision 1.3 1998/04/25 22:06:34 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.2 1998/04/25 20:24:03 curt
-// Cleaned up initialization sequence to eliminate interdependencies
-// between sun position, lighting, and view position. This creates a
-// valid single pass initialization path.
-//
-// Revision 1.1 1998/04/24 00:52:28 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Fog color fixes.
-// Separated out lighting calcs into their own file.
-//
-// Revision 1.20 1998/04/22 13:24:05 curt
-// C++ - ifiing the code a bit.
-// Starting to reorginize some of the lighting calcs to use a table lookup.
-//
-// Revision 1.19 1998/04/21 17:01:44 curt
-// Fixed a problems where a pointer to a function was being passed around. In
-// one place this functions arguments were defined as ( void ) while in another
-// place they were defined as ( int ). The correct answer was ( int ).
-//
-// Prepairing for C++ integration.
-//
-// Revision 1.18 1998/04/08 23:35:40 curt
-// Tweaks to Gnu automake/autoconf system.
-//
-// Revision 1.17 1998/04/03 22:12:56 curt
-// Converting to Gnu autoconf system.
-// Centralized time handling differences.
-//
-// Revision 1.16 1998/02/07 15:29:47 curt
-// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
-// <chotchkiss@namg.us.anritsu.com>
-//
-// Revision 1.15 1998/01/27 00:48:06 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.14 1998/01/22 02:59:43 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.13 1998/01/19 19:27:20 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.12 1998/01/05 18:44:37 curt
-// Add an option to advance/decrease time from keyboard.
-//
-// Revision 1.11 1997/12/19 23:35:07 curt
-// Lot's of tweaking with sky rendering and lighting.
-//
-// Revision 1.10 1997/12/15 23:55:07 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.9 1997/12/10 22:37:55 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.8 1997/12/09 04:25:38 curt
-// Working on adding a global lighting params structure.
-//
-// Revision 1.7 1997/11/25 19:25:41 curt
-// Changes to integrate Durk's moon/sun code updates + clean up.
-//
-// Revision 1.6 1997/09/20 03:34:35 curt
-// Still trying to get those durned stars aligned properly.
-//
-// Revision 1.5 1997/09/16 15:50:31 curt
-// Working on star alignment and time issues.
-//
-// Revision 1.4 1997/09/13 02:00:08 curt
-// Mostly working on stars and generating sidereal time for accurate star
-// placement.
-//
-// Revision 1.3 1997/09/04 02:17:39 curt
-// Shufflin' stuff.
-//
-// Revision 1.2 1997/08/27 03:30:36 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.1 1997/08/13 21:56:00 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.6 1999/01/09 13:37:45 curt
-// Convert fgTIMESTAMP to FGTimeStamp which holds usec instead of ms.
-//
-// Revision 1.5 1998/12/05 14:21:32 curt
-// Moved struct fg_timestamp to class fgTIMESTAMP and moved it's definition
-// to it's own file, timestamp.hxx.
-//
-// Revision 1.4 1998/12/04 01:32:51 curt
-// Converted "struct fg_timestamp" to "class fgTIMESTAMP" and added some
-// convenience inline operators.
-//
-// Revision 1.3 1998/04/28 01:22:18 curt
-// Type-ified fgTIME and fgVIEW.
-//
-// Revision 1.2 1998/04/25 20:24:03 curt
-// Cleaned up initialization sequence to eliminate interdependencies
-// between sun position, lighting, and view position. This creates a
-// valid single pass initialization path.
-//
-// Revision 1.1 1998/04/24 00:52:29 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Fog color fixes.
-// Separated out lighting calcs into their own file.
-//
-// Revision 1.12 1998/04/21 17:01:44 curt
-// Fixed a problems where a pointer to a function was being passed around. In
-// one place this functions arguments were defined as ( void ) while in another
-// place they were defined as ( int ). The correct answer was ( int ).
-//
-// Prepairing for C++ integration.
-//
-// Revision 1.11 1998/04/03 22:12:56 curt
-// Converting to Gnu autoconf system.
-// Centralized time handling differences.
-//
-// Revision 1.10 1998/01/31 00:43:45 curt
-// Added MetroWorks patches from Carmen Volpe.
-//
-// Revision 1.9 1998/01/19 19:27:21 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.8 1998/01/19 18:40:39 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.7 1997/12/30 13:06:58 curt
-// A couple lighting tweaks ...
-//
-// Revision 1.6 1997/07/12 02:13:04 curt
-// Add ftime() support for those that don't have gettimeofday()
-//
-// Revision 1.5 1997/06/26 19:08:38 curt
-// Restructuring make, adding automatic "make dep" support.
-//
-// Revision 1.4 1997/06/25 15:39:49 curt
-// Minor changes to compile with rsxnt/win32.
-//
-// Revision 1.3 1997/06/17 16:52:04 curt
-// Timer interval stuff now uses gettimeofday() instead of ftime()
-//
-// Revision 1.2 1997/06/17 03:41:10 curt
-// Nonsignal based interval timing is now working.
-// This would be a good time to look at cleaning up the code structure a bit.
-//
-// Revision 1.1 1997/06/16 19:24:20 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _FG_TIMER_HXX
#endif // _FG_TIMER_HXX
-// $Log$
-// Revision 1.2 1999/04/06 16:58:35 curt
-// Clean ups and reorganizations:
-// - Additional Thanks entry
-// - more info on getting gfc library
-// - converted some C style comments to C++ style.
-//
-// Revision 1.1.1.1 1999/04/05 21:32:47 curt
-// Start of 0.6.x branch.
-//
-// Revision 1.1 1998/04/24 00:52:30 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Fog color fixes.
-// Separated out lighting calcs into their own file.
-//
-// Revision 1.5 1998/04/21 17:01:45 curt
-// Fixed a problems where a pointer to a function was being passed around. In
-// one place this functions arguments were defined as ( void ) while in another
-// place they were defined as ( int ). The correct answer was ( int ).
-//
-// Prepairing for C++ integration.
-//
-// Revision 1.4 1998/01/22 02:59:43 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.3 1998/01/19 18:40:40 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.2 1997/07/23 21:52:27 curt
-// Put comments around the text after an #endif for increased portability.
-//
-// Revision 1.1 1997/06/16 19:24:20 curt
-// Initial revision.
-//
-
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.27 1999/04/05 02:14:40 curt
-// Fixed a fog coloring bug.
-//
-// Revision 1.26 1999/02/05 21:29:20 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.25 1999/01/07 20:25:36 curt
-// Portability changes and updates from Bernie Bright.
-//
-// Revision 1.24 1998/12/09 18:50:35 curt
-// Converted "class fgVIEW" to "class FGView" and updated to make data
-// members private and make required accessor functions.
-//
-// Revision 1.23 1998/12/05 15:54:30 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.22 1998/12/03 01:18:42 curt
-// Converted fgFLIGHT to a class.
-//
-// Revision 1.21 1998/11/23 21:49:09 curt
-// Borland portability tweaks.
-//
-// Revision 1.20 1998/11/06 21:18:27 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.19 1998/10/20 18:41:53 curt
-// Tweaked sunrise/sunset colors.
-//
-// Revision 1.18 1998/10/17 01:34:30 curt
-// C++ ifying ...
-//
-// Revision 1.17 1998/08/29 13:11:33 curt
-// Bernie Bright writes:
-// I've created some new classes to enable pointers-to-functions and
-// pointers-to-class-methods to be treated like objects. These objects
-// can be registered with fgEVENT_MGR.
-//
-// File "Include/fg_callback.hxx" contains the callback class defns.
-//
-// Modified fgEVENT and fgEVENT_MGR to use the callback classes. Also
-// some minor tweaks to STL usage.
-//
-// Added file "Include/fg_stl_config.h" to deal with STL portability
-// issues. I've added an initial config for egcs (and probably gcc-2.8.x).
-// I don't have access to Visual C++ so I've left that for someone else.
-// This file is influenced by the stl_config.h file delivered with egcs.
-//
-// Added "Include/auto_ptr.hxx" which contains an implementation of the
-// STL auto_ptr class which is not provided in all STL implementations
-// and is needed to use the callback classes.
-//
-// Deleted fgLightUpdate() which was just a wrapper to call
-// fgLIGHT::Update().
-//
-// Modified fg_init.cxx to register two method callbacks in place of the
-// old wrapper functions.
-//
-// Revision 1.16 1998/08/27 17:02:11 curt
-// Contributions from Bernie Bright <bbright@c031.aone.net.au>
-// - use strings for fg_root and airport_id and added methods to return
-// them as strings,
-// - inlined all access methods,
-// - made the parsing functions private methods,
-// - deleted some unused functions.
-// - propogated some of these changes out a bit further.
-//
-// Revision 1.15 1998/08/25 20:53:33 curt
-// Shuffled $FG_ROOT file layout.
-//
-// Revision 1.14 1998/08/06 12:47:22 curt
-// Adjusted dusk/dawn lighting ...
-//
-// Revision 1.13 1998/07/24 21:42:26 curt
-// Output message tweaks.
-//
-// Revision 1.12 1998/07/22 21:45:38 curt
-// fg_time.cxx: Removed call to ctime() in a printf() which should be harmless
-// but seems to be triggering a bug.
-// light.cxx: Added code to adjust fog color based on sunrise/sunset effects
-// and view orientation. This is an attempt to match the fog color to the
-// sky color in the center of the screen. You see discrepancies at the
-// edges, but what else can be done?
-// sunpos.cxx: Caculate local direction to sun here. (what compass direction
-// do we need to face to point directly at sun)
-//
-// Revision 1.11 1998/07/13 21:02:08 curt
-// Wrote access functions for current fgOPTIONS.
-//
-// Revision 1.10 1998/07/08 14:48:38 curt
-// polar3d.h renamed to polar3d.hxx
-//
-// Revision 1.9 1998/05/29 20:37:51 curt
-// Renamed <Table>.table to be <Table> so we can add a .gz under DOS.
-//
-// Revision 1.8 1998/05/20 20:54:16 curt
-// Converted fgLIGHT to a C++ class.
-//
-// Revision 1.7 1998/05/13 18:26:50 curt
-// Root path info moved to fgOPTIONS.
-//
-// Revision 1.6 1998/05/11 18:18:51 curt
-// Made fog color slightly bluish.
-//
-// Revision 1.5 1998/05/03 00:48:38 curt
-// polar.h -> polar3d.h
-//
-// Revision 1.4 1998/04/28 01:22:18 curt
-// Type-ified fgTIME and fgVIEW.
-//
-// Revision 1.3 1998/04/26 05:10:04 curt
-// "struct fgLIGHT" -> "fgLIGHT" because fgLIGHT is typedef'd.
-//
-// Revision 1.2 1998/04/24 00:52:30 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Fog color fixes.
-// Separated out lighting calcs into their own file.
-//
-// Revision 1.1 1998/04/22 13:24:06 curt
-// C++ - ifiing the code a bit.
-// Starting to reorginize some of the lighting calcs to use a table lookup.
-//
#endif // _LIGHT_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.9 1999/03/22 02:08:17 curt
-// Changes contributed by Durk Talsma:
-//
-// Here's a few changes I made to fg-0.58 this weekend. Included are the
-// following features:
-// - Sun and moon have a halo
-// - The moon has a light vector, moon_angle, etc. etc. so that we can have
-// some moonlight during the night.
-// - Lot's of small changes tweakes, including some stuff Norman Vine sent
-// me earlier.
-//
-// Revision 1.8 1998/10/16 00:56:10 curt
-// Converted to Point3D class.
-//
-// Revision 1.7 1998/08/29 13:11:33 curt
-// Bernie Bright writes:
-// I've created some new classes to enable pointers-to-functions and
-// pointers-to-class-methods to be treated like objects. These objects
-// can be registered with fgEVENT_MGR.
-//
-// File "Include/fg_callback.hxx" contains the callback class defns.
-//
-// Modified fgEVENT and fgEVENT_MGR to use the callback classes. Also
-// some minor tweaks to STL usage.
-//
-// Added file "Include/fg_stl_config.h" to deal with STL portability
-// issues. I've added an initial config for egcs (and probably gcc-2.8.x).
-// I don't have access to Visual C++ so I've left that for someone else.
-// This file is influenced by the stl_config.h file delivered with egcs.
-//
-// Added "Include/auto_ptr.hxx" which contains an implementation of the
-// STL auto_ptr class which is not provided in all STL implementations
-// and is needed to use the callback classes.
-//
-// Deleted fgLightUpdate() which was just a wrapper to call
-// fgLIGHT::Update().
-//
-// Modified fg_init.cxx to register two method callbacks in place of the
-// old wrapper functions.
-//
-// Revision 1.6 1998/07/22 21:45:39 curt
-// fg_time.cxx: Removed call to ctime() in a printf() which should be harmless
-// but seems to be triggering a bug.
-// light.cxx: Added code to adjust fog color based on sunrise/sunset effects
-// and view orientation. This is an attempt to match the fog color to the
-// sky color in the center of the screen. You see discrepancies at the
-// edges, but what else can be done?
-// sunpos.cxx: Caculate local direction to sun here. (what compass direction
-// do we need to face to point directly at sun)
-//
-// Revision 1.5 1998/07/08 14:48:39 curt
-// polar3d.h renamed to polar3d.hxx
-//
-// Revision 1.4 1998/05/20 20:54:17 curt
-// Converted fgLIGHT to a C++ class.
-//
-// Revision 1.3 1998/05/02 01:53:18 curt
-// Fine tuning mktime() support because of varying behavior on different
-// platforms.
-//
-// Revision 1.2 1998/04/24 00:52:31 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Fog color fixes.
-// Separated out lighting calcs into their own file.
-//
-// Revision 1.1 1998/04/22 13:24:06 curt
-// C++ - ifiing the code a bit.
-// Starting to reorginize some of the lighting calcs to use a table lookup.
-//
-//
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.1 1999/03/22 12:08:57 curt
-// Initial revision.
-//
-// Revision 1.19 1999/01/07 20:25:37 curt
-// Portability changes and updates from Bernie Bright.
-//
-// Revision 1.18 1998/12/09 18:50:36 curt
-// Converted "class fgVIEW" to "class FGView" and updated to make data
-// members private and make required accessor functions.
-//
-// Revision 1.17 1998/11/09 23:41:53 curt
-// Log message clean ups.
-//
-// Revision 1.16 1998/11/07 19:07:14 curt
-// Enable release builds using the --without-logging option to the configure
-// script. Also a couple log message cleanups, plus some C to C++ comment
-// conversion.
-//
-// Revision 1.15 1998/10/18 01:17:24 curt
-// Point3D tweaks.
-//
-// Revision 1.14 1998/10/17 01:34:32 curt
-// C++ ifying ...
-//
-// Revision 1.13 1998/10/16 00:56:12 curt
-// Converted to Point3D class.
-//
-// Revision 1.12 1998/09/15 04:27:50 curt
-// Changes for new astro code.
-//
-// Revision 1.11 1998/08/12 21:13:22 curt
-// Optimizations by Norman Vine.
-//
-// Revision 1.10 1998/07/22 21:45:39 curt
-// fg_time.cxx: Removed call to ctime() in a printf() which should be harmless
-// but seems to be triggering a bug.
-// light.cxx: Added code to adjust fog color based on moonrise/moonset effects
-// and view orientation. This is an attempt to match the fog color to the
-// sky color in the center of the screen. You see discrepancies at the
-// edges, but what else can be done?
-// moonpos.cxx: Caculate local direction to moon here. (what compass direction
-// do we need to face to point directly at moon)
-//
-// Revision 1.9 1998/07/08 14:48:39 curt
-// polar3d.h renamed to polar3d.hxx
-//
-// Revision 1.8 1998/05/02 01:53:18 curt
-// Fine tuning mktime() support because of varying behavior on different
-// platforms.
-//
-// Revision 1.7 1998/04/30 12:36:05 curt
-// C++-ifying a couple source files.
-//
-// Revision 1.6 1998/04/28 01:22:18 curt
-// Type-ified fgTIME and fgVIEW.
-//
-// Revision 1.5 1998/04/26 05:10:05 curt
-// "struct fgLIGHT" -> "fgLIGHT" because fgLIGHT is typedef'd.
-//
-// Revision 1.4 1998/04/25 22:06:34 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.3 1998/04/25 20:24:03 curt
-// Cleaned up initialization sequence to eliminate interdependencies
-// between moon position, lighting, and view position. This creates a
-// valid single pass initialization path.
-//
-// Revision 1.2 1998/04/24 00:52:31 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Fog color fixes.
-// Separated out lighting calcs into their own file.
-//
-// Revision 1.1 1998/04/22 13:24:07 curt
-// C++ - ifiing the code a bit.
-// Starting to reorginize some of the lighting calcs to use a table lookup.
-//
-// Revision 1.27 1998/04/03 22:12:57 curt
-// Converting to Gnu autoconf system.
-// Centralized time handling differences.
-//
-// Revision 1.26 1998/02/23 19:08:00 curt
-// Incorporated Durk's Astro/ tweaks. Includes unifying the moon position
-// calculation code between moon display, and other FG sections that use this
-// for things like lighting.
-//
-// Revision 1.25 1998/02/09 15:07:53 curt
-// Minor tweaks.
-//
-// Revision 1.24 1998/01/27 00:48:07 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.23 1998/01/19 19:27:21 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.22 1998/01/19 18:40:40 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.21 1997/12/30 23:10:19 curt
-// Calculate lighting parameters here.
-//
-// Revision 1.20 1997/12/30 22:22:43 curt
-// Further integration of event manager.
-//
-// Revision 1.19 1997/12/30 20:47:59 curt
-// Integrated new event manager with subsystem initializations.
-//
-// Revision 1.18 1997/12/23 04:58:40 curt
-// Tweaked the sky coloring a bit to build in structures to allow finer rgb
-// control.
-//
-// Revision 1.17 1997/12/15 23:55:08 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.16 1997/12/11 04:43:57 curt
-// Fixed moon vector and lighting problems. I thing the moon is now lit
-// correctly.
-//
-// Revision 1.15 1997/12/10 22:37:55 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.14 1997/12/09 04:25:39 curt
-// Working on adding a global lighting params structure.
-//
-// Revision 1.13 1997/11/25 19:25:42 curt
-// Changes to integrate Durk's moon/moon code updates + clean up.
-//
-// Revision 1.12 1997/11/15 18:15:39 curt
-// Reverse direction of moon vector, so object normals can be more normal.
-//
-// Revision 1.11 1997/10/28 21:07:21 curt
-// Changed GLUT/ -> Main/
-//
-// Revision 1.10 1997/09/13 02:00:09 curt
-// Mostly working on stars and generating sidereal time for accurate star
-// placement.
-//
-// Revision 1.9 1997/09/05 14:17:31 curt
-// More tweaking with stars.
-//
-// Revision 1.8 1997/09/05 01:36:04 curt
-// Working on getting stars right.
-//
-// Revision 1.7 1997/09/04 02:17:40 curt
-// Shufflin' stuff.
-//
-// Revision 1.6 1997/08/27 03:30:37 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.5 1997/08/22 21:34:41 curt
-// Doing a bit of reorganizing and house cleaning.
-//
-// Revision 1.4 1997/08/19 23:55:09 curt
-// Worked on better simulating real lighting.
-//
-// Revision 1.3 1997/08/13 20:23:49 curt
-// The interface to moonpos now updates a global structure rather than returning
-// current moon position.
-//
-// Revision 1.2 1997/08/06 00:24:32 curt
-// Working on correct real time moon lighting.
-//
-// Revision 1.1 1997/08/01 15:27:56 curt
-// Initial revision.
-//
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.21 1999/03/22 02:08:18 curt
-// Changes contributed by Durk Talsma:
-//
-// Here's a few changes I made to fg-0.58 this weekend. Included are the
-// following features:
-// - Sun and moon have a halo
-// - The moon has a light vector, moon_angle, etc. etc. so that we can have
-// some moonlight during the night.
-// - Lot's of small changes tweakes, including some stuff Norman Vine sent
-// me earlier.
-//
-// Revision 1.20 1999/02/26 22:10:11 curt
-// Added initial support for native SGI compilers.
-//
-// Revision 1.19 1999/01/07 20:25:37 curt
-// Portability changes and updates from Bernie Bright.
-//
-// Revision 1.18 1998/12/09 18:50:36 curt
-// Converted "class fgVIEW" to "class FGView" and updated to make data
-// members private and make required accessor functions.
-//
-// Revision 1.17 1998/11/09 23:41:53 curt
-// Log message clean ups.
-//
-// Revision 1.16 1998/11/07 19:07:14 curt
-// Enable release builds using the --without-logging option to the configure
-// script. Also a couple log message cleanups, plus some C to C++ comment
-// conversion.
-//
-// Revision 1.15 1998/10/18 01:17:24 curt
-// Point3D tweaks.
-//
-// Revision 1.14 1998/10/17 01:34:32 curt
-// C++ ifying ...
-//
-// Revision 1.13 1998/10/16 00:56:12 curt
-// Converted to Point3D class.
-//
-// Revision 1.12 1998/09/15 04:27:50 curt
-// Changes for new astro code.
-//
-// Revision 1.11 1998/08/12 21:13:22 curt
-// Optimizations by Norman Vine.
-//
-// Revision 1.10 1998/07/22 21:45:39 curt
-// fg_time.cxx: Removed call to ctime() in a printf() which should be harmless
-// but seems to be triggering a bug.
-// light.cxx: Added code to adjust fog color based on sunrise/sunset effects
-// and view orientation. This is an attempt to match the fog color to the
-// sky color in the center of the screen. You see discrepancies at the
-// edges, but what else can be done?
-// sunpos.cxx: Caculate local direction to sun here. (what compass direction
-// do we need to face to point directly at sun)
-//
-// Revision 1.9 1998/07/08 14:48:39 curt
-// polar3d.h renamed to polar3d.hxx
-//
-// Revision 1.8 1998/05/02 01:53:18 curt
-// Fine tuning mktime() support because of varying behavior on different
-// platforms.
-//
-// Revision 1.7 1998/04/30 12:36:05 curt
-// C++-ifying a couple source files.
-//
-// Revision 1.6 1998/04/28 01:22:18 curt
-// Type-ified fgTIME and fgVIEW.
-//
-// Revision 1.5 1998/04/26 05:10:05 curt
-// "struct fgLIGHT" -> "fgLIGHT" because fgLIGHT is typedef'd.
-//
-// Revision 1.4 1998/04/25 22:06:34 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.3 1998/04/25 20:24:03 curt
-// Cleaned up initialization sequence to eliminate interdependencies
-// between sun position, lighting, and view position. This creates a
-// valid single pass initialization path.
-//
-// Revision 1.2 1998/04/24 00:52:31 curt
-// Wrapped "#include <config.h>" in "#ifdef HAVE_CONFIG_H"
-// Fog color fixes.
-// Separated out lighting calcs into their own file.
-//
-// Revision 1.1 1998/04/22 13:24:07 curt
-// C++ - ifiing the code a bit.
-// Starting to reorginize some of the lighting calcs to use a table lookup.
-//
-// Revision 1.27 1998/04/03 22:12:57 curt
-// Converting to Gnu autoconf system.
-// Centralized time handling differences.
-//
-// Revision 1.26 1998/02/23 19:08:00 curt
-// Incorporated Durk's Astro/ tweaks. Includes unifying the sun position
-// calculation code between sun display, and other FG sections that use this
-// for things like lighting.
-//
-// Revision 1.25 1998/02/09 15:07:53 curt
-// Minor tweaks.
-//
-// Revision 1.24 1998/01/27 00:48:07 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.23 1998/01/19 19:27:21 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.22 1998/01/19 18:40:40 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.21 1997/12/30 23:10:19 curt
-// Calculate lighting parameters here.
-//
-// Revision 1.20 1997/12/30 22:22:43 curt
-// Further integration of event manager.
-//
-// Revision 1.19 1997/12/30 20:47:59 curt
-// Integrated new event manager with subsystem initializations.
-//
-// Revision 1.18 1997/12/23 04:58:40 curt
-// Tweaked the sky coloring a bit to build in structures to allow finer rgb
-// control.
-//
-// Revision 1.17 1997/12/15 23:55:08 curt
-// Add xgl wrappers for debugging.
-// Generate terrain normals on the fly.
-//
-// Revision 1.16 1997/12/11 04:43:57 curt
-// Fixed sun vector and lighting problems. I thing the moon is now lit
-// correctly.
-//
-// Revision 1.15 1997/12/10 22:37:55 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.14 1997/12/09 04:25:39 curt
-// Working on adding a global lighting params structure.
-//
-// Revision 1.13 1997/11/25 19:25:42 curt
-// Changes to integrate Durk's moon/sun code updates + clean up.
-//
-// Revision 1.12 1997/11/15 18:15:39 curt
-// Reverse direction of sun vector, so object normals can be more normal.
-//
-// Revision 1.11 1997/10/28 21:07:21 curt
-// Changed GLUT/ -> Main/
-//
-// Revision 1.10 1997/09/13 02:00:09 curt
-// Mostly working on stars and generating sidereal time for accurate star
-// placement.
-//
-// Revision 1.9 1997/09/05 14:17:31 curt
-// More tweaking with stars.
-//
-// Revision 1.8 1997/09/05 01:36:04 curt
-// Working on getting stars right.
-//
-// Revision 1.7 1997/09/04 02:17:40 curt
-// Shufflin' stuff.
-//
-// Revision 1.6 1997/08/27 03:30:37 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.5 1997/08/22 21:34:41 curt
-// Doing a bit of reorganizing and house cleaning.
-//
-// Revision 1.4 1997/08/19 23:55:09 curt
-// Worked on better simulating real lighting.
-//
-// Revision 1.3 1997/08/13 20:23:49 curt
-// The interface to sunpos now updates a global structure rather than returning
-// current sun position.
-//
-// Revision 1.2 1997/08/06 00:24:32 curt
-// Working on correct real time sun lighting.
-//
-// Revision 1.1 1997/08/01 15:27:56 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _TIMESTAMP_HXX
#endif // _TIMESTAMP_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:47 curt
-// Initial revision
-//
-// Revision 1.5 1999/02/02 20:13:43 curt
-// MSVC++ portability changes by Bernie Bright:
-//
-// Lib/Serial/serial.[ch]xx: Initial Windows support - incomplete.
-// Simulator/Astro/stars.cxx: typo? included <stdio> instead of <cstdio>
-// Simulator/Cockpit/hud.cxx: Added Standard headers
-// Simulator/Cockpit/panel.cxx: Redefinition of default parameter
-// Simulator/Flight/flight.cxx: Replaced cout with FG_LOG. Deleted <stdio.h>
-// Simulator/Main/fg_init.cxx:
-// Simulator/Main/GLUTmain.cxx:
-// Simulator/Main/options.hxx: Shuffled <fg_serial.hxx> dependency
-// Simulator/Objects/material.hxx:
-// Simulator/Time/timestamp.hxx: VC++ friend kludge
-// Simulator/Scenery/tile.[ch]xx: Fixed using std::X declarations
-// Simulator/Main/views.hxx: Added a constant
-//
-// Revision 1.4 1999/01/09 13:37:46 curt
-// Convert fgTIMESTAMP to FGTimeStamp which holds usec instead of ms.
-//
-// Revision 1.3 1999/01/07 20:25:39 curt
-// Portability changes and updates from Bernie Bright.
-//
-// Revision 1.2 1998/12/11 20:26:56 curt
-// #include tweaks.
-//
-// Revision 1.1 1998/12/05 14:21:33 curt
-// Moved struct fg_timestamp to class fgTIMESTAMP and moved it's definition
-// to it's own file, timestamp.hxx.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:48 curt
-// Initial revision
-//
-// Revision 1.6 1999/02/05 21:29:21 curt
-// Modifications to incorporate Jon S. Berndts flight model code.
-//
-// Revision 1.5 1998/12/06 13:51:26 curt
-// Turned "struct fgWEATHER" into "class FGWeather".
-//
-// Revision 1.4 1998/12/05 15:54:31 curt
-// Renamed class fgFLIGHT to class FGState as per request by JSB.
-//
-// Revision 1.3 1998/11/23 21:49:11 curt
-// Borland portability tweaks.
-//
-// Revision 1.2 1998/11/06 21:18:29 curt
-// Converted to new logstream debugging facility. This allows release
-// builds with no messages at all (and no performance impact) by using
-// the -DFG_NDEBUG flag.
-//
-// Revision 1.1 1998/10/17 01:34:36 curt
-// C++ ifying ...
-//
-// Revision 1.18 1998/10/02 12:46:50 curt
-// Added an "auto throttle"
-//
-// Revision 1.17 1998/07/20 12:51:57 curt
-// Default visibility to about 20 miles.
-//
-// Revision 1.16 1998/06/12 01:00:59 curt
-// Build only static libraries.
-// Declare memmove/memset for Sloaris.
-// Added support for exponetial fog, which solves for the proper density to
-// achieve the desired visibility range.
-//
-// Revision 1.15 1998/04/25 22:06:34 curt
-// Edited cvs log messages in source files ... bad bad bad!
-//
-// Revision 1.14 1998/02/09 15:07:54 curt
-// Minor tweaks.
-//
-// Revision 1.13 1998/01/27 00:48:08 curt
-// Incorporated Paul Bleisch's <pbleisch@acm.org> new debug message
-// system and commandline/config file processing code.
-//
-// Revision 1.12 1998/01/19 19:27:22 curt
-// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-// This should simplify things tremendously.
-//
-// Revision 1.11 1998/01/19 18:40:41 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.10 1997/12/30 22:22:46 curt
-// Further integration of event manager.
-//
-// Revision 1.9 1997/12/30 20:48:03 curt
-// Integrated new event manager with subsystem initializations.
-//
-// Revision 1.8 1997/12/11 04:43:58 curt
-// Fixed sun vector and lighting problems. I thing the moon is now lit
-// correctly.
-//
-// Revision 1.7 1997/12/10 22:37:56 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.6 1997/08/27 03:30:38 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.5 1997/08/22 21:34:42 curt
-// Doing a bit of reorganizing and house cleaning.
-//
-// Revision 1.4 1997/08/02 16:23:55 curt
-// Misc. tweaks.
-//
-// Revision 1.3 1997/07/31 22:52:41 curt
-// Working on redoing internal coordinate systems & scenery transformations.
-//
-// Revision 1.2 1997/07/30 16:12:44 curt
-// Moved fg_random routines from Util/ to Math/
-//
-// Revision 1.1 1997/07/19 23:03:57 curt
-// Initial revision.
-//
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _WEATHER_HXX
#endif // _WEATHER_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:48 curt
-// Initial revision
-//
-// Revision 1.2 1998/12/06 13:51:27 curt
-// Turned "struct fgWEATHER" into "class FGWeather".
-//
-// Revision 1.1 1998/10/17 01:34:37 curt
-// C++ ifying ...
-//
-// Revision 1.10 1998/06/12 01:01:00 curt
-// Build only static libraries.
-// Declare memmove/memset for Sloaris.
-// Added support for exponetial fog, which solves for the proper density to
-// achieve the desired visibility range.
-//
-// Revision 1.9 1998/04/21 17:02:46 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.8 1998/01/22 02:59:44 curt
-// Changed #ifdef FILE_H to #ifdef _FILE_H
-//
-// Revision 1.7 1998/01/19 18:40:41 curt
-// Tons of little changes to clean up the code and to remove fatal errors
-// when building with the c++ compiler.
-//
-// Revision 1.6 1997/12/30 22:22:47 curt
-// Further integration of event manager.
-//
-// Revision 1.5 1997/12/10 22:37:56 curt
-// Prepended "fg" on the name of all global structures that didn't have it yet.
-// i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
-//
-// Revision 1.4 1997/08/27 03:30:39 curt
-// Changed naming scheme of basic shared structures.
-//
-// Revision 1.3 1997/08/22 21:34:43 curt
-// Doing a bit of reorganizing and house cleaning.
-//
-// Revision 1.2 1997/07/23 21:52:30 curt
-// Put comments around the text after an #endif for increased portability.
-//
-// Revision 1.1 1997/07/19 23:03:58 curt
-// Initial revision.
-//
-
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# $Id$
-# (Log is kept at end of this file)
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
-# $Log$
-# Revision 1.1 1999/04/05 21:32:44 curt
-# Initial revision
-#
-# Revision 1.3 1998/11/04 23:01:43 curt
-# Changes to the automake/autoconf system to reduce the number of libraries
-# that are unnecessarily linked into the various executables.
-#
-# Revision 1.2 1998/07/30 23:49:18 curt
-# Removed libtool support.
-#
-# Revision 1.1 1998/07/20 12:54:53 curt
-# Whoops, need to commit Makefile.am, not Makefile.
-#
-# Revision 1.2 1998/04/14 02:25:59 curt
-# Code reorganizations. Added a Lib/ directory for more general libraries.
-#
-# Revision 1.1 1998/04/08 22:54:57 curt
-# Adopted Gnu automake/autoconf system.
-#
-# Revision 1.2 1998/01/21 02:55:46 curt
-# Incorporated new make system from Bob Kuehne <rpk@sgi.com>.
-#
-# Revision 1.1 1998/01/15 02:45:25 curt
-# Initial revision.
-#
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
//
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:44 curt
-// Initial revision
-//
-// Revision 1.1 1998/07/20 12:54:05 curt
-// Initial revision.
-//
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
//
#endif // _AREA_H
-// $Log$
-// Revision 1.1 1999/04/05 21:32:44 curt
-// Initial revision
-//
-// Revision 1.1 1998/07/20 12:54:05 curt
-// Initial revision.
-//
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
//
}
-// $Log: main.c,v
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.8 1999/04/05 02:15:23 curt
-// Make dem fitting more robust in cases when no dem file available.
-//
-// Revision 1.7 1999/03/27 14:05:10 curt
-// More sensible handling of the case where no dem file for this tile exists
-// (or has been generated).
-//
-// Revision 1.6 1999/03/27 05:20:13 curt
-// Handle corner nodes separately from the rest of the fitted nodes.
-// Fixed some "const" related warnings.
-//
-// Revision 1.5 1999/03/25 19:03:50 curt
-// Minor tweaks related to FGBucket usage.
-//
-// Revision 1.4 1999/03/20 20:32:51 curt
-// First mostly successful tile triangulation works. There's plenty of tweaking
-// to do, but we are marching in the right direction.
-//
-// Revision 1.3 1999/03/17 23:48:17 curt
-// Removed forced -g compile flag.
-// Fixed a couple compiler warnings.
-//
-// Revision 1.2 1999/03/13 23:50:26 curt
-// Tweaked output formatting a bit.
-//
-// Revision 1.1 1999/03/13 18:45:02 curt
-// Initial revision. (derived from libDEM.a code.)
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _ARRAY_HXX
#endif // _ARRAY_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.6 1999/04/05 02:15:24 curt
-// Make dem fitting more robust in cases when no dem file available.
-//
-// Revision 1.5 1999/03/29 13:11:02 curt
-// Shuffled stl type names a bit.
-// Began adding support for tri-fanning (or maybe other arrangments too.)
-//
-// Revision 1.4 1999/03/27 05:20:14 curt
-// Handle corner nodes separately from the rest of the fitted nodes.
-// Fixed some "const" related warnings.
-//
-// Revision 1.3 1999/03/20 20:32:52 curt
-// First mostly successful tile triangulation works. There's plenty of tweaking
-// to do, but we are marching in the right direction.
-//
-// Revision 1.2 1999/03/13 23:50:27 curt
-// Tweaked output formatting a bit.
-//
-// Revision 1.1 1999/03/13 18:45:02 curt
-// Initial revision. (derived from libDEM.a code.)
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.9 1999/03/31 23:46:38 curt
-// Debuggin output tweaks.
-//
-// Revision 1.8 1999/03/30 23:49:22 curt
-// Added some debugging output.
-//
-// Revision 1.7 1999/03/30 13:41:38 curt
-// Working towards better handling of multi-contoured polygons.
-//
-// Revision 1.6 1999/03/27 05:20:53 curt
-// Pass along default area explicitely to triangulator.
-//
-// Revision 1.5 1999/03/19 22:28:46 curt
-// Only add non-null polygons to output list.
-//
-// Revision 1.4 1999/03/19 00:26:18 curt
-// Fixed a clipping bug (polygons specified in wrong order).
-// Touched up a few compiler warnings.
-//
-// Revision 1.3 1999/03/17 23:48:58 curt
-// minor renaming and a bit of rearranging.
-//
-// Revision 1.2 1999/03/13 23:51:33 curt
-// Renamed main.cxx to testclipper.cxx
-// Converted clipper routines to a class FGClipper.
-//
-// Revision 1.1 1999/03/01 15:39:39 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#endif // _CLIPPER_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.5 1999/03/19 00:26:19 curt
-// Fixed a clipping bug (polygons specified in wrong order).
-// Touched up a few compiler warnings.
-//
-// Revision 1.4 1999/03/18 04:31:10 curt
-// Let's not pass copies of huge structures on the stack ... ye might see a
-// segfault ... :-)
-//
-// Revision 1.3 1999/03/17 23:48:59 curt
-// minor renaming and a bit of rearranging.
-//
-// Revision 1.2 1999/03/13 23:51:34 curt
-// Renamed main.cxx to testclipper.cxx
-// Converted clipper routines to a class FGClipper.
-//
-// Revision 1.1 1999/03/01 15:39:39 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
return 0;
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.1 1999/03/13 23:51:36 curt
-// Renamed main.cxx to testclipper.cxx
-// Converted clipper routines to a class FGClipper.
-//
-// Revision 1.1 1999/03/01 15:39:39 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include "genfans.hxx"
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.6 1999/04/05 02:16:02 curt
-// Fixed a compiler warning.
-//
-// Revision 1.5 1999/03/31 23:46:49 curt
-// Debugging output tweaks.
-//
-// Revision 1.4 1999/03/31 13:26:39 curt
-// Debugging output tweeaks.
-//
-// Revision 1.3 1999/03/31 05:35:04 curt
-// Fixed bug in genfans (deleting the wrong triangles from the available pool.)
-//
-// Revision 1.2 1999/03/30 23:50:15 curt
-// Fannifier is clearly bugging ... working on debugging it. I suspect there
-// is a problem related to deleting triangles from the triangle pool as they
-// are combined into fans.
-//
-// Revision 1.1 1999/03/29 13:08:35 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _GENFANS_HXX
#endif // _GENFANS_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.1 1999/03/29 13:08:35 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <time.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.10 1999/03/31 23:46:57 curt
-// Debugging output tweaks.
-//
-// Revision 1.9 1999/03/31 13:26:40 curt
-// Debugging output tweeaks.
-//
-// Revision 1.8 1999/03/31 05:35:05 curt
-// Fixed bug in genfans (deleting the wrong triangles from the available pool.)
-//
-// Revision 1.7 1999/03/30 23:50:43 curt
-// Modifications to fanify by attribute.
-//
-// Revision 1.6 1999/03/29 13:11:03 curt
-// Shuffled stl type names a bit.
-// Began adding support for tri-fanning (or maybe other arrangments too.)
-//
-// Revision 1.5 1999/03/27 14:06:42 curt
-// Tweaks to bounding sphere calculation routines.
-// Group like triangles together for output to be in a single display list,
-// even though they are individual, non-fanified, triangles.
-//
-// Revision 1.4 1999/03/27 05:23:22 curt
-// Interpolate real z value of all nodes from dem data.
-// Write scenery file to correct location.
-// Pass along correct triangle attributes and write to output file.
-//
-// Revision 1.3 1999/03/25 19:04:21 curt
-// Preparations for outputing scenery file to correct location.
-//
-// Revision 1.2 1999/03/23 22:02:03 curt
-// Worked on creating data to output ... normals, bounding spheres, etc.
-//
-// Revision 1.1 1999/03/22 23:51:51 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _GENOBJ_HXX
#endif // _GENOBJ_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.9 1999/03/31 23:46:58 curt
-// Debugging output tweaks.
-//
-// Revision 1.8 1999/03/30 23:50:44 curt
-// Modifications to fanify by attribute.
-//
-// Revision 1.7 1999/03/29 13:11:04 curt
-// Shuffled stl type names a bit.
-// Began adding support for tri-fanning (or maybe other arrangments too.)
-//
-// Revision 1.6 1999/03/27 14:06:43 curt
-// Tweaks to bounding sphere calculation routines.
-// Group like triangles together for output to be in a single display list,
-// even though they are individual, non-fanified, triangles.
-//
-// Revision 1.5 1999/03/27 05:23:23 curt
-// Interpolate real z value of all nodes from dem data.
-// Write scenery file to correct location.
-// Pass along correct triangle attributes and write to output file.
-//
-// Revision 1.4 1999/03/25 19:04:22 curt
-// Preparations for outputing scenery file to correct location.
-//
-// Revision 1.3 1999/03/23 22:02:04 curt
-// Worked on creating data to output ... normals, bounding spheres, etc.
-//
-// Revision 1.2 1999/03/23 17:44:49 curt
-// Beginning work on generating output scenery.
-//
-// Revision 1.1 1999/03/22 23:51:51 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _CONSTRUCT_TYPES_HXX
#endif // _CONSTRUCT_TYPES_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.1 1999/03/29 13:19:44 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include "triangle.hxx"
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.16 1999/04/05 02:17:11 curt
-// Dynamically update "error" until the resulting tile data scales within
-// a lower and upper bounds.
-//
-// Revision 1.15 1999/04/03 05:22:58 curt
-// Found a bug in dividing and adding unique verticle segments which could
-// cause the triangulator to end up in an infinite loop. Basically the code
-// was correct, but the verticle line test was a bit to selective.
-//
-// Revision 1.14 1999/03/31 23:47:09 curt
-// Debugging output tweaks.
-//
-// Revision 1.13 1999/03/29 13:11:07 curt
-// Shuffled stl type names a bit.
-// Began adding support for tri-fanning (or maybe other arrangments too.)
-//
-// Revision 1.12 1999/03/27 05:30:12 curt
-// Handle corner nodes separately from the rest of the fitted nodes.
-// Add fitted nodes in after corners and polygon nodes since the fitted nodes
-// are less important. Subsequent nodes will "snap" to previous nodes if
-// they are "close enough."
-// Need to manually divide segments to prevent "T" intersetions which can
-// confound the triangulator. Hey, I got to use a recursive method!
-// Pass along correct triangle attributes to output file generator.
-// Do fine grained node snapping for corners and polygons, but course grain
-// node snapping for fitted terrain nodes.
-//
-// Revision 1.11 1999/03/23 22:02:51 curt
-// Refinements in naming and organization.
-//
-// Revision 1.10 1999/03/22 23:49:02 curt
-// Modifications to facilitate conversion to output format.
-//
-// Revision 1.9 1999/03/21 15:48:02 curt
-// Removed Dem2node from the Tools fold.
-// Tweaked the triangulator options to add quality mesh refinement.
-//
-// Revision 1.8 1999/03/21 14:02:06 curt
-// Added a mechanism to dump out the triangle structures for viewing.
-// Fixed a couple bugs in first pass at triangulation.
-// - needed to explicitely initialize the polygon accumulator in triangle.cxx
-// before each polygon rather than depending on the default behavior.
-// - Fixed a problem with region attribute propagation where I wasn't generating
-// the hole points correctly.
-//
-// Revision 1.7 1999/03/20 20:32:55 curt
-// First mostly successful tile triangulation works. There's plenty of tweaking
-// to do, but we are marching in the right direction.
-//
-// Revision 1.6 1999/03/20 13:22:11 curt
-// Added trisegs.[ch]xx tripoly.[ch]xx.
-//
-// Revision 1.5 1999/03/20 02:21:52 curt
-// Continue shaping the code towards triangulation bliss. Added code to
-// calculate some point guaranteed to be inside a polygon.
-//
-// Revision 1.4 1999/03/19 22:29:04 curt
-// Working on preparationsn for triangulation.
-//
-// Revision 1.3 1999/03/19 00:27:10 curt
-// Continued work on triangulation preparation.
-//
-// Revision 1.2 1999/03/18 04:31:11 curt
-// Let's not pass copies of huge structures on the stack ... ye might see a
-// segfault ... :-)
-//
-// Revision 1.1 1999/03/17 23:51:59 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _TRIANGLE_HXX
#endif // _TRIANGLE_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.11 1999/04/05 02:17:12 curt
-// Dynamically update "error" until the resulting tile data scales within
-// a lower and upper bounds.
-//
-// Revision 1.10 1999/03/29 13:11:08 curt
-// Shuffled stl type names a bit.
-// Began adding support for tri-fanning (or maybe other arrangments too.)
-//
-// Revision 1.9 1999/03/27 05:30:13 curt
-// Handle corner nodes separately from the rest of the fitted nodes.
-// Add fitted nodes in after corners and polygon nodes since the fitted nodes
-// are less important. Subsequent nodes will "snap" to previous nodes if
-// they are "close enough."
-// Need to manually divide segments to prevent "T" intersetions which can
-// confound the triangulator. Hey, I got to use a recursive method!
-// Pass along correct triangle attributes to output file generator.
-// Do fine grained node snapping for corners and polygons, but course grain
-// node snapping for fitted terrain nodes.
-//
-// Revision 1.8 1999/03/23 22:02:52 curt
-// Refinements in naming and organization.
-//
-// Revision 1.7 1999/03/22 23:49:03 curt
-// Modifications to facilitate conversion to output format.
-//
-// Revision 1.6 1999/03/20 20:32:56 curt
-// First mostly successful tile triangulation works. There's plenty of tweaking
-// to do, but we are marching in the right direction.
-//
-// Revision 1.5 1999/03/20 02:21:53 curt
-// Continue shaping the code towards triangulation bliss. Added code to
-// calculate some point guaranteed to be inside a polygon.
-//
-// Revision 1.4 1999/03/19 22:29:05 curt
-// Working on preparationsn for triangulation.
-//
-// Revision 1.3 1999/03/19 00:27:11 curt
-// Continued work on triangulation preparation.
-//
-// Revision 1.2 1999/03/18 04:31:12 curt
-// Let's not pass copies of huge structures on the stack ... ye might see a
-// segfault ... :-)
-//
-// Revision 1.1 1999/03/17 23:51:59 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include "trieles.hxx"
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.1 1999/03/22 23:58:57 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _TRIELES_HXX
#endif // _TRIELES_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.3 1999/03/27 05:30:14 curt
-// Handle corner nodes separately from the rest of the fitted nodes.
-// Add fitted nodes in after corners and polygon nodes since the fitted nodes
-// are less important. Subsequent nodes will "snap" to previous nodes if
-// they are "close enough."
-// Need to manually divide segments to prevent "T" intersetions which can
-// confound the triangulator. Hey, I got to use a recursive method!
-// Pass along correct triangle attributes to output file generator.
-// Do fine grained node snapping for corners and polygons, but course grain
-// node snapping for fitted terrain nodes.
-//
-// Revision 1.2 1999/03/23 22:02:53 curt
-// Refinements in naming and organization.
-//
-// Revision 1.1 1999/03/22 23:58:57 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include "trinodes.hxx"
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.6 1999/03/27 05:30:15 curt
-// Handle corner nodes separately from the rest of the fitted nodes.
-// Add fitted nodes in after corners and polygon nodes since the fitted nodes
-// are less important. Subsequent nodes will "snap" to previous nodes if
-// they are "close enough."
-// Need to manually divide segments to prevent "T" intersetions which can
-// confound the triangulator. Hey, I got to use a recursive method!
-// Pass along correct triangle attributes to output file generator.
-// Do fine grained node snapping for corners and polygons, but course grain
-// node snapping for fitted terrain nodes.
-//
-// Revision 1.5 1999/03/23 22:02:54 curt
-// Refinements in naming and organization.
-//
-// Revision 1.4 1999/03/22 23:49:04 curt
-// Modifications to facilitate conversion to output format.
-//
-// Revision 1.3 1999/03/20 02:21:54 curt
-// Continue shaping the code towards triangulation bliss. Added code to
-// calculate some point guaranteed to be inside a polygon.
-//
-// Revision 1.2 1999/03/19 00:27:12 curt
-// Continued work on triangulation preparation.
-//
-// Revision 1.1 1999/03/17 23:52:00 curt
-// Initial revision.
-//
-
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _TRINODES_HXX
#endif // _TRINODES_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.8 1999/04/05 02:17:13 curt
-// Dynamically update "error" until the resulting tile data scales within
-// a lower and upper bounds.
-//
-// Revision 1.7 1999/03/29 13:11:10 curt
-// Shuffled stl type names a bit.
-// Began adding support for tri-fanning (or maybe other arrangments too.)
-//
-// Revision 1.6 1999/03/27 05:30:16 curt
-// Handle corner nodes separately from the rest of the fitted nodes.
-// Add fitted nodes in after corners and polygon nodes since the fitted nodes
-// are less important. Subsequent nodes will "snap" to previous nodes if
-// they are "close enough."
-// Need to manually divide segments to prevent "T" intersetions which can
-// confound the triangulator. Hey, I got to use a recursive method!
-// Pass along correct triangle attributes to output file generator.
-// Do fine grained node snapping for corners and polygons, but course grain
-// node snapping for fitted terrain nodes.
-//
-// Revision 1.5 1999/03/23 22:02:55 curt
-// Refinements in naming and organization.
-//
-// Revision 1.4 1999/03/22 23:49:05 curt
-// Modifications to facilitate conversion to output format.
-//
-// Revision 1.3 1999/03/20 02:21:55 curt
-// Continue shaping the code towards triangulation bliss. Added code to
-// calculate some point guaranteed to be inside a polygon.
-//
-// Revision 1.2 1999/03/19 22:29:06 curt
-// Working on preparationsn for triangulation.
-//
-// Revision 1.1 1999/03/17 23:52:00 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <Include/fg_constants.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.2 1999/03/29 13:11:11 curt
-// Shuffled stl type names a bit.
-// Began adding support for tri-fanning (or maybe other arrangments too.)
-//
-// Revision 1.1 1999/03/20 13:21:36 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _TRIPOLY_HXX
#endif // _TRIPOLY_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.5 1999/03/29 13:11:12 curt
-// Shuffled stl type names a bit.
-// Began adding support for tri-fanning (or maybe other arrangments too.)
-//
-// Revision 1.4 1999/03/23 22:02:56 curt
-// Refinements in naming and organization.
-//
-// Revision 1.3 1999/03/21 14:02:07 curt
-// Added a mechanism to dump out the triangle structures for viewing.
-// Fixed a couple bugs in first pass at triangulation.
-// - needed to explicitely initialize the polygon accumulator in triangle.cxx
-// before each polygon rather than depending on the default behavior.
-// - Fixed a problem with region attribute propagation where I wasn't generating
-// the hole points correctly.
-//
-// Revision 1.2 1999/03/20 20:32:58 curt
-// First mostly successful tile triangulation works. There's plenty of tweaking
-// to do, but we are marching in the right direction.
-//
-// Revision 1.1 1999/03/20 13:21:36 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <Include/fg_constants.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.6 1999/04/03 05:22:59 curt
-// Found a bug in dividing and adding unique verticle segments which could
-// cause the triangulator to end up in an infinite loop. Basically the code
-// was correct, but the verticle line test was a bit to selective.
-//
-// Revision 1.5 1999/03/29 13:11:13 curt
-// Shuffled stl type names a bit.
-// Began adding support for tri-fanning (or maybe other arrangments too.)
-//
-// Revision 1.4 1999/03/27 05:30:17 curt
-// Handle corner nodes separately from the rest of the fitted nodes.
-// Add fitted nodes in after corners and polygon nodes since the fitted nodes
-// are less important. Subsequent nodes will "snap" to previous nodes if
-// they are "close enough."
-// Need to manually divide segments to prevent "T" intersetions which can
-// confound the triangulator. Hey, I got to use a recursive method!
-// Pass along correct triangle attributes to output file generator.
-// Do fine grained node snapping for corners and polygons, but course grain
-// node snapping for fitted terrain nodes.
-//
-// Revision 1.3 1999/03/23 22:02:57 curt
-// Refinements in naming and organization.
-//
-// Revision 1.2 1999/03/20 20:32:59 curt
-// First mostly successful tile triangulation works. There's plenty of tweaking
-// to do, but we are marching in the right direction.
-//
-// Revision 1.1 1999/03/20 13:21:36 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _TRISEGS_HXX
#endif // _TRISEGS_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.4 1999/04/05 02:17:14 curt
-// Dynamically update "error" until the resulting tile data scales within
-// a lower and upper bounds.
-//
-// Revision 1.3 1999/03/27 05:30:18 curt
-// Handle corner nodes separately from the rest of the fitted nodes.
-// Add fitted nodes in after corners and polygon nodes since the fitted nodes
-// are less important. Subsequent nodes will "snap" to previous nodes if
-// they are "close enough."
-// Need to manually divide segments to prevent "T" intersetions which can
-// confound the triangulator. Hey, I got to use a recursive method!
-// Pass along correct triangle attributes to output file generator.
-// Do fine grained node snapping for corners and polygons, but course grain
-// node snapping for fitted terrain nodes.
-//
-// Revision 1.2 1999/03/20 20:33:00 curt
-// First mostly successful tile triangulation works. There's plenty of tweaking
-// to do, but we are marching in the right direction.
-//
-// Revision 1.1 1999/03/20 13:21:36 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifdef HAVE_CONFIG_H
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:41 curt
-// Initial revision
-//
-// Revision 1.27 1999/03/25 19:04:36 curt
-// Minor tweaks related to FGBucket usage.
-//
-// Revision 1.26 1999/03/13 17:40:37 curt
-// Moved point interpolation and least squares fitting to contruction program
-// area.
-// Moved leastsqs.* to Lib/Math/
-//
-// Revision 1.25 1999/03/12 22:53:07 curt
-// Added a routine to dump out the portion of the dem data covered by a
-// specified bucket. Other changes related to needs of scenery tools overhaul.
-//
-// Revision 1.24 1999/03/11 23:31:56 curt
-// Tweaks to use newbucket.hxx
-//
-// Revision 1.23 1999/03/10 01:09:12 curt
-// Tweaks to go along with scenery tools overhaul.
-// Added a new constructor that accepts the file name.
-//
-// Revision 1.22 1999/01/19 20:56:56 curt
-// MacOS portability changes contributed by "Robert Puyol" <puyol@abvent.fr>
-//
-// Revision 1.21 1998/11/06 14:04:32 curt
-// Changes due to updates in fgstream.
-//
-// Revision 1.20 1998/10/28 19:38:20 curt
-// Elliminate some unnecessary win32 specific stuff (by Norman Vine)
-//
-// Revision 1.19 1998/10/22 21:59:19 curt
-// Fixed a couple subtle bugs that resulted from some of my c++ conversions.
-// One bug could cause a segfault on certain input, and the other bug could
-// cause the whole procedure to go balistic and generate huge files (also only
-// on rare input combinations.)
-//
-// Revision 1.18 1998/10/18 01:17:09 curt
-// Point3D tweaks.
-//
-// Revision 1.17 1998/10/16 19:08:12 curt
-// Portability updates from Bernie Bright.
-//
-// Revision 1.16 1998/10/02 21:41:39 curt
-// Fixes for win32.
-//
-// Revision 1.15 1998/09/21 20:53:59 curt
-// minor tweaks to clean a few additional things up after the rewrite.
-//
-// Revision 1.14 1998/09/19 17:59:45 curt
-// Use c++ streams (fg_gzifstream). Also converted many character arrays to
-// the string class.
-//
-// Revision 1.13 1998/09/09 16:24:04 curt
-// Fixed a bug in the handling of exclude files which was causing
-// a crash by calling fclose() on an invalid file handle.
-//
-// Revision 1.12 1998/08/24 20:03:31 curt
-// Eliminated a possible memory overrun error.
-// Use the proper free() rather than the incorrect delete().
-//
-// Revision 1.11 1998/07/20 12:46:11 curt
-// When outputing to a .node file, first check for an optional
-// "index.node.ex" file in case there is a .poly file to go along with this
-// node file. Include these nodes first since they are referenced by position
-// from the .poly file. This is my first pass at adding an area "cutout"
-// feature to the terrain generation pipeline.
-//
-// Revision 1.10 1998/07/13 20:58:02 curt
-// .
-//
-// Revision 1.9 1998/07/13 15:29:49 curt
-// Added #ifdef HAVE_CONFIG_H
-//
-// Revision 1.8 1998/07/04 00:47:18 curt
-// typedef'd struct fgBUCKET.
-//
-// Revision 1.7 1998/06/05 18:14:39 curt
-// Abort out early when reading the "A" record if it doesn't look like
-// a proper DEM file.
-//
-// Revision 1.6 1998/05/02 01:49:21 curt
-// Fixed a bug where the wrong variable was being initialized.
-//
-// Revision 1.5 1998/04/25 15:00:32 curt
-// Changed "r" to "rb" in gzopen() options. This fixes bad behavior in win32.
-//
-// Revision 1.4 1998/04/22 13:14:46 curt
-// Fixed a bug in zlib usage.
-//
-// Revision 1.3 1998/04/18 03:53:05 curt
-// Added zlib support.
-//
-// Revision 1.2 1998/04/14 02:43:27 curt
-// Used "new" to auto-allocate large DEM parsing arrays in class constructor.
-//
-// Revision 1.1 1998/04/08 22:57:22 curt
-// Adopted Gnu automake/autoconf system.
-//
-// Revision 1.3 1998/04/06 21:09:41 curt
-// Additional win32 support.
-// Fixed a bad bug in dem file parsing that was causing the output to be
-// flipped about x = y.
-//
-// Revision 1.2 1998/03/23 20:35:41 curt
-// Updated to use FG_EPSILON
-//
-// Revision 1.1 1998/03/19 02:54:47 curt
-// Reorganized into a class lib called fgDEM.
-//
-// Revision 1.1 1998/03/19 01:46:28 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _DEM_HXX
#endif // _DEM_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:41 curt
-// Initial revision
-//
-// Revision 1.13 1999/03/13 17:40:39 curt
-// Moved point interpolation and least squares fitting to contruction program
-// area.
-// Moved leastsqs.* to Lib/Math/
-//
-// Revision 1.12 1999/03/12 22:53:09 curt
-// Added a routine to dump out the portion of the dem data covered by a
-// specified bucket. Other changes related to needs of scenery tools overhaul.
-//
-// Revision 1.11 1999/03/11 23:31:57 curt
-// Tweaks to use newbucket.hxx
-//
-// Revision 1.10 1999/03/10 01:09:13 curt
-// Tweaks to go along with scenery tools overhaul.
-// Added a new constructor that accepts the file name.
-//
-// Revision 1.9 1998/10/16 19:08:14 curt
-// Portability updates from Bernie Bright.
-//
-// Revision 1.8 1998/09/19 17:59:46 curt
-// Use c++ streams (fg_gzifstream). Also converted many character arrays to
-// the string class.
-//
-// Revision 1.7 1998/07/04 00:47:19 curt
-// typedef'd struct fgBUCKET.
-//
-// Revision 1.6 1998/06/05 18:14:40 curt
-// Abort out early when reading the "A" record if it doesn't look like
-// a proper DEM file.
-//
-// Revision 1.5 1998/04/22 13:14:46 curt
-// Fixed a bug in zlib usage.
-//
-// Revision 1.4 1998/04/21 17:03:41 curt
-// Prepairing for C++ integration.
-//
-// Revision 1.3 1998/04/18 03:53:06 curt
-// Added zlib support.
-//
-// Revision 1.2 1998/04/14 02:43:28 curt
-// Used "new" to auto-allocate large DEM parsing arrays in class constructor.
-//
-// Revision 1.1 1998/04/08 22:57:23 curt
-// Adopted Gnu automake/autoconf system.
-//
-// Revision 1.2 1998/03/23 20:35:42 curt
-// Updated to use FG_EPSILON
-//
-// Revision 1.1 1998/03/19 02:54:47 curt
-// Reorganized into a class lib called fgDEM.
-//
-// Revision 1.1 1998/03/19 01:46:29 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <Include/compiler.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:42 curt
-// Initial revision
-//
-// Revision 1.2 1999/03/19 00:27:30 curt
-// Use long int for index instead of just int.
-//
-// Revision 1.1 1999/02/25 21:30:24 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _INDEX_HXX
#endif // _INDEX_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:42 curt
-// Initial revision
-//
-// Revision 1.2 1999/03/19 00:27:31 curt
-// Use long int for index instead of just int.
-//
-// Revision 1.1 1999/02/25 21:30:24 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <Include/compiler.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:42 curt
-// Initial revision
-//
-// Revision 1.7 1999/04/01 13:52:13 curt
-// Version 0.6.0
-// Shape name tweak.
-// Removing tool: FixNode
-//
-// Revision 1.6 1999/03/27 05:31:24 curt
-// Make 0 the default area type since this corresponds well with the conventions
-// used by the triangulator.
-//
-// Revision 1.5 1999/03/22 23:49:29 curt
-// Moved AreaType get_shapefile_type(GDBFile *dbf, int rec) to where it
-// belongs in ShapeFile/
-//
-// Revision 1.4 1999/03/13 18:47:04 curt
-// Removed an unused variable.
-//
-// Revision 1.3 1999/03/02 01:03:58 curt
-// Added more reverse lookup support.
-//
-// Revision 1.2 1999/03/01 15:35:52 curt
-// Generalized the routines a bit to make them more useful.
-//
-// Revision 1.1 1999/02/25 21:30:24 curt
-// Initial revision.
-//
-// Revision 1.1 1999/02/23 01:29:05 curt
-// Additional progress.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _NAMES_HXX
#endif // _NAMES_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:42 curt
-// Initial revision
-//
-// Revision 1.5 1999/03/27 05:31:25 curt
-// Make 0 the default area type since this corresponds well with the conventions
-// used by the triangulator.
-//
-// Revision 1.4 1999/03/22 23:49:30 curt
-// Moved AreaType get_shapefile_type(GDBFile *dbf, int rec) to where it
-// belongs in ShapeFile/
-//
-// Revision 1.3 1999/03/01 15:35:53 curt
-// Generalized the routines a bit to make them more useful.
-//
-// Revision 1.2 1999/02/26 22:10:42 curt
-// Updated names and priorities of area types.
-//
-// Revision 1.1 1999/02/25 21:30:24 curt
-// Initial revision.
-//
-// Revision 1.1 1999/02/23 01:29:05 curt
-// Additional progress.
-//
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# $Id$
-# (Log is kept at end of this file)
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
-# $Log$
-# Revision 1.1 1999/04/05 21:32:42 curt
-# Initial revision
-#
-# Revision 1.3 1999/03/17 23:51:07 curt
-# Removed forced -g compiler flag.
-#
-# Revision 1.2 1999/03/12 22:53:45 curt
-# First working version!
-#
-# Revision 1.1 1999/03/10 01:02:54 curt
-# Initial revision.
-#
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <Include/compiler.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:42 curt
-// Initial revision
-//
-// Revision 1.3 1999/03/12 22:53:46 curt
-// First working version!
-//
-// Revision 1.2 1999/03/10 16:09:44 curt
-// Hacking towards the first working version.
-//
-// Revision 1.1 1999/03/10 01:02:54 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
//
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:42 curt
-// Initial revision
-//
-// Revision 1.1 1999/03/10 01:02:54 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
//
#endif // _POINT2D_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:42 curt
-// Initial revision
-//
-// Revision 1.1 1999/03/10 16:09:45 curt
-// Hacking towards the first working version.
-//
-// Revision 1.1 1998/09/04 23:04:53 curt
-// Beginning of convex hull genereration routine.
-//
-//
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# $Id$
-# (Log is kept at end of this file)
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
-# $Log$
-# Revision 1.1 1999/04/05 21:32:43 curt
-# Initial revision
-#
-# Revision 1.7 1999/03/17 23:51:14 curt
-# Removed forced -g compiler flag.
-#
-# Revision 1.6 1999/03/08 22:00:46 curt
-# Lots of directory layout reorganization.
-#
-# Revision 1.5 1999/02/01 21:09:27 curt
-# Moving location of Lib/DEM/ to Tools/DEM/
-#
-# Revision 1.4 1998/11/04 23:01:48 curt
-# Changes to the automake/autoconf system to reduce the number of libraries
-# that are unnecessarily linked into the various executables.
-#
-# Revision 1.3 1998/09/19 18:01:21 curt
-# Support for changes to libDEM.a
-#
-# Revision 1.2 1998/07/30 23:49:24 curt
-# Removed libtool support.
-#
-# Revision 1.1 1998/06/04 19:18:04 curt
-# Initial revision.
-#
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
//
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:42 curt
-// Initial revision
-//
-// Revision 1.3 1999/03/12 22:54:04 curt
-// Convert fgDEM to FGDem ...
-//
-// Revision 1.2 1998/09/19 18:01:22 curt
-// Support for changes to libDEM.a
-//
-// Revision 1.1 1998/06/04 19:18:05 curt
-// Initial revision.
-//
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# $Id$
-# (Log is kept at end of this file)
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
-# $Log$
-# Revision 1.1 1999/04/05 21:32:43 curt
-# Initial revision
-#
-# Revision 1.1 1998/06/04 19:18:06 curt
-# Initial revision.
-#
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# $Id$
-# (Log is kept at end of this file)
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
-# $Log$
-# Revision 1.1 1999/04/05 21:32:42 curt
-# Initial revision
-#
-# Revision 1.3 1998/11/04 23:01:50 curt
-# Changes to the automake/autoconf system to reduce the number of libraries
-# that are unnecessarily linked into the various executables.
-#
-# Revision 1.2 1998/04/24 00:44:04 curt
-# Added zlib support.
-#
-# Revision 1.1 1998/04/18 03:59:44 curt
-# Incorporated into gnu automake/autoconf system.
-#
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
*/
}
-/* $Log$
-/* Revision 1.1 1999/04/05 21:32:42 curt
-/* Initial revision
-/*
-/* Revision 1.3 1998/03/03 21:54:50 curt
-/* Changes to process 30 arcsec binary DEM files.
-/*
- * Revision 1.2 1998/03/03 13:10:28 curt
- * Close to a working version.
- *
- * Revision 1.1 1998/03/02 23:31:01 curt
- * Initial revision.
- *
- */
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
*/
}
-/* $Log$
-/* Revision 1.1 1999/04/05 21:32:42 curt
-/* Initial revision
-/*
-/* Revision 1.6 1998/04/27 03:32:03 curt
-/* Wrapped rint()'s in #ifdef HAVE_RINT
-/*
- * Revision 1.5 1998/04/18 03:59:46 curt
- * Incorporated into gnu automake/autoconf system.
- *
- * Revision 1.4 1998/04/06 21:09:43 curt
- * Additional win32 support.
- * Fixed a bad bug in dem file parsing that was causing the output to be
- * flipped about x = y.
- *
- * Revision 1.3 1998/03/03 13:10:29 curt
- * Close to a working version.
- *
- * Revision 1.2 1998/03/03 02:04:01 curt
- * Starting DEM Ascii format output routine.
- *
- * Revision 1.1 1998/03/02 23:31:01 curt
- * Initial revision.
- *
- */
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
- * (Log is kept at end of this file)
*/
#endif /* _RAWDEM_H */
-/* $Log$
-/* Revision 1.1 1999/04/05 21:32:42 curt
-/* Initial revision
-/*
-/* Revision 1.2 1998/03/03 13:10:30 curt
-/* Close to a working version.
-/*
- * Revision 1.1 1998/03/02 23:31:02 curt
- * Initial revision.
- *
- */
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# $Id$
-# (Log is kept at end of this file)
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
-# $Log$
-# Revision 1.1 1999/04/05 21:32:43 curt
-# Initial revision
-#
-# Revision 1.6 1999/03/08 22:00:47 curt
-# Lots of directory layout reorganization.
-#
-# Revision 1.5 1999/02/25 21:32:47 curt
-# Modified to adhere to new polygon naming convention, and also to read the
-# new Robin Peel aiport format.
-#
-# Revision 1.4 1999/02/11 01:10:50 curt
-# Start of scenery revamp project.
-#
-# Revision 1.3 1998/11/04 23:01:54 curt
-# Changes to the automake/autoconf system to reduce the number of libraries
-# that are unnecessarily linked into the various executables.
-#
-# Revision 1.2 1998/09/04 23:04:47 curt
-# Beginning of convex hull genereration routine.
-#
-# Revision 1.1 1998/09/01 19:34:32 curt
-# Initial revision.
-#
-# Revision 1.2 1998/07/30 23:49:18 curt
-# Removed libtool support.
-#
-# Revision 1.1 1998/07/20 12:54:53 curt
-# Whoops, need to commit Makefile.am, not Makefile.
-#
-# Revision 1.2 1998/04/14 02:25:59 curt
-# Code reorganizations. Added a Lib/ directory for more general libraries.
-#
-# Revision 1.1 1998/04/08 22:54:57 curt
-# Adopted Gnu automake/autoconf system.
-#
-# Revision 1.2 1998/01/21 02:55:46 curt
-# Incorporated new make system from Bob Kuehne <rpk@sgi.com>.
-#
-# Revision 1.1 1998/01/15 02:45:25 curt
-# Initial revision.
-#
-
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
//
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.5 1998/10/20 15:49:54 curt
-// tweak ...
-//
-// Revision 1.4 1998/09/09 20:59:53 curt
-// Loop construct tweaks for STL usage.
-// Output airport file to be used to generate airport scenery on the fly
-// by the run time sim.
-//
-// Revision 1.3 1998/09/09 16:26:31 curt
-// Continued progress in implementing the convex hull algorithm.
-//
-// Revision 1.2 1998/09/04 23:04:48 curt
-// Beginning of convex hull genereration routine.
-//
-// Revision 1.1 1998/09/01 19:34:33 curt
-// Initial revision.
-//
-// Revision 1.1 1998/07/20 12:54:05 curt
-// Initial revision.
-//
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
//
#endif // _AREA_H
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.2 1998/09/04 23:04:49 curt
-// Beginning of convex hull genereration routine.
-//
-// Revision 1.1 1998/09/01 19:34:33 curt
-// Initial revision.
-//
-// Revision 1.1 1998/07/20 12:54:05 curt
-// Initial revision.
-//
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
//
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.5 1999/02/25 21:32:48 curt
-// Modified to adhere to new polygon naming convention, and also to read the
-// new Robin Peel aiport format.
-//
-// Revision 1.4 1998/09/17 18:40:42 curt
-// Debug message tweaks.
-//
-// Revision 1.3 1998/09/09 20:59:55 curt
-// Loop construct tweaks for STL usage.
-// Output airport file to be used to generate airport scenery on the fly
-// by the run time sim.
-//
-// Revision 1.2 1998/09/09 16:26:32 curt
-// Continued progress in implementing the convex hull algorithm.
-//
-// Revision 1.1 1998/09/04 23:04:51 curt
-// Beginning of convex hull genereration routine.
-//
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
//
#endif // _CONVEX_HULL_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.2 1998/09/09 16:26:33 curt
-// Continued progress in implementing the convex hull algorithm.
-//
-// Revision 1.1 1998/09/04 23:04:51 curt
-// Beginning of convex hull genereration routine.
-//
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
//
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.11 1999/03/19 00:27:38 curt
-// Use long int for index instead of just int.
-//
-// Revision 1.10 1999/03/17 23:51:25 curt
-// Changed polygon index counter file.
-//
-// Revision 1.9 1999/03/12 22:54:19 curt
-// Rearrange a bit of code ...
-//
-// Revision 1.8 1999/03/01 15:35:26 curt
-// Fixed bug in output format generated.
-//
-// Revision 1.7 1999/02/25 21:32:49 curt
-// Modified to adhere to new polygon naming convention, and also to read the
-// new Robin Peel aiport format.
-//
-// Revision 1.6 1999/02/11 01:10:51 curt
-// Start of scenery revamp project.
-//
-// Revision 1.5 1998/09/17 18:40:43 curt
-// Debug message tweaks.
-//
-// Revision 1.4 1998/09/09 20:59:56 curt
-// Loop construct tweaks for STL usage.
-// Output airport file to be used to generate airport scenery on the fly
-// by the run time sim.
-//
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
//
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.1 1998/09/04 23:04:53 curt
-// Beginning of convex hull genereration routine.
-//
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
//
#endif // _POINT2D_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:43 curt
-// Initial revision
-//
-// Revision 1.1 1998/09/04 23:04:53 curt
-// Beginning of convex hull genereration routine.
-//
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
// Include Geographic Foundation Classes library
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:42 curt
-// Initial revision
-//
-// Revision 1.8 1999/03/22 23:49:36 curt
-// Moved AreaType get_shapefile_type(GDBFile *dbf, int rec) to where it
-// belongs in ShapeFile/
-//
-// Revision 1.7 1999/03/17 23:51:29 curt
-// Changed polygon index counter file.
-//
-// Revision 1.6 1999/03/02 01:04:28 curt
-// Don't crash when work directory doesn't exist ... create it.
-//
-// Revision 1.5 1999/03/01 15:36:28 curt
-// Tweaked a function call name in "names.hxx".
-//
-// Revision 1.4 1999/02/25 21:31:05 curt
-// First working version???
-//
-// Revision 1.3 1999/02/23 01:29:04 curt
-// Additional progress.
-//
-// Revision 1.2 1999/02/19 19:05:18 curt
-// Working on clipping shapes and distributing into buckets.
-//
-// Revision 1.1 1999/02/15 19:10:23 curt
-// Initial revision.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#include <Include/compiler.h>
}
-// $Log$
-// Revision 1.1 1999/04/05 21:32:42 curt
-// Initial revision
-//
-// Revision 1.3 1999/03/19 00:27:41 curt
-// Use long int for index instead of just int.
-//
-// Revision 1.2 1999/02/25 21:31:08 curt
-// First working version???
-//
-// Revision 1.1 1999/02/23 01:29:06 curt
-// Additional progress.
-//
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#ifndef _SHAPE_HXX
#endif // _SHAPE_HXX
-// $Log$
-// Revision 1.1 1999/04/05 21:32:42 curt
-// Initial revision
-//
-// Revision 1.2 1999/02/25 21:31:09 curt
-// First working version???
-//
-// Revision 1.1 1999/02/23 01:29:06 curt
-// Additional progress.
-//
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# $Id$
-# (Log is kept at end of this file)
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
-# $Log$
-# Revision 1.1 1999/04/05 21:32:41 curt
-# Initial revision
-#
-# Revision 1.32 1998/11/20 01:02:55 curt
-# Speedups for win32.
-#
-# Revision 1.31 1998/10/28 19:39:06 curt
-# Changes to better support win32 scenery development.
-#
-# Revision 1.30 1998/10/22 22:00:10 curt
-# Modified the info that is put in the VERSION file.
-#
-# Revision 1.29 1998/10/02 21:41:56 curt
-# Added Makedir + fixes for win32.
-#
-# Revision 1.28 1998/09/17 18:40:15 curt
-# Changes to allow multiple copies of the scenery processing tools
-# to be run concurrently.
-#
-# Revision 1.27 1998/09/09 20:58:35 curt
-# Fixes and tweaks to handle area cutouts for airports.
-#
-# Revision 1.26 1998/08/26 22:31:29 curt
-# Write out version and "meta" info into each dem's subdirectory containing
-# all the tiles.
-#
-# Revision 1.25 1998/07/22 21:46:09 curt
-# minor tweaks.
-#
-# Revision 1.24 1998/07/21 04:33:47 curt
-# More tweaks for sub-area cutouts.
-#
-# Revision 1.23 1998/07/20 12:55:35 curt
-# Several tweaks to start incorporating area cutouts into the pipeline.
-#
-# Revision 1.22 1998/07/08 14:49:13 curt
-# tweaks.
-#
-# Revision 1.21 1998/06/08 17:18:37 curt
-# Mods to test new Stripe fixes from Wilbur Streett.
-#
-# Revision 1.20 1998/06/05 18:20:24 curt
-# Added DemInfo to dump out "A" record DEM info.
-# Modified process-dem.pl to work in a temp directory and compress/copy the
-# result to the final destination.
-#
-# Revision 1.19 1998/05/27 02:25:26 curt
-# Added a flag to the first run of "triangle" to impose a maximum triangle
-# size. This forces really flat areas to be subdivided a certain amount
-# anyways. This makes for slightly more interesting scenery.
-#
-# Revision 1.18 1998/05/20 20:55:40 curt
-# Makefile tweaks
-#
-# Revision 1.17 1998/04/28 01:23:25 curt
-# Added a work around so that we can get past the "triangle" program
-# hanging, by aborting and rerunning with that tile marked to use the "-i"
-# option.
-#
-# Revision 1.16 1998/04/18 03:57:53 curt
-# Added zlib library support.
-#
-# Revision 1.15 1998/04/08 23:24:07 curt
-# Adopted Gnu automake/autoconf system.
-#
-# Revision 1.14 1998/04/06 21:09:38 curt
-# Additional win32 support.
-# Fixed a bad bug in dem file parsing that was causing the output to be
-# flipped about x = y.
-#
-# Revision 1.13 1998/03/19 02:52:52 curt
-# Updated to reflect some minor tool reorganization and the creation of class
-# to handle DEM processing needs.
-#
-# Revision 1.12 1998/03/19 01:48:35 curt
-# Added gpc-2.01 (generic polygon clipping library)
-#
-# Revision 1.11 1998/03/03 03:36:57 curt
-# Cumulative tweaks.
-#
-# Revision 1.10 1998/02/01 03:42:26 curt
-# Modifications to handle compressed dem files.
-#
-# Revision 1.9 1998/01/27 18:36:54 curt
-# Lots of updates to get back in sync with changes made over in .../Src/
-#
-# Revision 1.8 1998/01/21 17:59:05 curt
-# Uncomment lines to remove several intermediate files.
-#
-# Revision 1.7 1998/01/19 19:51:06 curt
-# A couple final pre-release tweaks.
-#
-# Revision 1.6 1998/01/15 21:33:33 curt
-# Assembling triangles and building a new .node file with the proper shared
-# vertices now works. Now we just have to use the shared normals and we'll
-# be all set.
-#
-# Revision 1.5 1998/01/15 02:50:08 curt
-# Tweaked to add next stage.
-#
-# Revision 1.4 1998/01/14 15:55:34 curt
-# Finished splittris, started assemtris.
-#
-# Revision 1.3 1998/01/14 02:15:52 curt
-# Updated front end script to keep plugging away on tile fitting.
-#
-# Revision 1.2 1998/01/12 20:42:08 curt
-# Working on fitting tiles together in a seamless manner.
-#
-# Revision 1.1 1998/01/09 23:06:46 curt
-# Initial revision.
-#
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
-// (Log is kept at end of this file)
#define FG_SCENERY_FILE_FORMAT "0.2"
-// $Log$
-// Revision 1.1 1999/04/05 21:32:41 curt
-// Initial revision
-//
-// Revision 1.1 1999/03/25 19:13:35 curt
-// Initial revision.
-//