Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FX::FXSphered Class Reference

#include <FXSphered.h>

Public Member Functions

 FXSphered ()
 
 FXSphered (const FXSphered &sphere)
 
 FXSphered (const FXVec3d &cen, FXdouble rad=0.0)
 
 FXSphered (FXdouble x, FXdouble y, FXdouble z, FXdouble rad=0.0)
 
 FXSphered (const FXRanged &bounds)
 
FXSphered & operator= (const FXSphered &sphere)
 
FXSphered & set (const FXSphered &sphere)
 
FXSphered & set (const FXVec3d &cen, FXdouble rad)
 
FXSphered & set (FXdouble x, FXdouble y, FXdouble z, FXdouble rad)
 
bool operator== (const FXSphered &s) const
 
bool operator!= (const FXSphered &s) const
 
FXdouble diameter () const
 
bool empty () const
 
bool contains (FXdouble x, FXdouble y, FXdouble z) const
 
bool contains (const FXVec3d &p) const
 
bool contains (const FXRanged &box) const
 
bool contains (const FXSphered &sphere) const
 
FXSphered & include (FXdouble x, FXdouble y, FXdouble z)
 
FXSphered & include (const FXVec3d &p)
 
FXSphered & includeInRadius (FXdouble x, FXdouble y, FXdouble z)
 
FXSphered & includeInRadius (const FXVec3d &p)
 
FXSphered & include (const FXRanged &box)
 
FXSphered & includeInRadius (const FXRanged &box)
 
FXSphered & include (const FXSphered &sphere)
 
FXSphered & includeInRadius (const FXSphered &sphere)
 
FXint intersect (const FXVec4d &plane) const
 
bool intersect (const FXVec3d &u, const FXVec3d &v) const
 

Public Attributes

FXVec3d center
 
FXdouble radius
 

Friends

bool overlap (const FXRanged &a, const FXSphered &b)
 
bool overlap (const FXSphered &a, const FXRanged &b)
 
bool overlap (const FXSphered &a, const FXSphered &b)
 
FXStream & operator<< (FXStream &store, const FXSphered &sphere)
 
FXStream & operator>> (FXStream &store, FXSphered &sphere)
 

Detailed Description

Spherical bounds.

Constructor & Destructor Documentation

FX::FXSphered::FXSphered ( )
inline

Default constructor.

FX::FXSphered::FXSphered ( const FXSphered &  sphere)
inline

Copy constructor.

FX::FXSphered::FXSphered ( const FXVec3d &  cen,
FXdouble  rad = 0.0 
)
inline

Initialize from center and radius.

FX::FXSphered::FXSphered ( FXdouble  x,
FXdouble  y,
FXdouble  z,
FXdouble  rad = 0.0 
)
inline

Initialize from center and radius.

FX::FXSphered::FXSphered ( const FXRanged &  bounds)

Initialize sphere to fully contain the given bounding box.

Member Function Documentation

FXSphered& FX::FXSphered::operator= ( const FXSphered &  sphere)
inline

Assignment.

References center, and radius.

FXSphered& FX::FXSphered::set ( const FXSphered &  sphere)
inline

Set value from another sphere.

References center, and radius.

FXSphered& FX::FXSphered::set ( const FXVec3d &  cen,
FXdouble  rad 
)
inline

Set value from center and radius.

FXSphered& FX::FXSphered::set ( FXdouble  x,
FXdouble  y,
FXdouble  z,
FXdouble  rad 
)
inline

Set value from center and radius.

References FX::FXVec3d::set().

bool FX::FXSphered::operator== ( const FXSphered &  s) const
inline

Comparison.

References center, and radius.

bool FX::FXSphered::operator!= ( const FXSphered &  s) const
inline

References center, and radius.

FXdouble FX::FXSphered::diameter ( ) const
inline

Diameter of sphere.

bool FX::FXSphered::empty ( ) const
inline

Test if empty.

bool FX::FXSphered::contains ( FXdouble  x,
FXdouble  y,
FXdouble  z 
) const

Test if sphere contains point x,y,z.

bool FX::FXSphered::contains ( const FXVec3d &  p) const

Test if sphere contains point p.

bool FX::FXSphered::contains ( const FXRanged &  box) const

Test if sphere contains another box.

bool FX::FXSphered::contains ( const FXSphered &  sphere) const

Test if sphere contains another sphere.

FXSphered& FX::FXSphered::include ( FXdouble  x,
FXdouble  y,
FXdouble  z 
)

Include point.

FXSphered& FX::FXSphered::include ( const FXVec3d &  p)

Include point.

FXSphered& FX::FXSphered::includeInRadius ( FXdouble  x,
FXdouble  y,
FXdouble  z 
)

Expand radius to include point.

FXSphered& FX::FXSphered::includeInRadius ( const FXVec3d &  p)

Expand radius to include point.

FXSphered& FX::FXSphered::include ( const FXRanged &  box)

Include given range into this one.

FXSphered& FX::FXSphered::includeInRadius ( const FXRanged &  box)

Expand radius to include box.

FXSphered& FX::FXSphered::include ( const FXSphered &  sphere)

Include given sphere into this one.

FXSphered& FX::FXSphered::includeInRadius ( const FXSphered &  sphere)

Expand radius to include sphere.

FXint FX::FXSphered::intersect ( const FXVec4d &  plane) const

Intersect sphere with normalized plane ax+by+cz+w; returns -1,0,+1.

bool FX::FXSphered::intersect ( const FXVec3d &  u,
const FXVec3d &  v 
) const

Intersect sphere with ray u-v.

Friends And Related Function Documentation

bool overlap ( const FXRanged &  a,
const FXSphered &  b 
)
friend

Test if box overlaps with sphere.

bool overlap ( const FXSphered &  a,
const FXRanged &  b 
)
friend

Test if sphere overlaps with box.

bool overlap ( const FXSphered &  a,
const FXSphered &  b 
)
friend

Test if spheres overlap.

FXStream& operator<< ( FXStream &  store,
const FXSphered &  sphere 
)
friend

Save object to a stream.

FXStream& operator>> ( FXStream &  store,
FXSphered &  sphere 
)
friend

Load object from a stream.

Member Data Documentation

FXVec3d FX::FXSphered::center

Referenced by operator!=(), operator=(), operator==(), and set().

FXdouble FX::FXSphered::radius

Referenced by operator!=(), operator=(), operator==(), and set().

Copyright © 1997-2005 Jeroen van der Zijp