Visual Servoing Platform version 3.7.0
Loading...
Searching...
No Matches
vpBasicFeature Class Referenceabstract

#include <vpBasicFeature.h>

Inheritance diagram for vpBasicFeature:

Public Types

enum  vpBasicFeatureSelect { FEATURE_ALL = 0xffff }
enum  vpBasicFeatureDeallocatorType { user , vpServo }

Public Member Functions

 vpBasicFeature ()
 vpBasicFeature (const vpBasicFeature &f)
virtual ~vpBasicFeature ()

Static Public Attributes

static const unsigned int FEATURE_LINE [32]

Protected Attributes

vpColVector s
unsigned int dim_s
bool * flags
unsigned int nbParameters

Inherited functionalities from vpBasicFeature

vpBasicFeatureDeallocatorType deallocate
unsigned int dimension_s ()
virtual void display (const vpCameraParameters &cam, const vpImage< unsigned char > &I, const vpColor &color=vpColor::green, unsigned int thickness=1) const =0
virtual void display (const vpCameraParameters &cam, const vpImage< vpRGBa > &I, const vpColor &color=vpColor::green, unsigned int thickness=1) const =0
virtual void init ()=0
virtual vpColVector error (const vpBasicFeature &s_star, unsigned int select=FEATURE_ALL)
vpColVector get_s (unsigned int select=FEATURE_ALL) const
vpBasicFeatureDeallocatorType getDeallocate ()
unsigned int getDimension (unsigned int select=FEATURE_ALL) const
virtual vpMatrix interaction (unsigned int select=FEATURE_ALL)=0
virtual double operator[] (unsigned int i) const
vpBasicFeatureoperator= (const vpBasicFeature &f)
virtual void print (unsigned int select=FEATURE_ALL) const =0
virtual vpBasicFeatureduplicate () const =0
void setDeallocate (vpBasicFeatureDeallocatorType d)
void setFlags ()
static unsigned int selectAll ()
void resetFlags ()

Detailed Description

class that defines what is a visual feature

Examples
manServoMomentsSimple.cpp.

Definition at line 76 of file vpBasicFeature.h.

Member Enumeration Documentation

◆ vpBasicFeatureDeallocatorType

Indicates who should deallocate the feature.

Enumerator
user 
vpServo 

Definition at line 86 of file vpBasicFeature.h.

◆ vpBasicFeatureSelect

Enumerator
FEATURE_ALL 

Definition at line 81 of file vpBasicFeature.h.

Constructor & Destructor Documentation

◆ vpBasicFeature() [1/2]

◆ vpBasicFeature() [2/2]

vpBasicFeature::vpBasicFeature ( const vpBasicFeature & f)

Copy constructor.

Definition at line 75 of file vpBasicFeature.cpp.

References deallocate, dim_s, flags, nbParameters, s, user, and vpBasicFeature().

◆ ~vpBasicFeature()

vpBasicFeature::~vpBasicFeature ( )
virtual

Destructor that free allocated memory.

Definition at line 64 of file vpBasicFeature.cpp.

References flags.

Member Function Documentation

◆ dimension_s()

unsigned int vpBasicFeature::dimension_s ( )
inline

Return the dimension of the feature vector $\bf s$.

Definition at line 108 of file vpBasicFeature.h.

References dim_s.

◆ display() [1/2]

virtual void vpBasicFeature::display ( const vpCameraParameters & cam,
const vpImage< unsigned char > & I,
const vpColor & color = vpColor::green,
unsigned int thickness = 1 ) const
pure virtual

◆ display() [2/2]

◆ duplicate()

◆ error()

vpColVector vpBasicFeature::error ( const vpBasicFeature & s_star,
unsigned int select = FEATURE_ALL )
virtual

◆ get_s()

vpColVector vpBasicFeature::get_s ( unsigned int select = FEATURE_ALL) const

◆ getDeallocate()

vpBasicFeatureDeallocatorType vpBasicFeature::getDeallocate ( )
inline

