diff options
Diffstat (limited to 'thirdparty/rvo2/Agent.h')
-rw-r--r-- | thirdparty/rvo2/Agent.h | 103 |
1 files changed, 50 insertions, 53 deletions
diff --git a/thirdparty/rvo2/Agent.h b/thirdparty/rvo2/Agent.h index 16f75a08f6..45fbead2f5 100644 --- a/thirdparty/rvo2/Agent.h +++ b/thirdparty/rvo2/Agent.h @@ -8,7 +8,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * 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, @@ -27,17 +27,15 @@ * Chapel Hill, N.C. 27599-3175 * United States of America * - * <http://gamma.cs.unc.edu/RVO2/> + * <https://gamma.cs.unc.edu/RVO2/> */ /** * \file Agent.h * \brief Contains the Agent class. */ -#ifndef RVO_AGENT_H_ -#define RVO_AGENT_H_ - -#include "API.h" +#ifndef RVO3D_AGENT_H_ +#define RVO3D_AGENT_H_ #include <cstddef> #include <utility> @@ -53,69 +51,68 @@ // - Moved the `Plane` class here. // - Added a new parameter `ignore_y_` in the `Agent`. This parameter is used to control a godot feature that allows to avoid collisions by moving on the horizontal plane. namespace RVO { -/** - * \brief Defines a plane. - */ -class Plane { -public: - /** - * \brief A point on the plane. - */ - Vector3 point; - - /** - * \brief The normal to the plane. - */ - Vector3 normal; -}; + /** + * \brief Defines a plane. + */ + class Plane { + public: + /** + * \brief A point on the plane. + */ + Vector3 point; -/** - * \brief Defines an agent in the simulation. - */ -class Agent { + /** + * \brief The normal to the plane. + */ + Vector3 normal; + }; -public: - /** + /** + * \brief Defines an agent in the simulation. + */ + class Agent { + public: + /** * \brief Constructs an agent instance. * \param sim The simulator instance. */ - explicit Agent(); + explicit Agent(); - /** + /** * \brief Computes the neighbors of this agent. */ - void computeNeighbors(class KdTree *kdTree_); + void computeNeighbors(class KdTree *kdTree_); - /** + /** * \brief Computes the new velocity of this agent. */ - void computeNewVelocity(float timeStep); + void computeNewVelocity(float timeStep); - /** + /** * \brief Inserts an agent neighbor into the set of neighbors of this agent. * \param agent A pointer to the agent to be inserted. * \param rangeSq The squared range around this agent. */ - void insertAgentNeighbor(const Agent *agent, float &rangeSq); + void insertAgentNeighbor(const Agent *agent, float &rangeSq); - Vector3 newVelocity_; - Vector3 position_; - Vector3 prefVelocity_; - Vector3 velocity_; - size_t id_; - size_t maxNeighbors_; - float maxSpeed_; - float neighborDist_; - float radius_; - float timeHorizon_; - std::vector<std::pair<float, const Agent *> > agentNeighbors_; - std::vector<Plane> orcaPlanes_; - /// This is a godot feature that allows the Agent to avoid collision by mooving - /// on the horizontal plane. - bool ignore_y_; + Vector3 newVelocity_; + Vector3 position_; + Vector3 prefVelocity_; + Vector3 velocity_; + size_t id_; + size_t maxNeighbors_; + float maxSpeed_; + float neighborDist_; + float radius_; + float timeHorizon_; + std::vector<std::pair<float, const Agent *> > agentNeighbors_; + std::vector<Plane> orcaPlanes_; + /// This is a godot feature that allows the Agent to avoid collision by mooving + /// on the horizontal plane. + bool ignore_y_; - friend class KdTree; -}; -} // namespace RVO + friend class KdTree; + }; +} -#endif /* RVO_AGENT_H_ */ +#endif /* RVO3D_AGENT_H_ */ |