#include "CollisionDetection.h"#include <chrono>#include <cmath>#include <doctest.h>#include <iostream>#include "doctest_utils.h"#include "global.h"Go to the source code of this file.
Functions | |
| std::vector< uint > | CollisionTests::generateSeparatedTriangles (Context *context, int count, float separation=5.0f) |
| Generate non-overlapping primitives for negative testing. | |
| std::vector< uint > | CollisionTests::generateOverlappingCluster (Context *context, int count, vec3 center=make_vec3(0, 0, 0)) |
| Generate overlapping primitive cluster for positive testing. | |
| std::vector< uint > | CollisionTests::createParallelWallsWithGap (Context *context, vec3 gap_center, float gap_width, float wall_height=2.0f, float wall_distance=3.0f) |
| Create parallel walls with a gap for accuracy testing. | |
| vec3 | CollisionTests::calculateGapCenterDirection (vec3 apex, vec3 gap_center) |
| Calculate the analytical optimal direction to a gap center. | |
| float | CollisionTests::measureAngularError (vec3 actual, vec3 expected) |
| Measure angular error between two directions in radians. | |
| std::vector< uint > | CollisionTests::createSymmetricTwinGaps (Context *context, float gap_separation, float gap_width, float wall_distance=3.0f) |
| Create twin gaps at symmetric positions for preference testing. | |
| DOCTEST_TEST_CASE ("CollisionDetection Plugin Initialization") | |
| DOCTEST_TEST_CASE ("CollisionDetection BVH Construction") | |
| DOCTEST_TEST_CASE ("CollisionDetection Basic Collision Detection") | |
| DOCTEST_TEST_CASE ("CollisionDetection BVH Statistics") | |
| DOCTEST_TEST_CASE ("CollisionDetection Empty Geometry Handling") | |
| DOCTEST_TEST_CASE ("CollisionDetection Invalid UUID Handling") | |
| DOCTEST_TEST_CASE ("CollisionDetection GPU/CPU Mode Switching") | |
| DOCTEST_TEST_CASE ("CollisionDetection Null Context Error Handling") | |
| DOCTEST_TEST_CASE ("CollisionDetection Invalid UUIDs in BuildBVH") | |
| DOCTEST_TEST_CASE ("CollisionDetection Primitive/Object Collision Detection") | |
| DOCTEST_TEST_CASE ("CollisionDetection Empty Input Handling") | |
| DOCTEST_TEST_CASE ("CollisionDetection Invalid Object ID Error Handling") | |
| DOCTEST_TEST_CASE ("CollisionDetection Manual BVH Rebuild") | |
| DOCTEST_TEST_CASE ("CollisionDetection Message Control") | |
| DOCTEST_TEST_CASE ("CollisionDetection Large Geometry Handling") | |
| DOCTEST_TEST_CASE ("CollisionDetection Single Primitive Edge Case") | |
| DOCTEST_TEST_CASE ("CollisionDetection Overlapping AABB Primitives") | |
| DOCTEST_TEST_CASE ("CollisionDetection BVH Validity Persistence") | |
| DOCTEST_TEST_CASE ("CollisionDetection Soft/Hard Detection Integration - BVH Sharing") | |
| DOCTEST_TEST_CASE ("CollisionDetection Soft/Hard Detection Integration - Sequential Calls") | |
| DOCTEST_TEST_CASE ("CollisionDetection Soft/Hard Detection Integration - Different Geometry Sets") | |
| DOCTEST_TEST_CASE ("CollisionDetection Soft/Hard Detection Integration - BVH Rebuild Behavior") | |
| DOCTEST_TEST_CASE ("CollisionDetection GPU Acceleration") | |
| DOCTEST_TEST_CASE ("CollisionDetection GPU/CPU Message Display") | |
| DOCTEST_TEST_CASE ("CollisionDetection Automatic BVH Building") | |
| DOCTEST_TEST_CASE ("CollisionDetection Restricted Geometry - UUIDs Only") | |
| DOCTEST_TEST_CASE ("CollisionDetection Restricted Geometry - Object IDs") | |
| DOCTEST_TEST_CASE ("CollisionDetection Restricted Geometry - Error Handling") | |
| DOCTEST_TEST_CASE ("CollisionDetection findOptimalConePath Basic Functionality") | |
| DOCTEST_TEST_CASE ("CollisionDetection findOptimalConePath Gap Detection") | |
| DOCTEST_TEST_CASE ("CollisionDetection findOptimalConePath Edge Cases") | |
| DOCTEST_TEST_CASE ("CollisionDetection Finite Cone Height") | |
| DOCTEST_TEST_CASE ("CollisionDetection findOptimalConePath Accuracy - Single Gap Tests") | |
| DOCTEST_TEST_CASE ("CollisionDetection findOptimalConePath Accuracy - Symmetric Twin Gaps") | |
| DOCTEST_TEST_CASE ("CollisionDetection findOptimalConePath Accuracy - Angular Precision") | |
| DOCTEST_TEST_CASE ("CollisionDetection findOptimalConePath Accuracy - Distance-Based Priority") | |
| DOCTEST_TEST_CASE ("CollisionDetection findOptimalConePath Accuracy - Edge Case Geometry") | |
| DOCTEST_TEST_CASE ("CollisionDetection Scale Test - 1000 Primitives") | |
| DOCTEST_TEST_CASE ("CollisionDetection Scale Test - 10000 Primitives") | |
| DOCTEST_TEST_CASE ("CollisionDetection CPU vs GPU Consistency - Small Scale") | |
| DOCTEST_TEST_CASE ("CollisionDetection CPU vs GPU Consistency - Large Scale") | |
| DOCTEST_TEST_CASE ("CollisionDetection Negative Test - Well Separated Primitives") | |
| DOCTEST_TEST_CASE ("CollisionDetection Negative Test - Patch vs Distant Model") | |
| DOCTEST_TEST_CASE ("CollisionDetection Edge Case - Boundary Touching") | |
| DOCTEST_TEST_CASE ("CollisionDetection Edge Case - Very Small Overlaps") | |
| DOCTEST_TEST_CASE ("CollisionDetection Real Geometry - PLY File Loading") | |
| DOCTEST_TEST_CASE ("CollisionDetection Performance - BVH Construction Time") | |
| DOCTEST_TEST_CASE ("CollisionDetection Memory Stress - Progressive Loading") | |
| DOCTEST_TEST_CASE ("CollisionDetection findNearestPrimitiveDistance - Basic Functionality") | |
| DOCTEST_TEST_CASE ("CollisionDetection findNearestPrimitiveDistance - Edge Cases") | |
| DOCTEST_TEST_CASE ("CollisionDetection findNearestPrimitiveDistance - Complex Scenarios") | |
| DOCTEST_TEST_CASE ("CollisionDetection findNearestPrimitiveDistance - Directional Testing") | |
| DOCTEST_TEST_CASE ("CollisionDetection - findNearestPrimitiveDistance front/back face detection") | |
| DOCTEST_TEST_CASE ("CollisionDetection Cone-Based Obstacle Detection - Basic Functionality") | |
| DOCTEST_TEST_CASE ("CollisionDetection Cone-Based vs Legacy Method Comparison") | |
| DOCTEST_TEST_CASE ("CollisionDetection Cone-Based Triangle vs Patch Intersection") | |
| DOCTEST_TEST_CASE ("CollisionDetection Cone-Based Parameter Validation") | |
| DOCTEST_TEST_CASE ("CollisionDetection Voxel Ray Path Length - Basic Functionality") | |
| DOCTEST_TEST_CASE ("CollisionDetection Voxel Ray Path Length - Edge Cases") | |
| DOCTEST_TEST_CASE ("CollisionDetection Voxel Ray Path Length - Data Consistency") | |
| DOCTEST_TEST_CASE ("CollisionDetection Voxel Ray Path Length - Manual Data Setting") | |
| DOCTEST_TEST_CASE ("CollisionDetection Voxel Ray Path Length - Different Grid Sizes") | |
| DOCTEST_TEST_CASE ("CollisionDetection Voxel Ray Path Length - Ray Direction Variations") | |
| DOCTEST_TEST_CASE ("CollisionDetection Voxel Ray Path Length - GPU/CPU Consistency") | |
| DOCTEST_TEST_CASE ("CollisionDetection Voxel Ray Path Length - Parameter Validation") | |
| DOCTEST_TEST_CASE ("CollisionDetection Voxel Ray Path Length - Mathematical Validation") | |
| DOCTEST_TEST_CASE ("CollisionDetection Voxel Ray Path Length - Numerical Precision") | |
| DOCTEST_TEST_CASE ("CollisionDetection Voxel Ray Path Length - Error Recovery and State Management") | |
| DOCTEST_TEST_CASE ("CollisionDetection Voxel Ray Path Length - Memory and Performance Stress") | |
| DOCTEST_TEST_CASE ("CollisionDetection Voxel Ray Path Length - Integration with BVH") | |
| DOCTEST_TEST_CASE ("CollisionDetection Voxel Ray Path Length - Edge Case Ray Geometries") | |
| DOCTEST_TEST_CASE ("CollisionDetection Generic Ray Casting - Basic Functionality") | |
| DOCTEST_TEST_CASE ("CollisionDetection Generic Ray Casting - CollisionDetection::RayQuery Structure") | |
| DOCTEST_TEST_CASE ("CollisionDetection Batch Ray Casting") | |
| DOCTEST_TEST_CASE ("CollisionDetection Grid Ray Intersection") | |
| DOCTEST_TEST_CASE ("CollisionDetection Ray Path Lengths Detailed") | |
| DOCTEST_TEST_CASE ("CollisionDetection Ray Casting - Normal Calculation") | |
| DOCTEST_TEST_CASE ("CollisionDetection Ray Casting - Edge Cases and Error Handling") | |
| DOCTEST_TEST_CASE ("CollisionDetection Ray Casting - Performance and Scalability") | |
| DOCTEST_TEST_CASE ("CollisionDetection Ray Casting - Integration with Existing BVH") | |
| DOCTEST_TEST_CASE ("CollisionDetection Ray Casting - Compatibility with Other Plugin Methods") | |
| DOCTEST_TEST_CASE ("CollisionDetection - BVH Optimization Mode Management") | |
| DOCTEST_TEST_CASE ("CollisionDetection - Optimized Ray Casting Correctness") | |
| DOCTEST_TEST_CASE ("CollisionDetection - Ray Streaming Interface") | |
| DOCTEST_TEST_CASE ("CollisionDetection - BVH Layout Conversion Methods") | |
| DOCTEST_TEST_CASE ("CollisionDetection - RayPacket Edge Cases and Functionality") | |
| DOCTEST_TEST_CASE ("CollisionDetection - RayStream Batch Management") | |
| DOCTEST_TEST_CASE ("CollisionDetection - SoA Precision Validation") | |
| DOCTEST_TEST_CASE ("CollisionDetection - Error Handling and Edge Cases") | |
| DOCTEST_TEST_CASE ("CollisionDetection - Memory and Statistics Validation") | |
| DOCTEST_TEST_CASE ("CollisionDetection Voxel Primitive Intersection - Basic Ray-AABB Tests") | |
| DOCTEST_TEST_CASE ("CollisionDetection Voxel Primitive Intersection - Multiple Voxels") | |
| DOCTEST_TEST_CASE ("CollisionDetection Voxel Primitive Intersection - GPU vs CPU Consistency") | |
| DOCTEST_TEST_CASE ("CollisionDetection Mathematical Accuracy - Ray-Triangle Intersection Algorithms") | |
| DOCTEST_TEST_CASE ("CollisionDetection Mathematical Accuracy - Edge Case Intersections") | |
| DOCTEST_TEST_CASE ("CollisionDetection Mathematical Accuracy - Barycentric Coordinate Validation") | |
| DOCTEST_TEST_CASE ("CollisionDetection GPU-Specific - Direct castRaysGPU Testing") | |
| DOCTEST_TEST_CASE ("CollisionDetection GPU-Specific - Error Handling and Edge Cases") | |
| DOCTEST_TEST_CASE ("CollisionDetection Floating-Point Precision - Extreme Values") | |
| DOCTEST_TEST_CASE ("CollisionDetection Floating-Point Precision - Near-Parallel Rays") | |
| DOCTEST_TEST_CASE ("CollisionDetection Floating-Point Precision - Boundary Conditions") | |
| DOCTEST_TEST_CASE ("CollisionDetection Complex Geometry - Multi-Primitive Accuracy") | |
| DOCTEST_TEST_CASE ("CollisionDetection Complex Geometry - Stress Test Validation") | |
| DOCTEST_TEST_CASE ("CollisionDetection Performance Regression - BVH Construction Timing") | |
| DOCTEST_TEST_CASE ("CollisionDetection Performance Regression - Ray Casting Throughput") | |
| DOCTEST_TEST_CASE ("CollisionDetection Performance Regression - Memory Usage Validation") | |
| DOCTEST_TEST_CASE ("CollisionDetection Mathematical Accuracy - Ray-Patch Intersection") | |
| DOCTEST_TEST_CASE ("CollisionDetection Mathematical Accuracy - Ray-Patch Edge Cases") | |
| DOCTEST_TEST_CASE ("CollisionDetection Complex Geometry - Multi-Patch Accuracy") | |
| DOCTEST_TEST_CASE ("CollisionDetection Mathematical Accuracy - Ray-Voxel Intersection") | |
| DOCTEST_TEST_CASE ("CollisionDetection Mathematical Accuracy - Ray-Voxel Edge Cases") | |
| DOCTEST_TEST_CASE ("CollisionDetection Complex Geometry - Multi-Voxel Accuracy") | |
| DOCTEST_TEST_CASE ("CollisionDetection Ray Classification - Basic getVoxelRayHitCounts Functionality") | |
| DOCTEST_TEST_CASE ("CollisionDetection Ray Classification - getVoxelRayPathLengths Individual Lengths") | |
| DOCTEST_TEST_CASE ("CollisionDetection Ray Classification - Beer's Law Scenario with Geometry") | |
| DOCTEST_TEST_CASE ("CollisionDetection Ray Classification - Edge Cases and Boundary Conditions") | |
| DOCTEST_TEST_CASE ("CollisionDetection Ray Classification - Error Handling and Invalid Inputs") | |
| DOCTEST_TEST_CASE ("CollisionDetection Ray Classification - Beer's Law Integration Test") | |
| DOCTEST_TEST_CASE ("CollisionDetection calculateVoxelPathLengths Enhanced Method") | |
| DOCTEST_TEST_CASE ("CollisionDetection VoxelIntersection Integration - Patch with no slices") | |
| DOCTEST_TEST_CASE ("CollisionDetection VoxelIntersection Integration - Patch with one slice") | |
| DOCTEST_TEST_CASE ("CollisionDetection VoxelIntersection Integration - Patch with 2 slices") | |
| DOCTEST_TEST_CASE ("CollisionDetection VoxelIntersection Integration - Patch with 3 slices and no vertices inside voxel") | |
| DOCTEST_TEST_CASE ("CollisionDetection VoxelIntersection Integration - Areas after slicing (non-textured)") | |
| DOCTEST_TEST_CASE ("CollisionDetection VoxelIntersection Integration - Textured areas after slicing") | |
| DOCTEST_TEST_CASE ("CollisionDetection VoxelIntersection Integration - Cropping non-textured primitives") | |
| DOCTEST_TEST_CASE ("CollisionDetection VoxelIntersection Integration - Cropping textured primitives") | |
| DOCTEST_TEST_CASE ("CollisionDetection VoxelIntersection Integration - Basic functionality test") | |
| DOCTEST_TEST_CASE ("CollisionDetection VoxelIntersection Integration - calculatePrimitiveVoxelIntersection Basic") | |
| DOCTEST_TEST_CASE ("CollisionDetection VoxelIntersection Integration - calculatePrimitiveVoxelIntersection Axis-Aligned") | |
| DOCTEST_TEST_CASE ("CollisionDetection VoxelIntersection Integration - calculatePrimitiveVoxelIntersection Multiple Voxels") | |
| DOCTEST_TEST_CASE ("CollisionDetection VoxelIntersection Integration - calculatePrimitiveVoxelIntersection Empty Inputs") | |
| DOCTEST_TEST_CASE ("CollisionDetection VoxelIntersection Integration - calculatePrimitiveVoxelIntersection Specific UUIDs") | |
| DOCTEST_TEST_CASE ("CollisionDetection GPU/CPU Ray Casting Parity") | |
Self-test routines for collision detection plugin
Copyright (C) 2016-2026 Brian Bailey
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Definition in file selfTest.cpp.
| #define DOCTEST_CONFIG_IMPLEMENT |
Definition at line 17 of file selfTest.cpp.
Calculate the analytical optimal direction to a gap center.
| apex | Starting point of the cone |
| gap_center | Center of the gap |
Definition at line 104 of file selfTest.cpp.
| std::vector< uint > CollisionTests::createParallelWallsWithGap | ( | Context * | context, |
| vec3 | gap_center, | ||
| float | gap_width, | ||
| float | wall_height = 2.0f, |
||
| float | wall_distance = 3.0f |
||
| ) |
Create parallel walls with a gap for accuracy testing.
| context | Context to add geometry to |
| gap_center | Position of the gap center |
| gap_width | Width of the gap |
| wall_height | Height of the walls |
| wall_distance | Distance from origin to walls |
Definition at line 72 of file selfTest.cpp.
| std::vector< uint > CollisionTests::createSymmetricTwinGaps | ( | Context * | context, |
| float | gap_separation, | ||
| float | gap_width, | ||
| float | wall_distance = 3.0f |
||
| ) |
Create twin gaps at symmetric positions for preference testing.
| context | Context to add geometry to |
| gap_separation | Distance between gap centers |
| gap_width | Width of each gap |
| wall_distance | Distance from origin to walls |
Definition at line 133 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection - BVH Layout Conversion Methods" | ) |
Definition at line 3584 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection - BVH Optimization Mode Management" | ) |
Definition at line 3458 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection - Error Handling and Edge Cases" | ) |
Definition at line 3804 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection - findNearestPrimitiveDistance front/back face detection" | ) |
Definition at line 2029 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection - Memory and Statistics Validation" | ) |
Definition at line 3850 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection - Optimized Ray Casting Correctness" | ) |
Definition at line 3490 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection - Ray Streaming Interface" | ) |
Definition at line 3539 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection - RayPacket Edge Cases and Functionality" | ) |
Definition at line 3632 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection - RayStream Batch Management" | ) |
Definition at line 3690 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection - SoA Precision Validation" | ) |
Definition at line 3758 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Automatic BVH Building" | ) |
Definition at line 906 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Basic Collision Detection" | ) |
Definition at line 217 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Batch Ray Casting" | ) |
Definition at line 3162 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection BVH Construction" | ) |
Definition at line 197 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection BVH Statistics" | ) |
Definition at line 246 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection BVH Validity Persistence" | ) |
Definition at line 575 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection calculateVoxelPathLengths Enhanced Method" | ) |
Definition at line 5303 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Complex Geometry - Multi-Patch Accuracy" | ) |
Definition at line 4718 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Complex Geometry - Multi-Primitive Accuracy" | ) |
Definition at line 4403 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Complex Geometry - Multi-Voxel Accuracy" | ) |
Definition at line 4844 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Complex Geometry - Stress Test Validation" | ) |
Definition at line 4487 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Cone-Based Obstacle Detection - Basic Functionality" | ) |
Definition at line 2079 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Cone-Based Parameter Validation" | ) |
Definition at line 2195 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Cone-Based Triangle vs Patch Intersection" | ) |
Definition at line 2158 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Cone-Based vs Legacy Method Comparison" | ) |
Definition at line 2119 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection CPU vs GPU Consistency - Large Scale" | ) |
Definition at line 1615 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection CPU vs GPU Consistency - Small Scale" | ) |
Definition at line 1581 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Edge Case - Boundary Touching" | ) |
Definition at line 1716 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Edge Case - Very Small Overlaps" | ) |
Definition at line 1746 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Empty Geometry Handling" | ) |
Definition at line 270 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Empty Input Handling" | ) |
Definition at line 411 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection findNearestPrimitiveDistance - Basic Functionality" | ) |
Definition at line 1882 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection findNearestPrimitiveDistance - Complex Scenarios" | ) |
Definition at line 1953 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection findNearestPrimitiveDistance - Directional Testing" | ) |
Definition at line 1987 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection findNearestPrimitiveDistance - Edge Cases" | ) |
Definition at line 1917 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection findOptimalConePath Accuracy - Angular Precision" | ) |
Definition at line 1316 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection findOptimalConePath Accuracy - Distance-Based Priority" | ) |
Definition at line 1361 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection findOptimalConePath Accuracy - Edge Case Geometry" | ) |
Definition at line 1441 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection findOptimalConePath Accuracy - Single Gap Tests" | ) |
Definition at line 1217 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection findOptimalConePath Accuracy - Symmetric Twin Gaps" | ) |
Definition at line 1274 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection findOptimalConePath Basic Functionality" | ) |
Definition at line 1067 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection findOptimalConePath Edge Cases" | ) |
Definition at line 1141 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection findOptimalConePath Gap Detection" | ) |
Definition at line 1094 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Finite Cone Height" | ) |
Definition at line 1183 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Floating-Point Precision - Boundary Conditions" | ) |
Definition at line 4365 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Floating-Point Precision - Extreme Values" | ) |
Definition at line 4294 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Floating-Point Precision - Near-Parallel Rays" | ) |
Definition at line 4336 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Generic Ray Casting - Basic Functionality" | ) |
Definition at line 3078 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Generic Ray Casting - CollisionDetection::RayQuery Structure" | ) |
Definition at line 3124 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection GPU Acceleration" | ) |
Definition at line 792 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection GPU-Specific - Direct castRaysGPU Testing" | ) |
Definition at line 4175 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection GPU-Specific - Error Handling and Edge Cases" | ) |
Definition at line 4239 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection GPU/CPU Message Display" | ) |
Definition at line 845 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection GPU/CPU Mode Switching" | ) |
Definition at line 314 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection GPU/CPU Ray Casting Parity" | ) |
Definition at line 5867 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Grid Ray Intersection" | ) |
Definition at line 3203 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Invalid Object ID Error Handling" | ) |
Definition at line 431 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Invalid UUID Handling" | ) |
Definition at line 290 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Invalid UUIDs in BuildBVH" | ) |
Definition at line 362 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Large Geometry Handling" | ) |
Definition at line 496 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Manual BVH Rebuild" | ) |
Definition at line 457 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Mathematical Accuracy - Barycentric Coordinate Validation" | ) |
Definition at line 4138 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Mathematical Accuracy - Edge Case Intersections" | ) |
Definition at line 4101 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Mathematical Accuracy - Ray-Patch Edge Cases" | ) |
Definition at line 4686 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Mathematical Accuracy - Ray-Patch Intersection" | ) |
Definition at line 4655 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Mathematical Accuracy - Ray-Triangle Intersection Algorithms" | ) |
Definition at line 4066 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Mathematical Accuracy - Ray-Voxel Edge Cases" | ) |
Definition at line 4810 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Mathematical Accuracy - Ray-Voxel Intersection" | ) |
Definition at line 4783 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Memory Stress - Progressive Loading" | ) |
Definition at line 1858 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Message Control" | ) |
Definition at line 482 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Negative Test - Patch vs Distant Model" | ) |
Definition at line 1682 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Negative Test - Well Separated Primitives" | ) |
Definition at line 1651 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Null Context Error Handling" | ) |
Definition at line 346 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Overlapping AABB Primitives" | ) |
Definition at line 551 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Performance - BVH Construction Time" | ) |
Definition at line 1833 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Performance Regression - BVH Construction Timing" | ) |
Definition at line 4534 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Performance Regression - Memory Usage Validation" | ) |
Definition at line 4613 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Performance Regression - Ray Casting Throughput" | ) |
Definition at line 4571 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Plugin Initialization" | ) |
Definition at line 150 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Primitive/Object Collision Detection" | ) |
Definition at line 386 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Ray Casting - Compatibility with Other Plugin Methods" | ) |
Definition at line 3430 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Ray Casting - Edge Cases and Error Handling" | ) |
Definition at line 3320 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Ray Casting - Integration with Existing BVH" | ) |
Definition at line 3398 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Ray Casting - Normal Calculation" | ) |
Definition at line 3281 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Ray Casting - Performance and Scalability" | ) |
Definition at line 3358 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Ray Classification - Basic getVoxelRayHitCounts Functionality" | ) |
Definition at line 4926 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Ray Classification - Beer's Law Integration Test" | ) |
Definition at line 5202 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Ray Classification - Beer's Law Scenario with Geometry" | ) |
Definition at line 5033 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Ray Classification - Edge Cases and Boundary Conditions" | ) |
Definition at line 5091 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Ray Classification - Error Handling and Invalid Inputs" | ) |
Definition at line 5151 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Ray Classification - getVoxelRayPathLengths Individual Lengths" | ) |
Definition at line 4976 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Ray Path Lengths Detailed" | ) |
Definition at line 3240 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Real Geometry - PLY File Loading" | ) |
Definition at line 1778 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Restricted Geometry - Error Handling" | ) |
Definition at line 1022 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Restricted Geometry - Object IDs" | ) |
Definition at line 991 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Restricted Geometry - UUIDs Only" | ) |
Definition at line 950 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Scale Test - 1000 Primitives" | ) |
Definition at line 1545 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Scale Test - 10000 Primitives" | ) |
Definition at line 1562 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Single Primitive Edge Case" | ) |
Definition at line 526 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Soft/Hard Detection Integration - BVH Rebuild Behavior" | ) |
Definition at line 742 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Soft/Hard Detection Integration - BVH Sharing" | ) |
Definition at line 594 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Soft/Hard Detection Integration - Different Geometry Sets" | ) |
Definition at line 690 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Soft/Hard Detection Integration - Sequential Calls" | ) |
Definition at line 643 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Voxel Primitive Intersection - Basic Ray-AABB Tests" | ) |
Definition at line 3915 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Voxel Primitive Intersection - GPU vs CPU Consistency" | ) |
Definition at line 4010 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Voxel Primitive Intersection - Multiple Voxels" | ) |
Definition at line 3968 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Voxel Ray Path Length - Basic Functionality" | ) |
Definition at line 2230 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Voxel Ray Path Length - Data Consistency" | ) |
Definition at line 2309 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Voxel Ray Path Length - Different Grid Sizes" | ) |
Definition at line 2405 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Voxel Ray Path Length - Edge Case Ray Geometries" | ) |
Definition at line 2998 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Voxel Ray Path Length - Edge Cases" | ) |
Definition at line 2270 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Voxel Ray Path Length - Error Recovery and State Management" | ) |
Definition at line 2789 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Voxel Ray Path Length - GPU/CPU Consistency" | ) |
Definition at line 2505 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Voxel Ray Path Length - Integration with BVH" | ) |
Definition at line 2927 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Voxel Ray Path Length - Manual Data Setting" | ) |
Definition at line 2357 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Voxel Ray Path Length - Mathematical Validation" | ) |
Definition at line 2643 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Voxel Ray Path Length - Memory and Performance Stress" | ) |
Definition at line 2853 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Voxel Ray Path Length - Numerical Precision" | ) |
Definition at line 2702 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Voxel Ray Path Length - Parameter Validation" | ) |
Definition at line 2572 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection Voxel Ray Path Length - Ray Direction Variations" | ) |
Definition at line 2454 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection VoxelIntersection Integration - Areas after slicing (non-textured)" | ) |
Definition at line 5607 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection VoxelIntersection Integration - Basic functionality test" | ) |
Definition at line 5702 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection VoxelIntersection Integration - calculatePrimitiveVoxelIntersection Axis-Aligned" | ) |
Definition at line 5759 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection VoxelIntersection Integration - calculatePrimitiveVoxelIntersection Basic" | ) |
Definition at line 5727 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection VoxelIntersection Integration - calculatePrimitiveVoxelIntersection Empty Inputs" | ) |
Definition at line 5824 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection VoxelIntersection Integration - calculatePrimitiveVoxelIntersection Multiple Voxels" | ) |
Definition at line 5788 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection VoxelIntersection Integration - calculatePrimitiveVoxelIntersection Specific UUIDs" | ) |
Definition at line 5844 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection VoxelIntersection Integration - Cropping non-textured primitives" | ) |
Definition at line 5661 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection VoxelIntersection Integration - Cropping textured primitives" | ) |
Definition at line 5681 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection VoxelIntersection Integration - Patch with 2 slices" | ) |
Definition at line 5567 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection VoxelIntersection Integration - Patch with 3 slices and no vertices inside voxel" | ) |
Definition at line 5587 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection VoxelIntersection Integration - Patch with no slices" | ) |
Definition at line 5527 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection VoxelIntersection Integration - Patch with one slice" | ) |
Definition at line 5547 of file selfTest.cpp.
| DOCTEST_TEST_CASE | ( | "CollisionDetection VoxelIntersection Integration - Textured areas after slicing" | ) |
Definition at line 5634 of file selfTest.cpp.
| std::vector< uint > CollisionTests::generateOverlappingCluster | ( | Context * | context, |
| int | count, | ||
| vec3 | center = make_vec3(0, 0, 0) |
||
| ) |
Generate overlapping primitive cluster for positive testing.
Definition at line 49 of file selfTest.cpp.
| std::vector< uint > CollisionTests::generateSeparatedTriangles | ( | Context * | context, |
| int | count, | ||
| float | separation = 5.0f |
||
| ) |
Generate non-overlapping primitives for negative testing.
Definition at line 36 of file selfTest.cpp.
Measure angular error between two directions in radians.
| actual | The actual direction vector (should be normalized) |
| expected | The expected direction vector (should be normalized) |
Definition at line 115 of file selfTest.cpp.