44 #include <visp/vpBasicFeature.h>
45 #include <visp/vpFeatureThetaU.h>
46 #include <visp/vpMath.h>
49 #include <visp/vpException.h>
50 #include <visp/vpMatrixException.h>
51 #include <visp/vpFeatureException.h>
54 #include <visp/vpDebug.h>
412 if (
flags[i] ==
false)
416 vpTRACE(
"Warning !!! The interaction matrix is computed but Tu_x was not set yet");
419 vpTRACE(
"Warning !!! The interaction matrix is computed but Tu_y was not set yet");
422 vpTRACE(
"Warning !!! The interaction matrix is computed but Tu_z was not set yet");
425 vpTRACE(
"Problem during the reading of the variable flags");
434 for (
unsigned int i=0 ; i < 3 ; i++) {
446 for (
unsigned int i=0 ; i < 3 ; i++)
454 if (rotation ==
cdRc) {
466 Lx[0][0] = 0 ; Lx[0][1] = 0 ; Lx[0][2] = 0 ;
467 for (
int i=0 ; i < 3 ; i++) Lx[0][i+3] = Lw[0][i] ;
477 Ly[0][0] = 0 ; Ly[0][1] = 0 ; Ly[0][2] = 0 ;
478 for (
int i=0 ; i < 3 ; i++) Ly[0][i+3] = Lw[1][i] ;
487 Lz[0][0] = 0 ; Lz[0][1] = 0 ; Lz[0][2] = 0 ;
488 for (
int i=0 ; i < 3 ; i++) Lz[0][i+3] = Lw[2][i] ;
558 const unsigned int select)
565 "s* should be zero !")) ;
623 std::cout <<
"ThetaU: ";
625 std::cout <<
s[0] <<
" ";
628 std::cout <<
s[1] <<
" ";
631 std::cout <<
s[2] <<
" ";
633 std::cout << std::endl;
650 if (rotation ==
cdRc)
669 static int firsttime =0 ;
690 static int firsttime =0 ;
vpFeatureThetaU(vpFeatureThetaURotationRepresentationType r)
Definition of the vpMatrix class.
void print(const unsigned int select=FEATURE_ALL) const
bool * flags
Ensure that all the parameters needed to compute the iteraction matrix are set.
void resize(const unsigned int nrows, const unsigned int ncols, const bool nullify=true)
vpMatrix interaction(const unsigned int select=FEATURE_ALL)
vpFeatureThetaU * duplicate() const
Feature duplication.
vpColVector error(const vpBasicFeature &s_star, const unsigned int select=FEATURE_ALL)
The class provides a data structure for the homogeneous matrices as well as a set of operations on th...
void set_TUz(const double tu_z)
Class to define colors available for display functionnalities.
unsigned int dim_s
Dimension of the visual feature.
static double sinc(double x)
The vpRotationMatrix considers the particular case of a rotation matrix.
vpFeatureThetaURotationRepresentationType
class that defines what is a visual feature
static unsigned int selectTUz()
void setIdentity(const double &val=1.0)
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.
static unsigned int selectTUx()
static unsigned int selectTUy()
Generic class defining intrinsic camera parameters.
void extract(vpRotationMatrix &R) const
void stackMatrices(const vpMatrix &A)
void buildFrom(vpThetaUVector &tu)
void set_TUy(const double tu_y)
vpBasicFeatureDeallocatorType deallocate
Class that provides a data structure for the column vectors as well as a set of operations on these v...
Class that defines a 3D visual feature from a axis/angle parametrization that represent the rotatio...
static vpMatrix skew(const vpColVector &v)
vpColVector get_s(unsigned int select=FEATURE_ALL) const
Get the feature vector .
Class that consider the case of the parameterization for the rotation.
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)