Face Engine SDK  5.25.0
A face detection, recognition and tracking engine.
fsdk::BaseRect< Type > Struct Template Reference

Rectangle. More...

#include <Rect.h>

List of all members.

Public Types

typedef Type ElementType

Public Member Functions

 BaseRect () noexcept
 Initializes a default invalid rectangle.
 BaseRect (Type x_, Type y_, Type w_, Type h_) noexcept
 Initializes a rectangle with given values.
 BaseRect (const Vector2< Type > &topLeft, const Vector2< Type > &bottomRight) noexcept
 Initializes a rectangle with given values.
 BaseRect (const BaseRect &other) noexcept
 Copies another rect.
template<typename OtherType >
 BaseRect (const BaseRect< OtherType > &other) noexcept
void setLeft (Type l) noexcept
 Set rect left.
void setTop (Type t) noexcept
 Set rect top.
void setRight (Type r) noexcept
 Set rect right.
void setBottom (Type b) noexcept
 Set rect bottom.
template<typename OtherType >
BaseRectoperator= (const BaseRect< OtherType > &other) noexcept
 Copies another rect.
template<typename OtherType >
bool operator== (const BaseRect< OtherType > &other) const noexcept
 Checks whether two rects are equal.
template<typename OtherType >
bool operator!= (const BaseRect< OtherType > &other) const noexcept
 Checks whether two rects are not equal.
BaseRect operator& (const BaseRect &other) const noexcept
 Returns rect that is intersection of rects.
BaseRect operator&= (const BaseRect &other) noexcept
 Returns rect that is intersection of rects.
BaseRect operator| (const BaseRect &other) const noexcept
 Returns minimum area rectangle containing both rects.
BaseRect operator|= (const BaseRect &other) noexcept
 Returns minimum area rectangle containing both rects.
BaseRect operator* (float scaleFactor) const noexcept
 Multiplicates Rect scale by specified scale factor.
BaseRect operator/ (float scaleFactor) const noexcept
 Divides Rect scale by specified scale factor.
BaseRect operator+ (Vector2< typename BaseRect::ElementType > vec)
BaseRect operator- (Vector2< typename BaseRect::ElementType > vec)
Vector2< Type > size () const noexcept
 Gets rect size (width, height).
Vector2< Type > topLeft () const noexcept
 Gets rect top-left corner coordinates.
Vector2< Type > center () const noexcept
 Gets rect center coordinates.
Vector2< Type > bottomRight () const noexcept
 Gets rect bottom-right corner coordinates.
Type top () const noexcept
 Gets rect top y coordinate.
Type bottom () const noexcept
 Gets rect bottom y coordinate.
Type left () const noexcept
 Gets rect left x coordinate.
Type right () const noexcept
 Gets rect right x coordinate.
void set (const Vector2< Type > &topLeft, const Vector2< Type > &bottomRight) noexcept
 Sets rect corner coordinates.
void adjust (Type dx, Type dy, Type dw, Type dh) noexcept
 Adjusts the rect by given amounts.
BaseRect adjusted (Type dx, Type dy, Type dw, Type dh) const noexcept
 Copies and adjusts the rect by given amounts.
Type getArea () const noexcept
 Computes rect area (width x height).
bool inside (const BaseRect &other) const noexcept
 Checks whether this rect is inside of another rect.
bool isValid () const noexcept
 Checks whether a rect is valid.

Static Public Member Functions

static BaseRect coords (Type x0, Type y0, Type x1, Type y1) noexcept
 Create new Rect by coordinates.
static float intersectionOverFirstRect (const BaseRect &rect1, const BaseRect &rect2)
 Calculates rects intersection rate over first rect.
static float intersectionOverUnion (const BaseRect &rect1, const BaseRect &rect2)
 Calculates rects intersection rate over union.
static float intersectionOverForeground (const BaseRect &rect1, const BaseRect &rect2)
 Calculates rects intersection rate over foreground.

Public Attributes

Type x
 Upper left corner x-coordinate.
Type y
 Upper left corner y-coordinate.
Type width
 Rectangle width.
Type height
 Rectangle height.

Detailed Description

template<typename Type>
struct fsdk::BaseRect< Type >

