#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 | |
FXAPI bool | overlap (const FXRangef &a, const FXSpheref &b) |
FXAPI bool | overlap (const FXSpheref &a, const FXRangef &b) |
FXAPI bool | overlap (const FXSpheref &a, const FXSpheref &b) |
FXAPI FXStream & | operator<< (FXStream &store, const FXSpheref &sphere) |
FXAPI FXStream & | operator>> (FXStream &store, FXSpheref &sphere) |
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.
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.
bool FX::FXSpheref::operator== | ( | const FXSpheref & | s | ) | const [inline] |
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::includeInRadius | ( | FXfloat | x, | |
FXfloat | y, | |||
FXfloat | z | |||
) |
Expand radius to include point.
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.
Intersect sphere with ray u-v.
Test if box overlaps with sphere.
Test if sphere overlaps with box.
Save object to a stream.
Load object from a stream.