25 #ifndef TESSERACT_ENVIRONMENT_ENVIRONMENT_MONITOR_INTERFACE_H
26 #define TESSERACT_ENVIRONMENT_ENVIRONMENT_MONITOR_INTERFACE_H
33 #include <unordered_map>
48 using Ptr = std::shared_ptr<EnvironmentMonitorInterface>;
49 using ConstPtr = std::shared_ptr<const EnvironmentMonitorInterface>;
50 using UPtr = std::unique_ptr<EnvironmentMonitorInterface>;
51 using ConstUPtr = std::unique_ptr<const EnvironmentMonitorInterface>;
65 virtual bool wait(std::chrono::duration<double>
duration = std::chrono::seconds(0))
const = 0;
74 std::chrono::duration<double>
duration = std::chrono::seconds(0))
const = 0;
80 virtual void addNamespace(std::string monitor_namespace) = 0;
94 virtual std::vector<std::string>
applyCommands(
const std::vector<std::shared_ptr<const Command>>& commands)
const = 0;
95 virtual std::vector<std::string>
applyCommands(
const std::vector<Command>& commands)
const = 0;
103 virtual bool applyCommand(
const std::string& monitor_namespace,
const Command& command)
const = 0;
104 virtual bool applyCommands(
const std::string& monitor_namespace,
105 const std::vector<std::shared_ptr<const Command>>& commands)
const = 0;
106 virtual bool applyCommands(
const std::string& monitor_namespace,
const std::vector<Command>& commands)
const = 0;
121 const std::unordered_map<std::string, double>& joints,
124 const std::vector<std::string>& joint_names,
125 const std::vector<double>& joint_values,
128 const std::vector<std::string>& joint_names,
129 const Eigen::Ref<const Eigen::VectorXd>& joint_values,
138 virtual std::vector<std::string>
141 virtual std::vector<std::string>
143 const std::vector<double>& joint_values,
145 virtual std::vector<std::string>
147 const Eigen::Ref<const Eigen::VectorXd>& joint_values,
149 virtual std::vector<std::string>
157 virtual std::unique_ptr<Environment>
getEnvironment(
const std::string& monitor_namespace)
const = 0;
163 #endif // TESSERACT_ENVIRONMENT_ENVIRONMENT_MONITOR_INTERFACE_H