~ubuntu-branches/ubuntu/quantal/flightgear/quantal

« back to all changes in this revision

Viewing changes to src/Main/globals.cxx

  • Committer: Bazaar Package Importer
  • Author(s): Ove Kaaven
  • Date: 2002-03-27 21:50:15 UTC
  • Revision ID: james.westby@ubuntu.com-20020327215015-0rvi3o8iml0a8s93
Tags: upstream-0.7.9
ImportĀ upstreamĀ versionĀ 0.7.9

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// globals.cxx -- Global state that needs to be shared among the sim modules
 
2
//
 
3
// Written by Curtis Olson, started July 2000.
 
4
//
 
5
// Copyright (C) 2000  Curtis L. Olson - curt@flightgear.org
 
6
//
 
7
// This program is free software; you can redistribute it and/or
 
8
// modify it under the terms of the GNU General Public License as
 
9
// published by the Free Software Foundation; either version 2 of the
 
10
// License, or (at your option) any later version.
 
11
//
 
12
// This program is distributed in the hope that it will be useful, but
 
13
// WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
15
// General Public License for more details.
 
16
//
 
17
// You should have received a copy of the GNU General Public License
 
18
// along with this program; if not, write to the Free Software
 
19
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
20
//
 
21
// $Id: globals.cxx,v 1.8 2002/01/20 02:52:37 curt Exp $
 
22
 
 
23
 
 
24
#include "globals.hxx"
 
25
#include "fg_props.hxx"
 
26
 
 
27
 
 
28
 
 
29
////////////////////////////////////////////////////////////////////////
 
30
// Implementation of FGGlobals.
 
31
////////////////////////////////////////////////////////////////////////
 
32
 
 
33
// global global :-)
 
34
FGGlobals *globals;
 
35
 
 
36
 
 
37
// Constructor
 
38
FGGlobals::FGGlobals() :
 
39
#if defined(FX) && defined(XMESA)
 
40
    fullscreen( true ),
 
41
#endif
 
42
    warp( 0 ),
 
43
    warp_delta( 0 ),
 
44
    props(new SGPropertyNode),
 
45
    initial_state(0),
 
46
    commands(new SGCommandMgr)
 
47
{
 
48
}
 
49
 
 
50
 
 
51
// Destructor
 
52
FGGlobals::~FGGlobals() 
 
53
{
 
54
  delete initial_state;
 
55
  delete props;
 
56
  delete commands;
 
57
}
 
58
 
 
59
 
 
60
// Save the current state as the initial state.
 
61
void
 
62
FGGlobals::saveInitialState ()
 
63
{
 
64
  delete initial_state;
 
65
  initial_state = new SGPropertyNode();
 
66
  if (!copyProperties(props, initial_state))
 
67
    SG_LOG(SG_GENERAL, SG_ALERT, "Error saving initial state");
 
68
}
 
69
 
 
70
 
 
71
// Restore the saved initial state, if any
 
72
void
 
73
FGGlobals::restoreInitialState ()
 
74
{
 
75
  if (initial_state == 0) {
 
76
    SG_LOG(SG_GENERAL, SG_ALERT, "No initial state available to restore!!!");
 
77
  } else if (!copyProperties(initial_state, props)) {
 
78
    SG_LOG(SG_GENERAL, SG_INFO,
 
79
           "Some errors restoring initial state (probably just read-only props)");
 
80
  } else {
 
81
    SG_LOG(SG_GENERAL, SG_INFO, "Initial state restored successfully");
 
82
  }
 
83
}
 
84
 
 
85
 
 
86
// end of globals.cxx