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)
472 double d = 1 /
cP[2];
vpPoint()
Basic constructor.
void display(const vpImage< unsigned char > &I, const vpCameraParameters &cam, const vpColor &color=vpColor::green, unsigned int thickness=1)
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.
void changeFrame(const vpHomogeneousMatrix &cMo, vpColVector &cP) const
Class to define RGB colors available for display functionnalities.
double get_oY() const
Get the point oY coordinate in the object frame.
error that can be emited by ViSP classes.
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_y() const
Get the point y coordinate in the image plane.
double get_w() const
Get the point w coordinate in the image plane.
double get_W() const
Get the point cW coordinate in the camera 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)
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)
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.
double get_oZ() const
Get the point oZ coordinate in the object frame.
double get_x() const
Get the point x coordinate in the image plane.
void set_oW(double oW)
Set the point oW coordinate in the object frame.
vpPoint * duplicate() const
For memory issue (used by the vpServo class only).
double get_Y() const
Get the point cY coordinate in the camera frame.
double get_Z() const
Get the point cZ coordinate in the camera frame.
double get_oX() const
Get the point oX 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)
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.
void set_w(double w)
Set the point w coordinate in the image plane.
vpPoint & operator=(const vpPoint &vpp)=default
double get_X() const
Get the point cX coordinate in the camera frame.
double get_oW() const
Get the point oW coordinate in the object frame.