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

FX::FXSpheref Class Reference

#include <FXSpheref.h>

Public Member Functions

 FXSpheref ()
 
 FXSpheref (const FXSpheref &sphere)
 
 FXSpheref (const FXVec3f &cen, FXfloat rad=0.0f)
 
 FXSpheref (FXfloat x, FXfloat y, FXfloat z, FXfloat rad=0.0f)
 
 FXSpheref (const FXRangef &bounds)
 
FXSpheref & operator= (const FXSpheref &sphere)
 
FXSpheref & set (const FXSpheref &sphere)
 
FXSpheref & set (const FXVec3f &cen, FXfloat rad)
 
FXSpheref & set (FXfloat x, FXfloat y, FXfloat z, FXfloat rad)
 
bool operator== (const FXSpheref &s) const
 
bool operator!= (const FXSpheref &s) const
 
FXfloat diameter () const
 
bool empty () const
 
bool contains (FXfloat x, FXfloat y, FXfloat z) const
 
bool contains (const FXVec3f &p) const
 
bool contains (const FXRangef &box) const
 
bool contains (const FXSpheref &sphere) const
 
FXSpheref & include (FXfloat x, FXfloat y, FXfloat z)
 
FXSpheref & include (const FXVec3f &p)
 
FXSpheref & includeInRadius (FXfloat x, FXfloat y, FXfloat z)
 
FXSpheref & includeInRadius (const FXVec3f &p)
 
FXSpheref & include (const FXRangef &box)
 
FXSpheref & includeInRadius (const FXRangef &box)
 
FXSpheref & include (const FXSpheref &sphere)
 
FXSpheref & includeInRadius (const FXSpheref &sphere)
 
FXint intersect (const FXVec4f &plane) const
 
bool intersect (const FXVec3f &u, const FXVec3f &v) const
 

Public Attributes

FXVec3f center
 
FXfloat radius
 

Friends

bool overlap (const FXRangef &a, const FXSpheref &b)
 
bool overlap (const FXSpheref &a, const FXRangef &b)
 
bool overlap (const FXSpheref &a, const FXSpheref &b)
 
FXStream & operator<< (FXStream &store, const FXSpheref &sphere)
 
FXStream & operator>> (FXStream &store, FXSpheref &sphere)
 

Detailed Description

Spherical bounds.

Constructor & Destructor Documentation

FX::FXSpheref::FXSpheref ( )
inline

Default constructor.

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

Copy constructor.

FX::FXSpheref::FXSpheref ( const FXVec3f &  cen,
FXfloat  rad = 0.0f 
)
inline

Initialize from center and radius.

FX::FXSpheref::FXSpheref ( FXfloat  x,
FXfloat  y,
FXfloat  z,
FXfloat  rad = 0.0f 
)
inline

Initialize from center and radius.

FX::FXSpheref::FXSpheref ( const FXRangef &  bounds)

Initialize sphere to fully contain the given bounding box.

Member Function Documentation

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

Assignment.

References center, and radius.

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

Set value from another sphere.

References center, and radius.

FXSpheref& FX::FXSpheref::set ( const FXVec3f &  cen,
FXfloat  rad 
)
inline

Set value from center and radius.

FXSpheref& FX::FXSpheref::set ( FXfloat  x,
FXfloat  y,
FXfloat  z,
FXfloat  rad 
)
inline

Set value from center and radius.

References FX::FXVec3f::set().

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

Comparison.

References center, and radius.

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

References center, and radius.

FXfloat FX::FXSpheref::diameter ( ) const
inline

Diameter of sphere.

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

Test if empty.

bool FX::FXSpheref::contains ( FXfloat  x,
FXfloat  y,
FXfloat  z 
) const

Test if sphere contains point x,y,z.

bool FX::FXSpheref::contains ( const FXVec3f &  p) const

Test if sphere contains point p.

bool FX::FXSpheref::contains ( const FXRangef &  box) const

Test if sphere properly contains another box.

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

Test if sphere properly contains another sphere.

FXSpheref& FX::FXSpheref::include ( FXfloat  x,
FXfloat  y,
FXfloat  z 
)

Include point.

FXSpheref& FX::FXSpheref::include ( const FXVec3f &  p)

Include point.

FXSpheref& FX::FXSpheref::includeInRadius ( FXfloat  x,
FXfloat  y,
FXfloat  z 
)

Expand radius to include point.

FXSpheref& FX::FXSpheref::includeInRadius ( const FXVec3f &  p)

Expand radius to include point.

FXSpheref& FX::FXSpheref::include ( const FXRangef &  box)

Include given range into this one.

FXSpheref& FX::FXSpheref::includeInRadius ( const FXRangef &  box)

Expand radius to include box.

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

Include given sphere into this one.

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

Expand radius to include sphere.

FXint FX::FXSpheref::intersect ( const FXVec4f &  plane) const

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

bool FX::FXSpheref::intersect ( const FXVec3f &  u,
const FXVec3f &  v 
) const

Intersect sphere with ray u-v.

Friends And Related Function Documentation

bool overlap ( const FXRangef &  a,
const FXSpheref &  b 
)
friend

Test if box overlaps with sphere.

bool overlap ( const FXSpheref &  a,
const FXRangef &  b 
)
friend

Test if sphere overlaps with box.

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

Test if spheres overlap.

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

Save object to a stream.

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

Load object from a stream.

Member Data Documentation

FXVec3f FX::FXSpheref::center

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

FXfloat FX::FXSpheref::radius

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

Copyright © 1997-2005 Jeroen van der Zijp