Program Listing for File flocking_config.hpp

Return to documentation for file (cosm/flocking/config/flocking_config.hpp)

#pragma once

/*******************************************************************************
  * Includes
******************************************************************************/
#include <string>
#include <boost/optional.hpp>

#include "rcppsw/config/base_config.hpp"

#include "cosm/cosm.hpp"
#include "cosm/flocking/config/stoch_fov_config.hpp"
#include "cosm/nav/config/trajectory_config.hpp"

/*******************************************************************************
  * Namespaces
******************************************************************************/
namespace cosm::flocking::config {

/*******************************************************************************
  * Structure Definitions
******************************************************************************/
struct flocking_config final : public rconfig::base_config {
  std::string strategy{rconfig::constants::kNoValue};

  double leader_sel_prob{0};

  stoch_fov_config stoch_fov{};

  boost::optional<cnconfig::trajectory_config> trajectory{boost::none};
};

} /* namespace cosm::flocking::config */