Rectangle.


Constructor & Destructor Documentation

template<typename Type>
fsdk::BaseRect< Type >::BaseRect ( Type  x_,
Type  y_,
Type  w_,
Type  h_ 
) [inline]

Initializes a rectangle with given values.

Parameters:
[in]x_upper left corner x coordinate.
[in]y_upper left corner y coordinate.
[in]w_width.
[in]h_height.
template<typename Type>
fsdk::BaseRect< Type >::BaseRect ( const Vector2< Type > &  topLeft,
const Vector2< Type > &  bottomRight 
) [inline]

Initializes a rectangle with given values.

Parameters:
[in]topLefttop-left corner point.
[in]bottomRightbottom-right corner point.
template<typename Type>
fsdk::BaseRect< Type >::BaseRect ( const BaseRect< Type > &  other) [inline]

Copies another rect.

Parameters:
[in]otheranother rect.

Member Function Documentation

template<typename Type>
void fsdk::BaseRect< Type >::adjust ( Type  dx,
Type  dy,
Type  dw,
Type  dh 
) [inline]

Adjusts the rect by given amounts.

Parameters:
[in]dxadjustment for upper left corner x coordinate.
[in]dyadjustment for upper left corner y coordinate.
[in]dwadjustment for width.
[in]dhadjustment for height.
template<typename Type>
BaseRect fsdk::BaseRect< Type >::adjusted ( Type  dx,
Type  dy,
Type  dw,
Type  dh 
) const [inline]

Copies and adjusts the rect by given amounts.

Parameters:
[in]dxadjustment for upper left corner x coordinate.
[in]dyadjustment for upper left corner y coordinate.
[in]dwadjustment for width.
[in]dhadjustment for height.
Returns:
adjusted rect.
template<typename Type>
Type fsdk::BaseRect< Type >::bottom ( ) const [inline]

Gets rect bottom y coordinate.

Returns:
coordinate.
template<typename Type>
Vector2<Type> fsdk::BaseRect< Type >::bottomRight ( ) const [inline]

Gets rect bottom-right corner coordinates.

Returns:
coordinates vector.
template<typename Type>
Vector2<Type> fsdk::BaseRect< Type >::center ( ) const [inline]

Gets rect center coordinates.

Returns:
coordinates vector.
template<typename Type>
static BaseRect fsdk::BaseRect< Type >::coords ( Type  x0,
Type  y0,
Type  x1,
Type  y1 
) [inline, static]

Create new Rect by coordinates.

Parameters:
[in]leftcoord.
[in]topcoord.
[in]rightcoord.
[in]bottomcoord.
template<typename Type>
Type fsdk::BaseRect< Type >::getArea ( ) const [inline]

Computes rect area (width x height).

Returns:
rect area.
template<typename Type>
bool fsdk::BaseRect< Type >::inside ( const BaseRect< Type > &  other) const [inline]

Checks whether this rect is inside of another rect.

Parameters:
[in]otherrect to check against.
Returns:
true if this rect is inside of another rect, false otherwise.
template<typename Type>
static float fsdk::BaseRect< Type >::intersectionOverFirstRect ( const BaseRect< Type > &  rect1,
const BaseRect< Type > &  rect2 
) [inline, static]

Calculates rects intersection rate over first rect.

Parameters:
[in]rect1first rect
[in]rect2second rect
Returns:
intersection rate over first rect
template<typename Type>
static float fsdk::BaseRect< Type >::intersectionOverForeground ( const BaseRect< Type > &  rect1,
const BaseRect< Type > &  rect2 
) [inline, static]

Calculates rects intersection rate over foreground.

Parameters:
[in]rect1first rect
[in]rect2second rect
Returns:
intersection rate over foreground
template<typename Type>
static float fsdk::BaseRect< Type >::intersectionOverUnion ( const BaseRect< Type > &  rect1,
const BaseRect< Type > &  rect2 
) [inline, static]

Calculates rects intersection rate over union.

Parameters:
[in]rect1first rect
[in]rect2second rect
Returns:
intersection rate over union
template<typename Type>
bool fsdk::BaseRect< Type >::isValid ( ) const [inline]

