class OpensimLib::OpensimInterface

class OpensimInterface: public object {
public:
    // fields

     n_step;
     integrator_accuracy;
     max_forces;
     cur_forces;
     step_size;
     model;
     brain;
     muscle_set;
     state;
     manager;
     stage;
     joint_set;
     force_set;
     coordinate_set;

    // methods

    def __init__(
        self self,
        model_name model_name,
        start_visualizer start_visualizer,
        time_step time_step,
        extra_params extra_params
    );

    def run_one_step(self self, action action, timestep_ns timestep_ns);
    def reset(self self);
    def shutdown(self self);
    def actuate(self self, action action);
    def get_model_properties(self self, p_type p_type);
    def get_model_property(self self, p_name p_name, p_type p_type);
    def get_model_all_properties(self self, p_type p_type);
    def get_sim_time(self self);
};