Commit 2c9eea60 authored by Numanoglu's avatar Numanoglu
Browse files

Refine AABB BVH heuristic exploration

parent 35a777b9
package de.hft.stuttgart.citydoctor2.datastructure.bht; package de.hft.stuttgart.citydoctor2.datastructure.aabb;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
......
package de.hft.stuttgart.citydoctor2.datastructure.bht; package de.hft.stuttgart.citydoctor2.datastructure.aabb;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
......
package de.hft.stuttgart.citydoctor2.datastructure.bht; package de.hft.stuttgart.citydoctor2.datastructure.aabb;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Comparator; import java.util.Comparator;
......
package de.hft.stuttgart.citydoctor2.datastructure.bht; package de.hft.stuttgart.citydoctor2.datastructure.aabb;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
......
package de.hft.stuttgart.citydoctor2.datastructure.bht; package de.hft.stuttgart.citydoctor2.datastructure.aabb;
final class BvhBuildItem<E> { final class BvhBuildItem<E> {
final E element; final E element;
......
package de.hft.stuttgart.citydoctor2.datastructure.bht; package de.hft.stuttgart.citydoctor2.datastructure.aabb;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
......
package de.hft.stuttgart.citydoctor2.datastructure.bht; package de.hft.stuttgart.citydoctor2.datastructure.aabb;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Comparator; import java.util.Comparator;
......
package de.hft.stuttgart.citydoctor2.datastructure.bht; package de.hft.stuttgart.citydoctor2.datastructure.aabb;
import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.Coordinate;
......
package de.hft.stuttgart.citydoctor2.datastructure.bht; package de.hft.stuttgart.citydoctor2.datastructure.aabb;
public enum SplitStrategy { public enum SplitStrategy {
AUTO, AUTO,
......
package de.hft.stuttgart.citydoctor2.datastructure.bht; package de.hft.stuttgart.citydoctor2.datastructure.aabb;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
......
package de.hft.stuttgart.citydoctor2.datastructure.bht; package de.hft.stuttgart.citydoctor2.datastructure.aabb;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
......
package de.hft.stuttgart.citydoctor2.datastructure.bht; package de.hft.stuttgart.citydoctor2.datastructure.aabb;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Lesser General Public License * You should have received a copy of the GNU Lesser General Public License
* along with CityDoctor2. If not, see <https://www.gnu.org/licenses/>. * along with CityDoctor2. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.hft.stuttgart.citydoctor2.checks.bht; package de.hft.stuttgart.citydoctor2.checks.aabb;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
...@@ -38,8 +38,8 @@ import de.hft.stuttgart.citydoctor2.datastructure.LinearRing; ...@@ -38,8 +38,8 @@ import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
import de.hft.stuttgart.citydoctor2.datastructure.Polygon; import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
import de.hft.stuttgart.citydoctor2.datastructure.Vertex; import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
import de.hft.stuttgart.citydoctor2.datastructure.bht.AABB; import de.hft.stuttgart.citydoctor2.datastructure.aabb.AABB;
import de.hft.stuttgart.citydoctor2.datastructure.bht.AABBUtils; import de.hft.stuttgart.citydoctor2.datastructure.aabb.AABBUtils;
/** /**
* Checks whether a inner ring is completely contained in another inner ring * Checks whether a inner ring is completely contained in another inner ring
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Lesser General Public License * You should have received a copy of the GNU Lesser General Public License
* along with CityDoctor2. If not, see <https://www.gnu.org/licenses/>. * along with CityDoctor2. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.hft.stuttgart.citydoctor2.checks.bht; package de.hft.stuttgart.citydoctor2.checks.aabb;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
...@@ -51,8 +51,8 @@ import de.hft.stuttgart.citydoctor2.math.Vector3d; ...@@ -51,8 +51,8 @@ import de.hft.stuttgart.citydoctor2.math.Vector3d;
import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration;
import de.hft.stuttgart.citydoctor2.datastructure.bht.AABB; import de.hft.stuttgart.citydoctor2.datastructure.aabb.AABB;
import de.hft.stuttgart.citydoctor2.datastructure.bht.AABBUtils; import de.hft.stuttgart.citydoctor2.datastructure.aabb.AABBUtils;
/** /**
* Checks whether a ring self intersects. Also checks if a point is too close to * Checks whether a ring self intersects. Also checks if a point is too close to
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Lesser General Public License * You should have received a copy of the GNU Lesser General Public License
* along with CityDoctor2. If not, see <https://www.gnu.org/licenses/>. * along with CityDoctor2. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.hft.stuttgart.citydoctor2.checks.bht; package de.hft.stuttgart.citydoctor2.checks.aabb;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -39,8 +39,8 @@ import de.hft.stuttgart.citydoctor2.datastructure.GeometryType; ...@@ -39,8 +39,8 @@ import de.hft.stuttgart.citydoctor2.datastructure.GeometryType;
import de.hft.stuttgart.citydoctor2.datastructure.Polygon; import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
import de.hft.stuttgart.citydoctor2.utils.PolygonIntersection; import de.hft.stuttgart.citydoctor2.utils.PolygonIntersection;
import de.hft.stuttgart.citydoctor2.datastructure.bht.AABB; import de.hft.stuttgart.citydoctor2.datastructure.aabb.AABB;
import de.hft.stuttgart.citydoctor2.datastructure.bht.BoundingVolumeHierarchyTree; import de.hft.stuttgart.citydoctor2.datastructure.aabb.BoundingVolumeHierarchyTree;
/** /**
* Check for self intersecting solids * Check for self intersecting solids
......
...@@ -39,9 +39,9 @@ import de.hft.stuttgart.citydoctor2.checks.util.CollectionUtils; ...@@ -39,9 +39,9 @@ import de.hft.stuttgart.citydoctor2.checks.util.CollectionUtils;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing; import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
import de.hft.stuttgart.citydoctor2.datastructure.Polygon; import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
import de.hft.stuttgart.citydoctor2.datastructure.Vertex; import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
import de.hft.stuttgart.citydoctor2.datastructure.bht.AABB; import de.hft.stuttgart.citydoctor2.datastructure.aabb.AABB;
import de.hft.stuttgart.citydoctor2.datastructure.bht.BoundingVolumeHierarchyTree; import de.hft.stuttgart.citydoctor2.datastructure.aabb.BoundingVolumeHierarchyTree;
import de.hft.stuttgart.citydoctor2.datastructure.bht.SplitStrategy; import de.hft.stuttgart.citydoctor2.datastructure.aabb.SplitStrategy;
/** /**
* Checks whether a inner ring is completely contained in another inner ring * Checks whether a inner ring is completely contained in another inner ring
......
...@@ -42,9 +42,9 @@ import de.hft.stuttgart.citydoctor2.datastructure.Edge; ...@@ -42,9 +42,9 @@ import de.hft.stuttgart.citydoctor2.datastructure.Edge;
import de.hft.stuttgart.citydoctor2.datastructure.Geometry; import de.hft.stuttgart.citydoctor2.datastructure.Geometry;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing; import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
import de.hft.stuttgart.citydoctor2.datastructure.Vertex; import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
import de.hft.stuttgart.citydoctor2.datastructure.bht.AABB; import de.hft.stuttgart.citydoctor2.datastructure.aabb.AABB;
import de.hft.stuttgart.citydoctor2.datastructure.bht.BoundingVolumeHierarchyTree; import de.hft.stuttgart.citydoctor2.datastructure.aabb.BoundingVolumeHierarchyTree;
import de.hft.stuttgart.citydoctor2.datastructure.bht.SplitStrategy; import de.hft.stuttgart.citydoctor2.datastructure.aabb.SplitStrategy;
import de.hft.stuttgart.citydoctor2.math.CovarianceMatrix; import de.hft.stuttgart.citydoctor2.math.CovarianceMatrix;
import de.hft.stuttgart.citydoctor2.math.DistanceResult; import de.hft.stuttgart.citydoctor2.math.DistanceResult;
import de.hft.stuttgart.citydoctor2.math.Matrix3x3d; import de.hft.stuttgart.citydoctor2.math.Matrix3x3d;
......
...@@ -37,9 +37,9 @@ import de.hft.stuttgart.citydoctor2.checks.util.CollectionUtils; ...@@ -37,9 +37,9 @@ import de.hft.stuttgart.citydoctor2.checks.util.CollectionUtils;
import de.hft.stuttgart.citydoctor2.checks.util.SelfIntersectionUtil; import de.hft.stuttgart.citydoctor2.checks.util.SelfIntersectionUtil;
import de.hft.stuttgart.citydoctor2.datastructure.Geometry; import de.hft.stuttgart.citydoctor2.datastructure.Geometry;
import de.hft.stuttgart.citydoctor2.datastructure.GeometryType; import de.hft.stuttgart.citydoctor2.datastructure.GeometryType;
import de.hft.stuttgart.citydoctor2.datastructure.bht.AABB; import de.hft.stuttgart.citydoctor2.datastructure.aabb.AABB;
import de.hft.stuttgart.citydoctor2.datastructure.bht.BoundingVolumeHierarchyTree; import de.hft.stuttgart.citydoctor2.datastructure.aabb.BoundingVolumeHierarchyTree;
import de.hft.stuttgart.citydoctor2.datastructure.bht.SplitStrategy; import de.hft.stuttgart.citydoctor2.datastructure.aabb.SplitStrategy;
import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration;
import de.hft.stuttgart.citydoctor2.utils.PolygonIntersection; import de.hft.stuttgart.citydoctor2.utils.PolygonIntersection;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment