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