38 std::vector<rbd::MultiBody> &
mbs();
40 const std::vector<rbd::MultiBody> &
mbs()
const;
43 std::vector<rbd::MultiBodyConfig> &
mbcs();
45 const std::vector<rbd::MultiBodyConfig> &
mbcs()
const;
89 return load(module.
name, module, params);
96 void load(
const std::vector<std::shared_ptr<RobotModule>> & modules);
102 void rename(
const std::string & oldName,
const std::string & newName);
115 const std::string & urdf,
116 const rbd::parsers::ParserParameters & parser_params = {},
186 assert(idx < robots_.size());
187 return *robots_[idx];
196 assert(idx < robots_.size());
197 return *robots_[idx];
206 assert(idx < robots_.size());
207 return *robots_.at(idx);
216 assert(idx < robots_.size());
217 return *robots_.at(idx);
224 template<
class Deleter>
252 std::vector<rbd::MultiBody>
mbs_;
253 std::vector<rbd::MultiBodyConfig>
mbcs_;
254 std::vector<rbd::MultiBodyGraph>
mbgs_;
273 const std::string & urdf,
274 const rbd::parsers::ParserParameters & parser_params = {},
275 const LoadRobotParameters & load_params = {});
#define MC_RBDYN_DLLAPI
Definition: api.h:50
Definition: generic_gripper.h:15
MC_RBDYN_DLLAPI RobotsPtr loadRobotFromUrdf(const std::string &name, const std::string &urdf, const rbd::parsers::ParserParameters &parser_params={}, const LoadRobotParameters &load_params={})
MC_RBDYN_DLLAPI RobotsPtr loadRobots(const std::vector< std::shared_ptr< RobotModule >> &modules)
MC_RBDYN_DLLAPI RobotsPtr loadRobot(const RobotModule &module, const LoadRobotParameters ¶ms={})
std::vector< RobotModule, Eigen::aligned_allocator< RobotModule > > RobotModuleVector
Definition: RobotModule.h:638
MC_RBDYN_DLLAPI RobotsPtr loadRobotAndEnv(const RobotModule &module, const RobotModule &envModule)
std::shared_ptr< Robots > RobotsPtr
Definition: fwd.h:17
Definition: RobotModule.h:70
std::string name
Definition: RobotModule.h:556
static RobotsPtr make(Deleter deleter) noexcept
Definition: Robots.h:225
bool hasRobot(const std::string &name) const
const Robot & robot() const
unsigned int robotIndex(const std::string &name) const
void rename(const std::string &oldName, const std::string &newName)
std::reverse_iterator< const_iterator > const_reverse_iterator
Definition: Robots.h:30
std::vector< RobotPtr > robots_
Definition: Robots.h:251
void removeRobot(unsigned int idx)
RobotModuleVector robot_modules_
Definition: Robots.h:250
const Robot & robot(size_t idx) const
unsigned int envIndex() const
Robot & load(const RobotModule &module, const LoadRobotParameters ¶ms={})
Definition: Robots.h:87
Robots & operator=(Robots &&robots)=delete
void removeRobot(const std::string &name)
Robot & loadFromUrdf(const std::string &name, const std::string &urdf, const rbd::parsers::ParserParameters &parser_params={}, const LoadRobotParameters &load_params={})
mc_rbdyn::Robot & at(size_t idx)
Definition: Robots.h:204
const mc_rbdyn::Robots & robots() const noexcept
Definition: Robots.h:54
std::vector< rbd::MultiBodyGraph > mbgs_
Definition: Robots.h:254
unsigned int robotIndex() const
const mc_rbdyn::Robot & operator[](size_t idx) const
Definition: Robots.h:194
Robot & load(const std::string &name, const RobotModule &module, const LoadRobotParameters ¶ms={})
Robots(const Robots &rhs)=delete
void robotCopy(const Robot &robot, const std::string ©Name)
Robot & robot(size_t idx)
mc_rbdyn::Robots & robots() noexcept
Definition: Robots.h:51
std::vector< rbd::MultiBody > mbs_
Definition: Robots.h:252
const Robot & env() const
Robots(Robots &&robots)=delete
iterator begin() noexcept
const RobotModule & robotModule(size_t idx) const
Robots & operator=(const Robots &rhs)=delete
const std::vector< rbd::MultiBody > & mbs() const
std::unordered_map< std::string, unsigned int > robotNameToIndex_
Correspondance between robot name and index.
Definition: Robots.h:258
std::vector< rbd::MultiBodyConfig > & mbcs()
std::reverse_iterator< iterator > reverse_iterator
Definition: Robots.h:29
static RobotsPtr make() noexcept
Definition: Robots.h:221
void copy(mc_rbdyn::Robots &out) const
const std::vector< rbd::MultiBodyConfig > & mbcs() const
unsigned int robotIndex_
Definition: Robots.h:255
std::vector< rbd::MultiBody > & mbs()
const std::vector< mc_rbdyn::RobotModule > & robotModules() const
void load(const std::vector< std::shared_ptr< RobotModule >> &modules)
const Robot & robot(const std::string &name) const
Robot & robot(const std::string &name)
unsigned int envIndex_
Definition: Robots.h:256
std::vector< RobotPtr >::size_type size_type
Definition: Robots.h:31
const mc_rbdyn::Robot & at(size_t idx) const
Definition: Robots.h:214
std::vector< rbd::MultiBodyConfig > mbcs_
Definition: Robots.h:253
Definition: iterators.h:35
Definition: iterators.h:17