状态处理函数集合,全部需要子类重新填充内容 More...
#include <FSM_protected.h>
Data Fields | |
int(** | selectNextState )(void *data, FSMSignals *signals) |
void(** | transitionTable )(void *data) |
void(* | transitionGeneralAction )(void *data) |
void(** | enterActionTable )(void *data, FSM **cFSM) |
void(** | duringActionTable )(void *data, FSM **cFSM) |
void(** | exitActionTable )(void *data, FSM **cFSM) |
void(** | childFSMStepTable )(FSM **cFSM) |
状态处理函数集合,全部需要子类重新填充内容
这个结构体是私有变量,子状态机和外界都不该访问。但是写在FSM_protect.h文件,这样方便在子类中添加函数。不然添加函数得再写个函数添加, 有点麻烦
int(** FSMHandler::selectNextState) (void *data, FSMSignals *signals) |
每个状态配置的状态选择函数
void(** FSMHandler::transitionTable) (void *data) |
状态转移函数表
void(* FSMHandler::transitionGeneralAction) (void *data) |
通用状态转移函数,不论有没有独立的状态转移函数都会执行
void(** FSMHandler::enterActionTable) (void *data, FSM **cFSM) |
进入状态时运行的函数,和plecs对标
void(** FSMHandler::duringActionTable) (void *data, FSM **cFSM) |
状态不变时运行的函数,和plecs对标
void(** FSMHandler::exitActionTable) (void *data, FSM **cFSM) |
状态退出时运行的函数,和plecs对标
void(** FSMHandler::childFSMStepTable) (FSM **cFSM) |