ViSP
 All Classes Functions Variables Enumerations Enumerator Friends Groups Pages

#include <vpSphere.h>

+ Inheritance diagram for vpSphere:
+ Collaboration diagram for vpSphere:

Public Types

enum  vpForwardProjectionDeallocatorType { user, vpDisplayForwardProjection }

Public Member Functions

void init ()
 vpSphere ()
virtual ~vpSphere ()
 vpSphere (const vpColVector &oP)
 vpSphere (const double X0, const double Y0, const double Z0, const double R)
void setWorldCoordinates (const vpColVector &oP)
void setWorldCoordinates (const double X0, const double Y0, const double Z0, const 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, 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)
vpSphereduplicate () 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

Detailed Description

Class that defines what is a sphere.

Forward projection of a sphere.

Examples:
manGeometricFeatures.cpp, servoSimuSphere.cpp, servoSimuSphere2DCamVelocity.cpp, and servoSimuSphere2DCamVelocitySecondaryTask.cpp.

Definition at line 64 of file vpSphere.h.

Member Enumeration Documentation

Used for memory issue especially in the vpServo class.

Enumerator:
user 
vpDisplayForwardProjection 

Definition at line 219 of file vpForwardProjection.h.

Constructor & Destructor Documentation

vpSphere::vpSphere ( )

Definition at line 75 of file vpSphere.cpp.

References init().

Referenced by duplicate().

+ Here is the caller graph for this function:

vpSphere::~vpSphere ( )
virtual

Definition at line 94 of file vpSphere.cpp.

vpSphere::vpSphere ( const vpColVector oP)

Definition at line 81 of file vpSphere.cpp.

References init(), and setWorldCoordinates().

vpSphere::vpSphere ( const double  X0,
const double  Y0,
const double  Z0,
const double  R 
)

Definition at line 87 of file vpSphere.cpp.

References init(), and setWorldCoordinates().

Member Function Documentation

void vpSphere::changeFrame ( const vpHomogeneousMatrix cMo,
vpColVector cP 
)
virtual

perspective projection of the circle

Implements vpForwardProjection.

Definition at line 188 of file vpSphere.cpp.

References vpForwardProjection::oP.

Referenced by changeFrame(), and display().

+ Here is the caller graph for this function:

void vpSphere::changeFrame ( const vpHomogeneousMatrix cMo)
virtual

perspective projection of the circle

Implements vpForwardProjection.

Definition at line 181 of file vpSphere.cpp.

References changeFrame(), and vpTracker::cP.

void vpSphere::display ( const vpImage< unsigned char > &  I,
const vpCameraParameters cam,
const vpColor color = vpColor::green,
const unsigned int  thickness = 1 
)
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.

Parameters
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.

Examples:
manGeometricFeatures.cpp.

Definition at line 233 of file vpSphere.cpp.

References vpFeatureDisplay::displayEllipse(), and vpTracker::p.

void vpSphere::display ( const vpImage< unsigned char > &  I,
const vpHomogeneousMatrix cMo,
const vpCameraParameters cam,
const vpColor color = vpColor::green,
const unsigned int  thickness = 1 
)
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.

Parameters
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 217 of file vpSphere.cpp.

References changeFrame(), vpFeatureDisplay::displayEllipse(), and projection().

vpSphere * vpSphere::duplicate ( ) const
virtual

for memory issue (used by the vpServo class only)

Implements vpForwardProjection.

Definition at line 208 of file vpSphere.cpp.

References vpSphere().

double vpSphere::get_mu02 ( ) const
inline
Examples:
servoSimuSphere.cpp.

Definition at line 87 of file vpSphere.h.

double vpSphere::get_mu11 ( ) const
inline
Examples:
servoSimuSphere.cpp.

Definition at line 86 of file vpSphere.h.

double vpSphere::get_mu20 ( ) const
inline
Examples:
servoSimuSphere.cpp.

Definition at line 85 of file vpSphere.h.

double vpSphere::get_x ( ) const
inline
Examples:
servoSimuSphere.cpp.

Definition at line 83 of file vpSphere.h.

double vpSphere::get_y ( ) const
inline
Examples:
servoSimuSphere.cpp.

Definition at line 84 of file vpSphere.h.

vpForwardProjectionDeallocatorType vpForwardProjection::getDeallocate ( )
inlineinherited

Definition at line 229 of file vpForwardProjection.h.

double vpSphere::getR ( ) const
inline
Examples:
servoSimuSphere.cpp.

Definition at line 93 of file vpSphere.h.

double vpSphere::getX ( ) const
inline

Definition at line 89 of file vpSphere.h.

double vpSphere::getY ( ) const
inline

Definition at line 90 of file vpSphere.h.

