Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

6 ➡️ 7 (main) #1236

Merged
merged 13 commits into from
Dec 8, 2021
Merged
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
# as protobuf could be find transitively by any dependency
set(protobuf_MODULE_COMPATIBLE TRUE)

ign_find_package(sdformat12 REQUIRED)
ign_find_package(sdformat12 REQUIRED VERSION 12.2)
set(SDF_VER ${sdformat12_VERSION_MAJOR})

#--------------------------------------
Expand Down
99 changes: 99 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,105 @@

## Ignition Gazebo 6.x

### Ignition Gazebo 6.X.X (202X-XX-XX)

### Ignition Gazebo 6.2.0 (2021-11-16)

1. Configurable joint state publisher's topic
* [Pull request #1076](https://github.com/ignitionrobotics/ign-gazebo/pull/1076)

1. Thruster plugin: add tests and velocity control
* [Pull request #1190](https://github.com/ignitionrobotics/ign-gazebo/pull/1190)

1. Prevent creation of spurious `<plugin>` elements when saving worlds
* [Pull request #1192](https://github.com/ignitionrobotics/ign-gazebo/pull/1192)

1. Add `sdfString` to `ServerConfig`'s copy constructor.
* [Pull request #1185](https://github.com/ignitionrobotics/ign-gazebo/pull/1185)

1. Added support for tracked vehicles
* [Pull request #869](https://github.com/ignitionrobotics/ign-gazebo/pull/869)

1. Add components to dynamically set joint limits
* [Pull request #847](https://github.com/ignitionrobotics/ign-gazebo/pull/847)

1. Remove bounding box when entities are removed
* [Pull request #1053](https://github.com/ignitionrobotics/ign-gazebo/pull/1053)
* [Pull request #1213](https://github.com/ignitionrobotics/ign-gazebo/pull/1213)

1. Fix updating component from state
* [Pull request #1181](https://github.com/ignitionrobotics/ign-gazebo/pull/1181)

1. Extend odom publisher to allow 3D
* [Pull request #1180](https://github.com/ignitionrobotics/ign-gazebo/pull/1180)

1. Support copy/paste
* [Pull request #1013](https://github.com/ignitionrobotics/ign-gazebo/pull/1013)

1. Tweaks install instructions
* [Pull request #1078](https://github.com/ignitionrobotics/ign-gazebo/pull/1078)

1. Publish 10 world stats msgs/sec instead of 5
* [Pull request #1163](https://github.com/ignitionrobotics/ign-gazebo/pull/1163)

1. Add functionality to add entities via the entity tree
* [Pull request #1101](https://github.com/ignitionrobotics/ign-gazebo/pull/1101)

1. Get updated GUI ECM info when a user presses 'play'
* [Pull request #1109](https://github.com/ignitionrobotics/ign-gazebo/pull/1109)

1. Create expanding type header to reduce code duplication
* [Pull request #1169](https://github.com/ignitionrobotics/ign-gazebo/pull/1169)

1. `minimal_scene.sdf` example: add `camera_clip` params
* [Pull request #1166](https://github.com/ignitionrobotics/ign-gazebo/pull/1166)

1. Sensor systems work if loaded after sensors
* [Pull request #1104](https://github.com/ignitionrobotics/ign-gazebo/pull/1104)

1. Support printing sensors using `ign model`
* [Pull request #1157](https://github.com/ignitionrobotics/ign-gazebo/pull/1157)

1. Set camera clipping plane distances from the GUI
* [Pull request #1162](https://github.com/ignitionrobotics/ign-gazebo/pull/1162)

1. Fix generation of systems library symlinks in build directory
* [Pull request #1160](https://github.com/ignitionrobotics/ign-gazebo/pull/1160)

1. Add a default value for `isHeadlessRendering`.
* [Pull request #1151](https://github.com/ignitionrobotics/ign-gazebo/pull/1151)

1. Component inspector

1. Edit material colors
* [Pull request #1123](https://github.com/ignitionrobotics/ign-gazebo/pull/1123)
* [Pull request #1186](https://github.com/ignitionrobotics/ign-gazebo/pull/1186)

1. Fix integers and floats
* [Pull request #1143](https://github.com/ignitionrobotics/ign-gazebo/pull/1143)

1. Prevent a segfault when updating
* [Pull request #1167](https://github.com/ignitionrobotics/ign-gazebo/pull/1167)

1. Use `uint64_t` for Entity IDs
* [Pull request #1144](https://github.com/ignitionrobotics/ign-gazebo/pull/1144)

1. Support setting the background color for sensors
* [Pull request #1147](https://github.com/ignitionrobotics/ign-gazebo/pull/1147)

1. Select top level entity not visual
* [Pull request #1150](https://github.com/ignitionrobotics/ign-gazebo/pull/1150)

1. Update create entity offset on GUI side
* [Pull request #1145](https://github.com/ignitionrobotics/ign-gazebo/pull/1145)

1. Update Select Entities GUI plugin to use Entity type
* [Pull request #1146](https://github.com/ignitionrobotics/ign-gazebo/pull/1146)

1. Notify other GUI plugins of added/removed entities via GUI events
* [Pull request #1138](https://github.com/ignitionrobotics/ign-gazebo/pull/1138)
* [Pull request #1213](https://github.com/ignitionrobotics/ign-gazebo/pull/1213)

### Ignition Gazebo 6.1.0 (2021-10-25)

1. Updates to camera video record from subt
Expand Down
4 changes: 4 additions & 0 deletions examples/worlds/plane_propeller_demo.sdf
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@
filename="ignition-gazebo-scene-broadcaster-system"
name="ignition::gazebo::systems::SceneBroadcaster">
</plugin>
<plugin
filename='ignition-gazebo-sensors-system'
name='ignition::gazebo::systems::Sensors'>
</plugin>

<light type="directional" name="sun">
<cast_shadows>true</cast_shadows>
Expand Down
70 changes: 70 additions & 0 deletions examples/worlds/sensors.sdf
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@
filename="ignition-gazebo-magnetometer-system"
name="ignition::gazebo::systems::Magnetometer">
</plugin>
<plugin
filename="ignition-gazebo-forcetorque-system"
name="ignition::gazebo::systems::ForceTorque">
</plugin>
<plugin
filename="ignition-gazebo-user-commands-system"
name="ignition::gazebo::systems::UserCommands">
Expand Down Expand Up @@ -186,5 +190,71 @@
</link>
</model>

<model name="force_torque_demo">
<link name="base_plate">
<static>true</static>
</link>

<link name="link_1">
<pose> 0 0 2.0 0 0 0</pose>
<inertial>
<inertia>
<ixx>0.100000</ixx>
<ixy>0.000000</ixy>
<ixz>0.000000</ixz>
<iyy>0.100000</iyy>
<iyz>0.000000</iyz>
<izz>0.100000</izz>
</inertia>
<mass>10.000000</mass>
</inertial>
<visual name="visual_sphere">
<geometry>
<sphere>
<radius>0.100000</radius>
</sphere>
</geometry>
</visual>
<visual name="visual_cylinder">
<pose>0 0 -0.75 0 0 0</pose>
<geometry>
<cylinder>
<radius>0.0100000</radius>
<length>1.5</length>
</cylinder>
</geometry>
</visual>
<collision name="collision_sphere">
<geometry>
<sphere>
<radius>0.100000</radius>
</sphere>
</geometry>
</collision>
</link>
<joint name="joint_00" type="fixed">
<parent>world</parent>
<child>base_plate</child>
</joint>
<joint name="joint_01" type="revolute">
<parent>base_plate</parent>
<child>link_1</child>
<pose>0 0 -1.5 0 0 0</pose>
<axis>
<limit>
<lower>-1.57079</lower>
<upper>1.57079</upper>
</limit>
<dynamics>
<damping>0.000000</damping>
<friction>0.000000</friction>
</dynamics>
<xyz>1.000000 0.000000 0.000000</xyz>
</axis>
<sensor name="force_torque" type="force_torque">
<update_rate>10</update_rate>
</sensor>
</joint>
</model>
</world>
</sdf>
72 changes: 33 additions & 39 deletions include/ignition/gazebo/gui/GuiEvents.hh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
#include <utility>
#include <vector>
#include <ignition/math/Vector3.hh>
#include <ignition/utils/ImplPtr.hh>
#include "ignition/gazebo/gui/Export.hh"
#include "ignition/gazebo/Entity.hh"
#include "ignition/gazebo/config.hh"

Expand All @@ -38,7 +40,7 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE {
namespace events
{
/// \brief Event that notifies when new entities have been selected.
class EntitiesSelected : public QEvent
class IGNITION_GAZEBO_GUI_VISIBLE EntitiesSelected : public QEvent
{
/// \brief Constructor
/// \param[in] _entities All the selected entities
Expand Down Expand Up @@ -76,7 +78,7 @@ namespace events
};

/// \brief Event that notifies when all entities have been deselected.
class DeselectAllEntities : public QEvent
class IGNITION_GAZEBO_GUI_VISIBLE DeselectAllEntities : public QEvent
{
/// \brief Constructor
/// \param[in] _fromUser True if the event was directly generated by the
Expand All @@ -100,68 +102,60 @@ namespace events
private: bool fromUser{false};
};

/// \brief Event that contains newly created and removed entities
class AddedRemovedEntities : public QEvent
/// \brief Event that contains entities newly created or removed from the
/// GUI, but that aren't present on the server yet.
/// \sa NewRemovedEntities
class IGNITION_GAZEBO_GUI_VISIBLE GuiNewRemovedEntities : public QEvent
{
/// \brief Constructor
/// \param[in] _newEntities Set of newly created entities
/// \param[in] _removedEntities Set of recently removed entities
public: AddedRemovedEntities(const std::set<Entity> &_newEntities,
const std::set<Entity> &_removedEntities)
: QEvent(kType), newEntities(_newEntities),
removedEntities(_removedEntities)
{
}
public: GuiNewRemovedEntities(const std::set<Entity> &_newEntities,
const std::set<Entity> &_removedEntities);

/// \brief Get the set of newly created entities
public: const std::set<Entity> &NewEntities() const
{
return this->newEntities;
}
public: const std::set<Entity> &NewEntities() const;

/// \brief Get the set of recently removed entities
public: const std::set<Entity> &RemovedEntities() const
{
return this->removedEntities;
}
public: const std::set<Entity> &RemovedEntities() const;

/// \brief Unique type for this event.
static const QEvent::Type kType = QEvent::Type(QEvent::User + 3);

/// \brief Set of newly created entities
private: std::set<Entity> newEntities;

/// \brief Set of recently removed entities
private: std::set<Entity> removedEntities;
/// \internal
/// \brief Private data pointer
IGN_UTILS_IMPL_PTR(dataPtr)
};

/// \brief Event that notifies when new entities have been removed.
class RemovedEntities : public QEvent
/// \brief Event that notifies when new entities have been created or removed
/// on the server. This is a duplication of what `GuiSystem`s would get from
/// `EachNew` / `EachRemoved` ECM calls.
/// \sa GuiNewRemovedEntities
class IGNITION_GAZEBO_GUI_VISIBLE NewRemovedEntities : public QEvent
{
/// \brief Constructor
/// \param[in] _entities All the removed entities
public: explicit RemovedEntities(const std::vector<Entity> &_entities)
: QEvent(kType), entities(_entities)
{
}
/// \param[in] _newEntities Set of newly created entities
/// \param[in] _removedEntities Set of recently removed entities
public: NewRemovedEntities(const std::set<Entity> &_newEntities,
const std::set<Entity> &_removedEntities);

/// \brief Get the data sent with the event.
/// \return The entities being removed.
public: std::vector<Entity> Data() const
{
return this->entities;
}
/// \brief Get the set of newly created entities
public: const std::set<Entity> &NewEntities() const;

/// \brief Get the set of recently removed entities
public: const std::set<Entity> &RemovedEntities() const;

/// \brief Unique type for this event.
static const QEvent::Type kType = QEvent::Type(QEvent::User + 4);

/// \brief The removed entities.
private: std::vector<Entity> entities;
/// \internal
/// \brief Private data pointer
IGN_UTILS_IMPL_PTR(dataPtr)
};

/// \brief True if a transform control is currently active (translate /
/// rotate / scale). False if we're in selection mode.
class TransformControlModeActive : public QEvent
class IGNITION_GAZEBO_GUI_VISIBLE TransformControlModeActive : public QEvent
{
/// \brief Constructor
/// \param[in] _tranformModeActive is the transform control mode active
Expand Down
Loading