Cinder  0.8.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
cinder::RectT< T > Class Template Reference

#include <Area.h>

Public Member Functions

 RectT ()
 
 RectT (const std::vector< Vec2< T > > &points)
 
 RectT (T aX1, T aY1, T aX2, T aY2)
 
 RectT (const Vec2< T > &v1, const Vec2< T > &v2)
 
 RectT (const Area &area)
 
void set (T aX1, T aY1, T aX2, T aY2)
 
getWidth () const
 
getHeight () const
 
getAspectRatio () const
 
calcArea () const
 
void canonicalize ()
 
RectT canonicalized () const
 
void clipBy (const RectT &clip)
 
RectT getClipBy (const RectT &clip) const
 
Area getInteriorArea () const
 
void offset (const Vec2< T > &offset)
 
RectT getOffset (const Vec2< T > &off) const
 
void inflate (const Vec2< T > &amount)
 
RectT inflated (const Vec2< T > &amount) const
 
void offsetCenterTo (const Vec2< T > &center)
 Translates the rectangle so that its center is at center. More...
 
void scaleCentered (const Vec2< T > &scale)
 
void scaleCentered (T scale)
 
RectT scaledCentered (T scale) const
 
void scale (T scale)
 
void scale (const Vec2< T > &scale)
 
RectT scaled (T scale) const
 
RectT scaled (const Vec2< T > &scale) const
 
RectT transformCopy (const class MatrixAffine2< T > &matrix) const
 Returns a copy of the Rect transformed by matrix. Represents the bounding box of the transformed Rect when matrix expresses non-scale/translate operations. More...
 
template<typename Y >
bool contains (const Vec2< Y > &pt) const
 Is a point pt inside the rectangle. More...
 
bool intersects (const RectT &rect) const
 Returns whether rect intersects with this. More...
 
distance (const Vec2< T > &pt) const
 Returns the distance between the point pt and the rectangle. Points inside the rectangle return 0. More...
 
distanceSquared (const Vec2< T > &pt) const
 Returns the squared distance between the point pt and the rectangle. Points inside the rectangle return 0. More...
 
Vec2< T > closestPoint (const Vec2< T > &pt) const
 Returns the nearest point on the Rect rect. Points inside the rectangle return pt. More...
 
getX1 () const
 
getY1 () const
 
getX2 () const
 
getY2 () const
 
Vec2< T > getUpperLeft () const
 
Vec2< T > getUpperRight () const
 
Vec2< T > getLowerRight () const
 
Vec2< T > getLowerLeft () const
 
Vec2< T > getCenter () const
 
Vec2< T > getSize () const
 
RectT getCenteredFit (const RectT &other, bool expand) const
 
void include (const Vec2< T > &point)
 
void include (const std::vector< Vec2< T > > &points)
 
void include (const RectT &rect)
 
const RectT< T > operator+ (const Vec2< T > &o) const
 
const RectT< T > operator- (const Vec2< T > &o) const
 
const RectT< T > operator* (T s) const
 
const RectT< T > operator/ (T s) const
 
const RectT< T > operator+ (const RectT< T > &rhs) const
 
const RectT< T > operator- (const RectT< T > &rhs) const
 
RectT< T > & operator+= (const Vec2< T > &o)
 
RectT< T > & operator-= (const Vec2< T > &o)
 
RectT< T > & operator*= (T s)
 
RectT< T > & operator/= (T s)
 

Static Public Member Functions

static RectT zero ()
 Constructs a rectangle with all values initialized to zero. More...
 

Public Attributes

x1
 
y1
 
x2
 
y2
 

Friends

std::ostream & operator<< (std::ostream &o, const RectT &rect)
 

Constructor & Destructor Documentation

template<typename T>
cinder::RectT< T >::RectT ( )
template<typename T>
cinder::RectT< T >::RectT ( const std::vector< Vec2< T > > &  points)

Initializes the rectangle to be the bounding box of points

template<typename T>
cinder::RectT< T >::RectT ( aX1,
aY1,
aX2,
aY2 
)
template<typename T>
cinder::RectT< T >::RectT ( const Vec2< T > &  v1,
const Vec2< T > &  v2 
)
template<typename T>
cinder::RectT< T >::RectT ( const Area area)

Member Function Documentation

template<typename T>
void cinder::RectT< T >::set ( aX1,
aY1,
aX2,
aY2 
)
template<typename T>
T cinder::RectT< T >::getWidth ( ) const
template<typename T>
T cinder::RectT< T >::getHeight ( ) const
template<typename T>
T cinder::RectT< T >::getAspectRatio ( ) const
template<typename T>
T cinder::RectT< T >::calcArea ( ) const
template<typename T >
void cinder::RectT< T >::canonicalize ( )
template<typename T >
RectT< T > cinder::RectT< T >::canonicalized ( ) const
template<typename T >
void cinder::RectT< T >::clipBy ( const RectT< T > &  clip)
template<typename T >
RectT< T > cinder::RectT< T >::getClipBy ( const RectT< T > &  clip) const
template<typename T >
Area cinder::RectT< T >::getInteriorArea ( ) const
template<typename T>
void cinder::RectT< T >::offset ( const Vec2< T > &  offset)
template<typename T>
RectT cinder::RectT< T >::getOffset ( const Vec2< T > &  off) const
template<typename T>
void cinder::RectT< T >::inflate ( const Vec2< T > &  amount)
template<typename T>
RectT< T > cinder::RectT< T >::inflated ( const Vec2< T > &  amount) const
template<typename T>
void cinder::RectT< T >::offsetCenterTo ( const Vec2< T > &  center)

