TinyURDF 1.0.0
Loading...
Searching...
No Matches
inertia.h
Go to the documentation of this file.
1#ifndef INCLUDE_TINYURDF_CORE_INERTIA_H_
2#define INCLUDE_TINYURDF_CORE_INERTIA_H_
3
4// Copyright 2024-2025 Wissem CHIHA
5
6#include <loguru/loguru.hpp>
7#include <memory>
8#include <string>
9
12#include "core/pose.h"
13
20class Inertia : public PropertyBase, public GeometryBase
21{
22 public:
23 Inertia();
24 Inertia(double mass, double ixx, double ixy, double ixz, double iyy,
25 double iyz, double izz);
26 bool isA(const char* name) const override;
27 bool validate() const override;
28 void clear() override;
29 std::string toString() const override;
30 const char* getTypename() const override;
31 bool empty() const override;
32 void setOrigin(double x, double y, double z) override;
33 void getOrigin(double* xyz) const override;
34 void setMass(const double m);
35 void setIxx(double ixx_);
36 void setIxy(double ixy_);
37 void setIxz(double ixz_);
38 void setIyy(double iyy_);
39 void setIyz(double iyz_);
40 void setIzz(double izz_);
41
42 private:
43 std::shared_ptr<Pose> origin;
44 double mass;
45 double ixx, ixy, ixz, iyy, iyz, izz;
46};
47#endif // INCLUDE_TINYURDF_CORE_INERTIA_H_
base class for all geometry entities
Definition geometry_base.h:13
Represents the inertia of an object. The inertia is defined with respect to a given origin and the co...
Definition inertia.h:21
bool isA(const char *name) const override
Definition inertia.cc:13
void setMass(const double m)
Definition inertia.cc:77
const char * getTypename() const override
Definition inertia.cc:56
void setIzz(double izz_)
Definition inertia.cc:107
bool empty() const override
Definition inertia.cc:61
void setIyz(double iyz_)
Definition inertia.cc:102
Inertia()
Definition inertia.cc:3
std::string toString() const override
Definition inertia.cc:45
bool validate() const override
Definition inertia.cc:17
void getOrigin(double *xyz) const override
Definition inertia.cc:71
void setIyy(double iyy_)
Definition inertia.cc:97
void setIxx(double ixx_)
Definition inertia.cc:82
void clear() override
Definition inertia.cc:39
void setOrigin(double x, double y, double z) override
Definition inertia.cc:66
void setIxz(double ixz_)
Definition inertia.cc:92
void setIxy(double ixy_)
Definition inertia.cc:87
Definition property_base.h:9