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.
bool * flags
Ensure that all the parameters needed to compute the iteraction matrix are set.
vpMatrix interaction(const unsigned int select=FEATURE_ALL)
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)
void print(const unsigned int select=FEATURE_ALL) const
unsigned int dim_s
Dimension of the visual feature.
void setFeatureThetaURotationType(const vpFeatureThetaURotationRepresentationType r)
void extract(vpRotationMatrix &R) const
vpColVector get_s(unsigned int select=FEATURE_ALL) const
Get the feature vector .
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()
static double sqr(double x)
Error that can be emited by the vpBasicFeature class and its derivates.
Generic class defining intrinsic camera parameters.
vpFeatureThetaURotationRepresentationType getFeatureThetaURotationType() const
void display(const vpCameraParameters &cam, const vpImage< unsigned char > &I, const vpColor &color=vpColor::green, unsigned int thickness=1) const
void buildFrom(vpThetaUVector &tu)
static const unsigned int FEATURE_LINE[32]
void set_TUy(const double tu_y)
vpBasicFeatureDeallocatorType deallocate
vpFeatureThetaU * duplicate() const
Feature duplication.
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()
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)