Program Listing for File nest_light.hpp
↰ Return to documentation for file (cosm/repr/nest_light.hpp
)
#pragma once
/*******************************************************************************
* Includes
******************************************************************************/
#include <string>
#include <argos3/plugins/simulator/entities/light_entity.h>
#include "rcppsw/math/vector3.hpp"
#include "rcppsw/spatial/euclidean_dist.hpp"
#include "rcppsw/types/type_uuid.hpp"
#include "cosm/cosm.hpp"
#include "cosm/repr/colored_entity.hpp"
/*******************************************************************************
* Namespaces/Decls
******************************************************************************/
namespace cosm::pal::argos {
class swarm_manager_adaptor;
} // namespace cosm::pal::argos
namespace cosm::repr {
/*******************************************************************************
* Class Definitions
******************************************************************************/
class nest_light final : public repr::colored_entity {
public:
nest_light(const std::string& name,
const rmath::vector3d& loc,
const rutils::color& color,
double intensity);
nest_light(const nest_light&) = default;
/* Not move constructable/assignable or copy assignable by default */
nest_light& operator=(const nest_light&) = delete;
nest_light(nest_light&&) = delete;
nest_light& operator=(nest_light&&) = delete;
void initialize(cpargos::swarm_manager_adaptor* sm);
private:
/* clang-format off */
::argos::CLightEntity* m_impl;
/* clang-format on */
};
} /* namespace cosm::repr */