Class cell3D_fsm
Defined in File cell3D_fsm.hpp
Inheritance Relationships
Base Types
public rpfsm::simple_fsm
public rer::client< cell3D_fsm >
Class Documentation
-
class cell3D_fsm : public rpfsm::simple_fsm, public rer::client<cell3D_fsm>
Per-cell FSM containing the current state of the cell (empty, has a block, part of the extent of a block, etc.).
Public Types
-
using state = cell3D_state
Public Functions
-
cell3D_fsm(const cell3D_fsm &other)
Initialize a COPY of a class instance via copy construction.
This function is necessary to use this class with rcppsw::ds::grid3D.
My FSM paradigm uses MEMBER function pointers, so you need to initialize the state map cleanly WITHOUT copy construction (even though this is the copy constructor), otherwise all copies of the object will use the
other
object’s state map (default behavior in default copy constructor). Ifother
is destructed, then you will get a segfault due to dangling pointers.
-
cell3D_fsm(void)
-
~cell3D_fsm(void) override = default
-
void event_block_extent(void)
-
void event_block_place(void)
-
void event_empty(void)
-
void event_unknown(void)
-
cell3D_fsm &operator=(const cell3D_fsm&) = delete
-
inline bool state_has_block(void) const
-
inline bool state_in_block_extent(void) const
-
inline bool state_is_empty(void) const
-
inline bool state_is_known(void) const
-
using state = cell3D_state