41 #include <visp3/core/vpMath.h>
42 #include <visp3/visual_features/vpBasicFeature.h>
43 #include <visp3/visual_features/vpFeatureThetaU.h>
46 #include <visp3/core/vpException.h>
47 #include <visp3/visual_features/vpFeatureException.h>
50 #include <visp3/core/vpDebug.h>
418 if (
flags[i] ==
false) {
421 vpTRACE(
"Warning !!! The interaction matrix is computed but Tu_x "
425 vpTRACE(
"Warning !!! The interaction matrix is computed but Tu_y "
429 vpTRACE(
"Warning !!! The interaction matrix is computed but Tu_z "
433 vpTRACE(
"Problem during the reading of the variable flags");
442 for (
unsigned int i = 0; i < 3; i++) {
454 for (
unsigned int i = 0; i < 3; i++)
462 if (rotation ==
cdRc) {
476 for (
int i = 0; i < 3; i++)
477 Lx[0][i + 3] = Lw[0][i];
488 for (
int i = 0; i < 3; i++)
489 Ly[0][i + 3] = Lw[1][i];
500 for (
int i = 0; i < 3; i++)
501 Lz[0][i + 3] = Lw[2][i];
574 vpERROR_TRACE(
"s* should be zero ! ");
628 std::cout <<
"ThetaU:";
630 std::cout <<
" tux=" <<
s[0];
633 std::cout <<
" tuy=" <<
s[1];
636 std::cout <<
" tuz=" <<
s[2];
638 std::cout << std::endl;
655 if (rotation ==
cdRc)
669 const vpColor & ,
unsigned int )
const
671 static int firsttime = 0;
673 if (firsttime == 0) {
675 vpERROR_TRACE(
"not implemented");
686 const vpColor & ,
unsigned int )
const
688 static int firsttime = 0;
690 if (firsttime == 0) {
692 vpERROR_TRACE(
"not implemented");
class that defines what is a visual feature
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)
void resize(unsigned int i, bool flagNullify=true)
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.
Class that defines a 3D visual feature from a axis/angle parametrization that represent the rotatio...
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
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.