Translates the rectangle so that its center is at center.

template<typename T>
void cinder::RectT< T >::scaleCentered ( const Vec2< T > &  scale)
template<typename T>
void cinder::RectT< T >::scaleCentered ( scale)
template<typename T>
RectT< T > cinder::RectT< T >::scaledCentered ( scale) const
template<typename T>
void cinder::RectT< T >::scale ( scale)
template<typename T>
void cinder::RectT< T >::scale ( const Vec2< T > &  scale)
template<typename T>
RectT< T > cinder::RectT< T >::scaled ( scale) const
template<typename T>
RectT< T > cinder::RectT< T >::scaled ( const Vec2< T > &  scale) const
template<typename T>
RectT< T > cinder::RectT< T >::transformCopy ( const class MatrixAffine2< T > &  matrix) const

Returns a copy of the Rect transformed by matrix. Represents the bounding box of the transformed Rect when matrix expresses non-scale/translate operations.

template<typename T>
template<typename Y >
bool cinder::RectT< T >::contains ( const Vec2< Y > &  pt) const

Is a point pt inside the rectangle.

template<typename T >
bool cinder::RectT< T >::intersects ( const RectT< T > &  rect) const

Returns whether rect intersects with this.

template<typename T>
T cinder::RectT< T >::distance ( const Vec2< T > &  pt) const

Returns the distance between the point pt and the rectangle. Points inside the rectangle return 0.

template<typename T>
T cinder::RectT< T >::distanceSquared ( const Vec2< T > &  pt) const

Returns the squared distance between the point pt and the rectangle. Points inside the rectangle return 0.

template<typename T>
Vec2< T > cinder::RectT< T >::closestPoint ( const Vec2< T > &  pt) const

Returns the nearest point on the Rect rect. Points inside the rectangle return pt.

template<typename T>
T cinder::RectT< T >::getX1 ( ) const
template<typename T>
T cinder::RectT< T >::getY1 ( ) const
template<typename T>
T cinder::RectT< T >::getX2 ( ) const
template<typename T>
T cinder::RectT< T >::getY2 ( ) const
template<typename T>
Vec2<T> cinder::RectT< T >::getUpperLeft ( ) const
template<typename T>
Vec2<T> cinder::RectT< T >::getUpperRight ( ) const
template<typename T>
Vec2<T> cinder::RectT< T >::getLowerRight ( ) const
template<typename T>
Vec2<T> cinder::RectT< T >::getLowerLeft ( ) const
template<typename T>
Vec2<T> cinder::RectT< T >::getCenter ( ) const
template<typename T>
Vec2<T> cinder::RectT< T >::getSize ( ) const
template<typename T >
RectT< T > cinder::RectT< T >::getCenteredFit ( const RectT< T > &  other,
bool  expand 
) const
Returns
Scaled copy with the same aspect ratio centered relative to and scaled to fit inside other. If expand then the rectangle is expanded if it is smaller than other
template<typename T>
void cinder::RectT< T >::include ( const Vec2< T > &  point)

Expands the Rect to include point in its interior

template<typename T>
void cinder::RectT< T >::include ( const std::vector< Vec2< T > > &  points)

Expands the Rect to include all points in points in its interior

template<typename T>
void cinder::RectT< T >::include ( const RectT< T > &  rect)

Expands the Rect to include rect in its interior

template<typename T>
const RectT<T> cinder::RectT< T >::operator+ ( const Vec2< T > &  o) const
template<typename T>
const RectT<T> cinder::RectT< T >::operator- ( const Vec2< T > &  o) const
template<typename T>
const RectT<T> cinder::RectT< T >::operator* ( s) const
template<typename T>
const RectT<T> cinder::RectT< T >::operator/ ( s) const
template<typename T>
const RectT<T> cinder::RectT< T >::operator+ ( const RectT< T > &  rhs) const
template<typename T>
const RectT<T> cinder::RectT< T >::operator- ( const RectT< T > &  rhs) const
template<typename T>
RectT<T>& cinder::RectT< T >::operator+= ( const Vec2< T > &  o)
template<typename T>
RectT<T>& cinder::RectT< T >::operator-= ( const Vec2< T > &  o)
template<typename T>
RectT<T>& cinder::RectT< T >::operator*= ( s)
template<typename T>
RectT<T>& cinder::RectT< T >::operator/= ( s)
template<typename T>
static RectT cinder::RectT< T >::zero ( )
static

Constructs a rectangle with all values initialized to zero.

Friends And Related Function Documentation

template<typename T>
std::ostream& operator<< ( std::ostream &  o,
const RectT< T > &  rect 
)
friend

Member Data Documentation

template<typename T>
T cinder::RectT< T >::x1
template<typename T>
T cinder::RectT< T >::y1
template<typename T>
T cinder::RectT< T >::x2
template<typename T>
T cinder::RectT< T >::y2

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