1.3.49
 
Loading...
Searching...
No Matches
selfTest.cpp File Reference
#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< uintCollisionTests::generateSeparatedTriangles (Context *context, int count, float separation=5.0f)
 Generate non-overlapping primitives for negative testing.
 
std::vector< uintCollisionTests::generateOverlappingCluster (Context *context, int count, vec3 center=make_vec3(0, 0, 0))
 Generate overlapping primitive cluster for positive testing.
 
std::vector< uintCollisionTests::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< uintCollisionTests::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")
 

Detailed Description

Self-test routines for collision detection plugin

Copyright (C) 2016-2025 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.

Macro Definition Documentation

◆ DOCTEST_CONFIG_IMPLEMENT

#define DOCTEST_CONFIG_IMPLEMENT

Definition at line 17 of file selfTest.cpp.

Function Documentation

◆ calculateGapCenterDirection()

vec3 CollisionTests::calculateGapCenterDirection ( vec3  apex,
vec3  gap_center 
)

Calculate the analytical optimal direction to a gap center.

Parameters
apexStarting point of the cone
gap_centerCenter of the gap
Returns
Normalized direction vector pointing toward gap center

Definition at line 104 of file selfTest.cpp.

◆ createParallelWallsWithGap()

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.

Parameters
contextContext to add geometry to
gap_centerPosition of the gap center
gap_widthWidth of the gap
wall_heightHeight of the walls
wall_distanceDistance from origin to walls
Returns
Vector of created primitive UUIDs

Definition at line 72 of file selfTest.cpp.

◆ createSymmetricTwinGaps()

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.

Parameters
contextContext to add geometry to
gap_separationDistance between gap centers
gap_widthWidth of each gap
wall_distanceDistance from origin to walls
Returns
Vector of created primitive UUIDs

Definition at line 133 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [1/119]

DOCTEST_TEST_CASE ( "CollisionDetection - BVH Layout Conversion Methods"  )

Definition at line 3508 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [2/119]

DOCTEST_TEST_CASE ( "CollisionDetection - BVH Optimization Mode Management"  )

Definition at line 3382 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [3/119]

DOCTEST_TEST_CASE ( "CollisionDetection - Error Handling and Edge Cases"  )

Definition at line 3728 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [4/119]

DOCTEST_TEST_CASE ( "CollisionDetection - findNearestPrimitiveDistance front/back face detection"  )

Definition at line 1976 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [5/119]

DOCTEST_TEST_CASE ( "CollisionDetection - Memory and Statistics Validation"  )

Definition at line 3774 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [6/119]

DOCTEST_TEST_CASE ( "CollisionDetection - Optimized Ray Casting Correctness"  )

Definition at line 3414 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [7/119]

DOCTEST_TEST_CASE ( "CollisionDetection - Ray Streaming Interface"  )

Definition at line 3463 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [8/119]

DOCTEST_TEST_CASE ( "CollisionDetection - RayPacket Edge Cases and Functionality"  )

Definition at line 3556 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [9/119]

DOCTEST_TEST_CASE ( "CollisionDetection - RayStream Batch Management"  )

Definition at line 3614 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [10/119]

DOCTEST_TEST_CASE ( "CollisionDetection - SoA Precision Validation"  )

Definition at line 3682 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [11/119]

DOCTEST_TEST_CASE ( "CollisionDetection Automatic BVH Building"  )

Definition at line 877 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [12/119]

DOCTEST_TEST_CASE ( "CollisionDetection Basic Collision Detection"  )

Definition at line 212 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [13/119]

DOCTEST_TEST_CASE ( "CollisionDetection Batch Ray Casting"  )

Definition at line 3088 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [14/119]

DOCTEST_TEST_CASE ( "CollisionDetection BVH Construction"  )

Definition at line 192 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [15/119]

DOCTEST_TEST_CASE ( "CollisionDetection BVH Statistics"  )

Definition at line 241 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [16/119]

DOCTEST_TEST_CASE ( "CollisionDetection BVH Validity Persistence"  )

Definition at line 564 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [17/119]

DOCTEST_TEST_CASE ( "CollisionDetection calculateVoxelPathLengths Enhanced Method"  )

