Visual Servoing Platform  version 3.0.0
vpFeaturePointPolar Class Reference

#include <visp3/visual_features/vpFeaturePointPolar.h>

+ Inheritance diagram for vpFeaturePointPolar:

Public Types

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

Public Member Functions

void init ()
 
 vpFeaturePointPolar ()
 
virtual ~vpFeaturePointPolar ()
 
void buildFrom (const double rho, const double theta, const double Z)
 
void set_rho (const double rho)
 
void set_theta (const double theta)
 
void set_Z (const double Z)
 
void set_rhoThetaZ (const double rho, const double theta, const double Z)
 
double get_rho () const
 
double get_theta () const
 
double get_Z () const
 
vpMatrix interaction (const unsigned int select=FEATURE_ALL)
 
vpColVector error (const vpBasicFeature &s_star, const unsigned int select=FEATURE_ALL)
 
void print (const unsigned int select=FEATURE_ALL) const
 
vpFeaturePointPolarduplicate () const
 
void display (const vpCameraParameters &cam, const vpImage< unsigned char > &I, const vpColor &color=vpColor::green, unsigned int thickness=1) const
 
void display (const vpCameraParameters &cam, const vpImage< vpRGBa > &I, const vpColor &color=vpColor::green, unsigned int thickness=1) const
 
unsigned int dimension_s ()
 
virtual double operator[] (const unsigned int i) const
 
vpColVector get_s (unsigned int select=FEATURE_ALL) const
 
unsigned int getDimension (const unsigned int select=FEATURE_ALL) const
 
void setFlags ()
 
void setDeallocate (vpBasicFeatureDeallocatorType d)
 
vpBasicFeatureDeallocatorType getDeallocate ()
 
Deprecated functions
vpColVector error (const unsigned int select=FEATURE_ALL)
 

Static Public Member Functions

static unsigned int selectRho ()
 
static unsigned int selectTheta ()
 
static unsigned int selectAll ()
 

Static Public Attributes

static const unsigned int FEATURE_LINE [32]
 

Protected Member Functions

void resetFlags ()
 

Protected Attributes

vpColVector s
 
unsigned int dim_s
 
bool * flags
 
unsigned int nbParameters
 
vpBasicFeatureDeallocatorType deallocate
 

Detailed Description

Class that defines 2D image point visual feature with polar coordinates $(\rho,\theta)$ described in [8].

Let us denote $(\rho,\theta)$ the polar coordinates of an image point, with $\rho$ the radius of the feature point with respect to the optical center and $\theta$ the angle. From cartesian coordinates $(x,y)$ of a image point, polar coordinates are obtained by:

\[\rho = \sqrt{x^2+y^2} \hbox{,}\; \; \theta = \arctan \frac{y}{x}\]

From polar coordinates, cartesian coordinates of the feature point can be obtained by:

\[x = \rho \cos\theta \hbox{,}\; \; y = \rho \sin\theta\]

This class is intended to manipulate the 2D image point visual feature in polar coordinates $ s = (\rho, \theta) $. The interaction matrix related to $ s $ is given by:

\[ L = \left[ \begin{array}{l} L_{\rho} \\ \; \\ L_{\theta}\\ \end{array} \right] = \left[ \begin{array}{cccccc} \frac{-\cos \theta}{Z} & \frac{-\sin \theta}{Z} & \frac{\rho}{Z} & (1+\rho^2)\sin\theta & -(1+\rho^2)\cos\theta & 0 \\ \;\\ \ \frac{\sin\theta}{\rho Z} & \frac{-\cos\theta}{\rho Z} & 0 & \cos\theta /\rho & \sin\theta/\rho & -1 \\ \end{array} \right] \]

where $Z$ is the 3D depth of the considered point in the camera frame.

Two ways are allowed to initialize the feature.

The interaction() method allows to compute the interaction matrix $L$ associated to the visual feature, while the error() method computes the error vector $(s - s^*)$ between the current visual feature and the desired one.

The code below shows how to create a eye-in hand visual servoing task using four 2D point features with polar coordinates. First we create four current features $s$ (p var name in the code) and four desired $s^*$ (pd var name in the code) point features with polar coordinates, set the task to use the interaction matrix associated to the current feature $L_{s}$ and than compute the camera velocity $v=-\lambda \; {L_{s}}^+ \; (s-s^*)$. The current feature $s$ is updated in the while() loop, while $s^*$ is initialized at the beginning.

