package fence;
|
import java.awt.geom.Point2D;
|
import java.util.Vector;
|
|
import PbuliClass.IsPtInPoly;
|
import person.Person;
|
import tbDataModel.TbFence;
|
/**ÅжϵãÊDz»ÊÇÔÚÎÞÐ§ÇøÓò*/
|
public class PointIsInwuxiao {
|
//ÎÞÐ§ÇøÓòµÄ¼¯ºÏ
|
static Vector<TbFence> shinei_fence_vc=Fences.get_fence_vector("ÎÞÐ§ÇøÓò");
|
static int snsize=shinei_fence_vc.size();
|
|
/**Person per,int x,int y,int floor,int z*/
|
public static void juge(Person per,int x,int y,int floor,int z) {
|
if(snsize !=0) {//Èç¹ûÇøÓò´æÔÚ
|
for(int i=0;i<snsize;i++) {
|
TbFence tbfenc=shinei_fence_vc.get(i);
|
String shape=tbfenc.getShape();
|
String a1=tbfenc.getFloor();
|
int a2=Integer.parseInt(a1);
|
int h0=Integer.parseInt(tbfenc.getBaoliu12());//ΧÀ¸µ×²¿¸ß
|
int h1=Integer.parseInt(tbfenc.getBaoliu11());//ΧÀ¸¶¥²¿¸ß
|
if(h0==-1) {//µÈÓÚ-1±íʾ²»ÅжÏΧÀ¸¸ß¶ÈÖ»¸ù¾Ý²ãÅжÏ
|
if(floor==a2) {
|
boolean isin=false;
|
if(shape.equals("Ô²ÐÎ")) {
|
isin=Juge_in_yuan.is_in(tbfenc.getYuan_x(),x,y);
|
}else {
|
Point2D.Double point=new Point2D.Double(x,y);
|
isin=IsPtInPoly.inPoly(point, tbfenc.getPts());
|
}
|
if(isin) {//ÅжÏID×ø±êÊÇ·ñÔÚΧÀ¸ÇøÓòÄÚ
|
per.setInwuxiaoqu(1);
|
return;
|
}
|
}
|
}else {
|
if(z<h0 || z>h1) {//Èç¹û±êÇ©¸ß¶ÈÔÚΧÀ¸·¶Î§ÄÚ
|
boolean isin=false;
|
if(shape.equals("Ô²ÐÎ")) {
|
isin=Juge_in_yuan.is_in(tbfenc.getYuan_x(),x,y);
|
}else {
|
Point2D.Double point=new Point2D.Double(x,y);
|
isin=IsPtInPoly.inPoly(point, tbfenc.getPts());
|
}
|
if(isin) {//ÅжÏID×ø±êÊÇ·ñÔÚΧÀ¸ÇøÓòÄÚ
|
per.setInwuxiaoqu(1);
|
return;
|
}
|
}
|
}
|
}
|
per.setInwuxiaoqu(0);//ÉèÖñêÇ©ÔÚÎÞÐ§ÇøÓòÄÚ
|
}
|
}
|
|
|
}
|