39 #include <visp3/core/vpDebug.h> 40 #include <visp3/core/vpFeatureDisplay.h> 41 #include <visp3/core/vpPoint.h> 133 if (oP_.
size() == 3) {
138 }
else if (oP_.
size() == 4) {
161 if (oP_.size() == 3) {
166 }
else if (oP_.size() == 4) {
202 for (
unsigned int i = 0; i <
oP.
size(); i++)
226 _p[0] = _cP[0] / _cP[2];
227 _p[1] = _cP[1] / _cP[2];
243 _cP[0] = cMo[0][0] *
oP[0] + cMo[0][1] *
oP[1] + cMo[0][2] *
oP[2] + cMo[0][3] *
oP[3];
244 _cP[1] = cMo[1][0] * oP[0] + cMo[1][1] * oP[1] + cMo[1][2] * oP[2] + cMo[1][3] * oP[3];
245 _cP[2] = cMo[2][0] * oP[0] + cMo[2][1] * oP[1] + cMo[2][2] * oP[2] + cMo[2][3] * oP[3];
246 _cP[3] = cMo[3][0] * oP[0] + cMo[3][1] * oP[1] + cMo[3][2] * oP[2] + cMo[3][3] * oP[3];
248 double d = 1 / _cP[3];
265 double X = cMo[0][0] *
oP[0] + cMo[0][1] *
oP[1] + cMo[0][2] *
oP[2] + cMo[0][3] *
oP[3];
266 double Y = cMo[1][0] * oP[0] + cMo[1][1] * oP[1] + cMo[1][2] * oP[2] + cMo[1][3] * oP[3];
267 double Z = cMo[2][0] * oP[0] + cMo[2][1] * oP[1] + cMo[2][2] * oP[2] + cMo[2][3] * oP[3];
268 double W = cMo[3][0] * oP[0] + cMo[3][1] * oP[1] + cMo[3][2] * oP[2] + cMo[3][3] * oP[3];
300 v1[0] = aMb[0][0]*v[0] + aMb[0][1]*v[1]+ aMb[0][2]*v[2]+ aMb[0][3]*v[3] ;
301 v1[1] = aMb[1][0]*v[0] + aMb[1][1]*v[1]+ aMb[1][2]*v[2]+ aMb[1][3]*v[3] ;
302 v1[2] = aMb[2][0]*v[0] + aMb[2][1]*v[1]+ aMb[2][2]*v[2]+ aMb[2][3]*v[3] ;
303 v1[3] = aMb[3][0]*v[0] + aMb[3][1]*v[1]+ aMb[3][2]*v[2]+ aMb[3][3]*v[3] ;
340 v1[0] = aHb[0][0]*v[0] + aHb[0][1]*v[1]+ aHb[0][2]*v[2] ;
341 v1[1] = aHb[1][0]*v[0] + aHb[1][1]*v[1]+ aHb[1][2]*v[2] ;
342 v1[2] = aHb[2][0]*v[0] + aHb[2][1]*v[1]+ aHb[2][2]*v[2] ;
371 const vpColor &color,
unsigned int thickness)
396 const vpColor &color,
unsigned int thickness)
408 VISP_EXPORT std::ostream &
operator<<(std::ostream &os,
const vpPoint & ) {
return (os <<
"vpPoint"); }
410 #if (VISP_CXX_STANDARD < VISP_CXX_STANDARD_11) 431 unsigned int thickness)
445 unsigned int thickness)
486 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 oY coordinate in the object frame.
void init()
Basic construction.
vpColVector getWorldCoordinates(void)
void setWorldCoordinates(double oX, double oY, double oZ)
void set_W(double cW)
Set the point cW coordinate in the camera frame.
Implementation of an homogeneous matrix and operations on such kind of matrices.
Class to define RGB colors available for display functionnalities.
error that can be emited by ViSP classes.
double get_oW() const
Get the point oW coordinate in the object frame.
void set_Z(double cZ)
Set the point cZ coordinate in the camera frame.
unsigned int size() const
Return the number of elements of the 2D array.
double get_oX() const
Get the point oX 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 cW coordinate in the camera frame.
Class that defines a 3D point in the object frame and allows forward projection of a 3D point in the ...
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.
void set_X(double cX)
Set the point cX coordinate in the camera frame.
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_oY(double oY)
Set the point oY coordinate in the object frame.
friend VISP_EXPORT std::ostream & operator<<(std::ostream &os, const vpPoint &vpp)
Generic class defining intrinsic camera parameters.
void changeFrame(const vpHomogeneousMatrix &cMo, vpColVector &cP) const
double get_oZ() const
Get the point oZ coordinate in the object frame.
void set_oW(double oW)
Set the point oW coordinate in the object frame.
void set_oZ(double oZ)
Set the point oZ coordinate in the object frame.
void resize(unsigned int i, bool flagNullify=true)
double get_X() const
Get the point cX coordinate in the camera frame.
void set_Y(double cY)
Set the point cY coordinate in the camera frame.
Implementation of column vector and the associated operations.
void set_oX(double oX)
Set the point oX 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 cZ coordinate in the camera frame.
double get_Y() const
Get the point cY coordinate in the camera frame.