39#include <visp3/core/vpMath.h>
40#include <visp3/visual_features/vpBasicFeature.h>
41#include <visp3/visual_features/vpFeatureThetaU.h>
44#include <visp3/core/vpException.h>
45#include <visp3/visual_features/vpFeatureException.h>
48#include <visp3/core/vpDebug.h>
416 if (
flags[i] ==
false) {
419 vpTRACE(
"Warning !!! The interaction matrix is computed but Tu_x "
423 vpTRACE(
"Warning !!! The interaction matrix is computed but Tu_y "
427 vpTRACE(
"Warning !!! The interaction matrix is computed but Tu_z "
431 vpTRACE(
"Problem during the reading of the variable flags");
440 for (
unsigned int i = 0; i < 3; i++) {
450 double theta = sqrt(
s.sumSquare());
452 for (
unsigned int i = 0; i < 3; i++)
460 if (rotation ==
cdRc) {
474 for (
int i = 0; i < 3; i++)
475 Lx[0][i + 3] = Lw[0][i];
486 for (
int i = 0; i < 3; i++)
487 Ly[0][i + 3] = Lw[1][i];
498 for (
int i = 0; i < 3; i++)
499 Lz[0][i + 3] = Lw[2][i];
626 std::cout <<
"ThetaU:";
628 std::cout <<
" tux=" <<
s[0];
631 std::cout <<
" tuy=" <<
s[1];
634 std::cout <<
" tuz=" <<
s[2];
636 std::cout << std::endl;
653 if (rotation ==
cdRc)
667 const vpColor & ,
unsigned int )
const
669 static int firsttime = 0;
671 if (firsttime == 0) {
684 const vpColor & ,
unsigned int )
const
686 static int firsttime = 0;
688 if (firsttime == 0) {
void resize(unsigned int nrows, unsigned int ncols, bool flagNullify=true, bool recopy_=true)
vpColVector s
State of the visual feature.
unsigned int nbParameters
Number of parameters needed to compute the interaction matrix.
vpColVector get_s(unsigned int select=FEATURE_ALL) const
Get the feature vector .
unsigned int dim_s
Dimension of the visual feature.
static const unsigned int FEATURE_LINE[32]
vpBasicFeatureDeallocatorType deallocate
Generic class defining intrinsic camera parameters.
Implementation of column vector and the associated operations.
static vpMatrix skew(const vpColVector &v)
Class to define RGB colors available for display functionalities.
Error that can be emitted by the vpBasicFeature class and its derivates.
@ badInitializationError
Wrong feature initialization.
vpFeatureThetaU * duplicate() const VP_OVERRIDE
Feature duplication.
vpFeatureThetaURotationRepresentationType
vpFeatureThetaURotationRepresentationType getFeatureThetaURotationType() const
static unsigned int selectTUy()
vpColVector error(const vpBasicFeature &s_star, unsigned int select=FEATURE_ALL) VP_OVERRIDE
void print(unsigned int select=FEATURE_ALL) const VP_OVERRIDE
void set_TUx(double tu_x)
void set_TUz(double tu_z)
vpMatrix interaction(unsigned int select=FEATURE_ALL) VP_OVERRIDE
static unsigned int selectTUx()
void setFeatureThetaURotationType(const vpFeatureThetaURotationRepresentationType r)
vpFeatureThetaU & buildFrom(const vpThetaUVector &tu)
static unsigned int selectTUz()
void display(const vpCameraParameters &cam, const vpImage< unsigned char > &I, const vpColor &color=vpColor::green, unsigned int thickness=1) const VP_OVERRIDE
void set_TUy(double tu_y)
Implementation of an homogeneous matrix and operations on such kind of matrices.
void extract(vpRotationMatrix &R) const
Definition of the vpImage class member functions.
static double sinc(double x)
static double sqr(double x)
Implementation of a matrix and operations on matrices.
void stack(const vpMatrix &A)
Implementation of a rotation matrix and operations on such kind of matrices.
Implementation of a rotation vector as axis-angle minimal representation.