Visual Servoing Platform version 3.6.0
Loading...
Searching...
No Matches
vpImageCircle.cpp
1/****************************************************************************
2 *
3 * ViSP, open source Visual Servoing Platform software.
4 * Copyright (C) 2005 - 2023 by Inria. All rights reserved.
5 *
6 * This software is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 * See the file LICENSE.txt at the root directory of this source
11 * distribution for additional information about the GNU GPL.
12 *
13 * For using ViSP with software that can not be combined with the GNU
14 * GPL, please contact Inria about acquiring a ViSP Professional
15 * Edition License.
16 *
17 * See https://visp.inria.fr for more information.
18 *
19 * This software was developed at:
20 * Inria Rennes - Bretagne Atlantique
21 * Campus Universitaire de Beaulieu
22 * 35042 Rennes Cedex
23 * France
24 *
25 * If you have questions regarding the use of this file, please contact
26 * Inria at visp@inria.fr
27 *
28 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
29 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
30 *
31 * Description:
32 * Image circle, i.e. circle in the image space.
33 *
34*****************************************************************************/
35
36#include <visp3/core/vpImageCircle.h>
37
39 : m_center()
40 , m_radius(0.)
41{
42
43}
44
45vpImageCircle::vpImageCircle(const vpImagePoint &center, const float &radius)
46 : m_center(center)
47 , m_radius(radius)
48{
49
50}
51
52#ifdef HAVE_OPENCV_CORE
53vpImageCircle::vpImageCircle(const cv::Vec3f &vec)
54 : m_center(vec[1], vec[0])
55 , m_radius(vec[2])
56{
57
58}
59#endif
60
65
67{
68 return m_center;
69}
70
72{
73 return m_radius;
74}
75
77{
78 vpRect bbox(m_center - vpImagePoint(m_radius, m_radius), 2 * m_radius, 2 * m_radius);
79 return bbox;
80}
81
83{
84 return m_radius * m_radius / 4;
85}
86
88{
89 return m_radius * m_radius / 4;
90}
91
93{
94 return 0.;
95};
float getRadius() const
float get_n11() const
vpRect getBBox() const
vpImagePoint getCenter() const
float get_n02() const
virtual ~vpImageCircle()
float get_n20() const
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
Defines a rectangle in the plane.
Definition vpRect.h:76