Visual Servoing Platform version 3.7.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)
vpTrianglebuildFrom (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 53 of file vpTriangle.h.

Constructor & Destructor Documentation

◆ vpTriangle() [1/3]

BEGIN_VISP_NAMESPACE 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 44 of file vpTriangle.cpp.

Referenced by buildFrom(), operator=(), and vpTriangle().

◆ vpTriangle() [2/3]

vpTriangle::vpTriangle ( const vpTriangle & tri)

Copy constructor

Parameters
tri: The triangle used for the initialisation.

Definition at line 71 of file vpTriangle.cpp.

References vpTriangle().

◆ ~vpTriangle()

vpTriangle::~vpTriangle ( )
virtual

Basic destructor

Definition at line 81 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 59 of file vpTriangle.cpp.

Member Function Documentation

◆ buildFrom()

vpTriangle & 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 111 of file vpTriangle.cpp.

References vpTriangle().

◆ 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 102 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 89 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 86 of file vpTriangle.cpp.

References vpTriangle().