41 #ifndef vpImageSimulator_h
42 #define vpImageSimulator_h
131 #include <visp3/core/vpCameraParameters.h>
132 #include <visp3/core/vpColVector.h>
133 #include <visp3/core/vpHomogeneousMatrix.h>
134 #include <visp3/core/vpImage.h>
135 #include <visp3/core/vpPoint.h>
136 #include <visp3/core/vpRect.h>
137 #include <visp3/core/vpTriangle.h>
145 typedef enum { COLORED, GRAY_SCALED } vpColorPlan;
147 typedef enum { SIMPLE, BILINEAR_INTERPOLATION } vpInterpolationType;
153 std::vector<vpPoint> pt;
154 std::vector<vpPoint> ptClipped;
156 vpInterpolationType interp;
164 double *normal_Cam_optim;
168 double visible_result;
175 double euclideanNorm_u, euclideanNorm_v;
181 double *vbase_u_optim;
182 double *vbase_v_optim;
186 double *Xinter_optim;
189 std::vector<vpTriangle> listTriangle;
198 bool setBackgroundTexture;
218 #ifdef VISP_HAVE_MODULE_IO
223 #ifdef VISP_HAVE_MODULE_IO
224 void init(
const char *file_image,
const std::vector<vpPoint> &X);
245 std::vector<vpColVector> get3DcornersTextureRectangle();
247 friend VISP_EXPORT std::ostream &operator<<(std::ostream &os,
const vpImageSimulator & );
262 cleanPrevImage = clean;
274 setBackgroundTexture =
true;
284 bool isVisible() {
return visible; }
289 bool getPixel(
const vpImagePoint &iP,
unsigned char &Ipixelplan);
293 bool getPixelDepth(
const vpImagePoint &iP,
double &Zpixelplan);
294 bool getPixelVisibility(
const vpImagePoint &iP,
double &Zpixelplan);
303 void getRoi(
const unsigned int &Iwidth,
const unsigned int &Iheight,
const vpCameraParameters &cam,
304 const std::vector<vpPoint> &point,
vpRect &rect);