31 #ifndef _ACTIONMODEL_H_ 32 #define _ACTIONMODEL_H_ 34 #include "../util/BoxSpaceProvider.h" 36 #include <Rcs_MatNd.h> 37 #include <Rcs_graph.h> 38 #include <Rcs_typedef.h> 79 virtual ActionModel* clone(RcsGraph* newGraph)
const = 0;
89 virtual void computeCommand(MatNd* q_des, MatNd* q_dot_des, MatNd* T_des,
const MatNd* action,
double dt) = 0;
106 virtual void getStableAction(MatNd* action)
const = 0;
113 void setGraph(RcsGraph* newGraph) { graph = newGraph; }
120 virtual ActionModel* getWrappedActionModel()
const;
141 template<
typename AM>
148 auto cast =
dynamic_cast<AM*
>(curr);
155 if (wrapped == NULL) {
169 template<
typename AM>
176 auto cast =
dynamic_cast<AM*
>(curr);
183 if (wrapped == NULL) {
virtual ActionModel * getWrappedActionModel() const
void setGraph(RcsGraph *newGraph)
const AM * unwrap() const
ActionModel * clone() const