package fence;
|
import java.awt.geom.Point2D;
|
import java.util.Vector;
|
|
import Method.BaoWenShow;
|
import PbuliClass.IsPtInPoly;
|
import home.ChuShiHua;
|
import person.Person;
|
import person.person_Dell;
|
import tbDataModel.TbFence;
|
import tbDataModel.shineitag;
|
import urt.Dell_gps;
|
|
/**ÅжϵãÊÇ·ñÔÚÊÒÄÚÇøÓòÄÚ*/
|
public class PointIsInshinei {
|
//ÊÒÄÚÇøÓòµÄ¼¯ºÏ
|
static Vector<shineitag> shineitag_vc=new Vector<shineitag>();
|
public static void is_in_shinei(
|
int snsize,
|
Vector<TbFence> shinei_fence_vc,
|
String tagid,
|
int x,
|
int y,
|
String floor,
|
Point2D.Double point) {
|
|
if(snsize !=0) {//Èç¹ûÊÒÄÚÇøÓò´æÔÚ
|
if(Dell_gps.get_tb_gps(tagid) ==null) {//Èç¹û¸Ã±êÇ©²»´øGPS¶¨Î»¹¦ÄÜÔò·µ»Ø
|
return;
|
}
|
|
Person person=person_Dell.get_Person(tagid);
|
if(person==null) {//Èç¹û±êÇ©²»´æÔÚ·µ»Ø
|
return;
|
}
|
|
ChuShiHua.setSucc(0);
|
for(int i=0;i<snsize;i++) { //Èç¹ûÊÒÄÚÇøÓò´æÔÚ
|
TbFence tbfenc=shinei_fence_vc.get(i);
|
String fencename=tbfenc.getName();//ÅжÏID×ø±êÊÇ·ñÔÚΧÀ¸ÇøÓòÄÚ
|
boolean isin=IsPtInPoly.inPoly(point, tbfenc.getPts());
|
if(isin) {
|
person.setIndoor_fence(1);
|
String hex=tagid+",ÔÚ"+fencename+"ÊÒÄÚ"+x+", "+y;
|
BaoWenShow.ok_tagid("2", "debug",hex, "127.0.0.1",tagid);
|
return;
|
}
|
}
|
|
person.setIndoor_fence(0);
|
String hex=tagid+",²»ÔÚÊÒÄÚ"+x+","+y;
|
BaoWenShow.ok_tagid("2", "debug",hex, "127.0.0.1",tagid);
|
}
|
|
}
|
|
|
/**ÔÚËùÓÐÊÒÄÚΧÀ¸ÖÐÕÒ±êÇ©ÊÇ·ñ´æÔÚ*/
|
public static int taginshinei(String tagid) {
|
int indoor=0;
|
int size=shineitag_vc.size();
|
for(int i=0;i<size;i++) {
|
String fencename=shineitag_vc.get(i).getFence_name();
|
if(get_tag(fencename,tagid)) {
|
indoor=1;
|
break;
|
}
|
}
|
return indoor;
|
|
}
|
|
|
|
/**ͨ¹ýΧÀ¸Ãû³ÆÕÒµ½ÊÒÄÚÇøÓò¶ÔÏó*/
|
public static Vector<String> getsntg(String name) {
|
Vector<String> sntag=new Vector<String>();
|
int size=shineitag_vc.size();
|
if(size !=0) {
|
for(int i=0;i<size;i++) {
|
shineitag sntag1=shineitag_vc.get(i);
|
String name1=sntag1.getFence_name();
|
if(name1.equals(name)) {
|
sntag=sntag1.getTagvector();
|
break;
|
}
|
}
|
}
|
return sntag;
|
}
|
|
|
/**ͨ¹ýÊÒÄÚÇøÓòÃû³ÆºÍ±êÇ©IDÕÒµ½±êÇ©ÊÇ·ñÔÚ¸ÃÊÒÄÚÇøÓò*/
|
public static boolean get_tag(String fencename,String tagid) {
|
boolean isin=false;
|
Vector<String> tagvector=getsntg(fencename);
|
if(tagvector !=null) {
|
int size=tagvector.size();
|
if(size !=0) {
|
for(int i=0;i<size;i++) {
|
String tagid1=tagvector.get(i);
|
if(tagid1 !=null) {
|
if(tagid1.equals(tagid)) {
|
isin=true;
|
break;
|
}
|
}
|
}
|
}
|
}
|
return isin;
|
}
|
|
|
/**ÏòÊÒÄÚ¼¯ºÏ¶ÔÏóÖÐÌí¼ÓÒ»¸ö±êǩͬʱɾ³ýÆäËûËùÓÐÊÒÄÚ¼¯ºÏÖиñêÇ©*/
|
public static void shinei_add_tag(String fencename,String tagid) {
|
if(!get_tag(fencename,tagid)) {
|
getsntg(fencename).add(tagid);
|
delete_all_jilu(fencename,tagid);
|
}
|
}
|
|
/**ÏòÊÒÄÚ¼¯ºÏ¶ÔÏóÖÐɾ³ýÒ»¸ö±êÇ©*/
|
public static void delete_sntag(String fencename,String tagid) {
|
if(get_tag(fencename,tagid)) {
|
getsntg(fencename).removeElement(tagid);
|
}
|
}
|
|
/**ɾ³ýËùÓм¯ºÏÖеıêÇ©*/
|
public static void delte_all_snvec() {
|
int size=shineitag_vc.size();
|
if(size !=0) {
|
for(int i=0;i<size;i++) {
|
shineitag_vc.get(i).getTagvector().removeAllElements();
|
}
|
}
|
}
|
|
/**ɾ³ýij¸ö±êÇ©ÔÚÆäËûËùÓÐÊÒÄÚÇøÓò¼¯ºÏÖеļǼ*/
|
public static void delete_all_jilu(String fencename,String tagid) {
|
int size=shineitag_vc.size();
|
if(size !=0) {
|
for(int i=0;i<size;i++) {
|
String fencename1=shineitag_vc.get(i).getFence_name();
|
if(!fencename1.equals(fencename)) {
|
shineitag_vc.get(i).getTagvector().removeElement(tagid);
|
}
|
}
|
}
|
}
|
|
|
public static Vector<shineitag> getShineitag_vc() {
|
return shineitag_vc;
|
}
|
|
|
|
|
}
|