.. _program_listing_file__tmp_ws_src_stomp_include_stomp_task.h: Program Listing for File task.h =============================== |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/stomp/include/stomp/task.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef STOMP_TASK_H_ #define STOMP_TASK_H_ #include #include #include namespace stomp { class Task; typedef std::shared_ptr TaskPtr; class Task { public: Task() {} virtual bool generateNoisyParameters(const Eigen::MatrixXd& parameters, std::size_t start_timestep, std::size_t num_timesteps, int iteration_number, int rollout_number, Eigen::MatrixXd& parameters_noise, Eigen::MatrixXd& noise) = 0; virtual bool computeNoisyCosts(const Eigen::MatrixXd& parameters, std::size_t start_timestep, std::size_t num_timesteps, int iteration_number, int rollout_number, Eigen::VectorXd& costs, bool& validity) = 0; virtual bool computeCosts(const Eigen::MatrixXd& parameters, std::size_t start_timestep, std::size_t num_timesteps, int iteration_number, Eigen::VectorXd& costs, bool& validity) = 0; virtual bool filterNoisyParameters(std::size_t start_timestep, std::size_t num_timesteps, int iteration_number, int rollout_number, Eigen::MatrixXd& parameters, bool& filtered) { filtered = false; return true; } virtual bool filterParameterUpdates(std::size_t start_timestep, std::size_t num_timesteps, int iteration_number, const Eigen::MatrixXd& parameters, Eigen::MatrixXd& updates) { return true; } virtual void postIteration(std::size_t start_timestep, std::size_t num_timesteps, int iteration_number, double cost, const Eigen::MatrixXd& parameters) { } virtual void done(bool success, int total_iterations, double final_cost, const Eigen::MatrixXd& parameters) {} }; } // namespace stomp #endif /* TASK_H_ */