#include <visp3/core/vpPoint.h>
#include <visp3/visual_features/vpFeatureBuilder.h>
#include <visp3/visual_features/vpFeaturePointPolar.h>
#include <visp3/vs/vpServo.h>
int main()
{
// Create 4 points to specify the object of interest
vpPoint point[4];
// Set the 3D point coordinates in the object frame: oP
point[0].setWorldCoordinates(-0.1, -0.1, 0);
point[1].setWorldCoordinates( 0.1, -0.1, 0);
point[2].setWorldCoordinates( 0.1, 0.1, 0);
point[3].setWorldCoordinates(-0.1, 0.1, 0);
// Initialize the desired pose between the camera and the object frame
cMod.buildFrom(0, 0, 1, 0, 0, 0);
// Compute the desired position of the point
for (int i = 0 ; i < 4 ; i++) {
// Compute the 3D point coordinates in the camera frame cP = cMod * oP
point[i].changeFrame(cMod);
// Compute the perspective projection to set (x,y)
point[i].projection();
}
// Create 4 desired visual features as 2D points with polar coordinates
// Initialize the desired visual feature from the desired point positions
for (int i = 0 ; i < 4 ; i++)
vpFeatureBuilder::create(pd[i], point[i]);
// Initialize the current pose between the camera and the object frame
cMo.buildFrom(0, 0, 1.2, 0, 0, M_PI);
// ... cMo need here to be computed from a pose estimation
for (int i = 0 ; i < 4 ; i++) {
// Compute the 3D point coordinates in the camera frame cP = cMo * oP
point[i].changeFrame(cMo);
// Compute the perspective projection to set (x,y)
point[i].projection();
}
// Create 4 current visual features as 2D points with polar coordinates
// Initialize the current visual feature from the current point positions
for (int i = 0 ; i < 4 ; i++)
vpFeatureBuilder::create(p[i], point[i]);
// Visual servo task initialization
vpServo task;
// - Camera is monted on the robot end-effector and velocities are
// computed in the camera frame
// - Interaction matrix is computed with the current visual features s
// - Set the contant gain to 1
task.setLambda(1);
// - Add current and desired features
for (int i = 0 ; i < 4 ; i++)
task.addFeature(p[i], pd[i]);
// Control loop
for ( ; ; ) {
// ... cMo need here to be estimated from for example a pose estimation.
// Computes the point coordinates in the camera frame and its 2D
// coordinates in the image plane
for (int i = 0 ; i < 4 ; i++)
point[i].track(cMo) ;
// Update the current 2D point visual feature with polar coordinates
for (int i = 0 ; i < 4 ; i++)
vpFeatureBuilder::create(p[i], point[i]);
// compute the control law
vpColVector v = task.computeControlLaw(); // camera velocity
}
task.kill();
}

If you want to deal only with the $\rho$ subset feature from the 2D point feature set, you have just to modify the addFeature() call in the previous example by the following line. In that case, the dimension of $s$ is four.

// Add the rho subset feature from the 2D point polar coordinates visual features

If you want to build your own control law, this other example shows how to create a current ( $s$) and desired ( $s^*$) 2D point visual feature with polar coordinates, compute the corresponding error vector $(s-s^*)$ and finally build the interaction matrix $L_s$.

#include <visp3/visual_features/vpFeaturePointPolar.h>
#include <visp3/core/vpMatrix.h>
int main()
{
// Creation of the current feature s
// Initialize the current feature
s.buildFrom(0.1, M_PI, 1); // rho=0.1m, theta=pi, Z=1m
// Creation of the desired feature s
// Initialize the desired feature
s.buildFrom(0.15, 0, 0.8); // rho=0.15m, theta=0, Z=0.8m
// Compute the interaction matrix L_s for the current feature
// Compute the error vector (s-s*) for the point feature with polar coordinates
s.error(s_star);
return 0;
}
Examples:
servoSimuFourPoints2DPolarCamVelocityDisplay.cpp, and simulateFourPoints2DPolarCamVelocity.cpp.

Definition at line 262 of file vpFeaturePointPolar.h.

Member Enumeration Documentation

anonymous enum
inherited
Enumerator
FEATURE_ALL 

