Overview | Modules | Class Hierarchy | Classes | Members

# tlp::Rectangle< Obj > Struct Template Reference
[Basic]

`#include <Rectangle.h>`

Inherits tlp::Array< Vector< Obj, 2 >, 2 >.

Inheritance diagram for tlp::Rectangle< Obj >:

[legend]
Collaboration diagram for tlp::Rectangle< Obj >:

[legend]
List of all members.

## Detailed Description

### template<typename Obj>
struct tlp::Rectangle< Obj >

class for rectangle

Enables to both create and manipulate a 2D Axis Aligned Rectangle

Author : <a href="www.tulip-software.org>Tulip team

## Public Member Functions

- Rectangle ()
- Rectangle (const Obj xmin, const Obj ymin, const Obj xmax, const Obj ymax)
- Rectangle (const tlp::BoundingBox &b)
- Rectangle (const Vector< Obj, 2 > &min, const Vector< Obj, 2 > &max)
- bool intersect (const Rectangle &r) const
- bool intersect (const Rectangle &r, Rectangle &intersection) const
- bool isValid () const
- bool isInside (const Vector< Obj, 2 > &p) const
- bool isInside (const Rectangle &r) const
- void translate (const tlp::Vector< Obj, 2 > &v)
- Obj width () const
- Obj height () const
- Obj surface () const
- Obj aspectRatio () const
- Vector< Obj, 2 > center () const

## Constructor & Destructor Documentation

template<typename Obj>
tlp::Rectangle< Obj >::Rectangle | ( |  | ) | `[inline]`

| Create a new invalid rectangle

template<typename Obj>
tlp::Rectangle< Obj >::Rectangle | ( | const Obj | xmin,
|  | const Obj | ymin,
|  | const Obj | xmax,
|  | const Obj | ymax
| ) | `[inline]`

| Create a new rectangle with (*this)[0] = min = (xmin, ymin); (*this)[1] = max = (xmax, ymax); Validity is tested in debug mode;

template<typename Obj>
tlp::Rectangle< Obj >::Rectangle | ( | const tlp::BoundingBox & | b | ) | `[inline]`

| Create a new Rectangle from a Bounding Box correct conversion from 3D -> 2D validity of the new Rectangle is tested in debug mode

template<typename Obj>
tlp::Rectangle< Obj >::Rectangle | ( | const Vector< Obj, 2 > & | min,
|  | const Vector< Obj, 2 > & | max
| ) | `[inline]`

| create a new Rectangle Validity is checked in debug mode

## Member Function Documentation

template<typename Obj>
Obj tlp::Rectangle< Obj >::aspectRatio | ( |  | ) | const`[inline]`

| Return the aspect ratio of the reactangle a value between [0..1]

template<typename Obj>
Vector<Obj, 2> tlp::Rectangle< Obj >::center | ( |  | ) | const`[inline]`

| Return the aspect ratio of the reactangle a value between [0..1]

template<typename Obj>
Obj tlp::Rectangle< Obj >::height | ( |  | ) | const`[inline]`

| Return the height of the rectangle The Rectangle must be valid (tested in debug)

template<typename Obj>
bool tlp::Rectangle< Obj >::intersect | ( | const Rectangle< Obj > & | r,
|  | Rectangle< Obj > & | intersection
| ) | const`[inline]`

Returns:
  the true if there is an intersection else false, the intersection parameter is used to stored the Rectangle pf intersection (if it exists).

template<typename Obj>
bool tlp::Rectangle< Obj >::intersect | ( | const Rectangle< Obj > & | r | ) | const`[inline]`

Returns:
  true if r intersect "this".

template<typename Obj>
bool tlp::Rectangle< Obj >::isInside | ( | const Rectangle< Obj > & | r | ) | const`[inline]`

Returns:
  true if r is inside or equal to the AARectangle Validity of Rectangles is tested in debug mode

template<typename Obj>
bool tlp::Rectangle< Obj >::isInside | ( | const Vector< Obj, 2 > & | p | ) | const`[inline]`

| Return true if point is stricly inside the AARectangle validity of the current rectangle is tested in debug mode

template<typename Obj>
bool tlp::Rectangle< Obj >::isValid | ( |  | ) | const`[inline]`

Returns:
  true if the Rectangle is well define [0] min corner, [1] max corner.

template<typename Obj>
Obj tlp::Rectangle< Obj >::surface | ( |  | ) | const`[inline]`

| Return the surface of the rectangle The Rectangle must be valid (tested in debug)

template<typename Obj>
void tlp::Rectangle< Obj >::translate | ( | const tlp::Vector< Obj, 2 > & | v | ) | `[inline]`

| Translate "this" by vector v validity of the Rectangle is tested in debubg

template<typename Obj>
Obj tlp::Rectangle< Obj >::width | ( |  | ) | const`[inline]`

| Return the width of the rectangle The Rectangle must be valid (tested in debug)

Tulip Software by LaBRI Visualization Team 2001 - 2010