FGViewMgr::FGViewMgr( void ) :
axis_long(0),
axis_lat(0),
+ view_number(fgGetNode("/sim/current-view/view-number", true)),
config_list(fgGetNode("/sim", true)->getChildren("view")),
current(0)
{
double z_offset_m = n->getDoubleValue("config/z-offset-m");
double heading_offset_deg = n->getDoubleValue("config/heading-offset-deg");
- n->setDoubleValue(heading_offset_deg);
+ n->setDoubleValue("config/heading-offset-deg", heading_offset_deg);
double pitch_offset_deg = n->getDoubleValue("config/pitch-offset-deg");
- n->setDoubleValue(pitch_offset_deg);
+ n->setDoubleValue("config/pitch-offset-deg", pitch_offset_deg);
double roll_offset_deg = n->getDoubleValue("config/roll-offset-deg");
- n->setDoubleValue(roll_offset_deg);
+ n->setDoubleValue("config/roll-offset-deg", roll_offset_deg);
double fov_deg = n->getDoubleValue("config/default-field-of-view-deg");
double near_m = n->getDoubleValue("config/ground-level-nearplane-m");
FGViewMgr::copyToCurrent()
{
SGPropertyNode *n = config_list[current];
+ fgSetString("/sim/current-view/name", n->getStringValue("name"));
+ fgSetString("/sim/current-view/type", n->getStringValue("type"));
// copy certain view config data for default values
fgSetDouble("/sim/current-view/config/heading-offset-deg",
// negative numbers -> set view with node index -newview
if (newview < 0) {
for (int i = 0; i < (int)config_list.size(); i++) {
- int index = -config_list[i]->getIndex();
- if (index == newview)
- newview = i;
+ int index = -config_list[i]->getIndex();
+ if (index == newview)
+ newview = i;
}
if (newview < 0)
- return;
+ return;
}
// if newview number too low wrap to last view...
if (newview < 0)
- newview = (int)views.size() -1;
+ newview = (int)views.size() - 1;
// if newview number to high wrap to zero...
- if (newview > ((int)views.size() -1))
+ if (newview >= (int)views.size())
newview = 0;
// set new view