Definition at line 84 of file vpBasicFeature.h.

Indicates who should deallocate the feature.

Enumerator
user 
vpServo 

Definition at line 153 of file vpBasicFeature.h.

Constructor & Destructor Documentation

vpFeaturePointPolar::vpFeaturePointPolar ( )

Default constructor that build a 2D point visual feature with polar coordinates and initialize it to $(\rho, \theta) = (0, 0)$.

The 3D depth of the point requested in the interaction matrix (see interaction()) is initialized to $Z=1$.

Definition at line 106 of file vpFeaturePointPolar.cpp.

References init().

Referenced by duplicate().

virtual vpFeaturePointPolar::~vpFeaturePointPolar ( )
inlinevirtual

Destructor. Does nothing.

Definition at line 275 of file vpFeaturePointPolar.h.

Member Function Documentation

void vpFeaturePointPolar::buildFrom ( const double  rho,
const double  theta,
const double  Z_ 
)

Build a 2D image point visual feature with polar coordinates.

Parameters
rho,theta: Polar coordinates $(\rho,\theta)$ of the image point.
Z_: 3D depth of the point in the camera frame.
Exceptions
vpFeatureException::badInitializationErrorIf the depth ( $Z$ coordinate) is negative. That means that the 3D point is behind the camera which is not possible.
vpFeatureException::badInitializationErrorIf the depth ( $Z$ coordinate) is null. That means that the 3D point is on the camera which is not possible.

Definition at line 512 of file vpFeaturePointPolar.cpp.

References vpFeatureException::badInitializationError, vpBasicFeature::flags, vpBasicFeature::nbParameters, vpBasicFeature::s, and vpERROR_TRACE.

unsigned int vpBasicFeature::dimension_s ( )
inlineinherited

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

Definition at line 101 of file vpBasicFeature.h.

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

Display image point feature.

Parameters
cam: Camera parameters.
I: Image.
color: Color to use for the display
thickness: Thickness of the feature representation.

Implements vpBasicFeature.

Definition at line 554 of file vpFeaturePointPolar.cpp.

References vpFeatureDisplay::displayPoint(), get_rho(), get_theta(), and vpERROR_TRACE.

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

Display image point feature.

Parameters
cam: Camera parameters.
I: color Image.
color: Color to use for the display
thickness: Thickness of the feature representation.

Implements vpBasicFeature.

Definition at line 587 of file vpFeaturePointPolar.cpp.

References vpFeatureDisplay::displayPoint(), get_rho(), get_theta(), and vpERROR_TRACE.

vpFeaturePointPolar * vpFeaturePointPolar::duplicate ( ) const
virtual

Create an object with the same type.

s_star = s.duplicate(); // s_star is now a vpFeaturePointPolar

Implements vpBasicFeature.

Definition at line 621 of file vpFeaturePointPolar.cpp.

References vpFeaturePointPolar().

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

Compute the error $ (s-s^*)$ between the current and the desired visual features from a subset of the possible features.

For the angular component $\theta$, we define the error as $\theta \ominus \theta^*$, where $\ominus$ is modulo $2\pi$ substraction.

Parameters
s_star: Desired 2D image point visual feature with polar coordinates.
select: The error can be computed for a selection of a subset of the possible 2D point polar coordinate features.
  • To compute the error for all the three coordinates use vpBasicFeature::FEATURE_ALL. In that case the error vector is a 3 dimension column vector.
  • To compute the error for only one of the polar coordinate feature $(\rho,\theta)$ use one of the corresponding function selectRho() or selectTheta(). In that case the error vector is a 1 dimension column vector.
Returns
The error $ (s-s^*)$ between the current and the desired visual feature.

The code below shows how to use this method to manipulate the $\rho$ component.

// Creation of the current feature s
s.buildFrom(0.2, ..., 1); // rho and Z need to be set
// Build the interaction matrix L associated to rho component
// Creation of the desired feature s*
s_star.buildFrom(0.45, ..., 1.2); // rho and Z need to be set
// Compute the error vector (s-s*) for the rho feature

Reimplemented from vpBasicFeature.

Definition at line 420 of file vpFeaturePointPolar.cpp.

References vpBasicFeature::s, selectRho(), selectTheta(), and vpColVector::stack().

vpColVector vpFeaturePointPolar::error ( const unsigned int  select = FEATURE_ALL)

