From: ThorstenB Date: Sun, 30 Jan 2011 16:35:07 +0000 (+0100) Subject: Fix viewer issue with Tower and Chase View. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=91d001ff4ebf78205fd83b2342b1003fb3e35411;p=flightgear.git Fix viewer issue with Tower and Chase View. When looking _at_ a model with an x,y offset of 0, then the view heading has no effect. So, force heading offset property to 0 to keep other property consumers from running incorrect calculations. => Trying to rotate the heading offset in Tower/Chase view no longer rotates the blue sky around the aircraft, though the viewer itself isn't rotating anything. --- diff --git a/src/Main/viewer.cxx b/src/Main/viewer.cxx index 05816f8bc..a61198d66 100644 --- a/src/Main/viewer.cxx +++ b/src/Main/viewer.cxx @@ -289,7 +289,14 @@ void FGViewer::setHeadingOffset_deg (double heading_offset_deg) { _dirty = true; - _heading_offset_deg = heading_offset_deg; + if (_at_model && (_offset_m.x() == 0.0)&&(_offset_m.y() == 0.0)) + { + /* avoid optical effects (e.g. rotating sky) when looking at something + * with heading offsets x==y==0 (view heading cannot change). */ + _heading_offset_deg = 0.0; + } + else + _heading_offset_deg = heading_offset_deg; } void @@ -317,6 +324,14 @@ void FGViewer::setGoalHeadingOffset_deg (double goal_heading_offset_deg) { _dirty = true; + if (_at_model && (_offset_m.x() == 0.0)&&(_offset_m.y() == 0.0)) + { + /* avoid optical effects (e.g. rotating sky) when looking at something + * with heading offsets x==y==0 (view heading cannot change). */ + _goal_heading_offset_deg = 0.0; + return; + } + _goal_heading_offset_deg = goal_heading_offset_deg; while ( _goal_heading_offset_deg < 0.0 ) { _goal_heading_offset_deg += 360;