47 #ifndef _MIRA_RIGIDMODEL_H_ 48 #define _MIRA_RIGIDMODEL_H_ 53 #include <serialization/adapters/std/map> 54 #include <serialization/adapters/std/list> 55 #include <serialization/adapters/boost/shared_ptr.hpp> 61 namespace mira {
namespace model {
80 typedef std::map<std::string, JointPtr>
JointMap;
87 template<
typename Reflector>
90 r.member(
"Name", name,
"The name of this model",
"");
91 r.member(
"Links", links,
"The links of this model",
LinkList());
92 r.member(
"Joints", joints,
"The joints of this model",
JointMap());
93 r.member(
"Materials", materials,
"The materials of this model",
MaterialMap());
110 std::string getRootLink()
const;
116 typedef std::list<std::pair<GeometryPtr, RigidTransform3f>,
138 const std::string& filter =
"")
const;
156 std::list<Box3f> getCollisionBoundingBoxes(std::string targetFrame=
"",
158 const std::string& filter =
"")
const;
173 Footprint getFootprint(std::string targetFrame =
"",
175 const std::string& filter =
"")
const;
183 void resolveAndPublishLinks(
const std::string& ns,
196 void publishJoint(
const std::string& name,
float value,
std::map< std::string, MaterialPtr > MaterialMap
Maps material pointers to their name.
Definition: RigidModel.h:82
void reflect(Reflector &r)
Definition: RigidModel.h:88
Class representing a named rigid model.
Definition: RigidModel.h:72
std::map< std::string, JointPtr > JointMap
Maps joint pointers to their name.
Definition: RigidModel.h:80
LinkList links
List of links used by this model.
Definition: RigidModel.h:200
boost::shared_ptr< RigidModel > RigidModelPtr
Definition: RigidModel.h:205
virtual ~RigidModel()
Destructor.
Definition: RigidModel.h:85
void reflect(Reflector &r, LogRecord &record)
MaterialMap materials
Map with name - material pointer pairs used by this model.
Definition: RigidModel.h:202
#define MIRA_OBJECT(classIdentifier)
#define MIRA_RIGID_MODEL_EXPORT
Definition: RigidModelExports.h:61
static Time now() static Time eternity()
std::string name
Name of the model.
Definition: RigidModel.h:199
std::list< LinkPtr > LinkList
A list of links.
Definition: RigidModel.h:78
JointMap joints
Map with name - joint pointer pairs used by this model.
Definition: RigidModel.h:201
std::list< std::pair< GeometryPtr, RigidTransform3f >, Eigen::aligned_allocator< std::pair< GeometryPtr, RigidTransform3f > > > CollisionGeometries
List of collision geometries, each item consisting of the geometry pointer and a transform that descr...
Definition: RigidModel.h:117