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

FX::FXRangef Class Reference

#include <FXRangef.h>

Public Member Functions

 FXRangef ()
 
 FXRangef (const FXRangef &bounds)
 
 FXRangef (const FXVec3f &lo, const FXVec3f &hi)
 
 FXRangef (FXfloat xlo, FXfloat xhi, FXfloat ylo, FXfloat yhi, FXfloat zlo, FXfloat zhi)
 
 FXRangef (const FXSpheref &sphere)
 
FXRangefoperator= (const FXRangef &bounds)
 
FXRangefset (const FXRangef &bounds)
 
FXRangefset (const FXVec3f &lo, const FXVec3f &hi)
 
FXRangefset (FXfloat xlo, FXfloat xhi, FXfloat ylo, FXfloat yhi, FXfloat zlo, FXfloat zhi)
 
FXVec3foperator[] (FXint i)
 
const FXVec3foperator[] (FXint i) const
 
bool operator== (const FXRangef &r) const
 
bool operator!= (const FXRangef &r) const
 
FXfloat width () const
 
FXfloat height () const
 
FXfloat depth () const
 
FXfloat longest () const
 
FXfloat shortest () const
 
FXfloat diameter () const
 
FXfloat radius () const
 
FXVec3f diagonal () const
 
FXVec3f center () const
 
bool empty () const
 
bool contains (FXfloat x, FXfloat y, FXfloat z) const
 
bool contains (const FXVec3f &p) const
 
bool contains (const FXRangef &bounds) const
 
bool contains (const FXSpheref &sphere) const
 
FXRangefinclude (FXfloat x, FXfloat y, FXfloat z)
 
FXRangefinclude (const FXVec3f &v)
 
FXRangefinclude (const FXRangef &box)
 
FXRangefinclude (const FXSpheref &sphere)
 
FXint intersect (const FXVec4f &plane) const
 
bool intersect (const FXVec3f &u, const FXVec3f &v)
 
FXVec3f corner (FXint c) const
 

Public Attributes

FXVec3f lower
 
FXVec3f upper
 

Friends

bool overlap (const FXRangef &a, const FXRangef &b)
 
FXRangef unite (const FXRangef &a, const FXRangef &b)
 
FXRangef intersect (const FXRangef &a, const FXRangef &b)
 
FXStreamoperator<< (FXStream &store, const FXRangef &bounds)
 
FXStreamoperator>> (FXStream &store, FXRangef &bounds)
 

Detailed Description

Bounds.

Constructor & Destructor Documentation

FX::FXRangef::FXRangef ( )
inline

Default constructor.

FX::FXRangef::FXRangef ( const FXRangef bounds)
inline

Copy constructor.

FX::FXRangef::FXRangef ( const FXVec3f lo,
const FXVec3f hi 
)
inline

Initialize from two vectors.

FX::FXRangef::FXRangef ( FXfloat  xlo,
FXfloat  xhi,
FXfloat  ylo,
FXfloat  yhi,
FXfloat  zlo,
FXfloat  zhi 
)
inline

Initialize from six numbers.

FX::FXRangef::FXRangef ( const FXSpheref sphere)

Initialize box to fully contain the given bounding sphere.

Member Function Documentation

FXRangef& FX::FXRangef::operator= ( const FXRangef bounds)
inline

Assignment.

References lower, and upper.

FXRangef& FX::FXRangef::set ( const FXRangef bounds)
inline

Set value from another range.

References lower, and upper.

FXRangef& FX::FXRangef::set ( const FXVec3f lo,
const FXVec3f hi 
)
inline

Set value from two vectors.

References FX::hi(), and FX::lo().

FXRangef& FX::FXRangef::set ( FXfloat  xlo,
FXfloat  xhi,
FXfloat  ylo,
FXfloat  yhi,
FXfloat  zlo,
FXfloat  zhi 
)
inline

Set value from six numbers.

References FX::FXVec3f::set().

FXVec3f& FX::FXRangef::operator[] ( FXint  i)
inline

Indexing with 0..1.

const FXVec3f& FX::FXRangef::operator[] ( FXint  i) const
inline

Indexing with 0..1.

bool FX::FXRangef::operator== ( const FXRangef r) const
inline

Comparison.

References lower, and upper.

bool FX::FXRangef::operator!= ( const FXRangef r) const
inline

References lower, and upper.

FXfloat FX::FXRangef::width ( ) const
inline

Width of box.

References FX::FXVec3f::x.

FXfloat FX::FXRangef::height ( ) const
inline

Height of box.

References FX::FXVec3f::y.

FXfloat FX::FXRangef::depth ( ) const
inline

Depth of box.

References FX::FXVec3f::z.

FXfloat FX::FXRangef::longest ( ) const

Longest side.

FXfloat FX::FXRangef::shortest ( ) const

shortest side

FXfloat FX::FXRangef::diameter ( ) const

Length of diagonal.

FXfloat FX::FXRangef::radius ( ) const

Get radius of box.

FXVec3f FX::FXRangef::diagonal ( ) const

Compute diagonal.

FXVec3f FX::FXRangef::center ( ) const

Get center of box.

bool FX::FXRangef::empty ( ) const

Test if empty.

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

Test if box contains point x,y,z.

bool FX::FXRangef::contains ( const FXVec3f p) const

Test if box contains point p.

bool FX::FXRangef::contains ( const FXRangef bounds) const

Test if box properly contains another box.

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

Test if box properly contains sphere.

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

Include point.

FXRangef& FX::FXRangef::include ( const FXVec3f v)

Include point.

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

Include given range into box.

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

Include given sphere into this box.

FXint FX::FXRangef::intersect ( const FXVec4f plane) const

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

bool FX::FXRangef::intersect ( const FXVec3f u,
const FXVec3f v 
)

Intersect box with ray u-v.

FXVec3f FX::FXRangef::corner ( FXint  c) const
inline

Get corner number 0..7.

Friends And Related Function Documentation

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

Test if boxes a and b overlap.

FXRangef unite ( const FXRangef a,
const FXRangef b 
)
friend

Union of two boxes.

FXRangef intersect ( const FXRangef a,
const FXRangef b 
)
friend

Intersection of two boxes.

FXStream& operator<< ( FXStream store,
const FXRangef bounds 
)
friend

Save object to a stream.

FXStream& operator>> ( FXStream store,
FXRangef bounds 
)
friend

Load object from a stream.

Member Data Documentation

FXVec3f FX::FXRangef::lower

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

FXVec3f FX::FXRangef::upper

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

Copyright © 1997-2005 Jeroen van der Zijp