40 #include <visp3/visual_features/vpBasicFeature.h>
41 #include <visp3/visual_features/vpFeatureThetaU.h>
42 #include <visp3/core/vpMath.h>
45 #include <visp3/core/vpException.h>
46 #include <visp3/visual_features/vpFeatureException.h>
49 #include <visp3/core/vpDebug.h>
447 if (
flags[i] ==
false)
451 vpTRACE(
"Warning !!! The interaction matrix is computed but Tu_x was not set yet");
454 vpTRACE(
"Warning !!! The interaction matrix is computed but Tu_y was not set yet");
457 vpTRACE(
"Warning !!! The interaction matrix is computed but Tu_z was not set yet");
460 vpTRACE(
"Problem during the reading of the variable flags");
469 for (
unsigned int i=0 ; i < 3 ; i++) {
481 for (
unsigned int i=0 ; i < 3 ; i++)
489 if (rotation ==
cdRc) {
501 Lx[0][0] = 0 ; Lx[0][1] = 0 ; Lx[0][2] = 0 ;
502 for (
int i=0 ; i < 3 ; i++) Lx[0][i+3] = Lw[0][i] ;
512 Ly[0][0] = 0 ; Ly[0][1] = 0 ; Ly[0][2] = 0 ;
513 for (
int i=0 ; i < 3 ; i++) Ly[0][i+3] = Lw[1][i] ;
522 Lz[0][0] = 0 ; Lz[0][1] = 0 ; Lz[0][2] = 0 ;
523 for (
int i=0 ; i < 3 ; i++) Lz[0][i+3] = Lw[2][i] ;
593 const unsigned int select)
600 "s* should be zero !")) ;
658 std::cout <<
"ThetaU: ";
660 std::cout <<
s[0] <<
" ";
663 std::cout <<
s[1] <<
" ";
666 std::cout <<
s[2] <<
" ";
668 std::cout << std::endl;
685 if (rotation ==
cdRc)
704 static int firsttime =0 ;
725 static int firsttime =0 ;
Implementation of a matrix and operations on matrices.
void print(const unsigned int select=FEATURE_ALL) const
bool * flags
Ensure that all the parameters needed to compute the iteraction matrix are set.
vpMatrix interaction(const unsigned int select=FEATURE_ALL)
vpFeatureThetaU * duplicate() const
Feature duplication.
void stack(const double &d)
void resize(const unsigned int nrows, const unsigned int ncols, const bool flagNullify=true)
vpColVector error(const vpBasicFeature &s_star, const unsigned int select=FEATURE_ALL)
Implementation of an homogeneous matrix and operations on such kind of matrices.
void set_TUz(const double tu_z)
Class to define colors available for display functionnalities.
void stack(const vpMatrix &A)
unsigned int dim_s
Dimension of the visual feature.
void setFeatureThetaURotationType(const vpFeatureThetaURotationRepresentationType r)
vpFeatureThetaURotationRepresentationType getFeatureThetaURotationType() const
static double sinc(double x)
Implementation of a rotation matrix and operations on such kind of matrices.
vpFeatureThetaURotationRepresentationType
class that defines what is a visual feature
static unsigned int selectTUx()
void display(const vpCameraParameters &cam, const vpImage< unsigned char > &I, const vpColor &color=vpColor::green, unsigned int thickness=1) const
static double sqr(double x)
Error that can be emited by the vpBasicFeature class and its derivates.
Generic class defining intrinsic camera parameters.
void extract(vpRotationMatrix &R) const
void buildFrom(vpThetaUVector &tu)
static const unsigned int FEATURE_LINE[32]
void set_TUy(const double tu_y)
vpBasicFeatureDeallocatorType deallocate
Implementation of column vector and the associated operations.
static unsigned int selectTUz()
Class that defines a 3D visual feature from a axis/angle parametrization that represent the rotatio...
static vpMatrix skew(const vpColVector &v)
static unsigned int selectTUy()
vpColVector get_s(unsigned int select=FEATURE_ALL) const
Get the feature vector .
Implementation of a rotation vector as axis-angle minimal representation.
unsigned int nbParameters
Number of parameters needed to compute the interaction matrix.
vpColVector s
State of the visual feature.
void resize(const unsigned int i, const bool flagNullify=true)
void set_TUx(const double tu_x)