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

FX::FXRanged Class Reference

#include <FXRanged.h>

Public Member Functions

 FXRanged ()
 
 FXRanged (const FXRanged &bounds)
 
 FXRanged (const FXVec3d &lo, const FXVec3d &hi)
 
 FXRanged (FXdouble xlo, FXdouble xhi, FXdouble ylo, FXdouble yhi, FXdouble zlo, FXdouble zhi)
 
 FXRanged (const FXSphered &sphere)
 
FXRangedoperator= (const FXRanged &bounds)
 
FXRangedset (const FXRanged &bounds)
 
FXRangedset (const FXVec3d &lo, const FXVec3d &hi)
 
FXRangedset (FXdouble xlo, FXdouble xhi, FXdouble ylo, FXdouble yhi, FXdouble zlo, FXdouble zhi)
 
FXVec3doperator[] (FXint i)
 
const FXVec3doperator[] (FXint i) const
 
bool operator== (const FXRanged &r) const
 
bool operator!= (const FXRanged &r) const
 
FXdouble width () const
 
FXdouble height () const
 
FXdouble depth () const
 
FXdouble longest () const
 
FXdouble shortest () const
 
FXdouble diameter () const
 
FXdouble radius () const
 
FXVec3d diagonal () const
 
FXVec3d center () const
 
bool empty () const
 
bool contains (FXdouble x, FXdouble y, FXdouble z) const
 
bool contains (const FXVec3d &p) const
 
bool contains (const FXRanged &bounds) const
 
bool contains (const FXSphered &sphere) const
 
FXRangedinclude (FXdouble x, FXdouble y, FXdouble z)
 
FXRangedinclude (const FXVec3d &v)
 
FXRangedinclude (const FXRanged &box)
 
FXRangedinclude (const FXSphered &sphere)
 
FXint intersect (const FXVec4d &plane) const
 
bool intersect (const FXVec3d &u, const FXVec3d &v)
 
FXVec3d corner (FXint c) const
 

Public Attributes

FXVec3d lower
 
FXVec3d upper
 

Friends

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

Detailed Description

Bounds.

Constructor & Destructor Documentation

FX::FXRanged::FXRanged ( )
inline

Default constructor.

FX::FXRanged::FXRanged ( const FXRanged bounds)
inline

Initialize from another range.

FX::FXRanged::FXRanged ( const FXVec3d lo,
const FXVec3d hi 
)
inline

Initialize from two vectors.

FX::FXRanged::FXRanged ( FXdouble  xlo,
FXdouble  xhi,
FXdouble  ylo,
FXdouble  yhi,
FXdouble  zlo,
FXdouble  zhi 
)
inline

Initialize from six numbers.

FX::FXRanged::FXRanged ( const FXSphered sphere)

Initialize box to fully contain the given bounding sphere.

Member Function Documentation

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

Assignment.

References lower, and upper.

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

Set value from another range.

References lower, and upper.

Referenced by set().

FXRanged& FX::FXRanged::set ( const FXVec3d lo,
const FXVec3d hi 
)
inline

Set value from two vectors.

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

FXRanged& FX::FXRanged::set ( FXdouble  xlo,
FXdouble  xhi,
FXdouble  ylo,
FXdouble  yhi,
FXdouble  zlo,
FXdouble  zhi 
)
inline

Set value from six numbers.

References set().

FXVec3d& FX::FXRanged::operator[] ( FXint  i)
inline

Indexing with 0..1.

const FXVec3d& FX::FXRanged::operator[] ( FXint  i) const
inline

Indexing with 0..1.

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

Comparison.

References lower, and upper.

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

References lower, and upper.

FXdouble FX::FXRanged::width ( ) const
inline

Width of box.

FXdouble FX::FXRanged::height ( ) const
inline

Height of box.

FXdouble FX::FXRanged::depth ( ) const
inline

Depth of box.

FXdouble FX::FXRanged::longest ( ) const

Longest side.

FXdouble FX::FXRanged::shortest ( ) const

shortest side

FXdouble FX::FXRanged::diameter ( ) const

Length of diagonal.

FXdouble FX::FXRanged::radius ( ) const

Get radius of box.

FXVec3d FX::FXRanged::diagonal ( ) const

Compute diagonal.

FXVec3d FX::FXRanged::center ( ) const

Get center of box.

bool FX::FXRanged::empty ( ) const

Test if empty.

bool FX::FXRanged::contains ( FXdouble  x,
FXdouble  y,
FXdouble  z 
) const

Test if box contains point x,y,z.

bool FX::FXRanged::contains ( const FXVec3d p) const

Test if box contains point p.

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

Test if box properly contains another box.

bool FX::FXRanged::contains ( const FXSphered sphere) const

Test if box properly contains sphere.

FXRanged& FX::FXRanged::include ( FXdouble  x,
FXdouble  y,
FXdouble  z 
)

Include point.

FXRanged& FX::FXRanged::include ( const FXVec3d v)

Include point.

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

Include given range into box.

FXRanged& FX::FXRanged::include ( const FXSphered sphere)

Include given sphere into this box.

FXint FX::FXRanged::intersect ( const FXVec4d plane) const

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

bool FX::FXRanged::intersect ( const FXVec3d u,
const FXVec3d v 
)

Intersect box with ray u-v.

FXVec3d FX::FXRanged::corner ( FXint  c) const
inline

Get corner number 0..7.

Friends And Related Function Documentation

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

Test if bounds overlap.

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

Union of two boxes.

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

Intersection of two boxes.

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

Save object to a stream.

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

Load object from a stream.

Member Data Documentation

FXVec3d FX::FXRanged::lower

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

FXVec3d FX::FXRanged::upper

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

Copyright © 1997-2005 Jeroen van der Zijp