Checks whether a rect is valid.

A rect is considered valid if it has positive width and weight.

Returns:
true if rect is valid, false otherwise.
template<typename Type>
Type fsdk::BaseRect< Type >::left ( ) const [inline]

Gets rect left x coordinate.

Returns:
coordinate.
template<typename Type>
template<typename OtherType >
bool fsdk::BaseRect< Type >::operator!= ( const BaseRect< OtherType > &  other) const [inline]

Checks whether two rects are not equal.

Parameters:
[in]otheranother rect.
Returns:
true if rects are not equal, false otherwise.
template<typename Type>
BaseRect fsdk::BaseRect< Type >::operator& ( const BaseRect< Type > &  other) const [inline]

Returns rect that is intersection of rects.

Parameters:
[in]otherrectangle
Returns:
intersection rectangle
template<typename Type>
BaseRect fsdk::BaseRect< Type >::operator&= ( const BaseRect< Type > &  other) [inline]

Returns rect that is intersection of rects.

Parameters:
[in]otherrectangle
Returns:
intersection rectangle
template<typename Type>
BaseRect fsdk::BaseRect< Type >::operator* ( float  scaleFactor) const [inline]

Multiplicates Rect scale by specified scale factor.

Parameters:
[in]scaleFactorto scale rect
Returns:
scaled Rect
template<typename Type>
BaseRect fsdk::BaseRect< Type >::operator/ ( float  scaleFactor) const [inline]

Divides Rect scale by specified scale factor.

Parameters:
[in]scaleFactorto scale rect
Returns:
scaled Rect
template<typename Type>
template<typename OtherType >
BaseRect& fsdk::BaseRect< Type >::operator= ( const BaseRect< OtherType > &  other) [inline]

Copies another rect.

Parameters:
[in]otheranother rect.
Returns:
rect reference for call chaining.
template<typename Type>
template<typename OtherType >
bool fsdk::BaseRect< Type >::operator== ( const BaseRect< OtherType > &  other) const [inline]

Checks whether two rects are equal.

Parameters:
[in]otheranother rect.
Returns:
true if rects are equal, false otherwise.
template<typename Type>
BaseRect fsdk::BaseRect< Type >::operator| ( const BaseRect< Type > &  other) const [inline]

Returns minimum area rectangle containing both rects.

Parameters:
[in]otherrectangle
Returns:
minimum area rectangle
template<typename Type>
BaseRect fsdk::BaseRect< Type >::operator|= ( const BaseRect< Type > &  other) [inline]

Returns minimum area rectangle containing both rects.

Parameters:
[in]otherrectangle
Returns:
minimum area rectangle
template<typename Type>
Type fsdk::BaseRect< Type >::right ( ) const [inline]

Gets rect right x coordinate.

Returns:
coordinate.
template<typename Type>
void fsdk::BaseRect< Type >::set ( const Vector2< Type > &  topLeft,
const Vector2< Type > &  bottomRight 
) [inline]

Sets rect corner coordinates.

Parameters:
[in]topLefttop-left corner point.
[in]bottomRightbottom-right corner point.
template<typename Type>
void fsdk::BaseRect< Type >::setBottom ( Type  b) [inline]

Set rect bottom.

Parameters:
bbottom.
template<typename Type>
void fsdk::BaseRect< Type >::setLeft ( Type  l) [inline]

Set rect left.

Parameters:
lleft.
template<typename Type>
void fsdk::BaseRect< Type >::setRight ( Type  r) [inline]

Set rect right.

Parameters:
rright.
template<typename Type>
void fsdk::BaseRect< Type >::setTop ( Type  t) [inline]

Set rect top.

Parameters:
ttop.
template<typename Type>
Vector2<Type> fsdk::BaseRect< Type >::size ( ) const [inline]

Gets rect size (width, height).

Returns:
rect size.
template<typename Type>
Type fsdk::BaseRect< Type >::top ( ) const [inline]

Gets rect top y coordinate.

Returns:
coordinate.
template<typename Type>
Vector2<Type> fsdk::BaseRect< Type >::topLeft ( ) const [inline]

Gets rect top-left corner coordinates.

Returns:
coordinates vector.

The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines