Program Listing for File block_pickup.hpp
↰ Return to documentation for file (cosm/repr/operations/block_pickup.hpp
)
#pragma once
/*******************************************************************************
* Includes
******************************************************************************/
#include "rcppsw/types/type_uuid.hpp"
#include "rcppsw/types/timestep.hpp"
#include "rcppsw/er/client.hpp"
#include "cosm/repr/operations/block_pickup_owner.hpp"
/*******************************************************************************
* Namespaces
******************************************************************************/
namespace cosm::repr {
class base_block3D;
} /* namespace cosm::repr */
namespace cosm::repr::operations {
/*******************************************************************************
* Class Definitions
******************************************************************************/
class block_pickup : public rer::client<block_pickup> {
public:
block_pickup(const rtypes::type_uuid& robot_id,
const rtypes::timestep& t);
virtual ~block_pickup(void) = default;
/* not copy constructible/assignable by default */
block_pickup(const block_pickup&) = delete;
block_pickup& operator=(const block_pickup&) = delete;
void visit(crepr::base_block3D& block,
const block_pickup_owner& owner);
private:
/* clang-format off */
const rtypes::timestep mc_timestep;
const rtypes::type_uuid mc_robot_id;
/* clang-format on */
};
} /* namespace cosm::repr::operations */