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>
421 if (
flags[i] ==
false)
425 vpTRACE(
"Warning !!! The interaction matrix is computed but Tu_x was not set yet");
428 vpTRACE(
"Warning !!! The interaction matrix is computed but Tu_y was not set yet");
431 vpTRACE(
"Warning !!! The interaction matrix is computed but Tu_z was not set yet");
434 vpTRACE(
"Problem during the reading of the variable flags");
443 for (
unsigned int i=0 ; i < 3 ; i++) {
455 for (
unsigned int i=0 ; i < 3 ; i++)
463 if (rotation ==
cdRc) {
475 Lx[0][0] = 0 ; Lx[0][1] = 0 ; Lx[0][2] = 0 ;
476 for (
int i=0 ; i < 3 ; i++) Lx[0][i+3] = Lw[0][i] ;
486 Ly[0][0] = 0 ; Ly[0][1] = 0 ; Ly[0][2] = 0 ;
487 for (
int i=0 ; i < 3 ; i++) Ly[0][i+3] = Lw[1][i] ;
496 Lz[0][0] = 0 ; Lz[0][1] = 0 ; Lz[0][2] = 0 ;
497 for (
int i=0 ; i < 3 ; i++) Lz[0][i+3] = Lw[2][i] ;
567 const unsigned int select)
574 "s* should be zero !")) ;
632 std::cout <<
"ThetaU: ";
634 std::cout <<
s[0] <<
" ";
637 std::cout <<
s[1] <<
" ";
640 std::cout <<
s[2] <<
" ";
642 std::cout << std::endl;
659 if (rotation ==
cdRc)
678 static int firsttime =0 ;
699 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.
double sumSquare() const
return sum of the Aij^2 (for all i, for all j)
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 buildFrom(vpThetaUVector &tu)
static vpMatrix stackMatrices(const vpMatrix &A, const vpMatrix &B)
Stack two Matrices C = [ A B ]^T.
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)