Visual Servoing Platform version 3.6.0
Loading...
Searching...
No Matches
vpTriangle Class Reference

#include <vpTriangle.h>

Public Member Functions

 vpTriangle ()
 
 vpTriangle (const vpTriangle &tri)
 
virtual ~vpTriangle ()
 
vpTriangleoperator= (const vpTriangle &tri)
 
 vpTriangle (const vpImagePoint &iP1, const vpImagePoint &iP2, const vpImagePoint &iP3)
 
void buildFrom (const vpImagePoint &iP1, const vpImagePoint &iP2, const vpImagePoint &iP3)
 
bool inTriangle (const vpImagePoint &iP, double threshold=0.00001)
 
void getTriangleApexes (vpImagePoint &iP1, vpImagePoint &iP2, vpImagePoint &iP3) const
 
double getArea () const
 

Detailed Description

Defines a 2D triangle.

A triangle is internally represented by three 2D points.

By default the three coordinates in the $ (i,j) $ frame (see vpImagePoint class documentation for more details about the frame.) are $
(0,0) $, $ (1,0) $ and $ (0,1) $.

Definition at line 52 of file vpTriangle.h.

Constructor & Destructor Documentation

◆ vpTriangle() [1/3]

vpTriangle::vpTriangle ( )

Basic constructor.

By default, the three 2D points coordinates which define the triangle are $ (0,0) $, $ (1,0) $ and $ (0,1) $.

Definition at line 45 of file vpTriangle.cpp.

◆ vpTriangle() [2/3]

vpTriangle::vpTriangle ( const vpTriangle & tri)

Copy constructor

Parameters
tri: The triangle used for the initialisation.

Definition at line 72 of file vpTriangle.cpp.

◆ ~vpTriangle()

vpTriangle::~vpTriangle ( )
virtual

Basic destructor

Definition at line 82 of file vpTriangle.cpp.

◆ vpTriangle() [3/3]

vpTriangle::vpTriangle ( const vpImagePoint & iP1,
const vpImagePoint & iP2,
const vpImagePoint & iP3 )

Constructor which initialise the triangle thanks to the three 2D points $
iP1 $, $ iP2 $ and $ iP3 $

Parameters
iP1: The first apex of the triangle.
iP2: The first apex of the triangle.
iP3: The first apex of the triangle.

Definition at line 60 of file vpTriangle.cpp.

Member Function Documentation

◆ buildFrom()

void vpTriangle::buildFrom ( const vpImagePoint & iP1,
const vpImagePoint & iP2,
const vpImagePoint & iP3 )

Initialise the triangle thanks to the three 2D points $ iP1 $, $ iP2
$ and $ iP3 $

Parameters
iP1: The first apex of the triangle.
iP2: The first apex of the triangle.
iP3: The first apex of the triangle.

Definition at line 112 of file vpTriangle.cpp.

◆ getArea()

double vpTriangle::getArea ( ) const
inline

Return the area of the triangle. The area is computed when the triangle is built from three image points.

Returns
The area of the triangle.

Definition at line 101 of file vpTriangle.h.

◆ getTriangleApexes()

void vpTriangle::getTriangleApexes ( vpImagePoint & iP1,
vpImagePoint & iP2,
vpImagePoint & iP3 ) const
inline

Get the apexes of the triangle.

Parameters
iP1: first apex.
iP2: second apex.
iP3: third apex.

Definition at line 88 of file vpTriangle.h.

◆ inTriangle()

bool vpTriangle::inTriangle ( const vpImagePoint & iP,
double threshold = 0.00001 )

Check if the 2D point $ iP $ is inside the triangle.

Parameters
iP: The point which coulb be inside the triangle.
threshold: A threshold used to define the accuracy of the computation when the point is very near from the edges of the triangle. 0 is the smallest value.
Returns
Returns true if the point is inside the triangle. Returns false otherwise.

Definition at line 159 of file vpTriangle.cpp.

References vpImagePoint::get_i(), and vpImagePoint::get_j().

◆ operator=()

vpTriangle & vpTriangle::operator= ( const vpTriangle & tri)

Assign tri to this triangle and return a reference to this triangle.

Definition at line 87 of file vpTriangle.cpp.