Visual Servoing Platform
version 3.7.0
Toggle main menu visibility
Loading...
Searching...
No Matches
vpRectOriented.h
1
/*
2
* ViSP, open source Visual Servoing Platform software.
3
* Copyright (C) 2005 - 2024 by Inria. All rights reserved.
4
*
5
* This software is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
9
* See the file LICENSE.txt at the root directory of this source
10
* distribution for additional information about the GNU GPL.
11
*
12
* For using ViSP with software that can not be combined with the GNU
13
* GPL, please contact Inria about acquiring a ViSP Professional
14
* Edition License.
15
*
16
* See https://visp.inria.fr for more information.
17
*
18
* This software was developed at:
19
* Inria Rennes - Bretagne Atlantique
20
* Campus Universitaire de Beaulieu
21
* 35042 Rennes Cedex
22
* France
23
*
24
* If you have questions regarding the use of this file, please contact
25
* Inria at visp@inria.fr
26
*
27
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
28
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
29
*
30
* Description:
31
* Defines a (possibly oriented) rectangle in the plane.
32
*/
33
34
#ifndef VP_RECT_ORIENTED_H
35
#define VP_RECT_ORIENTED_H
36
37
#include <visp3/core/vpConfig.h>
38
#include <visp3/core/vpImagePoint.h>
39
#include <visp3/core/vpRect.h>
40
41
BEGIN_VISP_NAMESPACE
47
class
VISP_EXPORT
vpRectOriented
48
{
49
public
:
50
vpRectOriented
();
51
#if (VISP_CXX_STANDARD >= VISP_CXX_STANDARD_11)
52
vpRectOriented
(
const
vpRectOriented
&) =
default
;
53
#else
54
vpRectOriented
(
const
vpRectOriented
&rect);
55
#endif
56
57
vpRectOriented
(
const
vpImagePoint
¢er,
double
width,
double
height,
double
theta = 0);
58
59
VP_EXPLICIT
vpRectOriented
(
const
vpRect
&rect);
60
61
#if (VISP_CXX_STANDARD >= VISP_CXX_STANDARD_11)
62
vpRectOriented
&
operator=
(
const
vpRectOriented
&) =
default
;
63
#else
64
vpRectOriented
&
operator=
(
const
vpRectOriented
&rect);
65
#endif
66
67
vpRectOriented
&
operator=
(
const
vpRect
&rect);
68
69
#if (VISP_CXX_STANDARD >= VISP_CXX_STANDARD_11)
70
VP_EXPLICIT
operator
vpRect
();
71
#endif
72
73
void
setCenter
(
const
vpImagePoint
¢er);
74
75
void
setPoints
(
const
vpImagePoint
&topLeft,
const
vpImagePoint
&topRight,
const
vpImagePoint
&bottomLeft,
76
const
vpImagePoint
&bottomRight);
77
78
vpImagePoint
getCenter
()
const
;
79
80
vpImagePoint
getTopLeft
()
const
;
81
82
vpImagePoint
getTopRight
()
const
;
83
84
vpImagePoint
getBottomLeft
()
const
;
85
86
vpImagePoint
getBottomRight
()
const
;
87
88
void
setSize
(
double
width,
double
height);
89
90
double
getWidth
()
const
;
91
92
double
getHeight
()
const
;
93
94
void
setOrientation
(
double
theta);
95
96
double
getOrientation
()
const
;
97
98
bool
isInside
(
const
vpImagePoint
&point)
const
;
99
100
private
:
101
vpImagePoint
m_center;
102
double
m_width;
103
double
m_height;
104
double
m_theta;
105
vpImagePoint
m_topLeft;
106
vpImagePoint
m_topRight;
107
vpImagePoint
m_bottomLeft;
108
vpImagePoint
m_bottomRight;
109
bool
isLeft(
const
vpImagePoint
&pointToTest,
const
vpImagePoint
&point1,
const
vpImagePoint
&point2)
const
;
110
};
111
END_VISP_NAMESPACE
112
#endif
// _vpRectOriented_h_
vpImagePoint
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
Definition
vpImagePoint.h:82
vpRectOriented::getHeight
double getHeight() const
Get the rectangle height.
Definition
vpRectOriented.cpp:206
vpRectOriented::getBottomLeft
vpImagePoint getBottomLeft() const
Get the bottom-left corner.
Definition
vpRectOriented.cpp:181
vpRectOriented::getOrientation
double getOrientation() const
Get the rectangle orientation (rad).
Definition
vpRectOriented.cpp:224
vpRectOriented::getBottomRight
vpImagePoint getBottomRight() const
Get the bottom-right corner.
Definition
vpRectOriented.cpp:184
vpRectOriented::setPoints
void setPoints(const vpImagePoint &topLeft, const vpImagePoint &topRight, const vpImagePoint &bottomLeft, const vpImagePoint &bottomRight)
Definition
vpRectOriented.cpp:145
vpRectOriented::operator=
vpRectOriented & operator=(const vpRectOriented &)=default
vpRectOriented::setCenter
void setCenter(const vpImagePoint ¢er)
Set the center of the rectangle.
Definition
vpRectOriented.cpp:162
vpRectOriented::vpRectOriented
vpRectOriented()
Default constructor.
Definition
vpRectOriented.cpp:39
vpRectOriented::getWidth
double getWidth() const
Get the rectangle width.
Definition
vpRectOriented.cpp:203
vpRectOriented::isInside
bool isInside(const vpImagePoint &point) const
Check whether the point is inside the rectangle.
Definition
vpRectOriented.cpp:227
vpRectOriented::setSize
void setSize(double width, double height)
Set the size of the rectangle : performs a homothety relatively to the rectangle center.
Definition
vpRectOriented.cpp:187
vpRectOriented::getTopRight
vpImagePoint getTopRight() const
Get the top-right corner.
Definition
vpRectOriented.cpp:178
vpRectOriented::getTopLeft
vpImagePoint getTopLeft() const
Get the top-left corner.
Definition
vpRectOriented.cpp:175
vpRectOriented::vpRectOriented
vpRectOriented(const vpRectOriented &)=default
vpRectOriented::getCenter
vpImagePoint getCenter() const
Get the rectangle center point.
Definition
vpRectOriented.cpp:172
vpRectOriented::setOrientation
void setOrientation(double theta)
Set the rectangle orientation (rad).
Definition
vpRectOriented.cpp:209
vpRect
Defines a rectangle in the plane.
Definition
vpRect.h:79
BEGIN_VISP_NAMESPACE
Definition
vpMbtDistanceCircle.cpp:55
modules
core
include
visp3
core
vpRectOriented.h
Generated by
1.17.0