Aikido
|
Constraint which can be tested. More...
#include <aikido/constraint/Testable.hpp>
Public Member Functions | |
virtual | ~Testable ()=default |
virtual bool | isSatisfied (const statespace::StateSpace::State *_state, TestableOutcome *outcome=nullptr) const =0 |
Returns true if state satisfies this constraint. More... | |
virtual statespace::ConstStateSpacePtr | getStateSpace () const =0 |
Returns StateSpace in which this constraint operates. More... | |
virtual std::unique_ptr< TestableOutcome > | createOutcome () const =0 |
Return an instance of a TestableOutcome derivative class that corresponds to this constraint class. More... | |
Constraint which can be tested.
|
virtualdefault |
|
pure virtual |
Return an instance of a TestableOutcome derivative class that corresponds to this constraint class.
Ensures that correct outcome object is passed to isSatisfied (and casts, etc do not explode).
Implemented in aikido::constraint::dart::TSR, aikido::constraint::dart::CollisionFree, aikido::constraint::uniform::RBoxConstraint< N >, aikido::constraint::uniform::SE2BoxConstraint, aikido::constraint::dart::FrameTestable, aikido::constraint::Satisfied, aikido::constraint::CartesianProductTestable, and aikido::constraint::TestableIntersection.
|
pure virtual |
Returns StateSpace in which this constraint operates.
Implemented in aikido::constraint::dart::TSR, aikido::constraint::dart::CollisionFree, aikido::constraint::dart::FrameTestable, aikido::constraint::uniform::RBoxConstraint< N >, aikido::constraint::TestableIntersection, aikido::constraint::uniform::SE2BoxConstraint, aikido::constraint::CartesianProductTestable, and aikido::constraint::Satisfied.
|
pure virtual |
Returns true if state satisfies this constraint.
[in] | _state | given state to test. |
[in] | outcome | pointer to TestableOutcome derivative instance that method will populate with useful information. Each derivative class of Testable may expect outcome to be a different derivative class of TestableOutcome (this casting and population is done under the hood). If this argument is missing, it is ignored. |
Implemented in aikido::constraint::uniform::RBoxConstraint< N >, aikido::constraint::uniform::SE2BoxConstraint, aikido::constraint::Satisfied, aikido::constraint::dart::FrameTestable, aikido::constraint::dart::TSR, aikido::constraint::TestableIntersection, aikido::constraint::dart::CollisionFree, and aikido::constraint::CartesianProductTestable.