Visual Servoing Platform
version 3.7.0
Toggle main menu visibility
Loading...
Searching...
No Matches
vpMomentGravityCenter.cpp
1
/*
2
* ViSP, open source Visual Servoing Platform software.
3
* Copyright (C) 2005 - 2025 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
* 2D Gravity Center moment descriptor (usually described by the pair Xg,Yg)
32
*
33
* Authors:
34
* Filip Novotny
35
*/
36
37
#include <visp3/core/vpMomentGravityCenter.h>
38
#include <visp3/core/vpMomentObject.h>
39
40
BEGIN_VISP_NAMESPACE
45
void
vpMomentGravityCenter::compute
()
46
{
47
values
[0] =
getObject
().
get
(1, 0) /
getObject
().
get
(0, 0);
48
values
[1] =
getObject
().
get
(0, 1) /
getObject
().
get
(0, 0);
49
}
50
54
vpMomentGravityCenter::vpMomentGravityCenter
() :
vpMoment
() {
values
.resize(2); }
55
60
const
std::vector<double> &
vpMomentGravityCenter::get
()
const
{
return
values
; }
61
66
void
vpMomentGravityCenter::printDependencies
(std::ostream &os)
const
67
{
68
os << (__FILE__) << std::endl;
69
os <<
"m10 = "
<<
getObject
().
get
(1, 0) <<
"\t"
;
70
os <<
"m00 = "
<<
getObject
().
get
(0, 1) <<
"\t"
;
71
os <<
"m00 = "
<<
getObject
().
get
(0, 0) << std::endl;
72
}
73
77
VISP_EXPORT std::ostream &
operator<<
(std::ostream &os,
const
vpMomentGravityCenter
&m)
78
{
79
os << (__FILE__) << std::endl;
80
os <<
"(Xg,Yg) = ("
<< m.
values
[0] <<
", "
<< m.
values
[1] <<
")"
<< std::endl;
81
return
os;
82
}
83
END_VISP_NAMESPACE
vpMomentGravityCenter::vpMomentGravityCenter
vpMomentGravityCenter()
Definition
vpMomentGravityCenter.cpp:54
vpMomentGravityCenter::get
const std::vector< double > & get() const
Definition
vpMomentGravityCenter.cpp:60
vpMomentGravityCenter::printDependencies
void printDependencies(std::ostream &os) const VP_OVERRIDE
Definition
vpMomentGravityCenter.cpp:66
vpMomentGravityCenter::operator<<
friend VISP_EXPORT std::ostream & operator<<(std::ostream &os, const vpMomentGravityCenter &v)
Definition
vpMomentGravityCenter.cpp:77
vpMomentGravityCenter::compute
void compute() VP_OVERRIDE
Definition
vpMomentGravityCenter.cpp:45
vpMomentObject::get
const std::vector< double > & get() const
Definition
vpMomentObject.cpp:538
vpMoment::getObject
const vpMomentObject & getObject() const
Definition
vpMoment.h:150
vpMoment::values
std::vector< double > values
Definition
vpMoment.h:113
vpMoment::vpMoment
vpMoment(const vpMoment &)=delete
BEGIN_VISP_NAMESPACE
Definition
vpMbtDistanceCircle.cpp:55
modules
core
src
tracking
moments
vpMomentGravityCenter.cpp
Generated by
1.17.0