Definition at line 5214 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [18/119]

DOCTEST_TEST_CASE ( "CollisionDetection Complex Geometry - Multi-Patch Accuracy"  )

Definition at line 4638 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [19/119]

DOCTEST_TEST_CASE ( "CollisionDetection Complex Geometry - Multi-Primitive Accuracy"  )

Definition at line 4323 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [20/119]

DOCTEST_TEST_CASE ( "CollisionDetection Complex Geometry - Multi-Voxel Accuracy"  )

Definition at line 4764 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [21/119]

DOCTEST_TEST_CASE ( "CollisionDetection Complex Geometry - Stress Test Validation"  )

Definition at line 4407 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [22/119]

DOCTEST_TEST_CASE ( "CollisionDetection Cone-Based Obstacle Detection - Basic Functionality"  )

Definition at line 2025 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [23/119]

DOCTEST_TEST_CASE ( "CollisionDetection Cone-Based Parameter Validation"  )

Definition at line 2138 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [24/119]

DOCTEST_TEST_CASE ( "CollisionDetection Cone-Based Triangle vs Patch Intersection"  )

Definition at line 2102 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [25/119]

DOCTEST_TEST_CASE ( "CollisionDetection Cone-Based vs Legacy Method Comparison"  )

Definition at line 2064 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [26/119]

DOCTEST_TEST_CASE ( "CollisionDetection CPU vs GPU Consistency - Large Scale"  )

Definition at line 1586 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [27/119]

DOCTEST_TEST_CASE ( "CollisionDetection CPU vs GPU Consistency - Small Scale"  )

Definition at line 1552 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [28/119]

DOCTEST_TEST_CASE ( "CollisionDetection Edge Case - Boundary Touching"  )

Definition at line 1675 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [29/119]

DOCTEST_TEST_CASE ( "CollisionDetection Edge Case - Very Small Overlaps"  )

Definition at line 1701 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [30/119]

DOCTEST_TEST_CASE ( "CollisionDetection Empty Geometry Handling"  )

Definition at line 265 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [31/119]

DOCTEST_TEST_CASE ( "CollisionDetection Empty Input Handling"  )

Definition at line 402 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [32/119]

DOCTEST_TEST_CASE ( "CollisionDetection findNearestPrimitiveDistance - Basic Functionality"  )

Definition at line 1829 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [33/119]

DOCTEST_TEST_CASE ( "CollisionDetection findNearestPrimitiveDistance - Complex Scenarios"  )

Definition at line 1900 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [34/119]

DOCTEST_TEST_CASE ( "CollisionDetection findNearestPrimitiveDistance - Directional Testing"  )

Definition at line 1934 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [35/119]

DOCTEST_TEST_CASE ( "CollisionDetection findNearestPrimitiveDistance - Edge Cases"  )

Definition at line 1864 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [36/119]

DOCTEST_TEST_CASE ( "CollisionDetection findOptimalConePath Accuracy - Angular Precision"  )

Definition at line 1287 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [37/119]

DOCTEST_TEST_CASE ( "CollisionDetection findOptimalConePath Accuracy - Distance-Based Priority"  )

Definition at line 1332 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [38/119]

DOCTEST_TEST_CASE ( "CollisionDetection findOptimalConePath Accuracy - Edge Case Geometry"  )

Definition at line 1412 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [39/119]

DOCTEST_TEST_CASE ( "CollisionDetection findOptimalConePath Accuracy - Single Gap Tests"  )

Definition at line 1188 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [40/119]

DOCTEST_TEST_CASE ( "CollisionDetection findOptimalConePath Accuracy - Symmetric Twin Gaps"  )

Definition at line 1245 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [41/119]

DOCTEST_TEST_CASE ( "CollisionDetection findOptimalConePath Basic Functionality"  )

Definition at line 1038 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [42/119]

DOCTEST_TEST_CASE ( "CollisionDetection findOptimalConePath Edge Cases"  )

Definition at line 1112 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [43/119]

DOCTEST_TEST_CASE ( "CollisionDetection findOptimalConePath Gap Detection"  )

