/*! 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; }
/*! 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; }