45 #ifndef vpMbtDistanceCylinder_HH
46 #define vpMbtDistanceCylinder_HH
48 #include <visp3/core/vpCircle.h>
49 #include <visp3/core/vpConfig.h>
50 #include <visp3/core/vpCylinder.h>
51 #include <visp3/core/vpHomogeneousMatrix.h>
52 #include <visp3/core/vpLine.h>
53 #include <visp3/core/vpPoint.h>
54 #include <visp3/mbt/vpMbHiddenFaces.h>
55 #include <visp3/mbt/vpMbtMeLine.h>
56 #include <visp3/visual_features/vpFeatureLine.h>
77 bool isTrackedCylinder;
139 #if (VISP_CXX_STANDARD >= VISP_CXX_STANDARD_11)
153 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
155 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
191 std::vector<std::vector<double> > getFeaturesForDisplay();
193 std::vector<std::vector<double> > getModelForDisplay(
unsigned int width,
unsigned int height,
195 bool displayFullModel =
false);
202 inline std::string
getName()
const {
return name; }
204 void initInteractionMatrixError();
214 inline bool isTracked()
const {
return isTrackedCylinder; }
237 inline void setTracked(
const bool &track) { this->isTrackedCylinder = track; }
244 inline void setIndex(
unsigned int i) { index = i; }
260 void setMovingEdge(
vpMe *Me);
267 inline void setName(
const std::string &cyl_name) { this->name = cyl_name; }
274 inline void setName(
const char *cyl_name) { this->name = std::string(cyl_name); }
282 inline void setVisible(
bool _isvisible) { isvisible = _isvisible; }
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 a 3D cylinder in the object frame and allows forward projection of a 3D cylinder i...
Class that defines a 2D line visual feature which is composed by two parameters that are and ,...
Implementation of an homogeneous matrix and operations on such kind of matrices.
Implementation of a matrix and operations on matrices.
Manage a cylinder used in the model-based tracker.
void setMeanWeight1(double wmean)
void setCameraParameters(const vpCameraParameters &camera)
vpMbtDistanceCylinder & operator=(const vpMbtDistanceCylinder &)=delete
vpMbtDistanceCylinder(const vpMbtDistanceCylinder &)=delete
double getMeanWeight1() const
double getMeanWeight2() const
void setName(const std::string &cyl_name)
vpMbtMeLine * meline2
The moving edge containers (second line of the cylinder)
void setVisible(bool _isvisible)
void getCameraParameters(vpCameraParameters &camera)
vpCylinder * c
The cylinder.
vpMatrix L
The interaction matrix.
unsigned int nbFeaturel2
The number of moving edges on line 2.
bool Reinit
Indicates if the line has to be reinitialized.
vpPoint * p2
The second extremity on the axe.
vpCircle * cercle1
The upper circle limiting the cylinder.
vpMbHiddenFaces< vpMbtPolygon > * hiddenface
Pointer to the list of faces.
void setMeanWeight2(double wmean)
double radius
The radius of the cylinder.
unsigned int nbFeaturel1
The number of moving edges on line 1.
vpColVector error
The error vector.
void setTracked(const bool &track)
std::string getName() const
void setName(const char *cyl_name)
unsigned int nbFeature
The number of moving edges.
int index_polygon
Index of the face which contains the cylinder.
vpCircle * cercle2
The lower circle limiting the cylinder.
bool isvisible
Indicates if the cylinder is visible or not.
void setIndex(unsigned int i)
vpPoint * p1
The first extremity on the axe.
vpMbtMeLine * meline1
The moving edge containers (first line of the cylinder)
Class that defines a 3D point in the object frame and allows forward projection of a 3D point in the ...