# include "config.h"
#endif
+#include "viewer.hxx"
+
#include <simgear/compiler.h>
#include <cassert>
#include <Main/fg_props.hxx>
#include <Main/globals.hxx>
-#include <Scenery/scenery.hxx>
-#include <Model/acmodel.hxx>
-
-#include "viewer.hxx"
-
#include "CameraGroup.hxx"
using namespace flightgear;
_roll_deg(0),
_pitch_deg(0),
_heading_deg(0),
+ _target_roll_deg(0),
+ _target_pitch_deg(0),
+ _target_heading_deg(0),
_scaling_type(FG_SCALING_MAX),
_cameraGroup(CameraGroup::getDefault())
{
{
// Update location data ...
if ( _from_model ) {
- SGModelPlacement* placement = globals->get_aircraft_model()->get3DModel();
- _position = placement->getPosition();
-
- _heading_deg = placement->getHeadingDeg();
- _pitch_deg = placement->getPitchDeg();
- _roll_deg = placement->getRollDeg();
+ _position = globals->get_aircraft_position();
+ globals->get_aircraft_orientation(_heading_deg, _pitch_deg, _roll_deg);
}
double head = _heading_deg;
{
// The geodetic position of our target to look at
if ( _at_model ) {
- SGModelPlacement* placement = globals->get_aircraft_model()->get3DModel();
- _target = placement->getPosition();
- _target_heading_deg = placement->getHeadingDeg();
- _target_pitch_deg = placement->getPitchDeg();
- _target_roll_deg = placement->getRollDeg();
+ _target = globals->get_aircraft_position();
+ globals->get_aircraft_orientation(_target_heading_deg,
+ _target_pitch_deg,
+ _target_roll_deg);
} else {
// if not model then calculate our own target position...
setDampTarget(_target_roll_deg, _target_pitch_deg, _target_heading_deg);
if ( _from_model ) {
- SGModelPlacement* placement = globals->get_aircraft_model()->get3DModel();
- _position = placement->getPosition();
- _heading_deg = placement->getHeadingDeg();
- _pitch_deg = placement->getPitchDeg();
- _roll_deg = placement->getRollDeg();
+ _position = globals->get_aircraft_position();
+ globals->get_aircraft_orientation(_heading_deg, _pitch_deg, _roll_deg);
} else {
// update from our own data, just the rotation here...
setDampTarget(_roll_deg, _pitch_deg, _heading_deg);
}
}
recalc();
- if( fgGetBool( "/sim/rendering/draw-otw", true ) ) {
- _cameraGroup->update(toOsg(_absolute_view_pos), toOsg(mViewOrientation));
- _cameraGroup->setCameraParameters(get_v_fov(), get_aspect_ratio());
- }
+
+ _cameraGroup->update(toOsg(_absolute_view_pos), toOsg(mViewOrientation));
+ _cameraGroup->setCameraParameters(get_v_fov(), get_aspect_ratio());
}
double FGViewer::get_aspect_ratio() const