Program Listing for File embodied_cube_block.hpp
↰ Return to documentation for file (cosm/argos/embodied_cube_block.hpp
)
#pragma once
/*******************************************************************************
* Includes
******************************************************************************/
#include <memory>
#include <utility>
#include "cosm/argos/cube_block_embodiment.hpp"
#include "cosm/hal/hal.hpp"
#include "cosm/repr/cube_block3D.hpp"
#include "cosm/repr/embodied_entity.hpp"
/*******************************************************************************
* Namespaces
******************************************************************************/
namespace cosm::argos {
/*******************************************************************************
* Class Definitions
******************************************************************************/
class embodied_cube_block final
: public crepr::cube_block3D,
public repr::embodied_entity<cube_block_embodiment> {
public:
using embodiment_type = cube_block_embodiment;
embodied_cube_block(const rtypes::type_uuid& id,
const rmath::vector3d& dim,
const rtypes::discretize_ratio& arena_res,
std::unique_ptr<cube_block_embodiment> embodiment)
: cube_block3D(id, dim, arena_res),
embodied_entity(std::move(embodiment)) {}
~embodied_cube_block(void) override = default;
};
} /* namespace cosm::argos */