47 #ifndef FLATLAND_SERVER_MODEL_H 48 #define FLATLAND_SERVER_MODEL_H 50 #include <flatland_server/collision_filter_registry.h> 51 #include <flatland_server/entity.h> 52 #include <flatland_server/joint.h> 53 #include <flatland_server/model_body.h> 54 #include <flatland_server/yaml_reader.h> 55 #include <yaml-cpp/yaml.h> 56 #include <boost/filesystem.hpp> 83 const std::string &ns,
const std::string &name);
125 const std::vector<ModelBody *> &
GetBodies();
140 std::string
NameSpaceTF(
const std::string &frame_id)
const;
150 const std::string &
GetName()
const;
194 const std::string &model_yaml_path,
195 const std::string &ns,
const std::string &name);
198 #endif // FLATLAND_SERVER_MODEL_H EntityType
Defines the type of entity.
Definition: entity.h:64
Definition: collision_filter_registry.h:63
void SetPose(const Pose &pose)
Explicitly set the model pose in world coordinates.
Definition: model.cpp:212
~Model()
Destructor for the layer class.
Definition: model.cpp:61
Model(b2World *physics_world, CollisionFilterRegistry *cfr, const std::string &ns, const std::string &name)
Constructor for the model.
Definition: model.cpp:54
std::vector< ModelBody * > bodies_
list of bodies in the model
Definition: model.h:70
void LoadJoints(YamlReader &joints_reader)
load joints to this model, throws exceptions upon failure
Definition: model.cpp:131
Definition: model_body.h:65
void DebugVisualize() const override
Publish debug visualizations for model.
Definition: model.cpp:253
CollisionFilterRegistry * cfr_
Collision filter registry.
Definition: model.h:73
std::string NameSpaceTF(const std::string &frame_id) const
Definition: model.cpp:180
std::string NameSpaceTopic(const std::string &topic) const
Definition: model.cpp:194
const std::string & GetName() const
Definition: model.cpp:208
ModelBody * GetBody(const std::string &name)
Get a body in the model using its name.
Definition: model.cpp:156
void DebugOutput() const override
log debug messages for the layer
Definition: model.cpp:269
std::string namespace_
namespace of the model
Definition: model.h:69
void DumpBox2D() const
Dump box2d data for debugging.
Definition: model.cpp:285
void TransformAll(const Pose &pose_delta)
transform all bodies in the model
Definition: model.cpp:231
Joint * GetJoint(const std::string &name)
Get a body in the model using its name.
Definition: model.cpp:165
EntityType Type() const
Return the type of entity.
Definition: model.h:94
const CollisionFilterRegistry * GetCfr() const
Definition: model.cpp:210
static Model * MakeModel(b2World *physics_world, CollisionFilterRegistry *cfr, const std::string &model_yaml_path, const std::string &ns, const std::string &name)
Create a model, throws exceptions upon failure.
Definition: model.cpp:77
const std::vector< Joint * > & GetJoints()
Definition: model.cpp:176
void LoadBodies(YamlReader &bodies_reader)
load bodies to this model, throws exceptions upon failure
Definition: model.cpp:102
std::string viz_name_
used for visualization
Definition: model.h:74
Definition: yaml_reader.h:76
const std::string & GetNameSpace() const
Definition: model.cpp:178
std::vector< Joint * > joints_
list of joints in the model
Definition: model.h:71
YamlReader plugins_reader_
for storing plugins when paring YAML
Definition: model.h:72
const std::vector< ModelBody * > & GetBodies()
Definition: model.cpp:174