Visual Servoing Platform
version 3.7.0
Toggle main menu visibility
Loading...
Searching...
No Matches
vpMoment.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
* Base for 2D moment descriptor
32
*/
33
38
39
#include <cstring>
40
#include <visp3/core/vpMoment.h>
41
#include <visp3/core/vpMomentDatabase.h>
42
#include <visp3/core/vpMomentObject.h>
43
44
BEGIN_VISP_NAMESPACE
50
VISP_EXPORT std::ostream &
operator<<
(std::ostream &os,
const
vpMoment
&m)
51
{
52
for
(std::vector<double>::const_iterator i = m.
values
.begin(); i != m.
values
.end(); ++i)
53
os << *i <<
","
;
54
55
return
os;
56
}
57
61
vpMoment::vpMoment
() : object(nullptr), moments(nullptr),
values
() { }
62
114
void
vpMoment::linkTo
(
vpMomentDatabase
&data_base)
115
{
116
m_name =
name
();
117
this->moments = &data_base;
118
119
data_base.add(*
this
, m_name);
120
}
121
127
void
vpMoment::update
(
vpMomentObject
&moment_object) { this->
object
= &moment_object; }
128
134
void
vpMoment::printDependencies
(std::ostream &os)
const
135
{
136
os <<
" WARNING : Falling back to base class version of "
137
"printDependencies(). To prevent that, this has to be implemented in "
138
"the derived classes!"
139
<< std::endl;
140
}
141
END_VISP_NAMESPACE
vpMomentDatabase
This class allows to register all vpMoments so they can access each other according to their dependen...
Definition
vpMomentDatabase.h:133
vpMomentObject
Class for generic objects.
Definition
vpMomentObject.h:225
vpMoment::name
virtual const std::string name() const =0
vpMoment::values
std::vector< double > values
Definition
vpMoment.h:113
vpMoment::linkTo
void linkTo(vpMomentDatabase &moments)
Definition
vpMoment.cpp:114
vpMoment::update
void update(vpMomentObject &object)
Definition
vpMoment.cpp:127
vpMoment::operator<<
friend VISP_EXPORT std::ostream & operator<<(std::ostream &os, const vpMoment &m)
Definition
vpMoment.cpp:50
vpMoment::printDependencies
virtual void printDependencies(std::ostream &os) const
Definition
vpMoment.cpp:134
vpMoment::vpMoment
vpMoment()
Definition
vpMoment.cpp:61
vpMoment::vpMoment
vpMoment(const vpMoment &)=delete
BEGIN_VISP_NAMESPACE
Definition
vpMbtDistanceCircle.cpp:55
modules
core
src
tracking
moments
vpMoment.cpp
Generated by
1.17.0