39 #include <visp3/core/vpDebug.h> 40 #include <visp3/core/vpFeatureDisplay.h> 41 #include <visp3/core/vpPoint.h> 137 }
else if (P.
size() == 4) {
164 }
else if (P.size() == 4) {
198 for (
unsigned int i = 0; i <
oP.
size(); i++)
220 _p[0] = _cP[0] / _cP[2];
221 _p[1] = _cP[1] / _cP[2];
238 _cP[0] = cMo[0][0] *
oP[0] + cMo[0][1] *
oP[1] + cMo[0][2] *
oP[2] + cMo[0][3] *
oP[3];
239 _cP[1] = cMo[1][0] * oP[0] + cMo[1][1] * oP[1] + cMo[1][2] * oP[2] + cMo[1][3] * oP[3];
240 _cP[2] = cMo[2][0] * oP[0] + cMo[2][1] * oP[1] + cMo[2][2] * oP[2] + cMo[2][3] * oP[3];
241 _cP[3] = cMo[3][0] * oP[0] + cMo[3][1] * oP[1] + cMo[3][2] * oP[2] + cMo[3][3] * oP[3];
243 double d = 1 / _cP[3];
261 double X = cMo[0][0] *
oP[0] + cMo[0][1] *
oP[1] + cMo[0][2] *
oP[2] + cMo[0][3] *
oP[3];
262 double Y = cMo[1][0] * oP[0] + cMo[1][1] * oP[1] + cMo[1][2] * oP[2] + cMo[1][3] * oP[3];
263 double Z = cMo[2][0] * oP[0] + cMo[2][1] * oP[1] + cMo[2][2] * oP[2] + cMo[2][3] * oP[3];
264 double W = cMo[3][0] * oP[0] + cMo[3][1] * oP[1] + cMo[3][2] * oP[2] + cMo[3][3] * oP[3];
296 v1[0] = aMb[0][0]*v[0] + aMb[0][1]*v[1]+ aMb[0][2]*v[2]+ aMb[0][3]*v[3] ;
297 v1[1] = aMb[1][0]*v[0] + aMb[1][1]*v[1]+ aMb[1][2]*v[2]+ aMb[1][3]*v[3] ;
298 v1[2] = aMb[2][0]*v[0] + aMb[2][1]*v[1]+ aMb[2][2]*v[2]+ aMb[2][3]*v[3] ;
299 v1[3] = aMb[3][0]*v[0] + aMb[3][1]*v[1]+ aMb[3][2]*v[2]+ aMb[3][3]*v[3] ;
336 v1[0] = aHb[0][0]*v[0] + aHb[0][1]*v[1]+ aHb[0][2]*v[2] ;
337 v1[1] = aHb[1][0]*v[0] + aHb[1][1]*v[1]+ aHb[1][2]*v[2] ;
338 v1[2] = aHb[2][0]*v[0] + aHb[2][1]*v[1]+ aHb[2][2]*v[2] ;
359 const vpColor &color,
unsigned int thickness)
376 const vpColor &color,
unsigned int thickness)
388 VISP_EXPORT std::ostream &
operator<<(std::ostream &os,
const vpPoint & ) {
return (os <<
"vpPoint"); }
390 #if (VISP_CXX_STANDARD < VISP_CXX_STANDARD_11) 406 unsigned int thickness)
447 double d = 1 /
cP[2];
vpPoint()
Basic constructor.
vpPoint * duplicate() const
For memory issue (used by the vpServo class only).
void display(const vpImage< unsigned char > &I, const vpCameraParameters &cam, const vpColor &color=vpColor::green, unsigned int thickness=1)
double get_oY() const
Get the point Y coordinate in the object frame.
void init()
Basic construction.
vpColVector getWorldCoordinates(void)
void setWorldCoordinates(double oX, double oY, double oZ)
Implementation of an homogeneous matrix and operations on such kind of matrices.
Class to define colors available for display functionnalities.
error that can be emited by ViSP classes.
double get_oW() const
Get the point W coordinate in the object frame.
unsigned int size() const
Return the number of elements of the 2D array.
void set_Y(double Y)
Set the point Y coordinate in the camera frame.
double get_oX() const
Get the point X coordinate in the object frame.
static void displayPoint(double x, double y, const vpCameraParameters &cam, const vpImage< unsigned char > &I, const vpColor &color=vpColor::green, unsigned int thickness=1)
double get_W() const
Get the point W coordinate in the camera frame.
Class that defines what is a point.
void set_x(double x)
Set the point x coordinate in the image plane.
void set_y(double y)
Set the point y coordinate in the image plane.
vpColVector operator*(const double &x, const vpColVector &v)
double get_w() const
Get the point w coordinate in the image plane.
Implementation of an homography and operations on homographies.
void set_W(double W)
Set the point W coordinate in the camera frame.
void set_oY(double oY)
Set the point Y coordinate in the object frame.
friend VISP_EXPORT std::ostream & operator<<(std::ostream &os, const vpPoint &vpp)
Generic class defining intrinsic camera parameters.
double get_oZ() const
Get the point Z coordinate in the object frame.
void set_oW(double oW)
Set the point W coordinate in the object frame.
void set_oZ(double oZ)
Set the point Z coordinate in the object frame.
void resize(unsigned int i, bool flagNullify=true)
double get_X() const
Get the point X coordinate in the camera frame.
void set_Z(double Z)
Set the point Z coordinate in the camera frame.
Implementation of column vector and the associated operations.
void set_oX(double oX)
Set the point X coordinate in the object frame.
double get_x() const
Get the point x coordinate in the image plane.
void set_w(double w)
Set the point w coordinate in the image plane.
double get_y() const
Get the point y coordinate in the image plane.
vpPoint & operator=(const vpPoint &vpp)=default
double get_Z() const
Get the point Z coordinate in the camera frame.
void changeFrame(const vpHomogeneousMatrix &cMo, vpColVector &_cP)
double get_Y() const
Get the point Y coordinate in the camera frame.
void set_X(double X)
Set the point X coordinate in the camera frame.