- unsigned int i, nps,nps_t;
- nps = _sizePointsContour;
- if (this->_manContModel->IfCloseContour()==true)
- {
- nps_t = nps;
- } else {
- nps_t = nps-1;
- }
- FilterCordinateXYZ(xx,yy,zz);
-
- for( i = 0; i < nps_t; i++ ) {
- _pts->GetPoint(i%nps, ppA);
- _pts->GetPoint((i+1)%nps, ppB);
- FilterCordinateXYZ(ppA[0],ppA[1],ppA[2]);
- FilterCordinateXYZ(ppB[0],ppB[1],ppB[2]);
- d1= sqrt( (ppA[0]-xx)*(ppA[0]-xx) + (ppA[1]-yy)*(ppA[1]-yy) + (ppA[2]-zz)*(ppA[2]-zz));
- d2= sqrt( (ppB[0]-xx)*(ppB[0]-xx) + (ppB[1]-yy)*(ppB[1]-yy) + (ppB[2]-zz)*(ppB[2]-zz));
- d3= sqrt( (ppB[0]-ppA[0])*(ppB[0]-ppA[0]) + (ppB[1]-ppA[1])*(ppB[1]-ppA[1]) + (ppB[2]-ppA[2])*(ppB[2]-ppA[2]));
- if ( ((d1+d2)>=d3) && ((d1+d2)<=d3*1.3) ) {
- result=true;
- i=nps;
+ if ( (xx>=_minX) && (yy>=_minY) && (xx<=_maxX) && (yy<=_maxY)) { // boundaring box
+ unsigned int i, nps,nps_t;
+ nps = _sizePointsContour;
+ if (this->_manContModel->IfCloseContour()==true)
+ {
+ nps_t = nps;
+ } else {
+ nps_t = nps-1;