7 #ifndef _MOBY_BSPHERE_H_ 
    8 #define _MOBY_BSPHERE_H_ 
   11 #include <Moby/DummyBV.h> 
   23     virtual void transform(
const Ravelin::Transform3d& T, 
BV* result) 
const;
 
   24     virtual std::ostream& 
to_vrml(std::ostream& out, 
const Ravelin::Pose3d& T) 
const;
 
   34     template <
class ForwardIterator>
 
   38     virtual boost::shared_ptr<const Ravelin::Pose3d> 
get_relative_pose()
 const { 
return center.pose; }
 
   57 #include "BoundingSphere.inl" 
virtual BVPtr calc_swept_BV(CollisionGeometryPtr g, const Ravelin::SVelocityd &v) const 
Calculates the velocity expanded bounding volume for the bounding sphere (calculates an OBB) ...
Definition: BoundingSphere.cpp:72
boost::shared_ptr< BV > BVPtr
Bounding volume (BV) smart pointer. 
Definition: Types.h:92
virtual double calc_volume() const 
Calculates the volume of this bounding volume. 
Definition: BoundingSphere.h:53
virtual void transform(const Ravelin::Transform3d &T, BV *result) const 
Transforms the BoundingSphere using the given transform. 
Definition: BoundingSphere.cpp:35
static bool intersects(const BoundingSphere &a, const BoundingSphere &b)
Determines whether two bounding spheres intersect. 
Definition: BoundingSphere.cpp:99
An abstract bounding volume. 
Definition: BV.h:38
Point3d center
Center of the bounding box. 
Definition: BoundingSphere.h:47
virtual Point3d get_upper_bounds() const 
Gets the upper bounds on the bounding sphere. 
Definition: BoundingSphere.h:44
boost::shared_ptr< CollisionGeometry > CollisionGeometryPtr
Collision geometry smart pointer. 
Definition: Types.h:77
virtual Point3d get_lower_bounds() const 
Gets the lower bounds on the bounding sphere. 
Definition: BoundingSphere.h:41
virtual bool outside(const Point3d &point, double tol=NEAR_ZERO) const 
Determines whether a point is outside the bounding volume. 
Definition: BoundingSphere.h:31
Ravelin::Vector3d Point3d
Typedef to distinguish between a 3D vector and a point. 
Definition: Types.h:47
static bool outside(const BoundingSphere &a, const Point3d &point, double tol=NEAR_ZERO)
Determines whether a point is outside of the bounding sphere. 
Definition: BoundingSphere.cpp:139
virtual bool intersects(const LineSeg3 &seg, double &tmin, double tmax, Point3d &q) const 
Determines whether a line segment intersects the bounding volume. 
Definition: BoundingSphere.h:32
virtual boost::shared_ptr< const Ravelin::Pose3d > get_relative_pose() const 
Gets the pose for this BV. 
Definition: BoundingSphere.h:38
std::pair< Point3d, Point3d > LineSeg3
Typedef to make specifying line segments easier. 
Definition: Types.h:50
A sphere used for bounding geometry. 
Definition: BoundingSphere.h:16
virtual std::ostream & to_vrml(std::ostream &out, const Ravelin::Pose3d &T) const 
Sends the bounding sphere to VRML. 
Definition: BoundingSphere.cpp:48
double radius
The radius of the bounding sphere (we use a float b/c accuracy here not so important) ...
Definition: BoundingSphere.h:50
static double calc_dist(const BoundingSphere &s1, const BoundingSphere &s2)
Calculates the signed distance between two bounding spheres. 
Definition: BoundingSphere.cpp:128