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>
7
10#include "core/collision.h"
11#include "core/inertia.h"
12#include "core/material.h"
13#include "core/pose.h"
14#include "core/visual.h"
15
16class Link : public ObjectBase
17{
18 public:
19 Link();
20 bool isA(const char* name) const override;
21 void getOrigin(double* pos) const;
22 void setVisualOrigin(std::shared_ptr<Pose> o);
23 void setCollisionOrigin(std::shared_ptr<Pose> o);
24 void clear() override;
25 std::string toString() const override;
26 bool empty() const override;
27 const char* getTypename() const override;
28 void setName(const std::string& name);
29 std::string getName() const;
30 void setInertia(const std::shared_ptr<Inertia> i);
31 std::shared_ptr<Inertia> getInertia() const;
32 void setVisual(const std::shared_ptr<Visual> v);
33 std::shared_ptr<Visual> getVisual() const;
34 void setMaterial(const std::shared_ptr<Material> m);
35 std::shared_ptr<Material> getMaterial() const;
36 void setCollision(const std::shared_ptr<Collision> c);
37 void setCollisionGeometry(const std::shared_ptr<GeometryBase> g);
38 void setVisualGeometry(const std::shared_ptr<GeometryBase> g);
39 std::shared_ptr<Collision> getCollision() const;
40 ~Link();
41
42 private:
43 std::string name;
44 std::shared_ptr<Inertia> inertial;
45 std::shared_ptr<Visual> visual;
46 std::shared_ptr<Collision> collision;
47 std::shared_ptr<Material> material;
48};
49#endif // TINYURDF_LINK_H
Definition object_base.h:9