From b623f1581fcf5b2b4feca43c2fd2fed55e15d489 Mon Sep 17 00:00:00 2001 From: Morippi Date: Wed, 7 Jul 2021 23:12:45 +0200 Subject: [PATCH] various fix --- .../java/com/seibel/lod/objects/quadTree/LodNodeData.java | 5 ++++- .../java/com/seibel/lod/objects/quadTree/LodQuadTree.java | 6 ------ .../java/com/seibel/lod/objects/quadTree/QuadTreeImage.java | 5 +++-- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/seibel/lod/objects/quadTree/LodNodeData.java b/src/main/java/com/seibel/lod/objects/quadTree/LodNodeData.java index b341dd2c2..d0b15f41c 100644 --- a/src/main/java/com/seibel/lod/objects/quadTree/LodNodeData.java +++ b/src/main/java/com/seibel/lod/objects/quadTree/LodNodeData.java @@ -193,7 +193,10 @@ public class LodNodeData { short depth = (short) dataList.stream().mapToInt(x -> (int) x.depth).max().getAsInt(); height = height; depth = depth; - color = dataList.get(0).color; + int red= dataList.stream().mapToInt(x -> x.color.getRed()).sum()/dataList.size(); + int green= dataList.stream().mapToInt(x -> x.color.getGreen()).sum()/dataList.size(); + int blue = dataList.stream().mapToInt(x -> x.color.getBlue()).sum()/dataList.size(); + color = new Color(red,green,blue); real = dataList.stream().filter(x -> x.real).count() == 4; voidNode = dataList.stream().filter(x -> !x.voidNode).count() == 0; } diff --git a/src/main/java/com/seibel/lod/objects/quadTree/LodQuadTree.java b/src/main/java/com/seibel/lod/objects/quadTree/LodQuadTree.java index 4926019fa..4043062f1 100644 --- a/src/main/java/com/seibel/lod/objects/quadTree/LodQuadTree.java +++ b/src/main/java/com/seibel/lod/objects/quadTree/LodQuadTree.java @@ -308,19 +308,13 @@ public class LodQuadTree { int max = distances.stream().mapToInt(Integer::intValue).max().getAsInt(); List nodeList = new ArrayList<>(); if (min > maxDistance || max < minDistance || targetLevel > lodNodeData.level) { - System.out.println("test1"); - System.out.println(lodNodeData); return nodeList; } if (targetLevel == lodNodeData.level || !isNodeFull()) { if (lodNodeData.voidNode) { - System.out.println("test2"); - System.out.println(lodNodeData); nodeList.add(lodNodeData); return nodeList; } else { - System.out.println("test3"); - System.out.println(lodNodeData); nodeList.add(lodNodeData); return nodeList; } diff --git a/src/main/java/com/seibel/lod/objects/quadTree/QuadTreeImage.java b/src/main/java/com/seibel/lod/objects/quadTree/QuadTreeImage.java index 29a3201ff..c338a51f7 100644 --- a/src/main/java/com/seibel/lod/objects/quadTree/QuadTreeImage.java +++ b/src/main/java/com/seibel/lod/objects/quadTree/QuadTreeImage.java @@ -115,7 +115,8 @@ public class QuadTreeImage extends JPanel { } } - Collection lodList = lodQuadTree.getNodeToRender(playerX,playerZ,(byte) 0,10000,0); + Collection lodList = lodQuadTree.getNodeToRender(playerX,playerZ,(byte) 2,10000,0); + //lodList = lodQuadTree.getNodeList(false,false,true); System.out.println(lodList); final List myDrawables = new ArrayList<>(); for(LodNodeData data : lodList) { @@ -123,7 +124,7 @@ public class QuadTreeImage extends JPanel { data.color, new BasicStroke(1))); } - myDrawables.add(new MyDrawable(new Rectangle2D.Double(playerX-10,playerZ-10, 20, 20), + myDrawables.add(new MyDrawable(new Rectangle2D.Double(playerZ-10,playerX-10, 20, 20), Color.yellow, new BasicStroke(1))); final QuadTreeImage quadTreeImage = new QuadTreeImage();