/* * KdTree.cpp * RVO2-3D Library * * Copyright 2008 University of North Carolina at Chapel Hill * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Please send all bug reports to <[email protected]>. * * The authors may be contacted via: * * Jur van den Berg, Stephen J. Guy, Jamie Snape, Ming C. Lin, Dinesh Manocha * Dept. of Computer Science * 201 S. Columbia St. * Frederick P. Brooks, Jr. Computer Science Bldg. * Chapel Hill, N.C. 27599-3175 * United States of America * * <https://gamma.cs.unc.edu/RVO2/> */ #include "KdTree3d.h" #include <algorithm> #include "Agent3d.h" #include "Definitions.h" #include "RVOSimulator3d.h" namespace RVO3D { const size_t RVO3D_MAX_LEAF_SIZE = …; KdTree3D::KdTree3D(RVOSimulator3D *sim) : … { … } void KdTree3D::buildAgentTree(std::vector<Agent3D *> agents) { … } void KdTree3D::buildAgentTreeRecursive(size_t begin, size_t end, size_t node) { … } void KdTree3D::computeAgentNeighbors(Agent3D *agent, float rangeSq) const { … } void KdTree3D::queryAgentTreeRecursive(Agent3D *agent, float &rangeSq, size_t node) const { … } }