BoundingSphere Class Reference

#include <boundingsphere.h>

Inheritance diagram for BoundingSphere:

Inheritance graph
[legend]
Collaboration diagram for BoundingSphere:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 BoundingSphere (BoundingSphere *parent)
virtual ~BoundingSphere ()
Point3D getCenter ()
double getRadius ()
BoundingSpheregetParent ()
void setParent (BoundingSphere *p)
int getLevel ()
int numLeafs ()
int getDepth ()
int hasAncestor (BoundingSphere *b)
BoundingSphereNodefindCommonAncestor (BoundingSphere *b[], int num)
bool remainsValid (Point3D newCenter, double newRadius, double threshold)
virtual bool isLeaf ()=0
int numEnabledLeafs ()
void markTreeEnabled (int enabled)
void propEnabled (int enabled)
virtual bool procChange ()=0
virtual void propChange ()

Static Public Member Functions

static NodefindClosestNode (BoundingSphere *s, Point3D pt, double *thresh)
static int dist (BoundingSphere *sa, BoundingSphere *sb, double error=0, double init=LARGE)
static int addLeaf (BoundingSphereLeaf *sa, BoundingSphere *sb)
static int removeLeaf (BoundingSphereLeaf *sa)

Public Attributes

int enabled

Static Public Attributes

static const char * rcsid = "@(#) $Id: boundingsphere.cpp,v 1.30 2006/05/24 16:52:40 sean Exp $ $Copyright: (c)2001 National Biocomputation Center, Stanford University $"
static int debug = 0
static int return_first_collision_only = 0

Protected Attributes

BoundingSphereparent
Point3D center
double radius
int level
bool inQueue

Friends

class BoundingSphereNode
class BoundingSphereLeaf
struct scompare


Detailed Description

Definition at line 71 of file boundingsphere.h.


Constructor & Destructor Documentation

BoundingSphere::BoundingSphere ( BoundingSphere parent  ) 

Definition at line 49 of file boundingsphere.cpp.

BoundingSphere::~BoundingSphere (  )  [virtual]

Definition at line 63 of file boundingsphere.cpp.


Member Function Documentation

Point3D BoundingSphere::getCenter (  )  [inline]

Definition at line 84 of file boundingsphere.h.

double BoundingSphere::getRadius (  )  [inline]

Definition at line 85 of file boundingsphere.h.

BoundingSphere* BoundingSphere::getParent (  )  [inline]

Definition at line 87 of file boundingsphere.h.

void BoundingSphere::setParent ( BoundingSphere p  )  [inline]

Definition at line 88 of file boundingsphere.h.

int BoundingSphere::getLevel (  )  [inline]

Definition at line 89 of file boundingsphere.h.

int BoundingSphere::numLeafs (  ) 

Definition at line 279 of file boundingsphere.cpp.

int BoundingSphere::getDepth (  ) 

Definition at line 222 of file boundingsphere.cpp.

int BoundingSphere::hasAncestor ( BoundingSphere b  ) 

Definition at line 209 of file boundingsphere.cpp.

BoundingSphereNode * BoundingSphere::findCommonAncestor ( BoundingSphere b[],
int  num 
)

Definition at line 230 of file boundingsphere.cpp.

bool BoundingSphere::remainsValid ( Point3D  newCenter,
double  newRadius,
double  threshold 
)

Definition at line 76 of file boundingsphere.cpp.

virtual bool BoundingSphere::isLeaf (  )  [pure virtual]

Implemented in BoundingSphereNode, and BoundingSphereLeaf.

Node * BoundingSphere::findClosestNode ( BoundingSphere s,
Point3D  pt,
double *  thresh 
) [static]

Definition at line 92 of file boundingsphere.cpp.

int BoundingSphere::dist ( BoundingSphere sa,
BoundingSphere sb,
double  error = 0,
double  init = LARGE 
) [static]

Definition at line 323 of file boundingsphere.cpp.

int BoundingSphere::addLeaf ( BoundingSphereLeaf sa,
BoundingSphere sb 
) [static]

Definition at line 357 of file boundingsphere.cpp.

int BoundingSphere::removeLeaf ( BoundingSphereLeaf sa  )  [static]

Definition at line 420 of file boundingsphere.cpp.

int BoundingSphere::numEnabledLeafs (  ) 

Definition at line 301 of file boundingsphere.cpp.

void BoundingSphere::markTreeEnabled ( int  enabled  ) 

Definition at line 250 of file boundingsphere.cpp.

void BoundingSphere::propEnabled ( int  enabled  ) 

Definition at line 266 of file boundingsphere.cpp.

virtual bool BoundingSphere::procChange (  )  [pure virtual]

Implemented in BoundingSphereNode, and BoundingSphereLeaf.

virtual void BoundingSphere::propChange (  )  [inline, virtual]

Definition at line 117 of file boundingsphere.h.


Friends And Related Function Documentation

friend class BoundingSphereNode [friend]

Definition at line 72 of file boundingsphere.h.

friend class BoundingSphereLeaf [friend]

Definition at line 73 of file boundingsphere.h.

friend struct scompare [friend]

Definition at line 74 of file boundingsphere.h.


Member Data Documentation

const char * BoundingSphere::rcsid = "@(#) $Id: boundingsphere.cpp,v 1.30 2006/05/24 16:52:40 sean Exp $ $Copyright: (c)2001 National Biocomputation Center, Stanford University $" [static]

Definition at line 79 of file boundingsphere.h.

int BoundingSphere::debug = 0 [static]

Definition at line 80 of file boundingsphere.h.

int BoundingSphere::return_first_collision_only = 0 [static]

Definition at line 81 of file boundingsphere.h.

int BoundingSphere::enabled

Definition at line 110 of file boundingsphere.h.

BoundingSphere* BoundingSphere::parent [protected]

Definition at line 121 of file boundingsphere.h.

Point3D BoundingSphere::center [protected]

Definition at line 122 of file boundingsphere.h.

double BoundingSphere::radius [protected]

Definition at line 123 of file boundingsphere.h.

int BoundingSphere::level [protected]

Definition at line 124 of file boundingsphere.h.

bool BoundingSphere::inQueue [protected]

Definition at line 125 of file boundingsphere.h.


The documentation for this class was generated from the following files:
Generated on Thu Aug 30 11:04:29 2007 for SPRING Mac by  doxygen 1.5.3