Definition at line 1065 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [44/119]

DOCTEST_TEST_CASE ( "CollisionDetection Finite Cone Height"  )

Definition at line 1154 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [45/119]

DOCTEST_TEST_CASE ( "CollisionDetection Floating-Point Precision - Boundary Conditions"  )

Definition at line 4285 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [46/119]

DOCTEST_TEST_CASE ( "CollisionDetection Floating-Point Precision - Extreme Values"  )

Definition at line 4214 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [47/119]

DOCTEST_TEST_CASE ( "CollisionDetection Floating-Point Precision - Near-Parallel Rays"  )

Definition at line 4256 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [48/119]

DOCTEST_TEST_CASE ( "CollisionDetection Generic Ray Casting - Basic Functionality"  )

Definition at line 3004 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [49/119]

DOCTEST_TEST_CASE ( "CollisionDetection Generic Ray Casting - CollisionDetection::RayQuery Structure"  )

Definition at line 3050 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [50/119]

DOCTEST_TEST_CASE ( "CollisionDetection GPU Acceleration"  )

Definition at line 780 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [51/119]

DOCTEST_TEST_CASE ( "CollisionDetection GPU-Specific - Direct castRaysGPU Testing"  )

Definition at line 4095 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [52/119]

DOCTEST_TEST_CASE ( "CollisionDetection GPU-Specific - Error Handling and Edge Cases"  )

Definition at line 4159 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [53/119]

DOCTEST_TEST_CASE ( "CollisionDetection GPU/CPU Message Display"  )

Definition at line 829 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [54/119]

DOCTEST_TEST_CASE ( "CollisionDetection GPU/CPU Mode Switching"  )

Definition at line 309 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [55/119]

DOCTEST_TEST_CASE ( "CollisionDetection Grid Ray Intersection"  )

Definition at line 3129 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [56/119]

DOCTEST_TEST_CASE ( "CollisionDetection Invalid Object ID Error Handling"  )

Definition at line 422 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [57/119]

DOCTEST_TEST_CASE ( "CollisionDetection Invalid UUID Handling"  )

Definition at line 285 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [58/119]

DOCTEST_TEST_CASE ( "CollisionDetection Invalid UUIDs in BuildBVH"  )

Definition at line 353 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [59/119]

DOCTEST_TEST_CASE ( "CollisionDetection Large Geometry Handling"  )

Definition at line 485 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [60/119]

DOCTEST_TEST_CASE ( "CollisionDetection Manual BVH Rebuild"  )

Definition at line 448 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [61/119]

DOCTEST_TEST_CASE ( "CollisionDetection Mathematical Accuracy - Barycentric Coordinate Validation"  )

Definition at line 4058 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [62/119]

DOCTEST_TEST_CASE ( "CollisionDetection Mathematical Accuracy - Edge Case Intersections"  )

Definition at line 4021 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [63/119]

DOCTEST_TEST_CASE ( "CollisionDetection Mathematical Accuracy - Ray-Patch Edge Cases"  )

Definition at line 4606 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [64/119]

DOCTEST_TEST_CASE ( "CollisionDetection Mathematical Accuracy - Ray-Patch Intersection"  )

Definition at line 4575 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [65/119]

DOCTEST_TEST_CASE ( "CollisionDetection Mathematical Accuracy - Ray-Triangle Intersection Algorithms"  )

Definition at line 3986 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [66/119]

DOCTEST_TEST_CASE ( "CollisionDetection Mathematical Accuracy - Ray-Voxel Edge Cases"  )

Definition at line 4730 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [67/119]

DOCTEST_TEST_CASE ( "CollisionDetection Mathematical Accuracy - Ray-Voxel Intersection"  )

Definition at line 4703 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [68/119]

DOCTEST_TEST_CASE ( "CollisionDetection Memory Stress - Progressive Loading"  )

Definition at line 1805 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [69/119]

DOCTEST_TEST_CASE ( "CollisionDetection Message Control"  )

Definition at line 473 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [70/119]

DOCTEST_TEST_CASE ( "CollisionDetection Negative Test - Patch vs Distant Model"  )

