]> git.mxchange.org Git - simgear.git/blobdiff - simgear/scene/model/placement.cxx
Memory leak fix.
[simgear.git] / simgear / scene / model / placement.cxx
index f5c483fc6d583c815dec812c6190e2f1856930aa..75f3fb842cd2d8757b0b6e0220201fdc32ccc531 100644 (file)
@@ -41,6 +41,7 @@ SGModelPlacement::SGModelPlacement ()
 
 SGModelPlacement::~SGModelPlacement ()
 {
+  delete _location;
 }
 
 void
@@ -102,6 +103,14 @@ SGModelPlacement::setPosition (double lon_deg, double lat_deg, double elev_ft)
   _elev_ft = elev_ft;
 }
 
+void
+SGModelPlacement::setPosition(const SGGeod& position)
+{
+  _lon_deg = position.getLongitudeDeg();
+  _lat_deg = position.getLatitudeDeg();
+  _elev_ft = position.getElevationFt();
+}
+
 void
 SGModelPlacement::setRollDeg (double roll_deg)
 {
@@ -129,4 +138,10 @@ SGModelPlacement::setOrientation (double roll_deg, double pitch_deg,
   _heading_deg = heading_deg;
 }
 
+void
+SGModelPlacement::setOrientation (const SGQuatd& orientation)
+{
+  orientation.getEulerDeg(_heading_deg, _pitch_deg, _roll_deg);
+}
+
 // end of model.cxx