]> git.mxchange.org Git - simgear.git/commitdiff
canvas::Map: remove rotation matrix on removing HDG node.
authorThomas Geymayer <tomgey@gmail.com>
Tue, 2 Jun 2015 16:24:31 +0000 (18:24 +0200)
committerThomas Geymayer <tomgey@gmail.com>
Tue, 2 Jun 2015 16:24:31 +0000 (18:24 +0200)
Return to previous rotation if autorotation to HDG is
disabled/removed.

simgear/canvas/elements/CanvasMap.cxx

index ee60bf24e774434720c7f1540d3778b7cb2a3ca9..80710f50b2797c2283e369265d22901120099e47 100644 (file)
@@ -128,7 +128,13 @@ namespace canvas
       // TODO remove from other node
       _geo_nodes.erase(child);
     else if( parent != _node && child->getName() == HDG )
+    {
       _hdg_nodes.erase(child);
+
+      // Remove rotation matrix (tf[0]) and return to element always being
+      // oriented upwards (or any orientation inside other matrices).
+      child->getParent()->removeChild("tf", 0);
+    }
     else
       return Element::childRemoved(parent, child);
   }