Esempio n. 1
0
/*!
  Reinitialize the line if it is required.

  A line is reinitialized if the 2D line do not match enough with the projected 3D line.

  \param I : the image.
  \param cMo : The pose of the camera.
*/
void
vpMbtDistanceLine::reinitMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo)
{
    if(meline!= NULL)
        delete meline;

    initMovingEdge(I,cMo);

    Reinit = false;
}
/*!
  Reinitialize the circle if it is required.

  A circle is reinitialized if the ellipse do not match enough with the projected 3D circle.

  \param I : the image.
  \param cMo : The pose of the camera.
*/
void
vpMbtDistanceSphere::reinitMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo)
{
    if(meEllipse!= NULL)
        delete meEllipse;

    meEllipse = NULL;

    if(initMovingEdge(I,cMo) == false)
        Reinit = true;

    Reinit = false;
}
Esempio n. 3
0
/*!
  Reinitialize the line if it is required.
  
  A line is reinitialized if the 2D line do not match enough with the projected 3D line.
  
  \param I : the image.
  \param cMo : The pose of the camera.
*/
void
vpMbtDistanceLine::reinitMovingEdge(const vpImage<unsigned char> &I, const vpHomogeneousMatrix &cMo)
{
  for(unsigned int i = 0 ; i < meline.size() ; i++){
    if (meline[i] != NULL) delete meline[i] ;
  }

  nbFeature.clear();
  meline.clear();
  nbFeatureTotal = 0;

  if (initMovingEdge(I,cMo) == false)
    Reinit = true;

  Reinit = false;
}