#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 | |
FXAPI bool | overlap (const FXRanged &a, const FXSphered &b) |
FXAPI bool | overlap (const FXSphered &a, const FXRanged &b) |
FXAPI bool | overlap (const FXSphered &a, const FXSphered &b) |
FXAPI FXStream & | operator<< (FXStream &store, const FXSphered &sphere) |
FXAPI FXStream & | operator>> (FXStream &store, FXSphered &sphere) |
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.
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.
bool FX::FXSphered::operator== | ( | const FXSphered & | s | ) | const [inline] |
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::includeInRadius | ( | FXdouble | x, | |
FXdouble | y, | |||
FXdouble | z | |||
) |
Expand radius to include point.
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.
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.