19 #ifndef HPP_RBPRM_STATE_HH
20 #define HPP_RBPRM_STATE_HH
23 #include <hpp/pinocchio/device.hh>
34 typedef std::pair<pinocchio::value_type, rbprm::State>
StateFrame;
41 State() : nbContacts(0), stable(false) {}
69 std::vector<std::string>
freeVariations(
const State& previous,
const std::vector<std::string>& allEffectors)
const;
75 std::vector<std::string>
allVariations(
const State& previous,
const std::vector<std::string>& allEffectors)
const;
104 void print(std::stringstream& ss)
const;
105 void print(std::stringstream& ss,
const State& previous)
const;
126 template <
typename Iter>
128 std::vector<std::string> res;
129 for (Iter it = start; it != end; ++it) {
130 const std::string& eff = *it;
131 std::map<std::string, bool>::const_iterator cit = state.
contacts_.find(eff);
132 if (cit == state.
contacts_.end() || !cit->second) {
#define HPP_RBPRM_DLLAPI
Definition: config.hh:64
T_State::const_iterator CIT_State
Definition: rbprm-state.hh:33
std::vector< StateFrame > T_StateFrame
Definition: rbprm-state.hh:35
HPP_RBPRM_DLLAPI std::vector< std::string > freeEffectors(const State &state, Iter start, Iter end)
Definition: rbprm-state.hh:127
std::vector< State > T_State
Definition: rbprm-state.hh:31
T_StateFrame::const_iterator CIT_StateFrame
Definition: rbprm-state.hh:36
std::pair< pinocchio::value_type, rbprm::State > StateFrame
Definition: rbprm-state.hh:34
HPP_RBPRM_DLLAPI pinocchio::value_type effectorDistance(const State &from, const State &to)
Definition: algorithm.hh:27
Definition: rbprm-state.hh:40
std::vector< std::string > contactVariations(const State &previous) const
double robustness
Definition: rbprm-state.hh:116
hpp::pinocchio::Configuration_t configuration_
Definition: rbprm-state.hh:108
void print(std::stringstream &ss, const State &previous) const
std::vector< std::string > fixedContacts(const State &previous) const
std::map< std::string, fcl::Vec3f > contactPositions_
Definition: rbprm-state.hh:111
std::map< std::string, fcl::Vec3f > contactNormals_
Definition: rbprm-state.hh:110
void contactBreaks(const State &previous, std::vector< std::string > &outList) const
std::map< std::string, bool > contacts_
Definition: rbprm-state.hh:109
void contactCreations(const State &previous, std::vector< std::string > &outList) const
bool stable
Definition: rbprm-state.hh:115
bool RemoveContact(const std::string &contactId)
void print(std::stringstream &ss) const
void printInternal(std::stringstream &ss) const
std::size_t nbContacts
Definition: rbprm-state.hh:114
State(const State &other)
std::vector< std::string > contactCreations(const State &previous) const
std::vector< std::string > contactBreaks(const State &previous) const
std::map< std::string, fcl::Matrix3f > contactRotation_
Definition: rbprm-state.hh:112
std::vector< std::string > freeVariations(const State &previous, const std::vector< std::string > &allEffectors) const
State()
Definition: rbprm-state.hh:41
std::string RemoveFirstContact()
std::vector< std::string > allVariations(const State &previous, const std::vector< std::string > &allEffectors) const
State & operator=(const State &other)
std::queue< std::string > contactOrder_
Definition: rbprm-state.hh:113
~State()
Definition: rbprm-state.hh:43