Definition at line 1645 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [71/119]

DOCTEST_TEST_CASE ( "CollisionDetection Negative Test - Well Separated Primitives"  )

Definition at line 1618 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [72/119]

DOCTEST_TEST_CASE ( "CollisionDetection Null Context Error Handling"  )

Definition at line 337 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [73/119]

DOCTEST_TEST_CASE ( "CollisionDetection Overlapping AABB Primitives"  )

Definition at line 540 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [74/119]

DOCTEST_TEST_CASE ( "CollisionDetection Performance - BVH Construction Time"  )

Definition at line 1780 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [75/119]

DOCTEST_TEST_CASE ( "CollisionDetection Performance Regression - BVH Construction Timing"  )

Definition at line 4454 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [76/119]

DOCTEST_TEST_CASE ( "CollisionDetection Performance Regression - Memory Usage Validation"  )

Definition at line 4533 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [77/119]

DOCTEST_TEST_CASE ( "CollisionDetection Performance Regression - Ray Casting Throughput"  )

Definition at line 4491 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [78/119]

DOCTEST_TEST_CASE ( "CollisionDetection Plugin Initialization"  )

Definition at line 150 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [79/119]

DOCTEST_TEST_CASE ( "CollisionDetection Primitive/Object Collision Detection"  )

Definition at line 377 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [80/119]

DOCTEST_TEST_CASE ( "CollisionDetection Ray Casting - Compatibility with Other Plugin Methods"  )

Definition at line 3354 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [81/119]

DOCTEST_TEST_CASE ( "CollisionDetection Ray Casting - Edge Cases and Error Handling"  )

Definition at line 3246 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [82/119]

DOCTEST_TEST_CASE ( "CollisionDetection Ray Casting - Integration with Existing BVH"  )

Definition at line 3322 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [83/119]

DOCTEST_TEST_CASE ( "CollisionDetection Ray Casting - Normal Calculation"  )

Definition at line 3207 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [84/119]

DOCTEST_TEST_CASE ( "CollisionDetection Ray Casting - Performance and Scalability"  )

Definition at line 3284 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [85/119]

DOCTEST_TEST_CASE ( "CollisionDetection Ray Classification - Basic getVoxelRayHitCounts Functionality"  )

Definition at line 4846 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [86/119]

DOCTEST_TEST_CASE ( "CollisionDetection Ray Classification - Beer's Law Integration Test"  )

Definition at line 5113 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [87/119]

DOCTEST_TEST_CASE ( "CollisionDetection Ray Classification - Beer's Law Scenario with Geometry"  )

Definition at line 4953 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [88/119]

DOCTEST_TEST_CASE ( "CollisionDetection Ray Classification - Edge Cases and Boundary Conditions"  )

Definition at line 5011 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [89/119]

DOCTEST_TEST_CASE ( "CollisionDetection Ray Classification - Error Handling and Invalid Inputs"  )

Definition at line 5071 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [90/119]

DOCTEST_TEST_CASE ( "CollisionDetection Ray Classification - getVoxelRayPathLengths Individual Lengths"  )

Definition at line 4896 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [91/119]

DOCTEST_TEST_CASE ( "CollisionDetection Ray Path Lengths Detailed"  )

Definition at line 3166 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [92/119]

DOCTEST_TEST_CASE ( "CollisionDetection Real Geometry - PLY File Loading"  )

Definition at line 1729 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [93/119]

DOCTEST_TEST_CASE ( "CollisionDetection Restricted Geometry - Error Handling"  )

Definition at line 993 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [94/119]

DOCTEST_TEST_CASE ( "CollisionDetection Restricted Geometry - Object IDs"  )

Definition at line 962 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [95/119]

DOCTEST_TEST_CASE ( "CollisionDetection Restricted Geometry - UUIDs Only"  )

Definition at line 921 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [96/119]

DOCTEST_TEST_CASE ( "CollisionDetection Scale Test - 1000 Primitives"  )

Definition at line 1516 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [97/119]

DOCTEST_TEST_CASE ( "CollisionDetection Scale Test - 10000 Primitives"  )

Definition at line 1533 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [98/119]

