43#ifndef vpMbtDistanceCylinder_HH
44#define vpMbtDistanceCylinder_HH
46#include <visp3/core/vpCircle.h>
47#include <visp3/core/vpConfig.h>
48#include <visp3/core/vpCylinder.h>
49#include <visp3/core/vpHomogeneousMatrix.h>
50#include <visp3/core/vpLine.h>
51#include <visp3/core/vpPoint.h>
52#include <visp3/mbt/vpMbHiddenFaces.h>
53#include <visp3/mbt/vpMbtMeLine.h>
54#include <visp3/visual_features/vpFeatureLine.h>
87 bool isTrackedCylinder;
149#if (VISP_CXX_STANDARD >= VISP_CXX_STANDARD_11)
163 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
165 const vpColor &col,
unsigned int thickness = 1,
bool displayFullModel =
false);
201 std::vector<std::vector<double> > getFeaturesForDisplay();
203 std::vector<std::vector<double> > getModelForDisplay(
unsigned int width,
unsigned int height,
205 bool displayFullModel =
false);
212 inline std::string
getName()
const {
return name; }
214 void initInteractionMatrixError();
217 const vpImage<bool> *mask =
nullptr,
const int &initRange = 0);
224 inline bool isTracked()
const {
return isTrackedCylinder; }
247 inline void setTracked(
const bool &track) { this->isTrackedCylinder = track; }
254 inline void setIndex(
unsigned int i) { index = i; }
270 void setMovingEdge(
vpMe *Me);
277 inline void setName(
const std::string &cyl_name) { this->name = cyl_name; }
284 inline void setName(
const char *cyl_name) { this->name = std::string(cyl_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 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.
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 setMeanWeight1(double wmean)
void buildFrom(const vpPoint &_p1, const vpPoint &_p2, double r)
void setCameraParameters(const vpCameraParameters &camera)
void computeInteractionMatrixError(const vpHomogeneousMatrix &cMo, const vpImage< unsigned char > &I)
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 displayMovingEdges(const vpImage< unsigned char > &I)
void setName(const char *cyl_name)
void display(const vpImage< unsigned char > &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, const vpColor &col, unsigned int thickness=1, bool displayFullModel=false)
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 ...