Aikido
aikido::constraint::Testable Class Referenceabstract

Constraint which can be tested. More...

#include <aikido/constraint/Testable.hpp>

Inheritance diagram for aikido::constraint::Testable:
aikido::constraint::CartesianProductTestable aikido::constraint::dart::CollisionFree aikido::constraint::dart::FrameTestable aikido::constraint::dart::TSR aikido::constraint::Satisfied aikido::constraint::TestableIntersection aikido::constraint::uniform::RBoxConstraint< N > aikido::constraint::uniform::SE2BoxConstraint

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< TestableOutcomecreateOutcome () const =0
 Return an instance of a TestableOutcome derivative class that corresponds to this constraint class. More...
 

Detailed Description

Constraint which can be tested.

Constructor & Destructor Documentation

◆ ~Testable()

virtual aikido::constraint::Testable::~Testable ( )
virtualdefault

Member Function Documentation

◆ createOutcome()

virtual std::unique_ptr<TestableOutcome> aikido::constraint::Testable::createOutcome ( ) const
pure virtual

◆ getStateSpace()

◆ isSatisfied()

virtual bool aikido::constraint::Testable::isSatisfied ( const statespace::StateSpace::State _state,
TestableOutcome outcome = nullptr 
) const
pure virtual

Returns true if state satisfies this constraint.

Parameters
[in]_stategiven state to test.
[in]outcomepointer 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.