DOCTEST_TEST_CASE ( "CollisionDetection Single Primitive Edge Case"  )

Definition at line 515 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [99/119]

DOCTEST_TEST_CASE ( "CollisionDetection Soft/Hard Detection Integration - BVH Rebuild Behavior"  )

Definition at line 730 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [100/119]

DOCTEST_TEST_CASE ( "CollisionDetection Soft/Hard Detection Integration - BVH Sharing"  )

Definition at line 583 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [101/119]

DOCTEST_TEST_CASE ( "CollisionDetection Soft/Hard Detection Integration - Different Geometry Sets"  )

Definition at line 679 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [102/119]

DOCTEST_TEST_CASE ( "CollisionDetection Soft/Hard Detection Integration - Sequential Calls"  )

Definition at line 632 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [103/119]

DOCTEST_TEST_CASE ( "CollisionDetection Voxel Primitive Intersection - Basic Ray-AABB Tests"  )

Definition at line 3839 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [104/119]

DOCTEST_TEST_CASE ( "CollisionDetection Voxel Primitive Intersection - GPU vs CPU Consistency"  )

Definition at line 3934 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [105/119]

DOCTEST_TEST_CASE ( "CollisionDetection Voxel Primitive Intersection - Multiple Voxels"  )

Definition at line 3892 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [106/119]

DOCTEST_TEST_CASE ( "CollisionDetection Voxel Ray Path Length - Basic Functionality"  )

Definition at line 2172 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [107/119]

DOCTEST_TEST_CASE ( "CollisionDetection Voxel Ray Path Length - Data Consistency"  )

Definition at line 2246 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [108/119]

DOCTEST_TEST_CASE ( "CollisionDetection Voxel Ray Path Length - Different Grid Sizes"  )

Definition at line 2340 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [109/119]

DOCTEST_TEST_CASE ( "CollisionDetection Voxel Ray Path Length - Edge Case Ray Geometries"  )

Definition at line 2924 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [110/119]

DOCTEST_TEST_CASE ( "CollisionDetection Voxel Ray Path Length - Edge Cases"  )

Definition at line 2211 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [111/119]

DOCTEST_TEST_CASE ( "CollisionDetection Voxel Ray Path Length - Error Recovery and State Management"  )

Definition at line 2715 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [112/119]

DOCTEST_TEST_CASE ( "CollisionDetection Voxel Ray Path Length - GPU/CPU Consistency"  )

Definition at line 2438 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [113/119]

DOCTEST_TEST_CASE ( "CollisionDetection Voxel Ray Path Length - Integration with BVH"  )

Definition at line 2853 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [114/119]

DOCTEST_TEST_CASE ( "CollisionDetection Voxel Ray Path Length - Manual Data Setting"  )

Definition at line 2293 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [115/119]

DOCTEST_TEST_CASE ( "CollisionDetection Voxel Ray Path Length - Mathematical Validation"  )

Definition at line 2572 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [116/119]

DOCTEST_TEST_CASE ( "CollisionDetection Voxel Ray Path Length - Memory and Performance Stress"  )

Definition at line 2779 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [117/119]

DOCTEST_TEST_CASE ( "CollisionDetection Voxel Ray Path Length - Numerical Precision"  )

Definition at line 2631 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [118/119]

DOCTEST_TEST_CASE ( "CollisionDetection Voxel Ray Path Length - Parameter Validation"  )

Definition at line 2501 of file selfTest.cpp.

◆ DOCTEST_TEST_CASE() [119/119]

DOCTEST_TEST_CASE ( "CollisionDetection Voxel Ray Path Length - Ray Direction Variations"  )

Definition at line 2388 of file selfTest.cpp.

◆ generateOverlappingCluster()

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.

◆ generateSeparatedTriangles()

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.

◆ measureAngularError()

float CollisionTests::measureAngularError ( vec3  actual,
vec3  expected 
)

Measure angular error between two directions in radians.

Parameters
actualThe actual direction vector (should be normalized)
expectedThe expected direction vector (should be normalized)
Returns
Angular deviation in radians

Definition at line 115 of file selfTest.cpp.