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