Aikido
Testable.hpp
Go to the documentation of this file.
1 #ifndef AIKIDO_CONSTRAINT_TESTABLE_HPP_
2 #define AIKIDO_CONSTRAINT_TESTABLE_HPP_
3 
4 #include <memory>
5 
9 
10 namespace aikido {
11 namespace constraint {
12 
14 class TestableOutcome;
15 
17 class Testable
18 {
19 public:
20  virtual ~Testable() = default;
21 
29  virtual bool isSatisfied(
30  const statespace::StateSpace::State* _state,
31  TestableOutcome* outcome = nullptr) const = 0;
32 
35 
39  virtual std::unique_ptr<TestableOutcome> createOutcome() const = 0;
40 };
41 
42 } // namespace constraint
43 } // namespace aikido
44 
45 #endif // AIKIDO_CONSTRAINT_TESTABLE_HPP_
aikido
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
DefaultTestableOutcome.hpp
aikido::constraint::Testable::createOutcome
virtual std::unique_ptr< TestableOutcome > createOutcome() const =0
Return an instance of a TestableOutcome derivative class that corresponds to this constraint class.
aikido::constraint::Testable
Constraint which can be tested.
Definition: Testable.hpp:17
StateSpace.hpp
aikido::constraint::Testable::~Testable
virtual ~Testable()=default
aikido::statespace::ConstStateSpacePtr
std::shared_ptr< const StateSpace > ConstStateSpacePtr
Definition: StateSpace.hpp:15
aikido::constraint::Testable::getStateSpace
virtual statespace::ConstStateSpacePtr getStateSpace() const =0
Returns StateSpace in which this constraint operates.
aikido::constraint::Testable::isSatisfied
virtual bool isSatisfied(const statespace::StateSpace::State *_state, TestableOutcome *outcome=nullptr) const =0
Returns true if state satisfies this constraint.
aikido::constraint::TestableOutcome
Base class for constraint outcomes.
Definition: TestableOutcome.hpp:13
pointers.hpp
aikido::statespace::StateSpace::State
Definition: StateSpace.hpp:167
AIKIDO_DECLARE_POINTERS
#define AIKIDO_DECLARE_POINTERS(X)
Definition: pointers.hpp:21