#ifndef LOCOMOTORPRIMITIVES_CONTROLLER_H_ #define LOCOMOTORPRIMITIVES_CONTROLLER_H_ #include class LocomotorPrimitivesController : public OpenSim::Controller { OpenSim_DECLARE_CONCRETE_OBJECT(LocomotorPrimitivesController, OpenSim::Controller); public: LocomotorPrimitivesController(OpenSim::Storage act, double alpha) : OpenSim::Controller(), _act(act), _alpha(alpha) { _muscle_act = new double[act.getSmallestNumberOfStates()]; } ~LocomotorPrimitivesController() { delete[] _muscle_act; } void computeControls(const SimTK::State &s, SimTK::Vector &controls) const; private: double _alpha; double *_muscle_act; OpenSim::Storage _act; }; #endif /* LOCOMOTORPRIMITIVES_CONTROLLER_H_ */