Visual Servoing Platform
version 3.3.0
vpMomentGravityCenter.cpp
1
/****************************************************************************
2
*
3
* ViSP, open source Visual Servoing Platform software.
4
* Copyright (C) 2005 - 2019 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 http://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
* 2D Gravity Center moment descriptor (usually described by the pair Xg,Yg)
33
*
34
* Authors:
35
* Filip Novotny
36
*
37
*****************************************************************************/
38
39
#include <visp3/core/vpMomentGravityCenter.h>
40
#include <visp3/core/vpMomentObject.h>
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
65
VISP_EXPORT std::ostream &
operator<<
(std::ostream &os,
const
vpMomentGravityCenter
&m)
66
{
67
os << (__FILE__) << std::endl;
68
os <<
"(Xg,Yg) = ("
<< m.
values
[0] <<
", "
<< m.
values
[1] <<
")"
<< std::endl;
69
return
os;
70
}
71
76
void
vpMomentGravityCenter::printDependencies
(std::ostream &os)
const
77
{
78
os << (__FILE__) << std::endl;
79
os <<
"m10 = "
<<
getObject
().
get
(1, 0) <<
"\t"
;
80
os <<
"m00 = "
<<
getObject
().
get
(0, 1) <<
"\t"
;
81
os <<
"m00 = "
<<
getObject
().
get
(0, 0) << std::endl;
82
}
vpMoment
This class defines shared methods/attributes for 2D moments.
Definition:
vpMoment.h:111
vpMomentGravityCenter::compute
void compute()
Definition:
vpMomentGravityCenter.cpp:45
vpMomentGravityCenter::printDependencies
void printDependencies(std::ostream &os) const
Definition:
vpMomentGravityCenter.cpp:76
vpMomentGravityCenter::get
const std::vector< double > & get() const
Definition:
vpMomentGravityCenter.cpp:60
vpMoment::getObject
const vpMomentObject & getObject() const
Definition:
vpMoment.h:150
vpMomentGravityCenter::vpMomentGravityCenter
vpMomentGravityCenter()
Definition:
vpMomentGravityCenter.cpp:54
vpMomentObject::get
const std::vector< double > & get() const
Definition:
vpMomentObject.cpp:532
vpMomentGravityCenter
Class describing 2D gravity center moment.
Definition:
vpMomentGravityCenter.h:114
vpMoment::values
std::vector< double > values
Definition:
vpMoment.h:118
vpArray2D::operator<<
friend std::ostream & operator<<(std::ostream &s, const vpArray2D< Type > &A)
Definition:
vpArray2D.h:494
modules
core
src
tracking
moments
vpMomentGravityCenter.cpp
Generated by
1.8.20