44 #ifndef vpPolygon3D_HH
45 #define vpPolygon3D_HH
49 #include <visp3/core/vpMeterPixelConversion.h>
50 #include <visp3/core/vpPixelMeterConversion.h>
51 #include <visp3/core/vpPoint.h>
72 } vpPolygon3DClippingType;
79 unsigned int nbCornersInsidePrev;
83 std::vector<std::pair<vpPoint, unsigned int> > polyClipped;
85 unsigned int clippingFlag;
93 unsigned int &p1ClippedInfo,
unsigned int &p2ClippedInfo,
const vpColVector &normal,
94 const unsigned int &flag);
97 unsigned int &p1ClippedInfo,
unsigned int &p2ClippedInfo,
const unsigned int &flag,
98 const double &distance);
105 void addPoint(
const unsigned int n,
const vpPoint &P);
118 inline unsigned int getClipping()
const {
return clippingFlag; }
125 inline double getFarClippingDistance()
const {
return distFarClip; }
132 inline unsigned int getNbPoint()
const {
return nbpt; }
139 inline unsigned int getNbCornerInsidePrevImage()
const {
return nbCornersInsidePrev; }
148 inline double getNearClippingDistance()
const {
return distNearClip; }
150 vpPoint &getPoint(
const unsigned int _index);
160 void getRoiClipped(
const vpCameraParameters &cam, std::vector<std::pair<vpImagePoint, unsigned int> > &roi);
162 void getRoiClipped(
const vpCameraParameters &cam, std::vector<std::pair<vpImagePoint, unsigned int> > &roi,
165 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
170 vp_deprecated
void getRoiClipped(std::vector<vpPoint> &points);
174 void getPolygonClipped(std::vector<std::pair<vpPoint, unsigned int> > &poly);
176 void getPolygonClipped(std::vector<vpPoint> &poly);
187 inline void setClipping(
const unsigned int &flags) { clippingFlag = flags; }
194 inline void setFarClippingDistance(
const double &dist)
200 virtual void setNbPoint(
const unsigned int nb);
207 inline void setNearClippingDistance(
const double &dist)
214 static void getClippedPolygon(
const std::vector<vpPoint> &ptIn, std::vector<vpPoint> &ptOut,
217 const double &zfar = 100);
218 static void getMinMaxRoi(
const std::vector<vpImagePoint> &roi,
int &i_min,
int &i_max,
int &j_min,
int &j_max);