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;
148 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
150 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
186 std::vector<std::vector<double> > getFeaturesForDisplay();
188 std::vector<std::vector<double> > getModelForDisplay(
unsigned int width,
unsigned int height,
190 bool displayFullModel =
false);
197 inline std::string
getName()
const {
return name; }
199 void initInteractionMatrixError();
209 inline bool isTracked()
const {
return isTrackedCylinder; }
232 inline void setTracked(
const bool &track) { this->isTrackedCylinder = track; }
239 inline void setIndex(
unsigned int i) { index = i; }
255 void setMovingEdge(
vpMe *Me);
262 inline void setName(
const std::string &cyl_name) { this->name = cyl_name; }
269 inline void setName(
const char *cyl_name) { this->name = std::string(cyl_name); }
277 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)
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 ...