Visual Servoing Platform
version 3.5.1 under development (2023-09-22)
|
#include <visp3/visual_features/vpFeatureMomentDatabase.h>
Public Member Functions | |
vpFeatureMomentDatabase () | |
virtual | ~vpFeatureMomentDatabase () |
virtual void | updateAll (double A=0.0, double B=0.0, double C=1.0) |
vpFeatureMoment & | get (const char *type, bool &found) |
Friends | |
class | vpFeatureMoment |
This class allows to register all feature moments (implemented in vpFeatureMoment... classes) so they can access each other according to their dependencies.
Like moments (implemented in vpMoment... classes), a vpFeatureMoment needs to have access to other vpFeatureMoment's values to be computed. In most cases, a vpFeatureMoment needs both: vpMoments and vpFeatureMoments which explains the two databases (see vpFeatureMoment::vpFeatureMoment). For example vpFeatureMomentAlpha needs additionnal information about centered moments vpMomentCentered AND their interaction matrices obtained by vpFeatureMomentCentered in order to compute the moment's value from a vpMomentObject. Like the vpMomentCentered is stored in a vpMomentDatabase, the vpFeatureMomentCentered should be stored in a vpFeatureMomentDatabase.
All moment features in a database can access each other freely at any time. They can also verify if a moment feature is present in the database or not. This code illustrates the use of both databases to handle dependencies between moment primitives and moment features:
Definition at line 157 of file vpFeatureMomentDatabase.h.
|
inline |
Default constructor.
Definition at line 171 of file vpFeatureMomentDatabase.h.
|
inlinevirtual |
Virtual destructor that does nothing.
Definition at line 175 of file vpFeatureMomentDatabase.h.
vpFeatureMoment & vpFeatureMomentDatabase::get | ( | const char * | type, |
bool & | found | ||
) |
Retrieves a moment feature from the database
type | : the name of the feature, the one specified when using add |
found | : true if the type string is found inside the database, false otherwise |
Definition at line 64 of file vpFeatureMomentDatabase.cpp.
Referenced by vpFeatureMomentArea::compute_interaction(), vpFeatureMomentCentered::compute_interaction(), and vpFeatureMomentCInvariant::compute_interaction().
|
virtual |
Update all moment features in the database with plane coefficients
A | : first plane coefficient for a plane equation of the following type Ax+By+C=1/Z |
B | : second plane coefficient for a plane equation of the following type Ax+By+C=1/Z |
C | : third plane coefficient for a plane equation of the following type Ax+By+C=1/Z |
Reimplemented in vpFeatureMomentCommon.
Definition at line 80 of file vpFeatureMomentDatabase.cpp.
|
friend |
Definition at line 182 of file vpFeatureMomentDatabase.h.