Interface changes
- Exposing of Node's entities responsibility was moved to the Tree class
- General split depth increasement strategy is removed. The one-level deeper solution is applied:
DO_SPLIT_PARENT_ENTITIES - Default EntityID type is changed to
uint32_t Node::GetChildren()is a range now instead ofstd::vector- Naming issues aroung node's max element and max depth ID are solved
- Distance sorted result requirement is added to
GetNearestNeighbors()
Performance improvements
- Box creation
- Both the internal and between-tree version of
CollisionDetection() RayIntersectedFirst()GetNearestNeighbors()
Miscellaneous
- Automatic Benchmark is added
- Children key storage is changed to bitflag for smaller dimensions.
- W4 warning level
Bugfixes
- Minor bugfixes in
InsertWithRebalance() - Minor bugfix in
GetNearestNeighbors()
New benchmarks
- Creation for 6D points
GetNearestNeighbors()for 6D and 63D
Interface changes
std::executionis dropped from the interface.bool IS_PARALLEL_EXECis used instead.Idis replaced toEntity:CollectAllEntitiesInDFS/BFSEraseEntity
New features
InsertUnique()for unique insertion of pointsRangeSearchNodes()for range search of nodesBMI2instruction set to enhanceMortonEncode()/Decode()(UseAVX2)
Maintenance
- Increased performance of
GetNearestNeighbor() AddAndRebalanceandAddUniqueis added to theContainer
Refactorizations
- Morton Z-order space indexing separation
- Grid space indexing separation
Bugfixes
- Container type move constructor fix
New features
- Support of abstract classes
Refactorizations
- Internal geometry module
New features
- Allowing associative container type for the entity-geometries
Maintenance
- Support compilers w/o
std::execution(e.g. Apple Clang)
New features
- Rebalancing insert
- Removing empty nodes during
Erase
New features
- New adaptors: glm, boost, CGAL
- Built-in
RayandPlanetypes
Refactorizations
- New, more capable adaptor concept
- Separated Adapator tests
- Support of
Eigen::HyperplaneandEigen::ParametrizedLine - Support of Unreal Engine
FRay,FPlane
Maintenance
- GCC compile action
- Fix a bug in
Insert()
New features
- New adaptors: Eigen, Unreal Engine, XYZ
- Plane related search and intersection check
- Frustum culling
- User-defined function for Collision detection
- Depth-first search visitor
Refactorizations
- Clang format and naming changes
- entity_id_type and max_element_type are replaced with size_t
- ID generation is removed
- Tolerance is added to the Ray intersection functions
- Bugfixes
- Split strategy performance upgrade
- GCC support
- Bugfixes
New features
- Container type
- Split strategy for boundingbox-type tree
- Collision detection inside the tree
- Ray intersections
- k-Nearest Neighbors
Maintenance
- Benchmarks
- Bugfixes
- First commits