18 #ifndef IGNITION_GAZEBO_GUI_COMPONENTINSPECTOR_HH_ 19 #define IGNITION_GAZEBO_GUI_COMPONENTINSPECTOR_HH_ 39 class ComponentInspectorPrivate;
44 template <
class DataType>
45 void setData(QStandardItem *_item,
const DataType &_data)
53 setData(_item, ss.
str());
57 ignwarn <<
"Attempting to set unsupported data type to item [" 58 << _item->text().toStdString() <<
"]" <<
std::endl;
66 void setData(QStandardItem *_item,
const std::string &_data);
72 void setData(QStandardItem *_item,
const math::Pose3d &_data);
84 void setData(QStandardItem *_item,
const sdf::Physics &_data);
90 void setData(QStandardItem *_item,
const bool &_data);
96 void setData(QStandardItem *_item,
const int &_data);
102 void setData(QStandardItem *_item,
const double &_data);
108 void setData(QStandardItem *_item,
const std::ostream &_data);
113 void setUnit(QStandardItem *_item,
const std::string &_unit);
117 class ComponentsModel :
public QStandardItemModel
122 public:
explicit ComponentsModel();
125 public: ~ComponentsModel()
override =
default;
128 public: QHash<int, QByteArray> roleNames()
const override;
132 public:
static QHash<int, QByteArray> RoleNames();
137 public slots: QStandardItem *AddComponentType(
142 public slots:
void RemoveComponentType(
153 class ComponentInspector :
public gazebo::GuiSystem
193 NOTIFY NestedModelChanged
197 public: ComponentInspector();
200 public: ~ComponentInspector()
override;
203 public:
void LoadConfig(
const tinyxml2::XMLElement *_pluginElem)
override;
206 public:
void Update(
const UpdateInfo &, EntityComponentManager &)
override;
215 public: Q_INVOKABLE
void OnPose(
double _x,
double _y,
double _z,
216 double _roll,
double _pitch,
double _yaw);
221 public: Q_INVOKABLE
void OnPhysics(
double _stepSize,
222 double _realTimeFactor);
226 public: Q_INVOKABLE
bool NestedModel()
const;
229 signals:
void NestedModelChanged();
232 protected:
bool eventFilter(QObject *_obj, QEvent *_event)
override;
236 public: Q_INVOKABLE
int Entity()
const;
240 public: Q_INVOKABLE
void SetEntity(
const int &_entity);
243 signals:
void EntityChanged();
247 public: Q_INVOKABLE QString Type()
const;
251 public: Q_INVOKABLE
void SetType(
const QString &_entity);
254 signals:
void TypeChanged();
258 public: Q_INVOKABLE
bool Locked()
const;
262 public: Q_INVOKABLE
void SetLocked(
bool _locked);
265 signals:
void LockedChanged();
269 public: Q_INVOKABLE
bool Paused()
const;
273 public: Q_INVOKABLE
void SetPaused(
bool _paused);
276 signals:
void PausedChanged();
uint64_t ComponentTypeId
A unique identifier for a component type. A component type must be derived from components::BaseCompo...
Definition: Types.hh:87
Vector3< double > Vector3d
Q_DECLARE_METATYPE(ComponentTypeId) namespace ignition
Definition: ComponentInspector.hh:33
This library is part of the Ignition Robotics project.
static constexpr bool value
Definition: Component.hh:72
uint64_t Entity
An Entity identifies a single object in simulation such as a model, link, or light. At its core, an Entity is just an identifier.
Definition: Entity.hh:59
Component< sdf::Physics, class PhysicsTag, serializers::PhysicsSerializer > Physics
A component type that contains the physics properties of the World entity.
Definition: include/ignition/gazebo/components/Physics.hh:48