Definition at line 121 of file vpBasicFeature.h.

References deallocate.

◆ getDimension()

unsigned int vpBasicFeature::getDimension ( unsigned int select = FEATURE_ALL) const

Get the feature vector dimension.

Definition at line 100 of file vpBasicFeature.cpp.

References dim_s, FEATURE_LINE, and s.

◆ init()

◆ interaction()

virtual vpMatrix vpBasicFeature::interaction ( unsigned int select = FEATURE_ALL)
pure virtual

◆ operator=()

vpBasicFeature & vpBasicFeature::operator= ( const vpBasicFeature & f)

Copy operator.

Definition at line 84 of file vpBasicFeature.cpp.

References deallocate, dim_s, flags, nbParameters, s, and vpBasicFeature().

◆ operator[]()

virtual double vpBasicFeature::operator[] ( unsigned int i) const
inlinevirtual

Return element i in the state vector (usage : x = s[i] ).

Definition at line 128 of file vpBasicFeature.h.

References s.

◆ print()

◆ resetFlags()

◆ selectAll()

unsigned int vpBasicFeature::selectAll ( )
inlinestatic

Select all the features.

Examples
testPoint.cpp.

Definition at line 140 of file vpBasicFeature.h.

References FEATURE_ALL.

◆ setDeallocate()

void vpBasicFeature::setDeallocate ( vpBasicFeatureDeallocatorType d)
inline

Definition at line 135 of file vpBasicFeature.h.

References deallocate.

Referenced by vpServo::addFeature().

◆ setFlags()

void vpBasicFeature::setFlags ( )

Set feature flags to true to prevent warning when re-computing the interaction matrix without having updated the feature.

Definition at line 140 of file vpBasicFeature.cpp.

References flags, and nbParameters.

Member Data Documentation

◆ deallocate

◆ dim_s

unsigned int vpBasicFeature::dim_s
protected

Dimension of the visual feature.

Definition at line 92 of file vpBasicFeature.h.

