Helper class that maintains active contacts at a given state, as well as their locations can be used to determine contact transition wrt a previous State. More...
#include <hpp/rbprm/rbprm-state.hh>
Public Member Functions | |
State () | |
State (const State &other) | |
~State () | |
State & | operator= (const State &other) |
bool | RemoveContact (const std::string &contactId) |
Removes an active contact from the State. More... | |
std::string | RemoveFirstContact () |
Removes the first active contact created in the state.Contact order is maintained in a queue. More... | |
std::vector< std::string > | contactVariations (const State &previous) const |
Given a antecedent State, computes the list of contact changes (creations an destructions) More... | |
std::vector< std::string > | freeVariations (const State &previous, const std::vector< std::string > &allEffectors) const |
Given an antecedent State and a list of effectors, computes the list of effectors that were not in contact in any of the two states. More... | |
std::vector< std::string > | allVariations (const State &previous, const std::vector< std::string > &allEffectors) const |
Given an antecedent State and a list of effectors, computes the list of all the effectors that moved between the two States (ie contact was not maintained) More... | |
std::vector< std::string > | fixedContacts (const State &previous) const |
Given a antecedent State, computes the list of Contacts that were maintained between the two States (both active at the same location) More... | |
void | contactCreations (const State &previous, std::vector< std::string > &outList) const |
Given a antecedent State, computes the list of Contacts that were created between the two States. More... | |
std::vector< std::string > | contactCreations (const State &previous) const |
Given a antecedent State, computes the list of Contacts that were created between the two States. More... | |
std::vector< std::string > | contactBreaks (const State &previous) const |
Given a antecedent State, computes the list of Contacts that were broken between the two States. More... | |
void | contactBreaks (const State &previous, std::vector< std::string > &outList) const |
Given a antecedent State, computes the list of Contacts that were broken between the two States. More... | |
void | print () const |
void | print (std::stringstream &ss) const |
void | print (std::stringstream &ss, const State &previous) const |
void | printInternal (std::stringstream &ss) const |
Public Attributes | |
hpp::pinocchio::Configuration_t | configuration_ |
std::map< std::string, bool > | contacts_ |
std::map< std::string, fcl::Vec3f > | contactNormals_ |
std::map< std::string, fcl::Vec3f > | contactPositions_ |
std::map< std::string, fcl::Matrix3f > | contactRotation_ |
std::queue< std::string > | contactOrder_ |
std::size_t | nbContacts |
bool | stable |
double | robustness |
Helper class that maintains active contacts at a given state, as well as their locations can be used to determine contact transition wrt a previous State.
|
inline |
hpp::rbprm::State::State | ( | const State & | other | ) |
|
inline |
std::vector<std::string> hpp::rbprm::State::allVariations | ( | const State & | previous, |
const std::vector< std::string > & | allEffectors | ||
) | const |
Given an antecedent State and a list of effectors, computes the list of all the effectors that moved between the two States (ie contact was not maintained)
std::vector<std::string> hpp::rbprm::State::contactBreaks | ( | const State & | previous | ) | const |
Given a antecedent State, computes the list of Contacts that were broken between the two States.
void hpp::rbprm::State::contactBreaks | ( | const State & | previous, |
std::vector< std::string > & | outList | ||
) | const |
Given a antecedent State, computes the list of Contacts that were broken between the two States.
void hpp::rbprm::State::contactCreations | ( | const State & | previous, |
std::vector< std::string > & | outList | ||
) | const |
Given a antecedent State, computes the list of Contacts that were created between the two States.
std::vector<std::string> hpp::rbprm::State::contactCreations | ( | const State & | previous | ) | const |
Given a antecedent State, computes the list of Contacts that were created between the two States.
std::vector<std::string> hpp::rbprm::State::contactVariations | ( | const State & | previous | ) | const |
Given a antecedent State, computes the list of contact changes (creations an destructions)
std::vector<std::string> hpp::rbprm::State::fixedContacts | ( | const State & | previous | ) | const |
Given a antecedent State, computes the list of Contacts that were maintained between the two States (both active at the same location)
Referenced by hpp::rbprm::interpolation::CreateContactConstraints().
std::vector<std::string> hpp::rbprm::State::freeVariations | ( | const State & | previous, |
const std::vector< std::string > & | allEffectors | ||
) | const |
Given an antecedent State and a list of effectors, computes the list of effectors that were not in contact in any of the two states.
void hpp::rbprm::State::print | ( | ) | const |
void hpp::rbprm::State::print | ( | std::stringstream & | ss | ) | const |
void hpp::rbprm::State::print | ( | std::stringstream & | ss, |
const State & | previous | ||
) | const |
void hpp::rbprm::State::printInternal | ( | std::stringstream & | ss | ) | const |
bool hpp::rbprm::State::RemoveContact | ( | const std::string & | contactId | ) |
Removes an active contact from the State.
contactId | name of the contact to remove |
std::string hpp::rbprm::State::RemoveFirstContact | ( | ) |
Removes the first active contact created in the state.Contact order is maintained in a queue.
hpp::pinocchio::Configuration_t hpp::rbprm::State::configuration_ |
Referenced by hpp::rbprm::interpolation::TimeConfigFromDevice().
std::map<std::string, fcl::Vec3f> hpp::rbprm::State::contactNormals_ |
std::queue<std::string> hpp::rbprm::State::contactOrder_ |
std::map<std::string, fcl::Vec3f> hpp::rbprm::State::contactPositions_ |
std::map<std::string, fcl::Matrix3f> hpp::rbprm::State::contactRotation_ |
std::map<std::string, bool> hpp::rbprm::State::contacts_ |
Referenced by hpp::rbprm::freeEffectors().
std::size_t hpp::rbprm::State::nbContacts |
double hpp::rbprm::State::robustness |
bool hpp::rbprm::State::stable |