|
@@ -48,7 +48,7 @@ public class RadarStatusService {
|
|
|
if (subscriber != null && subscriber.listener != null) {
|
|
|
try {//发送心跳信息
|
|
|
publisher.publishMessage(
|
|
|
- "2",
|
|
|
+ "5",
|
|
|
"8",
|
|
|
"这是心跳信息"
|
|
|
);
|
|
@@ -70,7 +70,7 @@ public class RadarStatusService {
|
|
|
subscriber.listener.isRecall=0;
|
|
|
|
|
|
publisher.publishMessage(
|
|
|
- "2",
|
|
|
+ "5",
|
|
|
"11",
|
|
|
"这是初始化应答"
|
|
|
);
|
|
@@ -88,7 +88,7 @@ public class RadarStatusService {
|
|
|
//未初始化,发送初始化请求
|
|
|
try {
|
|
|
publisher.publishMessage(
|
|
|
- "2",
|
|
|
+ "5",
|
|
|
"12",
|
|
|
"这是初始化请求"
|
|
|
);
|
|
@@ -101,7 +101,7 @@ public class RadarStatusService {
|
|
|
//未分组,发送网络分组请求
|
|
|
try {
|
|
|
publisher.publishMessage(
|
|
|
- "2",
|
|
|
+ "5",
|
|
|
"41",
|
|
|
"这是网络分组请求"
|
|
|
);
|
|
@@ -489,13 +489,50 @@ public class RadarStatusService {
|
|
|
}
|
|
|
else return "7";
|
|
|
}
|
|
|
-
|
|
|
+ //检查范围
|
|
|
+ //原版
|
|
|
+// private void checkTargets(){
|
|
|
+// platformTargetsMap.clear();
|
|
|
+// for(String missile : subscriber.listener.positionMap.keySet()){
|
|
|
+// Queue<RadarTarget> queue = new ConcurrentLinkedQueue<>();
|
|
|
+// for(String radar : subscriber.listener.radarPositionMap.keySet()){
|
|
|
+// Position thisMissile = subscriber.listener.positionMap.get(missile);
|
|
|
+// Position thisRadar = subscriber.listener.radarPositionMap.get(radar);
|
|
|
+// if(Math.sqrt((thisMissile.x-thisRadar.x)*(thisMissile.x-thisRadar.x)+(thisMissile.y-thisRadar.y)*(thisMissile.y-thisRadar.y)+(thisMissile.z-thisRadar.z)*(thisMissile.z-thisRadar.z))<=1000000){
|
|
|
+// //进入侦察范围
|
|
|
+// RadarTarget target = new RadarTarget();
|
|
|
+// double dx = thisMissile.x-thisRadar.x;
|
|
|
+// double dy = thisMissile.y-thisRadar.y;
|
|
|
+// double dz = thisMissile.z-thisRadar.z;
|
|
|
+// double azi,elv;
|
|
|
+// azi = dx==0&&dy==0 ? 0.0 : Math.toDegrees(Math.atan2(dx,dy));
|
|
|
+// azi = azi<0 ? azi+360 : azi;
|
|
|
+// elv = Math.toDegrees(Math.atan2(dz,Math.sqrt(dx*dx+dy*dy)));
|
|
|
+// target.setTargetId(Integer.valueOf(radar));
|
|
|
+// target.setEnemyPro("未知");
|
|
|
+// target.setFlightState("未知");
|
|
|
+// target.setLightQuality("未知");
|
|
|
+// target.setSimTime("未知");
|
|
|
+// target.setTargetDistance(Math.sqrt((thisMissile.x-thisRadar.x)*(thisMissile.x-thisRadar.x)+(thisMissile.y-thisRadar.y)*(thisMissile.y-thisRadar.y)+(thisMissile.z-thisRadar.z)*(thisMissile.z-thisRadar.z)));
|
|
|
+// target.setTargetAzi(azi);
|
|
|
+// target.setTargetEle(elv);
|
|
|
+// target.setTargetRSpeed(0);
|
|
|
+// queue.add(target);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// platformTargetsMap.put(missile,queue);
|
|
|
+// }
|
|
|
+// }
|
|
|
private void checkTargets(){
|
|
|
platformTargetsMap.clear();
|
|
|
- for(String missile : subscriber.listener.positionMap.keySet()){
|
|
|
+ //雷达循环
|
|
|
+ for(String missile : subscriber.listener.radarPositionMap.keySet()){
|
|
|
Queue<RadarTarget> queue = new ConcurrentLinkedQueue<>();
|
|
|
- for(String radar : subscriber.listener.radarPositionMap.keySet()){
|
|
|
+ //侦察循环
|
|
|
+ for(String radar : subscriber.listener.positionMap.keySet()){
|
|
|
+ //侦察
|
|
|
Position thisMissile = subscriber.listener.positionMap.get(missile);
|
|
|
+ //雷达
|
|
|
Position thisRadar = subscriber.listener.radarPositionMap.get(radar);
|
|
|
if(Math.sqrt((thisMissile.x-thisRadar.x)*(thisMissile.x-thisRadar.x)+(thisMissile.y-thisRadar.y)*(thisMissile.y-thisRadar.y)+(thisMissile.z-thisRadar.z)*(thisMissile.z-thisRadar.z))<=1000000){
|
|
|
//进入侦察范围
|