Referenced by dimension_s(), vpFeatureMoment::duplicate(), vpGenericFeature::duplicate(), error(), vpFeatureLuminance::error(), vpFeatureLuminanceMapping::error(), vpFeatureLuminanceMapping::error(), vpGenericFeature::error(), vpGenericFeature::error(), get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), getDimension(), vpFeatureMoment::getDimension(), vpFeatureDepth::init(), vpFeatureEllipse::init(), vpFeatureLine::init(), vpFeatureLuminance::init(), vpFeatureLuminanceMapping::init(), vpFeatureLuminanceMapping::init(), vpFeatureLuminanceMapping::init(), vpFeatureMoment::init(), vpFeaturePoint3D::init(), vpFeaturePoint::init(), vpFeaturePointPolar::init(), vpFeatureSegment::init(), vpFeatureThetaU::init(), vpFeatureTranslation::init(), vpFeatureVanishingPoint::init(), vpFeatureLuminance::interaction(), vpFeatureLuminanceMapping::interaction(), vpFeatureLuminanceMapping::interaction(), vpFeatureMoment::interaction(), vpGenericFeature::interaction(), operator=(), vpFeatureLuminance::operator=(), vpFeatureLuminanceMapping::operator=(), vpFeatureMoment::print(), vpGenericFeature::print(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpGenericFeature::setError(), vpGenericFeature::setInteractionMatrix(), vpFeatureMoment::update(), vpBasicFeature(), vpBasicFeature(), vpFeatureLuminance::vpFeatureLuminance(), and vpGenericFeature::vpGenericFeature().

◆ FEATURE_LINE

BEGIN_VISP_NAMESPACE const unsigned int vpBasicFeature::FEATURE_LINE
static
Initial value:
= {
static_cast<unsigned int>(1 << 0), static_cast<unsigned int>(1 << 1), static_cast<unsigned int>(1 << 2), static_cast<unsigned int>(1 << 3),
static_cast<unsigned int>(1 << 4), static_cast<unsigned int>(1 << 5), static_cast<unsigned int>(1 << 6), static_cast<unsigned int>(1 << 7),
static_cast<unsigned int>(1 << 8), static_cast<unsigned int>(1 << 9), static_cast<unsigned int>(1 << 10), static_cast<unsigned int>(1 << 11),
static_cast<unsigned int>(1 << 12), static_cast<unsigned int>(1 << 13), static_cast<unsigned int>(1 << 14), static_cast<unsigned int>(1 << 15),
static_cast<unsigned int>(1 << 16), static_cast<unsigned int>(1 << 17), static_cast<unsigned int>(1 << 18), static_cast<unsigned int>(1 << 19),
static_cast<unsigned int>(1 << 20), static_cast<unsigned int>(1 << 21), static_cast<unsigned int>(1 << 22), static_cast<unsigned int>(1 << 23),
static_cast<unsigned int>(1 << 24), static_cast<unsigned int>(1 << 25), static_cast<unsigned int>(1 << 26), static_cast<unsigned int>(1 << 27),
static_cast<unsigned int>(1 << 28), static_cast<unsigned int>(1 << 29), static_cast<unsigned int>(1 << 30), static_cast<unsigned int>(1 << 31) }

Definition at line 45 of file vpBasicFeature.h.

Referenced by error(), vpGenericFeature::error(), vpGenericFeature::error(), get_s(), getDimension(), vpFeatureMoment::getDimension(), vpFeatureMoment::interaction(), vpGenericFeature::interaction(), vpFeatureMoment::print(), vpGenericFeature::print(), vpFeatureEllipse::select_n02(), vpFeatureEllipse::select_n11(), vpFeatureEllipse::select_n20(), vpFeatureSegment::selectAlpha(), vpFeatureVanishingPoint::selectAlpha(), vpFeatureVanishingPoint::selectAtanOneOverRho(), vpFeatureSegment::selectL(), vpFeatureEllipse::selectMu02(), vpFeatureEllipse::selectMu11(), vpFeatureEllipse::selectMu20(), vpFeatureVanishingPoint::selectOneOverRho(), vpFeatureLine::selectRho(), vpFeaturePointPolar::selectRho(), vpFeatureLine::selectTheta(), vpFeaturePointPolar::selectTheta(), vpFeatureThetaU::selectTUx(), vpFeatureThetaU::selectTUy(), vpFeatureThetaU::selectTUz(), vpFeatureTranslation::selectTx(), vpFeatureTranslation::selectTy(), vpFeatureTranslation::selectTz(), vpFeatureEllipse::selectX(), vpFeaturePoint3D::selectX(), vpFeaturePoint::selectX(), vpFeatureVanishingPoint::selectX(), vpFeatureSegment::selectXc(), vpFeatureEllipse::selectY(), vpFeaturePoint3D::selectY(), vpFeaturePoint::selectY(), vpFeatureVanishingPoint::selectY(), vpFeatureSegment::selectYc(), and vpFeaturePoint3D::selectZ().

◆ flags

bool* vpBasicFeature::flags
protected

Ensure that all the parameters needed to compute the interaction matrix are set.

Definition at line 96 of file vpBasicFeature.h.

Referenced by vpFeatureDepth::buildFrom(), vpFeatureEllipse::buildFrom(), vpFeatureEllipse::buildFrom(), vpFeatureLine::buildFrom(), vpFeatureLine::buildFrom(), vpFeaturePoint3D::buildFrom(), vpFeaturePoint3D::buildFrom(), vpFeaturePoint::buildFrom(), vpFeaturePointPolar::buildFrom(), vpFeatureThetaU::buildFrom(), vpFeatureTranslation::buildFrom(), vpFeatureMoment::duplicate(), vpFeatureDepth::init(), vpFeatureEllipse::init(), vpFeatureLine::init(), vpFeatureLuminance::init(), vpFeatureMoment::init(), vpFeaturePoint3D::init(), vpFeaturePoint::init(), vpFeaturePointPolar::init(), vpFeatureSegment::init(), vpFeatureThetaU::init(), vpFeatureTranslation::init(), vpFeatureVanishingPoint::init(), vpFeatureDepth::interaction(), vpFeatureEllipse::interaction(), vpFeatureLine::interaction(), vpFeaturePoint3D::interaction(), vpFeaturePoint::interaction(), vpFeaturePointPolar::interaction(), vpFeatureSegment::interaction(), vpFeatureThetaU::interaction(), vpFeatureTranslation::interaction(), vpFeatureVanishingPoint::interaction(), operator=(), resetFlags(), vpFeaturePointPolar::set_rho(), vpFeaturePointPolar::set_rhoThetaZ(), vpFeaturePointPolar::set_theta(), vpFeatureThetaU::set_TUx(), vpFeatureThetaU::set_TUy(), vpFeatureThetaU::set_TUz(), vpFeaturePoint3D::set_X(), vpFeatureDepth::set_x(), vpFeatureEllipse::set_x(), vpFeaturePoint::set_x(), vpFeatureVanishingPoint::set_x(), vpFeatureEllipse::set_xy(), vpFeaturePoint3D::set_XYZ(), vpFeaturePoint::set_xyZ(), vpFeatureDepth::set_xyZLogZoverZstar(), vpFeaturePoint3D::set_Y(), vpFeatureDepth::set_y(), vpFeatureEllipse::set_y(), vpFeaturePoint::set_y(), vpFeatureVanishingPoint::set_y(), vpFeatureDepth::set_Z(), vpFeatureLuminance::set_Z(), vpFeaturePoint3D::set_Z(), vpFeaturePoint::set_Z(), vpFeaturePointPolar::set_Z(), vpFeatureEllipse::setABC(), vpFeatureLine::setABCD(), vpFeatureSegment::setAlpha(), vpFeatureVanishingPoint::setAlpha(), vpFeatureVanishingPoint::setAtanOneOverRho(), setFlags(), vpFeatureSegment::setL(), vpFeatureEllipse::setMoments(), vpFeatureVanishingPoint::setOneOverRho(), vpFeatureLine::setRhoTheta(), vpFeatureSegment::setXc(), vpFeatureSegment::setYc(), vpFeatureSegment::setZ1(), vpFeatureSegment::setZ2(), vpFeatureMoment::update(), vpBasicFeature(), vpBasicFeature(), vpFeatureLuminance::vpFeatureLuminance(), and ~vpBasicFeature().

◆ nbParameters

◆ s

vpColVector vpBasicFeature::s
protected

State of the visual feature.

Definition at line 90 of file vpBasicFeature.h.

Referenced by vpFeatureDepth::buildFrom(), vpFeatureEllipse::buildFrom(), vpFeatureEllipse::buildFrom(), vpFeatureLine::buildFrom(), vpFeatureLine::buildFrom(), vpFeatureLuminance::buildFrom(), vpFeatureLuminanceMapping::buildFrom(), vpFeaturePoint3D::buildFrom(), vpFeaturePoint3D::buildFrom(), vpFeaturePoint::buildFrom(), vpFeaturePointPolar::buildFrom(), vpFeatureThetaU::buildFrom(), vpFeatureTranslation::buildFrom(), vpFeatureEllipse::display(), vpFeatureEllipse::display(), vpFeatureMoment::duplicate(), error(), vpFeatureDepth::error(), vpFeatureEllipse::error(), vpFeatureLine::error(), vpFeatureLuminance::error(), vpFeatureLuminanceMapping::error(), vpFeatureMomentAlpha::error(), vpFeaturePoint3D::error(), vpFeaturePoint::error(), vpFeaturePointPolar::error(), vpFeatureThetaU::error(), vpFeatureTranslation::error(), vpFeatureVanishingPoint::error(), vpGenericFeature::error(), vpGenericFeature::error(), vpFeatureDepth::get_LogZoverZstar(), vpFeatureEllipse::get_n02(), vpFeatureEllipse::get_n11(), vpFeatureEllipse::get_n20(), vpFeaturePointPolar::get_rho(), get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), vpFeaturePointPolar::get_theta(), vpFeatureThetaU::get_TUx(), vpFeatureThetaU::get_TUy(), vpFeatureThetaU::get_TUz(), vpFeatureTranslation::get_Tx(), vpFeatureTranslation::get_Ty(), vpFeatureTranslation::get_Tz(), vpFeaturePoint3D::get_X(), vpFeatureEllipse::get_x(), vpFeaturePoint::get_x(), vpFeatureVanishingPoint::get_x(), vpFeaturePoint3D::get_Y(), vpFeatureEllipse::get_y(), vpFeaturePoint::get_y(), vpFeatureVanishingPoint::get_y(), vpFeaturePoint3D::get_Z(), vpFeatureSegment::getAlpha(), vpFeatureVanishingPoint::getAlpha(), vpFeatureVanishingPoint::getAtanOneOverRho(), getDimension(), vpFeatureSegment::getL(), vpFeatureEllipse::getMu02(), vpFeatureEllipse::getMu11(), vpFeatureEllipse::getMu20(), vpFeatureVanishingPoint::getOneOverRho(), vpFeatureLine::getRho(), vpFeatureLine::getTheta(), vpFeatureSegment::getXc(), vpFeatureSegment::getYc(), vpFeatureDepth::init(), vpFeatureEllipse::init(), vpFeatureLine::init(), vpFeatureLuminance::init(), vpFeatureLuminanceMapping::init(), vpFeatureLuminanceMapping::init(), vpFeatureMoment::init(), vpFeaturePoint3D::init(), vpFeaturePoint::init(), vpFeaturePointPolar::init(), vpFeatureSegment::init(), vpFeatureThetaU::init(), vpFeatureTranslation::init(), vpFeatureVanishingPoint::init(), vpGenericFeature::init(), vpFeatureEllipse::interaction(), vpFeatureLine::interaction(), vpFeatureLuminanceMapping::interaction(), vpFeatureThetaU::interaction(), vpFeatureTranslation::interaction(), operator=(), vpFeatureLuminance::operator=(), vpFeatureLuminanceMapping::operator=(), operator[](), vpFeatureEllipse::print(), vpFeatureLine::print(), vpFeatureLuminanceMapping::print(), vpFeatureMoment::print(), vpFeatureSegment::print(), vpFeatureThetaU::print(), vpFeatureTranslation::print(), vpGenericFeature::print(), vpFeatureDepth::set_LogZoverZstar(), vpFeaturePointPolar::set_rho(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpFeaturePointPolar::set_theta(), vpFeatureThetaU::set_TUx(), vpFeatureThetaU::set_TUy(), vpFeatureThetaU::set_TUz(), vpFeatureTranslation::set_Tx(), vpFeatureTranslation::set_Ty(), vpFeatureTranslation::set_Tz(), vpFeaturePoint3D::set_X(), vpFeatureEllipse::set_x(), vpFeaturePoint::set_x(), vpFeatureVanishingPoint::set_x(), vpFeatureEllipse::set_xy(), vpFeaturePoint3D::set_Y(), vpFeatureEllipse::set_y(), vpFeaturePoint::set_y(), vpFeatureVanishingPoint::set_y(), vpFeaturePoint3D::set_Z(), vpFeatureSegment::setAlpha(), vpFeatureVanishingPoint::setAlpha(), vpFeatureVanishingPoint::setAtanOneOverRho(), vpFeatureSegment::setL(), vpFeatureEllipse::setMoments(), vpFeatureVanishingPoint::setOneOverRho(), vpFeatureLine::setRhoTheta(), vpFeatureSegment::setXc(), vpFeatureSegment::setYc(), vpFeatureMoment::update(), vpBasicFeature(), vpBasicFeature(), and vpGenericFeature::vpGenericFeature().