compute the error between a visual features and zero

double vpFeaturePointPolar::get_rho ( ) const

Get the image point $\rho$ polar coordinate.

See also
get_theta()
Examples:
servoSimuFourPoints2DPolarCamVelocityDisplay.cpp.

Definition at line 174 of file vpFeaturePointPolar.cpp.

References vpBasicFeature::s.

Referenced by display(), interaction(), and print().

double vpFeaturePointPolar::get_theta ( ) const

Get the image point $\theta$ polar coordinate.

See also
get_rho()
Examples:
servoSimuFourPoints2DPolarCamVelocityDisplay.cpp.

Definition at line 185 of file vpFeaturePointPolar.cpp.

References vpBasicFeature::s.

Referenced by display(), interaction(), and print().

double vpFeaturePointPolar::get_Z ( ) const

Get the 3D point depth in the camera frame.

Definition at line 194 of file vpFeaturePointPolar.cpp.

Referenced by vpFeatureBuilder::create(), interaction(), and print().

vpBasicFeatureDeallocatorType vpBasicFeature::getDeallocate ( )
inlineinherited

Definition at line 163 of file vpBasicFeature.h.

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

Get the feature vector dimension.

Definition at line 115 of file vpBasicFeature.cpp.

References vpBasicFeature::dim_s, vpBasicFeature::FEATURE_LINE, vpArray2D< Type >::getRows(), and vpBasicFeature::s.

void vpFeaturePointPolar::init ( void  )
virtual

Initialise the memory space requested for a 2D point visual feature with polar coordinates.

By default this feature is initialized to $(\rho, \theta) = (0, 0)$. The 3D depth of the point requested in the interaction matrix (see interaction()) is initialized to $Z=1$.

Implements vpBasicFeature.

Definition at line 79 of file vpFeaturePointPolar.cpp.

References vpBasicFeature::dim_s, vpBasicFeature::flags, vpBasicFeature::nbParameters, vpColVector::resize(), and vpBasicFeature::s.

Referenced by vpFeaturePointPolar().

vpMatrix vpFeaturePointPolar::interaction ( const unsigned int  select = FEATURE_ALL)
virtual

Compute and return the interaction matrix $ L $ associated to a subset of the possible 2D image point features with polar coordinates $(\rho,\theta)$.

\[ L = \left[ \begin{array}{l} L_{\rho} \\ \; \\ L_{\theta}\\ \end{array} \right] = \left[ \begin{array}{cccccc} \frac{-\cos \theta}{Z} & \frac{-\sin \theta}{Z} & \frac{\rho}{Z} & (1+\rho^2)\sin\theta & -(1+\rho^2)\cos\theta & 0 \\ \; \\ \frac{\sin\theta}{\rho Z} & \frac{-\cos\theta}{\rho Z} & 0 & \cos\theta /\rho & \sin\theta/\rho & -1 \\ \end{array} \right] \]

where $Z$ is the 3D depth of the considered point.

Parameters
select: Selection of a subset of the possible polar point coordinate features.
  • To compute the interaction matrix for all the two subset features $(\rho,\theta)$ use vpBasicFeature::FEATURE_ALL. In that case the dimension of the interaction matrix is $ [2 \times 6] $
  • To compute the interaction matrix for only one of the subset ( $\rho,\theta$) use one of the corresponding function selectRho() or selectTheta(). In that case the returned interaction matrix is $ [1 \times 6] $ dimension.
Returns
The interaction matrix computed from the 2D point polar coordinate features.
Exceptions
vpFeatureException::badInitializationError: If the point is behind the camera $(Z < 0)$, or if the 3D depth is null $(Z = 0)$, or if the $\rho$ polar coordinate of the point is null.

The code below shows how to compute the interaction matrix associated to the visual feature $s = (\rho,\theta)$.

double rho = 0.3;
double theta = M_PI;
double Z = 1;
// Creation of the current feature s
s.buildFrom(rho, theta, Z);
// Build the interaction matrix L_s

The interaction matrix could also be build by:

In both cases, L is a 2 by 6 matrix. The first line corresponds to the $\rho$ visual feature while the second one to the $\theta$ visual feature.

It is also possible to build the interaction matrix associated to one of the possible features. The code below shows how to consider only the $\theta$ component.

