$ show snape/RVO2-3D
RVO2-3D is a C++ library implementing Optimal Reciprocal Collision Avoidance (ORCA) for multi-agent simulation in three-dimensional workspaces. It provides a simulator that manages agents with configurable parameters (radius, max speed, time horizon, etc.) and computes collision-free velocities each time step using a linear programming approach over ORCA half-planes. The library uses a k-d tree for efficient neighbor queries and optionally leverages OpenMP for parallel agent updates. The public API is exposed through the RVOSimulator class, with supporting types Vector3 and Plane. The codebase is written in C++98 for maximum compatibility, is thoroughly documented with Doxygen, and includes a single example (Sphere) that serves as both a demonstration and a test. The repository is well-maintained with CI across multiple platforms and build systems (CMake, Bazel), static analysis, and a quality declaration targeting ROS 2 Quality Level 2.
The LLM identified 1 files worth highlighting for reuse:
A self-contained 3D vector class with full arithmetic operators, dot product, cross product, normalization, and stream output. It has no internal dependencies beyond Export.h for DLL visibility. The implementation is clean, const-correct, and follows a value-semantics pattern. It could be extracted into any C++ project requiring 3D vector math with minimal modification.