Visual Servoing Platform
version 3.2.0
vpFeatureMomentDatabase.h
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
* Pseudo-database used to handle dependencies between moment features.
33
*
34
* Authors:
35
* Filip Novotny
36
*
37
*****************************************************************************/
38
44
#ifndef _vpFeatureMomentDatabase_h_
45
#define _vpFeatureMomentDatabase_h_
46
47
#include <cstring>
48
#include <iostream>
49
#include <map>
50
#include <visp3/core/vpConfig.h>
51
52
class
vpFeatureMoment
;
53
class
vpMomentObject
;
109
158
class
VISP_EXPORT
vpFeatureMomentDatabase
159
{
160
private
:
161
struct
cmp_str {
162
bool
operator()(
const
char
*a,
const
char
*b)
const
{
return
std::strcmp(a, b) < 0; }
163
char
*operator=(
const
char
*) {
return
NULL; }
// Only to avoid a warning under Visual with /Wall flag
164
};
165
std::map<const char *, vpFeatureMoment *, cmp_str> featureMomentsDataBase;
166
void
add(
vpFeatureMoment
&featureMoment,
char
*name);
167
168
public
:
172
vpFeatureMomentDatabase
() : featureMomentsDataBase() {}
176
virtual
~
vpFeatureMomentDatabase
() {}
177
virtual
void
updateAll(
double
A = 0.0,
double
B = 0.0,
double
C = 1.0);
178
179
vpFeatureMoment
&get(
const
char
*type,
bool
&found);
180
181
// friend VISP_EXPORT std::ostream & operator<<(std::ostream& os, const
182
// vpFeatureMomentDatabase& m);
183
friend
class
vpFeatureMoment
;
184
};
185
186
#endif
vpFeatureMomentDatabase
This class allows to register all feature moments (implemented in vpFeatureMoment....
Definition:
vpFeatureMomentDatabase.h:157
vpFeatureMoment
This class defines shared system methods/attributes for 2D moment features but no functional code....
Definition:
vpFeatureMoment.h:158
vpMomentObject
Class for generic objects.
Definition:
vpMomentObject.h:218
modules
visual_features
include
visp3
visual_features
vpFeatureMomentDatabase.h
Generated by
1.8.16