In that case, L_theta is a 1 by 6 matrix.

Implements vpBasicFeature.

Definition at line 277 of file vpFeaturePointPolar.cpp.

References vpFeatureException::badInitializationError, vpBasicFeature::deallocate, vpBasicFeature::flags, get_rho(), get_theta(), get_Z(), vpBasicFeature::nbParameters, vpBasicFeature::resetFlags(), vpArray2D< Type >::resize(), selectRho(), selectTheta(), vpMatrix::stack(), vpBasicFeature::user, vpERROR_TRACE, and vpTRACE.

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

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

Definition at line 112 of file vpBasicFeature.h.

void vpFeaturePointPolar::print ( const unsigned int  select = FEATURE_ALL) const
virtual

Print to stdout the values of the current visual feature.

Parameters
select: Selection of a subset of the possible 2D image point feature coordinates.
// Creation of the current feature s
s.buildFrom(0.1, M_PI_2, 1.3);
s.print(); // print all the 2 components of the image point feature
s.print(vpBasicFeature::FEATURE_ALL); // same behavior then previous line
s.print(vpFeaturePointPolar::selectRho()); // print only the rho component

Implements vpBasicFeature.

Definition at line 482 of file vpFeaturePointPolar.cpp.

References get_rho(), get_theta(), get_Z(), selectRho(), and selectTheta().

static unsigned int vpBasicFeature::selectAll ( )
inlinestaticinherited

Select all the features.

Definition at line 115 of file vpBasicFeature.h.

unsigned int vpFeaturePointPolar::selectRho ( )
static

Function used to select the $\rho$ subset polar coordinate of the image point visual feature.

This function is to use in conjunction with interaction() in order to compute the interaction matrix associated to $\rho$ feature.

See the interaction() method for an usage example.

This function is also useful in the vpServo class to indicate that a subset of the visual feature is to use in the control law:

vpServo task;
...
// Add only the rho subset coordinate feature from an image point to the task
See also
selectTheta()

Definition at line 650 of file vpFeaturePointPolar.cpp.

References vpBasicFeature::FEATURE_LINE.

Referenced by error(), interaction(), and print().

unsigned int vpFeaturePointPolar::selectTheta ( )
static

Function used to select the $\theta$ subset polar coordinate of the image point visual feature.

This function is to use in conjunction with interaction() in order to compute the interaction matrix associated to $\theta$ feature.

See the interaction() method for an usage example.

This function is also useful in the vpServo class to indicate that a subset of the visual feature is to use in the control law:

vpServo task;
...
// Add only the theta subset coordinate feature from an image point to the task
See also
selectRho()

Definition at line 676 of file vpFeaturePointPolar.cpp.

References vpBasicFeature::FEATURE_LINE.

Referenced by error(), interaction(), and print().

void vpFeaturePointPolar::set_rho ( const double  rho)

Set the image point $\rho$ polar coordinate.

See also
set_theta()

Definition at line 118 of file vpFeaturePointPolar.cpp.

References vpBasicFeature::flags, and vpBasicFeature::s.

Referenced by vpFeatureBuilder::create(), and set_rhoThetaZ().

void vpFeaturePointPolar::set_rhoThetaZ ( const double  rho,
const double  theta,
const double  Z_ 
)

Initialize the image point visual feature with polar coordinates.

Parameters
rho,theta: Polar coordinates $(\rho,\theta)$ of the image point.
Z_: 3D depth of the point in the camera frame.
See also
set_rho(), set_theta(), set_Z()

Definition at line 157 of file vpFeaturePointPolar.cpp.

References vpBasicFeature::flags, vpBasicFeature::nbParameters, set_rho(), set_theta(), and set_Z().

void vpFeaturePointPolar::set_theta ( const double  theta)

Set the image point $\theta$ polar coordinate.

See also
set_rho()

Definition at line 129 of file vpFeaturePointPolar.cpp.

References vpBasicFeature::flags, and vpBasicFeature::s.

Referenced by vpFeatureBuilder::create(), and set_rhoThetaZ().

void vpFeaturePointPolar::set_Z ( const double  Z_)

Set the 3D point depth in the camera frame.

Definition at line 140 of file vpFeaturePointPolar.cpp.

References vpBasicFeature::flags.

Referenced by vpFeatureBuilder::create(), and set_rhoThetaZ().

