diff --git a/examples/scripts/blender/sdf_exporter.py b/examples/scripts/blender/sdf_exporter.py index 6450d0a46d..b619918c5c 100644 --- a/examples/scripts/blender/sdf_exporter.py +++ b/examples/scripts/blender/sdf_exporter.py @@ -50,7 +50,7 @@ def export_sdf(prefix_path): # 1 model and 1 link model = ET.SubElement(sdf, "model", attrib={"name": "test"}) - static = ET.SubElement(sdf, "static") + static = ET.SubElement(model, "static") static.text = "true" link = ET.SubElement(model, "link", attrib={"name": "testlink"}) # for each geometry in geometry library add a tag @@ -165,8 +165,8 @@ def add_attenuation_tags(light_tag, blender_light): uri.text = path.join(meshes_folder_prefix, dae_filename) surface = ET.SubElement(collision, "surface") - contact = ET.SubElement(collision, "contact") - collide_bitmask = ET.SubElement(collision, "collide_bitmask") + contact = ET.SubElement(surface, "contact") + collide_bitmask = ET.SubElement(contact, "collide_bitmask") collide_bitmask.text = "0x01" ## sdf write to file diff --git a/examples/worlds/nested_model.sdf b/examples/worlds/nested_model.sdf index 1ff1f267ba..f717a7a87b 100644 --- a/examples/worlds/nested_model.sdf +++ b/examples/worlds/nested_model.sdf @@ -8,7 +8,6 @@ - gz-physics-tpe-plugin - - gz-physics-tpe-plugin dataPtr->modelEntity)); + if (this->dataPtr->prevModelEntity != this->dataPtr->modelEntity) + { + this->dataPtr->prevModelEntity = this->dataPtr->modelEntity; + this->dataPtr->jointsModel.Clear(); + } + // List all joints for (const auto &jointEntity : jointEntities) { diff --git a/src/gui/plugins/view_angle/ViewAngle.cc b/src/gui/plugins/view_angle/ViewAngle.cc index 5d985a851a..8e035dfb90 100644 --- a/src/gui/plugins/view_angle/ViewAngle.cc +++ b/src/gui/plugins/view_angle/ViewAngle.cc @@ -338,7 +338,7 @@ bool ViewAngle::OnMoveToModelService(const gz::msgs::GUICamera &_msg, Entity entityId = kNullEntity; try { - entityId = std::get(visualToMove->UserData("gazebo-entity")); + entityId = std::get(visualToMove->UserData("gazebo-entity")); } catch(std::bad_variant_access &_e) { diff --git a/src/systems/joint_state_publisher/JointStatePublisher.hh b/src/systems/joint_state_publisher/JointStatePublisher.hh index c83d9a1197..28d2408091 100644 --- a/src/systems/joint_state_publisher/JointStatePublisher.hh +++ b/src/systems/joint_state_publisher/JointStatePublisher.hh @@ -33,8 +33,8 @@ namespace sim inline namespace GZ_SIM_VERSION_NAMESPACE { namespace systems { - /// \brief The JointStatePub system publishes state information for - /// a model. The published message type is gz::msgs::Model, and the + /// \brief The JointStatePublisher system publishes joint state information + /// for a model. The published message type is gz::msgs::Model, and the /// publication topic is determined by the `` parameter. /// /// By default the JointStatePublisher will publish all joints for @@ -45,7 +45,7 @@ namespace systems /// /// ``: Name of the topic to publish to. This parameter is optional, /// and if not provided, the joint state will be published to - /// "/world//model//state". + /// "/world//model//joint_state". /// ``: Name of a joint to publish. This parameter can be /// specified multiple times, and is optional. All joints in a model will /// be published if joint names are not specified. diff --git a/tutorials/files/video_recorder/video_recorder.png b/tutorials/files/video_recorder/video_recorder.png index f9b06895c9..65204b6358 100644 Binary files a/tutorials/files/video_recorder/video_recorder.png and b/tutorials/files/video_recorder/video_recorder.png differ diff --git a/tutorials/move_camera_to_model.md b/tutorials/move_camera_to_model.md index 25f014c404..0ba5287eeb 100644 --- a/tutorials/move_camera_to_model.md +++ b/tutorials/move_camera_to_model.md @@ -10,7 +10,7 @@ This tutorial gives an introduction to Gazebo's service `/gui/move_to/model`. Th For example, Let's move the camera to the `box` model looking down from 5 meters away. ```bash -ign service -s /gui/move_to/model --reqtype gz.msgs.GUICamera --reptype gz.msgs.Boolean -r 'name: "box", pose: {position: {z:5}, orientation: {x:0, y:0, z: -1, w:0}}, projection_type: "orbit"' --timeout 5000 +gz service -s /gui/move_to/model --reqtype gz.msgs.GUICamera --reptype gz.msgs.Boolean -r 'name: "box", pose: {position: {z:5}, orientation: {x:0, y:0, z: -1, w:0}}, projection_type: "orbit"' --timeout 5000 ``` @image html files/move_camera_to_model/box_5.gif @@ -18,7 +18,7 @@ ign service -s /gui/move_to/model --reqtype gz.msgs.GUICamera --reptype gz.msg The camera can also be placed far away, for example 20 meters: ```bash -ign service -s /gui/move_to/model --reqtype gz.msgs.GUICamera --reptype gz.msgs.Boolean -r 'name: "box", pose: {position: {z:20}, orientation: {x:0, y:0, z: -1, w:0}}, projection_type: "orbit"' --timeout 5000 +gz service -s /gui/move_to/model --reqtype gz.msgs.GUICamera --reptype gz.msgs.Boolean -r 'name: "box", pose: {position: {z:20}, orientation: {x:0, y:0, z: -1, w:0}}, projection_type: "orbit"' --timeout 5000 ``` @image html files/move_camera_to_model/box_20.gif diff --git a/tutorials/terminology.md b/tutorials/terminology.md index 81dc324c78..8b812fbf37 100644 --- a/tutorials/terminology.md +++ b/tutorials/terminology.md @@ -73,7 +73,8 @@ to developers touching the source code. more than 1 world. * It has a single ECM with all the entities and components relevant to the levels / world / performer being simulated. - * It's still TBD how to support multiple `` in parallel. + * It's still [an open task](https://github.com/gazebosim/gz-sim/issues/18) + to support multiple `` in parallel. * It has an event manager. * It has a network manager, if simulation is distributed. * It loads up a set of systems. diff --git a/tutorials/video_recorder.md b/tutorials/video_recorder.md index 42ada67f29..efea6422c2 100644 --- a/tutorials/video_recorder.md +++ b/tutorials/video_recorder.md @@ -13,8 +13,9 @@ Gazebo that already has this plugin included in the GUI. gz sim -v 4 video_record_dbl_pendulum.sdf ``` -In this plugin, you should see a single button with a video recorder icon. -Clicking on the button gives you the video format options that are available. +In this demo world, you should see a video recorder icon positioned on the top. +left area of the window along with other buttons. Clicking on the video +recorder button gives you the video format options that are available. @image html files/video_recorder/video_recorder.png