Moby
Public Member Functions | List of all members
Moby::DummyBV Class Reference

An abstract bounding volume. More...

#include <DummyBV.h>

Inheritance diagram for Moby::DummyBV:
Moby::BV

Public Member Functions

std::ostream & to_vrml (std::ostream &out, const Ravelin::Pose3d &T) const
 Nothing will be output.
 
virtual boost::shared_ptr
< const Ravelin::Pose3d > 
get_relative_pose () const
 Gets the associated pose for this bounding volume.
 
virtual bool outside (const Point3d &point, double tol=NEAR_ZERO) const
 Determines whether a point is outside the bounding volume.
 
virtual bool intersects (const LineSeg3 &seg, double &tmin, double tmax, Point3d &q) const
 Determines whether a line segment intersects the bounding volume.
 
virtual BVPtr calc_swept_BV (CollisionGeometryPtr g, const Ravelin::SVelocityd &v) const
 Virtual function that calculates a velocity-expanded BV. More...
 
virtual double calc_volume () const
 Volume will be zero.
 
virtual Point3d get_lower_bounds () const
 Gets the lower bounds.
 
virtual Point3d get_upper_bounds () const
 Gets the upper bounds.
 
virtual void transform (const Ravelin::Transform3d &T, BV *result) const
 Transforms the dummy BV (does nothing)
 
- Public Member Functions inherited from Moby::BV
BVPtr get_this ()
 
boost::shared_ptr< const BVget_this () const
 
bool is_leaf () const
 
template<class OutputIterator >
OutputIterator get_all_BVs (OutputIterator begin) const
 Gets all BV nodes. More...
 
template<class OutputIterator >
OutputIterator get_all_leafs (OutputIterator begin) const
 Gets all leaf nodes.
 
template<class OutputIterator >
OutputIterator get_all_BVs (OutputIterator begin) const
 Gets all BV nodes. More...
 
template<class OutputIterator >
OutputIterator get_all_leafs (OutputIterator begin) const
 Gets all leaf nodes.
 
template<class OutputIterator >
OutputIterator intersect_BV_trees (BVPtr a, BVPtr b, const Ravelin::Transform3d &aTb, const Ravelin::Transform3d &bTa, OutputIterator output_begin)
 Intersects two BV trees; returns list of all leaf-level intersecting BVs. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Moby::BV
static bool intersects (BVPtr a, BVPtr b)
 Convenience method.
 
static bool intersects (BVPtr a, BVPtr b, const Ravelin::Transform3d &T)
 Convenience method.
 
static double calc_distance (BVPtr a, BVPtr b, Point3d &cp1, Point3d &cp2)
 Convenience method.
 
static double calc_distance (BVPtr a, BVPtr b, const Ravelin::Transform3d &aTb, Point3d &cp1, Point3d &cp2)
 Convenience method.
 
static bool intersects (const BV *a, const BV *b)
 Computes whether two abstract bounding volumes intersect.
 
static bool intersects (const BV *a, const BV *b, const Ravelin::Transform3d &T)
 
static double calc_distance (const BV *a, const BV *b, Point3d &cp1, Point3d &cp2)
 Computes the distance between two abstract bounding volumes and stores the closest points. More...
 
static double calc_distance (const BV *a, const BV *b, const Ravelin::Transform3d &aTb, Point3d &cp1, Point3d &cp2)
 
template<class OutputIterator >
static OutputIterator intersect_BV_trees (BVPtr a, BVPtr b, const Ravelin::Transform3d &aTb, const Ravelin::Transform3d &bTa, OutputIterator output_begin)
 Intersects two BV trees; returns list of all leaf-level intersecting BVs. More...
 
- Public Attributes inherited from Moby::BV
boost::shared_ptr< void > userdata
 Userdata for the BV.
 
CollisionGeometryPtr geom
 The collision geometry associated with this bounding volume.
 
std::list< BVPtrchildren
 The children of this BV.
 

Detailed Description

An abstract bounding volume.

Note
the BV is generally constructed such that its frame is aligned with that of the underlying rigid body (or collision geometry). Therefore, the center of the BV is computed relative to the center-of-mass of the body (or the center of the geometry). The orientation of the BV will always be identical to the orientation of the rigid body (or collision geometry).

Member Function Documentation

virtual BVPtr Moby::DummyBV::calc_swept_BV ( CollisionGeometryPtr  g,
const Ravelin::SVelocityd &  v 
) const
inlinevirtual

Virtual function that calculates a velocity-expanded BV.

Parameters
gthe geometry that this bounding volume represents
dtthe time step
vthe velocity
Returns
the velocity-expanded bounding volume

Implements Moby::BV.


The documentation for this class was generated from the following file: