All Classes Functions Typedefs
MFDData.hpp
1 // ==============================================================
2 // ORBITER AUX LIBRARY: Multiple Vessels Support
3 // http://sf.net/projects/enjomitchsorbit
4 // Part of the ORBITER SDK
5 //
6 // Copyright (C) 2008 Mohd "Computerex" Ali - original concept
7 // Copyright (C) 2011 Szymon "Enjo" Ender - object oriented design,
8 // simplifications, fixes
9 // All rights reserved
10 //
11 // MFDData.hpp - Base structure storing vessel pointer. To be derived.
12 //
13 // Multiple Vessels Support is free software: you can redistribute it
14 // and/or modify it under the terms of the GNU Lesser General Public
15 // License as published by the Free Software Foundation, either version
16 // 3 of the License, or (at your option) any later version.
17 //
18 // Multiple Vessels Support is distributed in the hope that it will
19 // be useful, but WITHOUT ANY WARRANTY; without even the implied
20 // warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
21 // See the GNU Lesser General Public License for more details.
22 //
23 // You should have received a copy of the GNU Lesser General Public
24 // License along with Multiple Vessels Support. If not, see
25 // <http://www.gnu.org/licenses/>.
26 // ==============================================================
27 
28 #ifndef __MFDDATA_H
29 #define __MFDDATA_H
30 
31 class VESSEL;
32 namespace EnjoLib
33 {
34 namespace MFDGoodies
35 {
37 
41 class MFDData
42 {
43 public:
45 
49  MFDData (VESSEL * vessel);
50 
52  virtual ~MFDData();
53 
55 
60  virtual void Update() = 0;
61 
63 
64  VESSEL * GetVessel() const;
65 
67 
70  void Invalidate();
71 
73 
76  bool IsValid() const;
77 
78 protected:
79 
80 
81 private:
82  VESSEL * m_vessel;
83  bool m_isValid;
84 };
85 }
86 }
87 
88 #endif