|
@@ -95,19 +95,22 @@ public class CreateHouseJsonUtil {
|
|
Map<String, PointBean> pointMap = new HashMap<>();
|
|
Map<String, PointBean> pointMap = new HashMap<>();
|
|
Map<Integer, String> vpMap = new HashMap<>();
|
|
Map<Integer, String> vpMap = new HashMap<>();
|
|
JSONArray vertexArr = floor.getJSONArray("vertex-xy");
|
|
JSONArray vertexArr = floor.getJSONArray("vertex-xy");
|
|
- for(int i = 0; i < vertexArr.size(); i++){
|
|
|
|
- Object o = vertexArr.get(i);
|
|
|
|
|
|
+ if(CollUtil.isNotEmpty(vertexArr)){
|
|
|
|
+ for(int i = 0; i < vertexArr.size(); i++){
|
|
|
|
+ Object o = vertexArr.get(i);
|
|
|
|
|
|
- VertexBean vertexBean = JSON.parseObject(JSON.toJSONString(o), VertexBean.class);
|
|
|
|
- Integer vertexId = vertexBean.getId();
|
|
|
|
- vertexMap.put(vertexId, vertexBean);
|
|
|
|
|
|
+ VertexBean vertexBean = JSON.parseObject(JSON.toJSONString(o), VertexBean.class);
|
|
|
|
+ Integer vertexId = vertexBean.getId();
|
|
|
|
+ vertexMap.put(vertexId, vertexBean);
|
|
|
|
|
|
- String pointId = "Point" + i;
|
|
|
|
- pointMap.put(pointId, PointBean.builder().vectorId(pointId).x(vertexBean.getX()).y(vertexBean.getY()).build());
|
|
|
|
|
|
+ String pointId = "Point" + i;
|
|
|
|
+ pointMap.put(pointId, PointBean.builder().vectorId(pointId).x(vertexBean.getX()).y(vertexBean.getY()).build());
|
|
|
|
|
|
- vpMap.put(vertexId, pointId);
|
|
|
|
|
|
+ vpMap.put(vertexId, pointId);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
//处理墙
|
|
//处理墙
|
|
Map<Integer, SegmentBean> segmentMap = new HashMap<>();
|
|
Map<Integer, SegmentBean> segmentMap = new HashMap<>();
|
|
Map<String, WallBean> wallMap = new HashMap<>();
|
|
Map<String, WallBean> wallMap = new HashMap<>();
|
|
@@ -115,32 +118,34 @@ public class CreateHouseJsonUtil {
|
|
JSONArray segmentArr = floor.getJSONArray("segment");
|
|
JSONArray segmentArr = floor.getJSONArray("segment");
|
|
Map<String, String> startMap = new HashMap<>();
|
|
Map<String, String> startMap = new HashMap<>();
|
|
Map<String, String> endMap = new HashMap<>();
|
|
Map<String, String> endMap = new HashMap<>();
|
|
- for(int i = 0; i < segmentArr.size(); i++){
|
|
|
|
- Object o = segmentArr.get(i);
|
|
|
|
-
|
|
|
|
- SegmentBean segmentBean = JSON.parseObject(JSON.toJSONString(o), SegmentBean.class);
|
|
|
|
- String startPointId = vpMap.get(segmentBean.getA());
|
|
|
|
- String endPointId = vpMap.get(segmentBean.getB());
|
|
|
|
- segmentBean.setStartPointId(startPointId);
|
|
|
|
- segmentBean.setEndPointId(endPointId);
|
|
|
|
-
|
|
|
|
- Integer segmentId = segmentBean.getId();
|
|
|
|
- segmentMap.put(segmentId, segmentBean);
|
|
|
|
-
|
|
|
|
- String wallId = "Wall" + i;
|
|
|
|
- WallBean wallBean = WallBean.builder()
|
|
|
|
- .vectorId(wallId)
|
|
|
|
- .start(segmentBean.getStartPointId())
|
|
|
|
- .end(segmentBean.getEndPointId())
|
|
|
|
- .children(new String[]{})
|
|
|
|
- .width(0.2d)
|
|
|
|
- .build();
|
|
|
|
- wallMap.put(wallId, wallBean);
|
|
|
|
-
|
|
|
|
- startMap.put(wallBean.getStart(), wallBean.getVectorId());
|
|
|
|
- endMap.put(wallBean.getEnd(), wallBean.getVectorId());
|
|
|
|
-
|
|
|
|
- swMap.put(segmentId, wallId);
|
|
|
|
|
|
+ if(CollUtil.isNotEmpty(segmentArr)){
|
|
|
|
+ for(int i = 0; i < segmentArr.size(); i++){
|
|
|
|
+ Object o = segmentArr.get(i);
|
|
|
|
+
|
|
|
|
+ SegmentBean segmentBean = JSON.parseObject(JSON.toJSONString(o), SegmentBean.class);
|
|
|
|
+ String startPointId = vpMap.get(segmentBean.getA());
|
|
|
|
+ String endPointId = vpMap.get(segmentBean.getB());
|
|
|
|
+ segmentBean.setStartPointId(startPointId);
|
|
|
|
+ segmentBean.setEndPointId(endPointId);
|
|
|
|
+
|
|
|
|
+ Integer segmentId = segmentBean.getId();
|
|
|
|
+ segmentMap.put(segmentId, segmentBean);
|
|
|
|
+
|
|
|
|
+ String wallId = "Wall" + i;
|
|
|
|
+ WallBean wallBean = WallBean.builder()
|
|
|
|
+ .vectorId(wallId)
|
|
|
|
+ .start(segmentBean.getStartPointId())
|
|
|
|
+ .end(segmentBean.getEndPointId())
|
|
|
|
+ .children(new String[]{})
|
|
|
|
+ .width(0.2d)
|
|
|
|
+ .build();
|
|
|
|
+ wallMap.put(wallId, wallBean);
|
|
|
|
+
|
|
|
|
+ startMap.put(wallBean.getStart(), wallBean.getVectorId());
|
|
|
|
+ endMap.put(wallBean.getEnd(), wallBean.getVectorId());
|
|
|
|
+
|
|
|
|
+ swMap.put(segmentId, wallId);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
Collection<PointBean> pointBeans = pointMap.values();
|
|
Collection<PointBean> pointBeans = pointMap.values();
|
|
@@ -163,6 +168,11 @@ public class CreateHouseJsonUtil {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public static void main(String[] args) {
|
|
|
|
+ JSONObject houseTypeJsonByCad = createHouseTypeJsonByCad("D:\\Downloads\\floorplan_cad.json");
|
|
|
|
+ FileUtil.writeUtf8String(houseTypeJsonByCad.toJSONString(), "D:\\Downloads\\houseType.json");
|
|
|
|
+ }
|
|
|
|
+
|
|
private static JSONObject init() {
|
|
private static JSONObject init() {
|
|
JSONObject outContent = new JSONObject();
|
|
JSONObject outContent = new JSONObject();
|
|
outContent.put("name", "houseType.json");
|
|
outContent.put("name", "houseType.json");
|