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)
 
FXSpherefoperator= (const FXSpheref &sphere)
 
FXSpherefset (const FXSpheref &sphere)
 
FXSpherefset (const FXVec3f &cen, FXfloat rad)
 
FXSpherefset (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
 
FXSpherefinclude (FXfloat x, FXfloat y, FXfloat z)
 
FXSpherefinclude (const FXVec3f &p)
 
FXSpherefincludeInRadius (FXfloat x, FXfloat y, FXfloat z)
 
FXSpherefincludeInRadius (const FXVec3f &p)
 
FXSpherefinclude (const FXRangef &box)
 
FXSpherefincludeInRadius (const FXRangef &box)
 
FXSpherefinclude (const FXSpheref &sphere)
 
FXSpherefincludeInRadius (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)
 
FXStreamoperator<< (FXStream &store, const FXSpheref &sphere)
 
FXStreamoperator>> (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.

Referenced by set().

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 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