47 #include <visp/vpConfig.h>
53 #include <visp/vpMbtPolygon.h>
129 for (
unsigned int i = 0 ; i <
nbpt ; i++)
150 for (
unsigned int i = 0 ; i <
nbpt ; i++){
151 if(
p[i].get_Z() < 0){
179 double angle =
p[0].
get_X()*facenormal[0] +
p[0].
get_Y()*facenormal[1] +
p[0].
get_Z()*facenormal[2] ;
190 if (angle < 0.0000001 ){
244 for (
unsigned int i = 0; i <
nbpt; i += 1){
249 e4[0] = -pt.
get_X()/(double)nbpt; e4[1] = -pt.
get_Y()/(double)nbpt; e4[2] = -pt.
get_Z()/(double)nbpt;
253 double my_angle = acos(angle2);
257 if( my_angle < alpha ){
268 std::vector<vpImagePoint>
271 std::vector<vpImagePoint> roi;
272 for (
unsigned int i = 0; i <
nbpt; i ++){
288 double i_min_d = (double) INT_MAX;
290 double j_min_d = (double) INT_MAX;
293 for (
unsigned int i = 0; i < roi.size(); i += 1){
294 if(i_min_d > roi[i].get_i())
295 i_min_d = roi[i].get_i();
297 if(roi[i].get_i() < 0)
300 if((roi[i].get_i() > 0) && (i_max_d < roi[i].get_i()))
301 i_max_d = roi[i].get_i();
303 if(j_min_d > roi[i].get_j())
304 j_min_d = roi[i].get_j();
306 if(roi[i].get_j() < 0)
309 if((roi[i].get_j() > 0) && j_max_d < roi[i].get_j())
310 j_max_d = roi[i].get_j();
312 i_min =
static_cast<int> (i_min_d);
313 i_max =
static_cast<int> (i_max_d);
314 j_min =
static_cast<int> (j_min_d);
315 j_max =
static_cast<int> (j_max_d);
328 for(
unsigned int i=0; i<corners.size(); ++i){
329 if((corners[i].get_i() < 0) || (corners[i].get_j() < 0) ||