#include <simgear/compiler.h>
#include <simgear/constants.h>
+#include <simgear/structure/subsystem_mgr.hxx>
#include <simgear/scene/model/location.hxx>
#include <plib/sg.h> // plib include
-#include "fgfs.hxx"
-
#define FG_FOV_MIN 0.1
#define FG_FOV_MAX 179.9
};
// Define a structure containing view information
-class FGViewer : public FGSubsystem {
+class FGViewer : public SGSubsystem {
public:
double heading_offset_deg, double pitch_offset_deg,
double roll_offset_deg, double fov_deg,
double target_x_offset_m, double target_y_offset_m,
- double target_z_offset_m, double near_m );
+ double target_z_offset_m, double near_m, bool internal );
// Destructor
virtual ~FGViewer( void );
//////////////////////////////////////////////////////////////////////
- // Part 1: standard FGSubsystem implementation.
+ // Part 1: standard SGSubsystem implementation.
//////////////////////////////////////////////////////////////////////
virtual void init ();
virtual fgViewType getType() const { return _type; }
virtual void setType( int type );
+ virtual bool getInternal() const { return _internal; }
+ virtual void setInternal( bool internal );
+
// Reference geodetic position of view from position...
// These are the actual aircraft position (pilot in
// pilot view, model in model view).
fgViewType _type;
fgScalingType _scaling_type;
+ // internal view (e.g. cockpit) flag
+ bool _internal;
+
// view is looking from a model
bool _from_model;
int _from_model_index; // number of model (for multi model)
_pitch_offset_deg += amt;
}
+ // add to _roll_offset_deg
+ inline void incRollOffset_deg( double amt ) {
+ set_dirty();
+ _roll_offset_deg += amt;
+ }
+
inline void set_reverse_view_offset( bool val ) {
_reverse_view_offset = val;
}