39#ifndef vpMbtDistanceCircle_HH
40#define vpMbtDistanceCircle_HH
42#include <visp3/core/vpConfig.h>
43#include <visp3/core/vpCircle.h>
44#include <visp3/core/vpHomogeneousMatrix.h>
45#include <visp3/core/vpPoint.h>
46#include <visp3/mbt/vpMbHiddenFaces.h>
47#include <visp3/mbt/vpMbtMeEllipse.h>
48#include <visp3/visual_features/vpFeatureEllipse.h>
134#if (VISP_CXX_STANDARD >= VISP_CXX_STANDARD_11)
148 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
150 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
177 std::vector<std::vector<double> > getFeaturesForDisplay();
180 bool displayFullModel =
false);
187 inline std::string
getName()
const {
return name; }
189 void initInteractionMatrixError();
192 const vpImage<bool> *mask =
nullptr,
const int &initRange = 1U);
199 inline bool isTracked()
const {
return isTrackedCircle; }
222 inline void setTracked(
const bool &track) { this->isTrackedCircle = track; }
229 inline void setIndex(
unsigned int i) { index = i; }
238 void setMovingEdge(
vpMe *Me);
245 inline void setName(
const std::string &circle_name) { this->name = circle_name; }
252 inline void setName(
const char *circle_name) { this->name = std::string(circle_name); }
Generic class defining intrinsic camera parameters.
Class that defines a 3D circle in the object frame and allows forward projection of a 3D circle in th...
Implementation of column vector and the associated operations.
Class to define RGB colors available for display functionalities.
Class that defines 2D ellipse visual feature.
Implementation of an homogeneous matrix and operations on such kind of matrices.
Definition of the vpImage class member functions.
Implementation of a matrix and operations on matrices.
Implementation of the polygons management for the model-based trackers.
void setVisible(bool _isvisible)
void setName(const char *circle_name)
void setCameraParameters(const vpCameraParameters &camera)
vpColVector error
The error vector.
vpMbHiddenFaces< vpMbtPolygon > * hiddenface
Pointer to the list of faces.
vpPoint * p1
The center of the circle.
double getMeanWeight() const
unsigned int nbFeature
The number of moving edges.
vpMatrix L
The interaction matrix.
void getCameraParameters(vpCameraParameters &camera)
vpMbtDistanceCircle & operator=(const vpMbtDistanceCircle &)=delete
void setIndex(unsigned int i)
std::string getName() const
void computeInteractionMatrixError(const vpHomogeneousMatrix &cMo)
vpCircle * circle
The circle to track.
void buildFrom(const vpPoint &_p1, const vpPoint &_p2, const vpPoint &_p3, double r)
vpPoint * p2
A point on the plane containing the circle.
void setMeanWeight(double _wmean)
bool isvisible
Indicates if the circle is visible or not.
void displayMovingEdges(const vpImage< unsigned char > &I)
void display(const vpImage< unsigned char > &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, const vpColor &col, unsigned int thickness=1, bool displayFullModel=false)
bool Reinit
Indicates if the circle has to be reinitialized.
double radius
The radius of the circle.
int index_polygon
Index of the faces which contain the line.
vpPoint * p3
An other point on the plane containing the circle.
vpMbtMeEllipse * meEllipse
The moving edge containers.
void setName(const std::string &circle_name)
vpMbtDistanceCircle(const vpMbtDistanceCircle &)=delete
void setTracked(const bool &track)
Class that defines a 3D point in the object frame and allows forward projection of a 3D point in the ...