]> git.mxchange.org Git - simgear.git/commitdiff
sphere: Implement sphere inside sphere.
authorMathias Froehlich <Mathias.Froehlich@web.de>
Sat, 24 Nov 2012 08:54:21 +0000 (09:54 +0100)
committerMathias Froehlich <Mathias.Froehlich@web.de>
Sat, 24 Nov 2012 08:55:34 +0000 (09:55 +0100)
simgear/math/SGSphere.hxx

index f46b7a0ffab4421d8b620104da2a9b101ab0834d..e4fcb096a7e576a53ca1cfe69d867cf6b695a542 100644 (file)
@@ -72,6 +72,18 @@ public:
   void clear()
   { _radius = -1; }
 
+  /// Return true if this is inside sphere
+  bool inside(const SGSphere<T>& sphere) const
+  {
+    if (empty())
+      return false;
+    if (sphere.empty())
+      return false;
+
+    T dist = sphere.getRadius() - getRadius();
+    return distSqr(getCenter(), sphere.getCenter()) <= dist*dist;
+  }
+
   void expandBy(const SGVec3<T>& v)
   {
     if (empty()) {