UT_BoundingRect Class Reference

#include <UT_BoundingRect.h>

List of all members.

Public Member Functions

 UT_BoundingRect ()
 UT_BoundingRect (fpreal xmin, fpreal ymin, fpreal xmax, fpreal ymax)
 UT_BoundingRect (const UT_Vector2 &lowerbound, const UT_Vector2 &upperbound)
float operator() (unsigned m, unsigned n) const
float & operator() (unsigned m, unsigned n)
int operator== (const UT_BoundingRect &brect) const
bool operator!= (const UT_BoundingRect &brect) const
int contains (const UT_Vector2 &pt) const
int contains (const UT_Vector2 &pt, fpreal tol) const
int contains (fpreal x, fpreal y) const
int isInside (const UT_BoundingRect &brect) const
int intersects (const UT_Vector2 &v0, const UT_Vector2 &v1) const
int intersects (const UT_BoundingRect &rect) const
int intersects (const UT_BoundingRect &rect, fpreal tol) const
bool isValid () const
 Check whether the bounding box contains at least one point.
void makeInvalid ()
void initBounds ()
void initBounds (const UT_Vector2 &pt)
void initBounds (fpreal x, fpreal y)
void initBounds (fpreal xmin, fpreal xmax, fpreal ymin, fpreal ymax)
void initBounds (const fpreal32 *v)
void initBounds (const fpreal64 *v)
void initBounds (const UT_BoundingRect &rect)
void initMaxBounds ()
 Initialize the box to the largest size.
void enlargeBounds (const UT_Vector2 &pt)
void enlargeBounds (fpreal x, fpreal y)
void enlargeBounds (const fpreal32 *v)
void enlargeBounds (const fpreal64 *v)
void enlargeBounds (fpreal xmin, fpreal xmax, fpreal ymin, fpreal ymax)
void enlargeBounds (const UT_BoundingRect &rect)
void stretch (fpreal percent=0.001F, fpreal min=0.001F)
void translate (fpreal x, fpreal y)
fpreal sizeX () const
fpreal sizeY () const
fpreal centerX () const
fpreal centerY () const
void project (float &x, float &y, int *touchx=0, int *touchy=0) const
fpreal LX () const
fpreal LY () const
fpreal UX () const
fpreal UY () const
float & LX ()
float & LY ()
float & UX ()
float & UY ()
int intersectRay (const UT_Vector2 &orig, const UT_Vector2 &dir, fpreal tmax=1E17F, float *distance=0, UT_Vector2 *xsect=0) const
void save (ostream &os, int binary=0) const
bool save (UT_JSONWriter &w) const
bool save (UT_JSONValue &v) const
bool load (UT_JSONParser &p)

Public Attributes

union {
   float   vals [2][2]
   float   myFloats [4]
}; 

Friends

ostream & operator<< (ostream &os, const UT_BoundingRect &brect)


Detailed Description

Definition at line 36 of file UT_BoundingRect.h.


Constructor & Destructor Documentation

UT_BoundingRect::UT_BoundingRect (  )  [inline]

Definition at line 38 of file UT_BoundingRect.h.

UT_BoundingRect::UT_BoundingRect ( fpreal  xmin,
fpreal  ymin,
fpreal  xmax,
fpreal  ymax 
) [inline]

Definition at line 39 of file UT_BoundingRect.h.

UT_BoundingRect::UT_BoundingRect ( const UT_Vector2 lowerbound,
const UT_Vector2 upperbound 
)


Member Function Documentation

fpreal UT_BoundingRect::centerX (  )  const [inline]

Definition at line 168 of file UT_BoundingRect.h.

fpreal UT_BoundingRect::centerY (  )  const [inline]

Definition at line 169 of file UT_BoundingRect.h.

int UT_BoundingRect::contains ( fpreal  x,
fpreal  y 
) const [inline]

Definition at line 73 of file UT_BoundingRect.h.

int UT_BoundingRect::contains ( const UT_Vector2 pt,
fpreal  tol 
) const

int UT_BoundingRect::contains ( const UT_Vector2 pt  )  const

void UT_BoundingRect::enlargeBounds ( const UT_BoundingRect rect  )  [inline]

Definition at line 142 of file UT_BoundingRect.h.

void UT_BoundingRect::enlargeBounds ( fpreal  xmin,
fpreal  xmax,
fpreal  ymin,
fpreal  ymax 
) [inline]

Definition at line 135 of file UT_BoundingRect.h.

void UT_BoundingRect::enlargeBounds ( const fpreal64 v  )  [inline]

Definition at line 134 of file UT_BoundingRect.h.

void UT_BoundingRect::enlargeBounds ( const fpreal32 v  )  [inline]

Definition at line 133 of file UT_BoundingRect.h.

void UT_BoundingRect::enlargeBounds ( fpreal  x,
fpreal  y 
) [inline]

Definition at line 126 of file UT_BoundingRect.h.

void UT_BoundingRect::enlargeBounds ( const UT_Vector2 pt  ) 

void UT_BoundingRect::initBounds ( const UT_BoundingRect rect  )  [inline]

Definition at line 114 of file UT_BoundingRect.h.

void UT_BoundingRect::initBounds ( const fpreal64 v  )  [inline]

