TinyURDF 1.0.0
A Modern C++ Library for Parsing and Visualizing URDF Model Files
Loading...
Searching...
No Matches
link.h
Go to the documentation of this file.
1#ifndef INCLUDE_TINYURDF_LINK_H_
2#define INCLUDE_TINYURDF_LINK_H_
3
4// Copyright 2025 Wissem CHIHA
5
6#include <memory>
7#include <string>
8
9#include <loguru/loguru.hpp>
10
11#include "object_base.h"
12#include "geometry_base.h"
13#include "inertia.h"
14#include "collision.h"
15#include "visual.h"
16#include "inertia.h"
17#include "material.h"
18#include "pose.h"
19
20class Link : public ObjectBase {
21public:
22 Link();
23 bool isA(const char* name) override;
24 void getOrigin(double* pos) const;
25 void setVisualOrigin(std::shared_ptr<Pose> o);
26 void setCollisionOrigin(std::shared_ptr<Pose> o);
27 void clear() override;
28 void print(std::ostream& os) override;
29 bool empty() const override;
30 const char* getTypename() override;
31 void setName(const std::string& name);
32 std::string getName() const;
33 void setInertia(const std::shared_ptr<Inertia> i);
34 std::shared_ptr<Inertia> getInertia() const ;
35 void setVisual(const std::shared_ptr<Visual> v);
36 std::shared_ptr<Visual> getVisual() const;
37 void setMaterial(const std::shared_ptr<Material> m);
38 std::shared_ptr<Material> getMaterial() const;
39 void setCollision(const std::shared_ptr<Collision> c);
40 void setCollisionGeometry(const std::shared_ptr<GeometryBase> g);
41 void setVisualGeometry(const std::shared_ptr<GeometryBase> g);
42 std::shared_ptr<Collision> getCollision() const;
43 ~Link();
44private:
45 std::string name;
46 std::shared_ptr<Inertia> inertial;
47 std::shared_ptr<Visual> visual;
48 std::shared_ptr<Collision> collision;
49 std::shared_ptr<Material> material;
50};
51#endif // TINYURDF_LINK_H
Definition object_base.h:11