TinyURDF 1.0.0
Loading...
Searching...
No Matches
model.h
Go to the documentation of this file.
1#ifndef INCLUDE_TINYURDF_CORE_MODEL_H_
2#define INCLUDE_TINYURDF_CORE_MODEL_H_
3
4// Copyright 2025 Wissem CHIHA
5
6#include <vector>
7#include <string>
8#include <loguru/loguru.hpp>
10#include "core/joint.h"
11#include "core/link.h"
12
20class Model final : public ObjectBase{
21 public:
22 Model();
23 Model(const Model& rhs);
24 void clear() override;
25 void setName(const std::string& n);
26 std::string getName() const;
27 bool isA(const char* name) const override;
28 std::string toString() const override;
29 const char* getTypename() const override;
30 bool empty() const override;
31 void setLink(std::shared_ptr<Link> link);
32 void setLink(std::vector<std::shared_ptr<Link>> link);
33 void setJoint(std::vector<std::shared_ptr<Joint>> joint);
34 void setJoint(std::shared_ptr<Joint> joint);
35 void setJoint(std::shared_ptr<Joint> joint, const std::string& parent,
36 const std::string& child);
37 std::vector<std::shared_ptr<Joint>> getJoints() const;
38 std::vector<std::shared_ptr<Link>> getLinks() const;
39 std::vector<std::shared_ptr<Material>> getMaterials() const;
40 std::vector<std::string> getMaterialsName() const;
41 ~Model();
42
43 private:
44 std::string name;
45 std::vector<std::shared_ptr<Joint>> joints;
46 std::vector<std::shared_ptr<Link>> links;
47};
48#endif // INCLUDE_TINYURDF_CORE_MODEL_H_
Base class for representing a multi-body system.
Definition model.h:20
void setJoint(std::vector< std::shared_ptr< Joint > > joint)
Definition model.cc:76
const char * getTypename() const override
Definition model.cc:56
std::vector< std::shared_ptr< Joint > > getJoints() const
Definition model.cc:95
std::vector< std::string > getMaterialsName() const
Definition model.cc:132
std::vector< std::shared_ptr< Material > > getMaterials() const
Definition model.cc:105
std::string toString() const override
Definition model.cc:40
void setLink(std::shared_ptr< Link > link)
Definition model.cc:66
void setName(const std::string &n)
Definition model.cc:25
~Model()
Definition model.cc:146
bool isA(const char *name) const override
Definition model.cc:35
std::vector< std::shared_ptr< Link > > getLinks() const
Definition model.cc:100
std::string getName() const
Definition model.cc:30
bool empty() const override
Definition model.cc:61
void clear() override
Definition model.cc:18
Model()
Definition model.cc:6
Definition object_base.h:8