void vpBasicFeature::setDeallocate ( vpBasicFeatureDeallocatorType  d)
inlineinherited

Definition at line 162 of file vpBasicFeature.h.

Referenced by vpServo::addFeature().

void vpBasicFeature::setFlags ( )
inherited

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

Definition at line 158 of file vpBasicFeature.cpp.

References vpBasicFeature::flags, and vpBasicFeature::nbParameters.

Member Data Documentation

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

Definition at line 82 of file vpBasicFeature.h.

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

bool* vpBasicFeature::flags
protectedinherited

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

Definition at line 95 of file vpBasicFeature.h.

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

vpColVector vpBasicFeature::s
protectedinherited

State of the visual feature.

Definition at line 90 of file vpBasicFeature.h.

Referenced by vpFeatureEllipse::buildFrom(), vpFeatureLuminance::buildFrom(), vpFeatureVanishingPoint::buildFrom(), vpFeatureDepth::buildFrom(), vpFeaturePoint::buildFrom(), vpFeatureLine::buildFrom(), vpFeaturePoint3D::buildFrom(), vpFeatureThetaU::buildFrom(), buildFrom(), vpFeatureTranslation::buildFrom(), vpFeatureEllipse::display(), vpFeatureMoment::duplicate(), vpFeatureEllipse::error(), vpFeatureVanishingPoint::error(), vpBasicFeature::error(), vpFeatureLuminance::error(), vpFeatureMomentAlpha::error(), vpGenericFeature::error(), vpFeatureDepth::error(), vpFeaturePoint::error(), vpFeatureLine::error(), vpFeaturePoint3D::error(), vpFeatureThetaU::error(), error(), vpFeatureTranslation::error(), vpFeatureDepth::get_LogZoverZstar(), get_rho(), vpBasicFeature::get_s(), vpGenericFeature::get_s(), get_theta(), vpFeatureThetaU::get_TUx(), vpFeatureThetaU::get_TUy(), vpFeatureThetaU::get_TUz(), vpFeatureTranslation::get_Tx(), vpFeatureTranslation::get_Ty(), vpFeatureTranslation::get_Tz(), vpFeatureVanishingPoint::get_x(), vpFeaturePoint::get_x(), vpFeaturePoint3D::get_X(), vpFeatureVanishingPoint::get_y(), vpFeaturePoint::get_y(), vpFeaturePoint3D::get_Y(), vpFeaturePoint3D::get_Z(), vpBasicFeature::getDimension(), vpFeatureEllipse::init(), vpFeatureVanishingPoint::init(), vpFeatureLuminance::init(), vpFeatureSegment::init(), vpFeatureDepth::init(), vpGenericFeature::init(), vpFeaturePoint::init(), vpFeatureMoment::init(), vpFeatureLine::init(), vpFeaturePoint3D::init(), vpFeatureThetaU::init(), init(), vpFeatureTranslation::init(), vpFeatureEllipse::interaction(), vpFeatureLine::interaction(), vpFeatureThetaU::interaction(), vpFeatureTranslation::interaction(), vpBasicFeature::operator=(), vpFeatureEllipse::print(), vpFeatureSegment::print(), vpGenericFeature::print(), vpFeatureMoment::print(), vpFeatureLine::print(), vpFeatureThetaU::print(), vpFeatureTranslation::print(), vpFeatureDepth::set_LogZoverZstar(), set_rho(), vpGenericFeature::set_s(), set_theta(), vpFeatureThetaU::set_TUx(), vpFeatureThetaU::set_TUy(), vpFeatureThetaU::set_TUz(), vpFeatureTranslation::set_Tx(), vpFeatureTranslation::set_Ty(), vpFeatureTranslation::set_Tz(), vpFeatureEllipse::set_x(), vpFeatureVanishingPoint::set_x(), vpFeaturePoint::set_x(), vpFeaturePoint3D::set_X(), vpFeatureEllipse::set_xy(), vpFeatureEllipse::set_y(), vpFeatureVanishingPoint::set_y(), vpFeaturePoint::set_y(), vpFeaturePoint3D::set_Y(), vpFeaturePoint3D::set_Z(), vpFeatureEllipse::setMu(), vpFeatureLine::setRhoTheta(), vpFeatureMoment::update(), and vpGenericFeature::vpGenericFeature().