Program Listing for File polar_force.hpp

Return to documentation for file (cosm/apf2D/nav/polar_force.hpp)

#pragma once

/*******************************************************************************
 * Includes
 ******************************************************************************/
#include "rcppsw/rcppsw.hpp"

#include "cosm/apf2D/boid.hpp"
#include "cosm/apf2D/base_force.hpp"

/*******************************************************************************
 * Namespaces/Decls
 ******************************************************************************/
namespace cosm::apf2D::nav {

namespace config {
struct polar_force_config;
} /* namespace config */

/*******************************************************************************
 * Class Definitions
 ******************************************************************************/

class polar_force : public capf2D::base_force {
 public:
  explicit polar_force(const config::polar_force_config* config);

  rmath::vector2d operator()(const boid& entity,
                             const rmath::vector2d& source) const;

 private:
  const double mc_max;
};

} /* namespace cosm::apf2D::nav */