39 std::vector<rbd::MultiBody> &
mbs();
41 const std::vector<rbd::MultiBody> &
mbs()
const;
44 std::vector<rbd::MultiBodyConfig> &
mbcs();
46 const std::vector<rbd::MultiBodyConfig> &
mbcs()
const;
90 return load(module.
name, module, params);
97 void load(
const std::vector<std::shared_ptr<RobotModule>> & modules);
103 void rename(
const std::string & oldName,
const std::string & newName);
116 const std::string & urdf,
117 const rbd::parsers::ParserParameters & parser_params = {},
195 inline onRobotRemovedSigT::Proxy
onRobotRemoved() const noexcept {
return onRobotRemoved_; }
219 assert(idx < robots_.size());
220 return *robots_[idx];
229 assert(idx < robots_.size());
230 return *robots_[idx];
239 assert(idx < robots_.size());
240 return *robots_.at(idx);
249 assert(idx < robots_.size());
250 return *robots_.at(idx);
257 template<
class Deleter>
285 std::vector<rbd::MultiBody>
mbs_;
286 std::vector<rbd::MultiBodyConfig>
mbcs_;
287 std::vector<rbd::MultiBodyGraph>
mbgs_;
308 const std::string & urdf,
309 const rbd::parsers::ParserParameters & parser_params = {},
310 const LoadRobotParameters & load_params = {});
#define MC_RBDYN_DLLAPI
Definition: api.h:50
void load(Archive &ar, Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > &m, const unsigned int)
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:863
MC_RBDYN_DLLAPI RobotsPtr loadRobotAndEnv(const RobotModule &module, const RobotModule &envModule)
std::shared_ptr< Robots > RobotsPtr
Definition: fwd.h:17
Definition: RobotModule.h:66
std::string name
Definition: RobotModule.h:779
size_type size() const noexcept
static RobotsPtr make(Deleter deleter) noexcept
Definition: Robots.h:258
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:31
std::vector< RobotPtr > robots_
Definition: Robots.h:284
void removeRobot(unsigned int idx)
RobotModuleVector robot_modules_
Definition: Robots.h:283
const Robot & robot(size_t idx) const
unsigned int envIndex() const
Robot & load(const RobotModule &module, const LoadRobotParameters ¶ms={})
Definition: Robots.h:88
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:237
const mc_rbdyn::Robots & robots() const noexcept
Definition: Robots.h:55
std::vector< rbd::MultiBodyGraph > mbgs_
Definition: Robots.h:287
unsigned int robotIndex() const
const mc_rbdyn::Robot & operator[](size_t idx) const
Definition: Robots.h:227
Robot & load(const std::string &name, const RobotModule &module, const LoadRobotParameters ¶ms={})
Robots(const Robots &rhs)=delete
onRobotAddedSigT onRobotAdded_
Definition: Robots.h:292
void robotCopy(const Robot &robot, const std::string ©Name)
Robot & robot(size_t idx)
mc_rbdyn::Robots & robots() noexcept
Definition: Robots.h:52
std::vector< rbd::MultiBody > mbs_
Definition: Robots.h:285
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:291
std::vector< rbd::MultiBodyConfig > & mbcs()
onRobotRemovedSigT onRobotRemoved_
Definition: Robots.h:293
std::reverse_iterator< iterator > reverse_iterator
Definition: Robots.h:30
static RobotsPtr make() noexcept
Definition: Robots.h:254
void copy(mc_rbdyn::Robots &out) const
const std::vector< rbd::MultiBodyConfig > & mbcs() const
unsigned int robotIndex_
Definition: Robots.h:288
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
onRobotRemovedSigT::Proxy onRobotRemoved() const noexcept
Definition: Robots.h:195
Robot & robot(const std::string &name)
unsigned int envIndex_
Definition: Robots.h:289
std::vector< RobotPtr >::size_type size_type
Definition: Robots.h:32
const mc_rbdyn::Robot & at(size_t idx) const
Definition: Robots.h:247
std::vector< rbd::MultiBodyConfig > mbcs_
Definition: Robots.h:286
Definition: iterators.h:35
Definition: iterators.h:17
Definition: SignalSlot.h:113