Visual Servoing Platform
version 3.3.0 under development (2020-02-17)
|
#include <visp3/core/vpSphere.h>
Public Types | |
enum | vpForwardProjectionDeallocatorType { user, vpDisplayForwardProjection } |
Public Member Functions | |
void | init () |
vpSphere () | |
virtual | ~vpSphere () |
vpSphere (const vpColVector &oP) | |
vpSphere (double X0, double Y0, double Z0, double R) | |
void | setWorldCoordinates (const vpColVector &oP) |
void | setWorldCoordinates (double X0, double Y0, double Z0, double R) |
double | get_x () const |
double | get_y () const |
double | get_mu20 () const |
double | get_mu11 () const |
double | get_mu02 () const |
double | getX () const |
double | getY () const |
double | getZ () const |
double | getR () const |
void | projection () |
void | projection (const vpColVector &cP, vpColVector &p) |
void | changeFrame (const vpHomogeneousMatrix &cMo, vpColVector &cP) |
void | changeFrame (const vpHomogeneousMatrix &cMo) |
void | display (const vpImage< unsigned char > &I, const vpCameraParameters &cam, const vpColor &color=vpColor::green, unsigned int thickness=1) |
void | display (const vpImage< unsigned char > &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, const vpColor &color=vpColor::green, unsigned int thickness=1) |
vpSphere * | duplicate () const |
void | project () |
void | project (const vpHomogeneousMatrix &cMo) |
void | track (const vpHomogeneousMatrix &cMo) |
virtual void | print () const |
void | setDeallocate (vpForwardProjectionDeallocatorType d) |
vpForwardProjectionDeallocatorType | getDeallocate () |
Public Attributes | |
vpColVector | oP |
vpColVector | p |
vpColVector | cP |
bool | cPAvailable |
Class that defines what is a sphere.
Forward projection of a sphere.
Definition at line 60 of file vpSphere.h.
|
inherited |
Used for memory issue especially in the vpServo class.
Enumerator | |
---|---|
user | |
vpDisplayForwardProjection |
Definition at line 211 of file vpForwardProjection.h.
vpSphere::vpSphere | ( | ) |
|
virtual |
Definition at line 75 of file vpSphere.cpp.
|
explicit |
Definition at line 63 of file vpSphere.cpp.
References init(), and setWorldCoordinates().
vpSphere::vpSphere | ( | double | X0, |
double | Y0, | ||
double | Z0, | ||
double | R | ||
) |
Definition at line 69 of file vpSphere.cpp.
References init(), and setWorldCoordinates().
|
virtual |
Perspective projection of the circle.
Implements vpForwardProjection.
Definition at line 147 of file vpSphere.cpp.
References vpForwardProjection::oP.
Referenced by changeFrame(), and display().
|
virtual |
perspective projection of the circle
Implements vpForwardProjection.
Definition at line 144 of file vpSphere.cpp.
References changeFrame(), and vpTracker::cP.
|
virtual |
Displays the feature in the image I thanks to the 2D feature parameters in the image plane (vpTracker::p) and the camera parameters which enable to convert the features from meter to pixel.
I | : The image where the feature must be displayed in overlay. |
cam | : The camera parameters to enable the conversion from meter to pixel. |
color | : The desired color to display the line in the image. |
thickness | : Thickness of the feature representation. |
Implements vpForwardProjection.
Definition at line 179 of file vpSphere.cpp.
References vpFeatureDisplay::displayEllipse(), and vpTracker::p.
|
virtual |
Displays the feature in the image I thanks to the features in the object frame (vpForwardProjection::oP), the homogeneous matrix relative to the pose between the object frame and the camera frame and the camera parameters which enable to convert the features from meter to pixel.
I | : The image where the line must be displayed in overlay. |
cMo | : The homogeneous matrix corresponding to the pose between the camera frame and the object frame. |
cam | : The camera parameters to enable the conversion from meter to pixel. |
color | : The desired color to display the line in the image. |
thickness | : Thickness of the feature representation. |
Implements vpForwardProjection.
Definition at line 170 of file vpSphere.cpp.
References changeFrame(), vpFeatureDisplay::displayEllipse(), and projection().
|
virtual |
for memory issue (used by the vpServo class only)
Implements vpForwardProjection.
Definition at line 163 of file vpSphere.cpp.
References vpSphere().
|
inline |
Definition at line 78 of file vpSphere.h.
|
inline |
Definition at line 77 of file vpSphere.h.
|
inline |
Definition at line 76 of file vpSphere.h.
|
inline |
Definition at line 74 of file vpSphere.h.
|
inline |
Definition at line 75 of file vpSphere.h.
|
inlineinherited |
Definition at line 220 of file vpForwardProjection.h.
|
inline |
Definition at line 84 of file vpSphere.h.
References vpForwardProjection::changeFrame(), vpForwardProjection::display(), vpForwardProjection::duplicate(), vpColor::green, and vpForwardProjection::projection().
|
inline |
Definition at line 80 of file vpSphere.h.
|
inline |
Definition at line 81 of file vpSphere.h.
|
inline |
Definition at line 82 of file vpSphere.h.
|
virtual |
Default initialisation of the feature parameters:
Implements vpForwardProjection.
Definition at line 42 of file vpSphere.cpp.
References vpTracker::cP, vpForwardProjection::oP, vpTracker::p, and vpColVector::resize().
Referenced by vpSphere().
|
virtualinherited |
Print to stdout the feature parameters in:
Definition at line 53 of file vpForwardProjection.cpp.
References vpTracker::cP, vpForwardProjection::oP, vpTracker::p, and vpColVector::t().
|
inherited |
Compute the feature parameters in the image plane (vpTracker::p) from the parameters in the camera frame (vpTracker::cP).
Definition at line 68 of file vpForwardProjection.cpp.
References vpTracker::cP, vpTracker::p, and vpForwardProjection::projection().
Referenced by vpMbtDistanceKltCylinder::computeInteractionMatrixAndResidu(), vpMbtFaceDepthNormal::computeNormalVisibility(), vpKeyPoint::computePose(), vpMbtFaceDepthDense::computeROI(), vpMbtFaceDepthNormal::displayFeature(), vpMbtFaceDepthNormal::getFeaturesForDisplay(), vpKeyPoint::matchPointAndDetect(), vpForwardProjection::track(), vpMbtDistanceCircle::~vpMbtDistanceCircle(), vpMbtDistanceCylinder::~vpMbtDistanceCylinder(), and vpMbtDistanceLine::~vpMbtDistanceLine().
|
inherited |
Compute the feature parameters in the camera frame (vpTracker::cP) and than compute the projection of these parameters in the image plane (vpTracker::p).
cMo | : The homogeneous matrix corresponding to the pose between the camera frame and the object frame. |
Definition at line 84 of file vpForwardProjection.cpp.
References vpForwardProjection::changeFrame(), vpForwardProjection::projection(), and vpERROR_TRACE.
|
virtual |
perspective projection of the sphere
Implements vpForwardProjection.
Definition at line 78 of file vpSphere.cpp.
References vpTracker::cP, and vpTracker::p.
Referenced by display().
|
virtual |
Perspective projection of the circle.
Implements vpForwardProjection.
Definition at line 81 of file vpSphere.cpp.
References vpERROR_TRACE.
|
inlineinherited |
Definition at line 219 of file vpForwardProjection.h.
|
virtual |
Sets the parameters which define the feature in the object frame.
oP | : Feature parameters expressed in the object frame used to set the vpForwardProjection::oP public attribute. |
Implements vpForwardProjection.
Definition at line 51 of file vpSphere.cpp.
References vpForwardProjection::oP.
Referenced by vpSphere().
void vpSphere::setWorldCoordinates | ( | double | X0, |
double | Y0, | ||
double | Z0, | ||
double | R | ||
) |
Definition at line 53 of file vpSphere.cpp.
References vpForwardProjection::oP.
|
inherited |
Track the feature parameters in the camera frame (vpTracker::cP) and than compute the projection of these parameters in the image plane (vpTracker::p).
This method is similar to project(const vpHomogeneousMatrix &).
cMo | : The homogeneous matrix corresponding to the pose between the camera frame and the object frame. |
Definition at line 111 of file vpForwardProjection.cpp.
References vpForwardProjection::project(), and vpERROR_TRACE.
Referenced by vpPoseFeatures::addFeatureSegment(), vpPose::computeResidual(), vpProjectionDisplay::displayCamera(), ImageDisplay(withContext)::displayFrameWithContext:::::, vpImageDraw::drawFrame(), vpPose::poseVirtualVS(), vpPose::poseVirtualVSrobust(), vpWireFrameSimulator::projectCameraTrajectory(), vpSimulatorAfma6::updateArticularPosition(), and vpSimulatorViper850::updateArticularPosition().
|
inherited |
Feature coordinates expressed in the camera frame cP.
Definition at line 75 of file vpTracker.h.
Referenced by vpFeaturePoint3D::buildFrom(), vpPoint::changeFrame(), vpCircle::changeFrame(), changeFrame(), vpCylinder::changeFrame(), vpLine::changeFrame(), vpFeatureBuilder::create(), vpPoint::get_W(), vpPoint::get_X(), vpPoint::get_Y(), vpPoint::get_Z(), vpCircle::init(), init(), vpPoint::init(), vpLine::init(), vpCylinder::init(), vpMbtPolygon::isVisible(), vpTracker::operator=(), vpForwardProjection::print(), vpPose::printPoint(), vpForwardProjection::project(), vpCircle::projection(), projection(), vpPoint::projection(), vpLine::projection(), vpCylinder::projection(), vpPoint::set_W(), vpPoint::set_X(), vpPoint::set_Y(), and vpPoint::set_Z().
|
inherited |
Flag used to indicate if the feature parameters cP expressed in the camera frame are available.
Definition at line 81 of file vpTracker.h.
Referenced by vpTracker::init(), and vpTracker::operator=().
|
inherited |
Feature coordinates expressed in the object frame, also called world frame.
Definition at line 74 of file vpForwardProjection.h.
Referenced by vpPoint::changeFrame(), vpCircle::changeFrame(), changeFrame(), vpCylinder::changeFrame(), vpLine::changeFrame(), vpPoint::get_oW(), vpPoint::get_oX(), vpPoint::get_oY(), vpPoint::get_oZ(), vpPoint::getWorldCoordinates(), vpCircle::init(), init(), vpPoint::init(), vpLine::init(), vpCylinder::init(), vpForwardProjection::print(), vpPose::printPoint(), vpPoint::set_oW(), vpPoint::set_oX(), vpPoint::set_oY(), vpPoint::set_oZ(), vpCircle::setWorldCoordinates(), setWorldCoordinates(), vpPoint::setWorldCoordinates(), vpLine::setWorldCoordinates(), and vpCylinder::setWorldCoordinates().
|
inherited |
Feature coordinates expressed in the image plane p. They correspond to 2D normalized coordinates expressed in meters.
Definition at line 71 of file vpTracker.h.
Referenced by vpMbtDistanceCircle::computeInteractionMatrixError(), vpCircle::computeIntersectionPoint(), vpMeterPixelConversion::convertEllipse(), vpFeatureBuilder::create(), vpPoint::display(), vpCircle::display(), display(), vpCylinder::display(), vpProjectionDisplay::display(), vpLine::display(), vpProjectionDisplay::displayCamera(), vpFeatureDisplay::displayEllipse(), ImageDisplay(withContext)::displayFrameWithContext:::::, vpPose::displayModel(), vpImageDraw::drawFrame(), vpPoint::get_w(), vpPoint::get_x(), vpPoint::get_y(), vpCircle::init(), init(), vpMeTracker::init(), vpPoint::init(), vpLine::init(), vpCylinder::init(), vpTracker::operator=(), vpForwardProjection::print(), vpPose::printPoint(), vpForwardProjection::project(), vpCircle::projection(), projection(), vpPoint::projection(), vpLine::projection(), vpCylinder::projection(), vpPoint::set_w(), vpPoint::set_x(), and vpPoint::set_y().