]> git.mxchange.org Git - simgear.git/blobdiff - simgear/math/SGBox.hxx
Lots of (mostly) doxygen fixes/cleanup.
[simgear.git] / simgear / math / SGBox.hxx
index 8024a1318e3911767828bcebf164a983fe36d573..f63eef242568f5285fb740c7f8b28f43f6ddeb59 100644 (file)
@@ -71,6 +71,14 @@ public:
                      (pt[2] > center[2]) ? _min[2] : _max[2]);
   }
 
+  // return the closest point to pt still in the box
+  template<typename S>
+  SGVec3<T> getClosestPoint(const SGVec3<S>& pt) const
+  {
+    return SGVec3<T>((pt[0] < _min[0]) ? _min[0] : ((_max[0] < pt[0]) ? _max[0] : T(pt[0])),
+                     (pt[1] < _min[1]) ? _min[1] : ((_max[1] < pt[1]) ? _max[1] : T(pt[1])),
+                     (pt[2] < _min[2]) ? _min[2] : ((_max[2] < pt[2]) ? _max[2] : T(pt[2])));
+  }
 
   // Only works for floating point types
   SGVec3<T> getCenter() const
@@ -89,7 +97,7 @@ public:
     return (_max[0] - _min[0])*(_max[1] - _min[1])*(_max[2] - _min[2]);
   }
 
-  const bool empty() const
+  bool empty() const
   { return !valid(); }
 
   bool valid() const