|
ViSP
|
#include <vpCircle.h>
Inheritance diagram for vpCircle:
Collaboration diagram for vpCircle:Public Types | |
| enum | vpLineCircleType { line1, line2 } |
| enum | vpForwardProjectionDeallocatorType { user, vpDisplayForwardProjection } |
Public Member Functions | |
| void | init () |
| vpCircle () | |
| virtual | ~vpCircle () |
| vpCircle (const vpColVector &oP) | |
| vpCircle (const double A, const double B1, const double C, const double X0, const double Y0, const double Z0, const double R) | |
| void | setWorldCoordinates (const vpColVector &oP) |
| void | setWorldCoordinates (const double A, const double B1, const double C, const double X0, const double Y0, const double Z0, const double R) |
| double | getA () const |
| double | getB () const |
| double | getC () 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, const unsigned int thickness=1) |
| void | display (const vpImage< unsigned char > &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, const vpColor &color=vpColor::green, const unsigned int thickness=1) |
| vpCircle * | 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 circle.
Definition at line 61 of file vpCircle.h.
|
inherited |
Used for memory issue especially in the vpServo class.
| Enumerator | |
|---|---|
| user | |
| vpDisplayForwardProjection | |
Definition at line 219 of file vpForwardProjection.h.
| Enumerator | |
|---|---|
| line1 | |
| line2 | |
Definition at line 69 of file vpCircle.h.
| vpCircle::vpCircle | ( | ) |
Definition at line 101 of file vpCircle.cpp.
References init().
Referenced by duplicate().
Here is the caller graph for this function:
|
virtual |
Definition at line 146 of file vpCircle.cpp.
| vpCircle::vpCircle | ( | const vpColVector & | oP | ) |
Construct the circle from the intersection of a plane and a sphere.
| oP | : oP[0], oP[1], oP[2] correspond to A, B, C from the plane equation Ax + By + Cz = 0. oP[3], oP[4], oP[5] correspond to X, Y, Z the coordinates of the center of the sphere. oP[6] corresponds to the radius of the sphere. |
Definition at line 115 of file vpCircle.cpp.
References init(), and setWorldCoordinates().
| vpCircle::vpCircle | ( | const double | A, |
| const double | B, | ||
| const double | C, | ||
| const double | X0, | ||
| const double | Y0, | ||
| const double | Z0, | ||
| const double | R | ||
| ) |
Construct the circle from the intersection of a plane and a sphere.
| A | : A from the plane equation Ax + By + Cz = 0. |
| B | : A from the plane equation Ax + By + Cz = 0. |
| C | : A from the plane equation Ax + By + Cz = 0. |
| X0 | : X Coordinate of the center of the sphere. |
| Y0 | : Y Coordinate of the center of the sphere. |
| Z0 | : Z Coordinate of the center of the sphere. |
| R | : Radius of the sphere. |
Definition at line 134 of file vpCircle.cpp.
References init(), and setWorldCoordinates().
|
virtual |
perspective projection of the circle
Implements vpForwardProjection.
Definition at line 255 of file vpCircle.cpp.
References vpForwardProjection::oP.
Referenced by vpMbtDistanceCylinder::computeInteractionMatrixError(), display(), vpMbtDistanceCylinder::display(), vpMbtDistanceCylinder::initMovingEdge(), and vpMbtDistanceCylinder::updateMovingEdge().
Here is the caller graph for this function:
|
virtual |
perspective projection of the circle
Implements vpForwardProjection.
Definition at line 285 of file vpCircle.cpp.
References vpTracker::cP, and vpForwardProjection::oP.
|
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 313 of file vpCircle.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 323 of file vpCircle.cpp.
References changeFrame(), vpFeatureDisplay::displayEllipse(), and projection().
|
virtual |
for memory issue (used by the vpServo class only)
Implements vpForwardProjection.
Definition at line 337 of file vpCircle.cpp.
References vpCircle().
|
inline |
Definition at line 91 of file vpCircle.h.
|
inline |
Definition at line 92 of file vpCircle.h.
|
inline |
Definition at line 93 of file vpCircle.h.
|
inlineinherited |
Definition at line 229 of file vpForwardProjection.h.
|
inline |
Definition at line 99 of file vpCircle.h.
|
inline |
Definition at line 95 of file vpCircle.h.
|
inline |
Definition at line 96 of file vpCircle.h.
|
inline |
Definition at line 97 of file vpCircle.h.
|
virtual |
Default initialisation of the feature parameters:
Implements vpForwardProjection.
Definition at line 48 of file vpCircle.cpp.
References vpTracker::cP, vpForwardProjection::oP, vpTracker::p, and vpColVector::resize().
Referenced by vpCircle().
Here is the caller graph for this function:
|
virtualinherited |
Print to stdout the feature parameters in:
Definition at line 63 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 79 of file vpForwardProjection.cpp.
References vpTracker::cP, vpTracker::p, and vpForwardProjection::projection().
Referenced by vpForwardProjection::track().
Here is the caller graph for this function:
|
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 99 of file vpForwardProjection.cpp.
References vpForwardProjection::changeFrame(), vpForwardProjection::projection(), and vpERROR_TRACE.
|
virtual |
perspective projection of the circle
Implements vpForwardProjection.
Definition at line 155 of file vpCircle.cpp.
References vpTracker::cP, and vpTracker::p.
Referenced by vpMbtDistanceCylinder::computeInteractionMatrixError(), display(), vpMbtDistanceCylinder::display(), vpMbtDistanceCylinder::initMovingEdge(), and vpMbtDistanceCylinder::updateMovingEdge().
Here is the caller graph for this function:
|
virtual |
perspective projection of the circle
Implements vpForwardProjection.
Definition at line 162 of file vpCircle.cpp.
References vpException::divideByZeroError, vpMath::sqr(), and vpERROR_TRACE.
|
inlineinherited |
Definition at line 228 of file vpForwardProjection.h.
|
virtual |
Set the world coordinates of the circle from the intersection of a plane and a sphere. We mean here the coordinates of the circle in the object frame
| oP | : oP[0], oP[1], oP[2] correspond to A, B, C from the plane equation Ax + By + Cz = 0. oP[3], oP[4], oP[5] correspond to X, Y, Z the coordinates of the center of the sphere. oP[6] corresponds to the radius of the sphere. |
Implements vpForwardProjection.
Definition at line 66 of file vpCircle.cpp.
References vpForwardProjection::oP.
Referenced by vpMbtDistanceCylinder::buildFrom(), and vpCircle().
Here is the caller graph for this function:| void vpCircle::setWorldCoordinates | ( | const double | A, |
| const double | B, | ||
| const double | C, | ||
| const double | X0, | ||
| const double | Y0, | ||
| const double | Z0, | ||
| const double | R | ||
| ) |
Set the world coordinates of the circle from the intersection of a plane and a sphere. We mean here the coordinates of the circle in the object frame
| A | : A from the plane equation Ax + By + Cz = 0. |
| B | : A from the plane equation Ax + By + Cz = 0. |
| C | : A from the plane equation Ax + By + Cz = 0. |
| X0 | : X Coordinate of the center of the sphere. |
| Y0 | : Y Coordinate of the center of the sphere. |
| Z0 | : Z Coordinate of the center of the sphere. |
| R | : Radius of the sphere. |
Definition at line 84 of file vpCircle.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 130 of file vpForwardProjection.cpp.
References vpForwardProjection::project(), and vpERROR_TRACE.
Referenced by vpPose::computeResidual(), vpProjectionDisplay::displayCamera(), vpDisplay::displayFrame(), vpPose::poseRansac(), vpPose::poseVirtualVS(), vpPose::poseVirtualVSrobust(), vpWireFrameSimulator::projectCameraTrajectory(), vpImageSimulator::setCameraPosition(), vpSimulatorAfma6::updateArticularPosition(), and vpSimulatorViper850::updateArticularPosition().
Here is the caller graph for this function:
|
inherited |
Feature coordinates expressed in the camera frame cP.
Definition at line 82 of file vpTracker.h.
Referenced by vpFeaturePoint3D::buildFrom(), vpSphere::changeFrame(), changeFrame(), vpCylinder::changeFrame(), vpLine::changeFrame(), vpFeatureBuilder::create(), init(), vpSphere::init(), vpLine::init(), vpPoint::init(), vpCylinder::init(), vpTracker::operator=(), vpPoint::operator=(), vpForwardProjection::print(), vpPose::printPoint(), vpForwardProjection::project(), vpSphere::projection(), projection(), vpCylinder::projection(), and vpLine::projection().
|
inherited |
Flag used to indicate if the feature parameters cP expressed in the camera frame are available.
Definition at line 88 of file vpTracker.h.
Referenced by vpTracker::init(), vpTracker::operator=(), and vpPoint::operator=().
|
inherited |
Feature coordinates expressed in the object frame, also called world frame.
Definition at line 77 of file vpForwardProjection.h.
Referenced by vpPoint::changeFrame(), vpSphere::changeFrame(), changeFrame(), vpCylinder::changeFrame(), vpLine::changeFrame(), vpPoint::getWorldCoordinates(), init(), vpSphere::init(), vpLine::init(), vpPoint::init(), vpCylinder::init(), vpPoint::operator=(), vpForwardProjection::print(), vpPose::printPoint(), vpSphere::setWorldCoordinates(), setWorldCoordinates(), vpLine::setWorldCoordinates(), vpCylinder::setWorldCoordinates(), and vpPoint::setWorldCoordinates().
|
inherited |
Feature coordinates expressed in the image plane p. They correspond to 2D normalized coordinates expressed in meters.
Definition at line 78 of file vpTracker.h.
Referenced by vpFeatureBuilder::create(), vpPoint::display(), vpSphere::display(), vpProjectionDisplay::display(), vpMeTracker::display(), display(), vpCylinder::display(), vpLine::display(), vpProjectionDisplay::displayCamera(), vpDisplay::displayFrame(), vpPose::displayModel(), init(), vpSphere::init(), vpMeTracker::init(), vpLine::init(), vpPoint::init(), vpCylinder::init(), vpMeLine::leastSquare(), vpTracker::operator=(), vpPoint::operator=(), vpForwardProjection::print(), vpPose::printPoint(), vpForwardProjection::project(), vpSphere::projection(), projection(), vpCylinder::projection(), vpLine::projection(), and vpMeLine::updateDelta().