Class free_block_pickup
Defined in File free_block_pickup.hpp
Nested Relationships
Nested Types
Inheritance Relationships
Base Types
public rer::client< free_block_pickup >
public cds::operations::cell2D_op
Class Documentation
-
class free_block_pickup : public rer::client<free_block_pickup>, public cds::operations::cell2D_op
Fired whenever a robot picks up a free block in the arena (i.e. one that is not part of a cache), OR when a block moves within the arena.
Public Types
-
using visit_typelist = visit_typelist_impl::value
Public Functions
-
free_block_pickup(const free_block_pickup&) = delete
-
~free_block_pickup(void) override = default
-
free_block_pickup &operator=(const free_block_pickup&) = delete
-
void visit(base_arena_map &map)
Perform actual block pickup in the arena.
Takes arena map grid mutex to protect grid updates. arena map block mutex assumed to be held when calling this function.
Public Static Functions
-
static free_block_pickup by_arena(crepr::sim_block3D *block)
-
static free_block_pickup by_robot(crepr::sim_block3D *block, const rtypes::type_uuid &robot_id, const rtypes::timestep &t, const locking &locking)
-
using visit_typelist = visit_typelist_impl::value