double vpSphere::getZ ( ) const
inline

Definition at line 91 of file vpSphere.h.

void vpSphere::init ( )
virtual

Default initialisation of the feature parameters:

  • in the object frame: oP
  • in the camera frame: cP
  • in the image plane: p.

Implements vpForwardProjection.

Definition at line 48 of file vpSphere.cpp.

References vpTracker::cP, vpForwardProjection::oP, vpTracker::p, and vpColVector::resize().

Referenced by vpSphere().

+ Here is the caller graph for this function:

void vpForwardProjection::print ( ) const
virtualinherited

Print to stdout the feature parameters in:

  • the object frame
  • the camera frame
  • the image plane.
Examples:
servoSimuCircle2DCamVelocityDisplay.cpp, servoSimuLine2DCamVelocityDisplay.cpp, servoSimuSquareLine2DCamVelocityDisplay.cpp, and testPoseRansac.cpp.

Definition at line 63 of file vpForwardProjection.cpp.

References vpTracker::cP, vpForwardProjection::oP, vpTracker::p, and vpColVector::t().

void vpForwardProjection::project ( const vpHomogeneousMatrix cMo)
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).

Warning
The feature parameters in the object frame (vpForwardProjection:oP) need to be set prior the use of this method. To initialize these parameters see setWorldCoordinates().
Parameters
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.

void vpSphere::projection ( )
virtual

perspective projection of the sphere

Implements vpForwardProjection.

Definition at line 101 of file vpSphere.cpp.

References vpTracker::cP, and vpTracker::p.

Referenced by display().

+ Here is the caller graph for this function:

void vpSphere::projection ( const vpColVector cP,
vpColVector p 
)
virtual

perspective projection of the circle

Implements vpForwardProjection.

Definition at line 108 of file vpSphere.cpp.

References vpERROR_TRACE.

void vpForwardProjection::setDeallocate ( vpForwardProjectionDeallocatorType  d)
inlineinherited

Definition at line 228 of file vpForwardProjection.h.

void vpSphere::setWorldCoordinates ( const vpColVector oP)
virtual

Sets the parameters which define the feature in the object frame.

Parameters
oP: Feature parameters expressed in the object frame used to set the vpForwardProjection::oP public attribute.

Implements vpForwardProjection.

Examples:
manGeometricFeatures.cpp, servoSimuSphere2DCamVelocity.cpp, and servoSimuSphere2DCamVelocitySecondaryTask.cpp.

Definition at line 58 of file vpSphere.cpp.

References vpForwardProjection::oP.

Referenced by vpSphere().

+ Here is the caller graph for this function:

void vpSphere::setWorldCoordinates ( const double  X0,
const double  Y0,
const double  Z0,
const double  R 
)

Definition at line 64 of file vpSphere.cpp.

References vpForwardProjection::oP.

void vpForwardProjection::track ( const vpHomogeneousMatrix cMo)
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 &).

Warning
The feature parameters in the object frame (vpForwardProjection:oP) need to be set prior the use of this method. To initialize these parameters see setWorldCoordinates().
Parameters
cMo: The homogeneous matrix corresponding to the pose between the camera frame and the object frame.
Examples:
manServoMomentsSimple.cpp, servoMomentPoints.cpp, servoMomentPolygon.cpp, servoSimu4Points.cpp, servoSimuAfma6FourPoints2DCamVelocity.cpp, servoSimuCircle2DCamVelocity.cpp, servoSimuCircle2DCamVelocityDisplay.cpp, servoSimuFourPoints2DCamVelocity.cpp, servoSimuFourPoints2DCamVelocityDisplay.cpp, servoSimuFourPoints2DPolarCamVelocityDisplay.cpp, servoSimuLine2DCamVelocityDisplay.cpp, servoSimuPoint2DCamVelocity1.cpp, servoSimuPoint2DCamVelocity2.cpp, servoSimuPoint2DCamVelocity3.cpp, servoSimuPoint2DhalfCamVelocity1.cpp, servoSimuPoint2DhalfCamVelocity2.cpp, servoSimuPoint2DhalfCamVelocity3.cpp, servoSimuPoint3DCamVelocity.cpp, servoSimuSphere.cpp, servoSimuSphere2DCamVelocity.cpp, servoSimuSphere2DCamVelocitySecondaryTask.cpp, servoSimuSquareLine2DCamVelocityDisplay.cpp, servoSimuViper850FourPoints2DCamVelocity.cpp, simulateCircle2DCamVelocity.cpp, simulateFourPoints2DCartesianCamVelocity.cpp, and simulateFourPoints2DPolarCamVelocity.cpp.

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:

Member Data Documentation

bool vpTracker::cPAvailable
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=().