Definition at line 113 of file UT_BoundingRect.h.

void UT_BoundingRect::initBounds ( const fpreal32 v  )  [inline]

Definition at line 112 of file UT_BoundingRect.h.

void UT_BoundingRect::initBounds ( fpreal  xmin,
fpreal  xmax,
fpreal  ymin,
fpreal  ymax 
) [inline]

Definition at line 107 of file UT_BoundingRect.h.

void UT_BoundingRect::initBounds ( fpreal  x,
fpreal  y 
) [inline]

Definition at line 102 of file UT_BoundingRect.h.

void UT_BoundingRect::initBounds ( const UT_Vector2 pt  ) 

void UT_BoundingRect::initBounds (  ) 

Initialize the box such that

  • No points are contained in the box
  • The box occupies no position in space

void UT_BoundingRect::initMaxBounds (  ) 

Initialize the box to the largest size.

int UT_BoundingRect::intersectRay ( const UT_Vector2 orig,
const UT_Vector2 dir,
fpreal  tmax = 1E17F,
float *  distance = 0,
UT_Vector2 xsect = 0 
) const

int UT_BoundingRect::intersects ( const UT_BoundingRect rect,
fpreal  tol 
) const

int UT_BoundingRect::intersects ( const UT_BoundingRect rect  )  const

int UT_BoundingRect::intersects ( const UT_Vector2 v0,
const UT_Vector2 v1 
) const

int UT_BoundingRect::isInside ( const UT_BoundingRect brect  )  const [inline]

Definition at line 79 of file UT_BoundingRect.h.

bool UT_BoundingRect::isValid (  )  const

Check whether the bounding box contains at least one point.

bool UT_BoundingRect::load ( UT_JSONParser p  ) 

Methods to serialize to a JSON stream. The vector is stored as an array of 4 reals (xmin, xmax, ymin, ymax)

float& UT_BoundingRect::LX (  )  [inline]

Definition at line 182 of file UT_BoundingRect.h.

fpreal UT_BoundingRect::LX (  )  const [inline]

Definition at line 177 of file UT_BoundingRect.h.

float& UT_BoundingRect::LY (  )  [inline]

Definition at line 183 of file UT_BoundingRect.h.

fpreal UT_BoundingRect::LY (  )  const [inline]

Definition at line 178 of file UT_BoundingRect.h.

void UT_BoundingRect::makeInvalid (  )  [inline]

Definition at line 95 of file UT_BoundingRect.h.

bool UT_BoundingRect::operator!= ( const UT_BoundingRect brect  )  const [inline]

Definition at line 66 of file UT_BoundingRect.h.

float& UT_BoundingRect::operator() ( unsigned  m,
unsigned  n 
) [inline]

Definition at line 53 of file UT_BoundingRect.h.

float UT_BoundingRect::operator() ( unsigned  m,
unsigned  n 
) const [inline]

Definition at line 48 of file UT_BoundingRect.h.

int UT_BoundingRect::operator== ( const UT_BoundingRect brect  )  const [inline]

Definition at line 59 of file UT_BoundingRect.h.

void UT_BoundingRect::project ( float &  x,
float &  y,
int *  touchx = 0,
int *  touchy = 0 
) const

bool UT_BoundingRect::save ( UT_JSONValue v  )  const

Methods to serialize to a JSON stream. The vector is stored as an array of 4 reals (xmin, xmax, ymin, ymax)

bool UT_BoundingRect::save ( UT_JSONWriter w  )  const

Methods to serialize to a JSON stream. The vector is stored as an array of 4 reals (xmin, xmax, ymin, ymax)

void UT_BoundingRect::save ( ostream &  os,
int  binary = 0 
) const

fpreal UT_BoundingRect::sizeX (  )  const [inline]

Definition at line 165 of file UT_BoundingRect.h.

fpreal UT_BoundingRect::sizeY (  )  const [inline]

Definition at line 166 of file UT_BoundingRect.h.

void UT_BoundingRect::stretch ( fpreal  percent = 0.001F,
fpreal  min = 0.001F 
) [inline]

Definition at line 149 of file UT_BoundingRect.h.

void UT_BoundingRect::translate ( fpreal  x,
fpreal  y 
) [inline]

Definition at line 157 of file UT_BoundingRect.h.

float& UT_BoundingRect::UX (  )  [inline]

Definition at line 184 of file UT_BoundingRect.h.

fpreal UT_BoundingRect::UX (  )  const [inline]

Definition at line 179 of file UT_BoundingRect.h.

float& UT_BoundingRect::UY (  )  [inline]

Definition at line 185 of file UT_BoundingRect.h.

fpreal UT_BoundingRect::UY (  )  const [inline]

Definition at line 180 of file UT_BoundingRect.h.


Friends And Related Function Documentation

ostream& operator<< ( ostream &  os,
const UT_BoundingRect brect 
) [friend]

Definition at line 200 of file UT_BoundingRect.h.


Member Data Documentation

union { ... }

Definition at line 215 of file UT_BoundingRect.h.

float UT_BoundingRect::vals[2][2]

Definition at line 214 of file UT_BoundingRect.h.


The documentation for this class was generated from the following file:

Generated on Mon Jan 28 00:30:05 2013 for HDK by  doxygen 1.5.9