[gazebo] 01/04: Imported Upstream version 7.8.1
Jose Luis Rivero
jrivero-guest at moszumanska.debian.org
Tue Sep 5 19:26:27 UTC 2017
This is an automated email from the git hooks/post-receive script.
jrivero-guest pushed a commit to branch master
in repository gazebo.
commit f14ad5ec0a278a1f0ff818e196bcf4bab87a15cf
Author: Jose Luis Rivero <jrivero at osrfoundation.org>
Date: Tue Sep 5 20:59:54 2017 +0200
Imported Upstream version 7.8.1
---
.hg_archival.txt | 8 +-
CMakeLists.txt | 4 +-
CONTRIBUTING.md | 341 ++++
Changelog.md | 108 +-
LICENSE | 2 +-
Migration.md | 19 +
cmake/SearchForStuff.cmake | 3 +-
deps/opende/src/io.cpp | 2 +
deps/opende/src/step_bullet_inc.h | 2 +-
deps/opende/src/step_bullet_lemke_wrapper.cpp | 2 +-
deps/opende/src/step_bullet_lemke_wrapper.h | 2 +-
deps/opende/src/step_bullet_pgs_wrapper.cpp | 2 +-
deps/opende/src/step_bullet_pgs_wrapper.h | 2 +-
deps/opende/src/step_dart_pgs_wrapper.cpp | 2 +-
deps/opende/src/step_dart_pgs_wrapper.h | 2 +-
examples/ignition/angle.cc | 2 +-
examples/ignition/box.cc | 2 +-
examples/ignition/vector3.cc | 2 +-
examples/plugins/animate_joints/animate_joints.cc | 2 +-
examples/plugins/animate_pose/animate_pose.cc | 2 +-
examples/plugins/camera/camera_dump.cc | 2 +-
examples/plugins/camera/camera_move.cc | 2 +-
.../plugins/custom_messages/custom_messages.cc | 2 +-
examples/plugins/factory/factory.cc | 2 +-
.../GUIExampleSpawnWidget.cc | 2 +-
.../GUIExampleSpawnWidget.hh | 2 +-
.../GUIExampleTimeWidget.cc | 2 +-
.../GUIExampleTimeWidget.hh | 2 +-
examples/plugins/hello_world/hello_world.cc | 2 +-
.../mainwindow_example/MainWindowExampleWidget.cc | 2 +-
.../mainwindow_example/MainWindowExampleWidget.hh | 2 +-
examples/plugins/model_move/model_move.cc | 2 +-
examples/plugins/model_move/model_move.hh | 2 +-
examples/plugins/model_move/path_publisher.cc | 2 +-
examples/plugins/model_push/model_push.cc | 2 +-
examples/plugins/model_visuals/model_visuals.cc | 2 +-
examples/plugins/parameters/parameters.cc | 2 +-
examples/plugins/pr2_pose_test.cc | 2 +-
examples/plugins/presentation.cc | 2 +-
examples/plugins/projector/projector.cc | 2 +-
examples/plugins/ray_test.cc | 2 +-
examples/plugins/system_gui_plugin/system_gui.cc | 2 +-
examples/plugins/world_edit/world_edit.cc | 2 +-
examples/stand_alone/actuator/main.cc | 2 +-
examples/stand_alone/animated_box/animated_box.cc | 2 +-
.../animated_box/independent_listener.cc | 2 +-
.../stand_alone/animated_box/integrated_main.cc | 2 +-
.../stand_alone/arrange/arrange_plugin_test.cc | 2 +-
examples/stand_alone/clone_simulation/cloner.cc | 2 +-
examples/stand_alone/custom_main/custom_main.cc | 2 +-
.../stand_alone/custom_main/custom_main_vector.cc | 2 +-
.../custom_main_pkgconfig/custom_main.cc | 2 +-
examples/stand_alone/listener/listener.cc | 2 +-
examples/stand_alone/publisher/publisher.cc | 2 +-
examples/stand_alone/test_fixture/test.cc | 2 +-
examples/stand_alone/transporter/transporter.cc | 2 +-
gazebo/Master.cc | 2 +-
gazebo/Master.hh | 2 +-
gazebo/Server.cc | 19 +-
gazebo/Server.hh | 2 +-
gazebo/common/Animation.cc | 2 +-
gazebo/common/Animation.hh | 2 +-
gazebo/common/Animation_TEST.cc | 2 +-
gazebo/common/Assert.cc | 2 +-
gazebo/common/Assert.hh | 2 +-
gazebo/common/AudioDecoder.cc | 2 +-
gazebo/common/AudioDecoder.hh | 2 +-
gazebo/common/AudioDecoder_TEST.cc | 2 +-
gazebo/common/BVHLoader.cc | 2 +-
gazebo/common/BVHLoader.hh | 2 +-
gazebo/common/Base64.cc | 2 +-
gazebo/common/Base64.hh | 2 +-
gazebo/common/Battery.cc | 2 +-
gazebo/common/Battery.hh | 2 +-
gazebo/common/BatteryPrivate.hh | 2 +-
gazebo/common/Battery_TEST.cc | 2 +-
gazebo/common/ColladaExporter.cc | 2 +-
gazebo/common/ColladaExporter.hh | 2 +-
gazebo/common/ColladaExporterPrivate.hh | 2 +-
gazebo/common/ColladaExporter_TEST.cc | 2 +-
gazebo/common/ColladaLoader.cc | 2 +-
gazebo/common/ColladaLoader.hh | 2 +-
gazebo/common/ColladaLoaderPrivate.hh | 2 +-
gazebo/common/ColladaLoader_TEST.cc | 2 +-
gazebo/common/Color.cc | 2 +-
gazebo/common/Color.hh | 2 +-
gazebo/common/Color_TEST.cc | 2 +-
gazebo/common/CommonIface.cc | 2 +-
gazebo/common/CommonIface.hh | 2 +-
gazebo/common/CommonIface_TEST.cc | 2 +-
gazebo/common/CommonTypes.hh | 2 +-
gazebo/common/Console.cc | 2 +-
gazebo/common/Console.hh | 2 +-
gazebo/common/Console_TEST.cc | 2 +-
gazebo/common/Dem.cc | 2 +-
gazebo/common/Dem.hh | 2 +-
gazebo/common/DemPrivate.hh | 2 +-
gazebo/common/Dem_TEST.cc | 2 +-
gazebo/common/EnumIface.hh | 2 +-
gazebo/common/EnumIface_TEST.cc | 2 +-
gazebo/common/Event.cc | 2 +-
gazebo/common/Event.hh | 2 +-
gazebo/common/Event_TEST.cc | 2 +-
gazebo/common/Events.cc | 2 +-
gazebo/common/Events.hh | 2 +-
gazebo/common/Exception.cc | 2 +-
gazebo/common/Exception.hh | 2 +-
gazebo/common/Exception_TEST.cc | 2 +-
gazebo/common/GTSMeshUtils.cc | 2 +-
gazebo/common/GTSMeshUtils.hh | 2 +-
gazebo/common/GTSMeshUtils_TEST.cc | 2 +-
gazebo/common/HeightmapData.hh | 2 +-
gazebo/common/Image.cc | 2 +-
gazebo/common/Image.hh | 2 +-
gazebo/common/ImageHeightmap.cc | 2 +-
gazebo/common/ImageHeightmap.hh | 2 +-
gazebo/common/ImageHeightmap_TEST.cc | 2 +-
gazebo/common/Image_TEST.cc | 2 +-
gazebo/common/KeyEvent.cc | 2 +-
gazebo/common/KeyEvent.hh | 2 +-
gazebo/common/KeyFrame.cc | 2 +-
gazebo/common/KeyFrame.hh | 2 +-
gazebo/common/Material.cc | 2 +-
gazebo/common/Material.hh | 2 +-
gazebo/common/Material_TEST.cc | 2 +-
gazebo/common/Mesh.cc | 2 +-
gazebo/common/Mesh.hh | 2 +-
gazebo/common/MeshCSG.cc | 2 +-
gazebo/common/MeshCSG.hh | 2 +-
gazebo/common/MeshExporter.cc | 2 +-
gazebo/common/MeshExporter.hh | 2 +-
gazebo/common/MeshLoader.cc | 2 +-
gazebo/common/MeshLoader.hh | 2 +-
gazebo/common/MeshManager.cc | 2 +-
gazebo/common/MeshManager.hh | 2 +-
gazebo/common/MeshManager_TEST.cc | 2 +-
gazebo/common/Mesh_TEST.cc | 2 +-
gazebo/common/ModelDatabase.cc | 2 +-
gazebo/common/ModelDatabase.hh | 2 +-
gazebo/common/ModelDatabasePrivate.hh | 2 +-
gazebo/common/MouseEvent.cc | 2 +-
gazebo/common/MouseEvent.hh | 2 +-
gazebo/common/MouseEventPrivate.hh | 2 +-
gazebo/common/MouseEvent_TEST.cc | 2 +-
gazebo/common/MovingWindowFilter.hh | 2 +-
gazebo/common/MovingWindowFilter_TEST.cc | 2 +-
gazebo/common/PID.cc | 2 +-
gazebo/common/PID.hh | 2 +-
gazebo/common/Plugin.cc | 2 +-
gazebo/common/Plugin.hh | 2 +-
gazebo/common/STLLoader.cc | 2 +-
gazebo/common/STLLoader.hh | 2 +-
gazebo/common/SVGLoader.cc | 2 +-
gazebo/common/SVGLoader.hh | 2 +-
gazebo/common/SVGLoaderPrivate.hh | 2 +-
gazebo/common/SVGLoader_TEST.cc | 2 +-
gazebo/common/SingletonT.hh | 2 +-
gazebo/common/Skeleton.cc | 2 +-
gazebo/common/Skeleton.hh | 2 +-
gazebo/common/SkeletonAnimation.cc | 2 +-
gazebo/common/SkeletonAnimation.hh | 2 +-
gazebo/common/SphericalCoordinates.cc | 2 +-
gazebo/common/SphericalCoordinates.hh | 2 +-
gazebo/common/SphericalCoordinatesPrivate.hh | 2 +-
gazebo/common/SphericalCoordinates_TEST.cc | 2 +-
gazebo/common/SystemPaths.cc | 2 +-
gazebo/common/SystemPaths.hh | 2 +-
gazebo/common/SystemPaths_TEST.cc | 2 +-
gazebo/common/Time.cc | 2 +-
gazebo/common/Time.hh | 2 +-
gazebo/common/Time_TEST.cc | 2 +-
gazebo/common/Timer.cc | 2 +-
gazebo/common/Timer.hh | 2 +-
gazebo/common/Timer_TEST.cc | 2 +-
gazebo/common/UpdateInfo.hh | 2 +-
gazebo/common/Video.cc | 2 +-
gazebo/common/Video.hh | 2 +-
gazebo/common/ffmpeg_inc.cc | 2 +-
gazebo/common/ffmpeg_inc.h | 2 +-
gazebo/common/template_TEST.cc | 2 +-
gazebo/gazebo.1.ronn | 4 +
gazebo/gazebo.cc | 2 +-
gazebo/gazebo.hh | 2 +-
gazebo/gazebo_client.cc | 2 +-
gazebo/gazebo_client.hh | 2 +-
gazebo/gazebo_core.hh | 2 +-
gazebo/gazebo_main.cc | 5 +-
gazebo/gazebo_shared.cc | 2 +-
gazebo/gazebo_shared.hh | 2 +-
gazebo/gui/Actions.cc | 2 +-
gazebo/gui/Actions.hh | 2 +-
gazebo/gui/AlignWidget.cc | 2 +-
gazebo/gui/AlignWidget.hh | 2 +-
gazebo/gui/AlignWidgetPrivate.hh | 2 +-
gazebo/gui/ApplyWrenchDialog.cc | 2 +-
gazebo/gui/ApplyWrenchDialog.hh | 2 +-
gazebo/gui/ApplyWrenchDialogPrivate.hh | 2 +-
gazebo/gui/ApplyWrenchDialog_TEST.cc | 2 +-
gazebo/gui/ApplyWrenchDialog_TEST.hh | 2 +-
gazebo/gui/BuildingEditor_TEST.cc | 2 +-
gazebo/gui/BuildingEditor_TEST.hh | 2 +-
gazebo/gui/CloneWindow.cc | 2 +-
gazebo/gui/CloneWindow.hh | 2 +-
gazebo/gui/CloneWindowPrivate.hh | 2 +-
gazebo/gui/ConfigWidget.cc | 2 +-
gazebo/gui/ConfigWidget.hh | 2 +-
gazebo/gui/ConfigWidgetPrivate.hh | 2 +-
gazebo/gui/ConfigWidget_TEST.cc | 2 +-
gazebo/gui/ConfigWidget_TEST.hh | 2 +-
gazebo/gui/Conversions.cc | 2 +-
gazebo/gui/Conversions.hh | 2 +-
gazebo/gui/Conversions_TEST.cc | 2 +-
gazebo/gui/DataLogger.cc | 2 +-
gazebo/gui/DataLogger.hh | 2 +-
gazebo/gui/DataLoggerPrivate.hh | 2 +-
gazebo/gui/DataLogger_TEST.cc | 9 +-
gazebo/gui/DataLogger_TEST.hh | 2 +-
gazebo/gui/Diagnostics.cc | 2 +-
gazebo/gui/Diagnostics.hh | 2 +-
gazebo/gui/DiagnosticsPrivate.hh | 2 +-
gazebo/gui/Editor.cc | 2 +-
gazebo/gui/Editor.hh | 2 +-
gazebo/gui/EntityMaker.cc | 2 +-
gazebo/gui/EntityMaker.hh | 2 +-
gazebo/gui/EntityMakerPrivate.hh | 2 +-
gazebo/gui/GLWidget.cc | 5 +-
gazebo/gui/GLWidget.hh | 2 +-
gazebo/gui/GLWidgetPrivate.hh | 2 +-
gazebo/gui/GLWidget_TEST.cc | 2 +-
gazebo/gui/GLWidget_TEST.hh | 2 +-
gazebo/gui/GLWidget_TEST2.cc | 2 +-
gazebo/gui/GLWidget_TEST2.hh | 2 +-
gazebo/gui/GuiEvents.cc | 2 +-
gazebo/gui/GuiEvents.hh | 2 +-
gazebo/gui/GuiIface.cc | 2 +-
gazebo/gui/GuiIface.hh | 2 +-
gazebo/gui/GuiIface_TEST.cc | 2 +-
gazebo/gui/GuiIface_TEST.hh | 2 +-
gazebo/gui/GuiPlugin.hh | 2 +-
gazebo/gui/GuiTypes.hh | 2 +-
gazebo/gui/HotkeyDialog.cc | 2 +-
gazebo/gui/HotkeyDialog.hh | 2 +-
gazebo/gui/IncrementalPlot.cc | 2 +-
gazebo/gui/IncrementalPlot.hh | 2 +-
gazebo/gui/InsertModelWidget.cc | 2 +-
gazebo/gui/InsertModelWidget.hh | 2 +-
gazebo/gui/InsertModelWidgetPrivate.hh | 2 +-
gazebo/gui/JointControlWidget.cc | 2 +-
gazebo/gui/JointControlWidget.hh | 2 +-
gazebo/gui/JointControlWidgetPrivate.hh | 2 +-
gazebo/gui/KeyEventHandler.cc | 2 +-
gazebo/gui/KeyEventHandler.hh | 2 +-
gazebo/gui/KeyEventHandlerPrivate.hh | 2 +-
gazebo/gui/LaserVisualization_TEST.cc | 2 +-
gazebo/gui/LaserVisualization_TEST.hh | 2 +-
gazebo/gui/LayersWidget.cc | 2 +-
gazebo/gui/LayersWidget.hh | 2 +-
gazebo/gui/LayersWidgetPrivate.hh | 2 +-
gazebo/gui/LayersWidget_TEST.cc | 2 +-
gazebo/gui/LayersWidget_TEST.hh | 2 +-
gazebo/gui/LightMaker.cc | 2 +-
gazebo/gui/LightMaker.hh | 2 +-
gazebo/gui/LightMakerPrivate.hh | 2 +-
gazebo/gui/LightMaker_TEST.cc | 2 +-
gazebo/gui/LightMaker_TEST.hh | 2 +-
gazebo/gui/LogPlayWidget.cc | 2 +-
gazebo/gui/LogPlayWidget.hh | 2 +-
gazebo/gui/LogPlayWidgetPrivate.hh | 2 +-
gazebo/gui/MainWindow.cc | 2 +-
gazebo/gui/MainWindow.hh | 2 +-
gazebo/gui/MainWindowPrivate.hh | 2 +-
gazebo/gui/MainWindow_TEST.cc | 2 +-
gazebo/gui/MainWindow_TEST.hh | 2 +-
gazebo/gui/ModelAlign.cc | 2 +-
gazebo/gui/ModelAlign.hh | 2 +-
gazebo/gui/ModelAlignPrivate.hh | 2 +-
gazebo/gui/ModelAlign_TEST.cc | 2 +-
gazebo/gui/ModelAlign_TEST.hh | 2 +-
gazebo/gui/ModelListWidget.cc | 2 +-
gazebo/gui/ModelListWidget.hh | 2 +-
gazebo/gui/ModelListWidgetPrivate.hh | 2 +-
gazebo/gui/ModelListWidget_TEST.cc | 2 +-
gazebo/gui/ModelListWidget_TEST.hh | 2 +-
gazebo/gui/ModelMaker.cc | 2 +-
gazebo/gui/ModelMaker.hh | 2 +-
gazebo/gui/ModelMakerPrivate.hh | 2 +-
gazebo/gui/ModelMaker_TEST.cc | 2 +-
gazebo/gui/ModelMaker_TEST.hh | 2 +-
gazebo/gui/ModelManipulator.cc | 2 +-
gazebo/gui/ModelManipulator.hh | 2 +-
gazebo/gui/ModelManipulatorPrivate.hh | 2 +-
gazebo/gui/ModelRightMenu.cc | 2 +-
gazebo/gui/ModelRightMenu.hh | 2 +-
gazebo/gui/ModelSnap.cc | 2 +-
gazebo/gui/ModelSnap.hh | 2 +-
gazebo/gui/ModelSnapPrivate.hh | 2 +-
gazebo/gui/ModelSnap_TEST.cc | 2 +-
gazebo/gui/ModelSnap_TEST.hh | 2 +-
gazebo/gui/MouseEventHandler.cc | 2 +-
gazebo/gui/MouseEventHandler.hh | 2 +-
gazebo/gui/OculusWindow.cc | 2 +-
gazebo/gui/OculusWindow.hh | 2 +-
gazebo/gui/Projection_TEST.cc | 2 +-
gazebo/gui/Projection_TEST.hh | 2 +-
gazebo/gui/QTestFixture.cc | 2 +-
gazebo/gui/QTestFixture.hh | 2 +-
gazebo/gui/RenderWidget.cc | 2 +-
gazebo/gui/RenderWidget.hh | 2 +-
gazebo/gui/RenderWidget_TEST.cc | 2 +-
gazebo/gui/RenderWidget_TEST.hh | 2 +-
gazebo/gui/SaveDialog.cc | 2 +-
gazebo/gui/SaveDialog.hh | 2 +-
gazebo/gui/SaveDialogPrivate.hh | 2 +-
gazebo/gui/SaveDialog_TEST.cc | 2 +-
gazebo/gui/SaveDialog_TEST.hh | 2 +-
gazebo/gui/SpaceNav.cc | 2 +-
gazebo/gui/SpaceNav.hh | 2 +-
gazebo/gui/SpaceNavPrivate.hh | 2 +-
gazebo/gui/SplashScreen.cc | 2 +-
gazebo/gui/SplashScreen.hh | 2 +-
gazebo/gui/SplashScreenPrivate.hh | 2 +-
gazebo/gui/SplashScreen_TEST.cc | 2 +-
gazebo/gui/SplashScreen_TEST.hh | 2 +-
gazebo/gui/TimePanel.cc | 2 +-
gazebo/gui/TimePanel.hh | 2 +-
gazebo/gui/TimePanelPrivate.hh | 2 +-
gazebo/gui/TimePanel_TEST.cc | 2 +-
gazebo/gui/TimePanel_TEST.hh | 2 +-
gazebo/gui/TimeWidget.cc | 2 +-
gazebo/gui/TimeWidget.hh | 2 +-
gazebo/gui/TimeWidgetPrivate.hh | 2 +-
gazebo/gui/TimeWidget_TEST.cc | 2 +-
gazebo/gui/TimeWidget_TEST.hh | 2 +-
gazebo/gui/ToolsWidget.cc | 2 +-
gazebo/gui/ToolsWidget.hh | 2 +-
gazebo/gui/TopToolbar.cc | 2 +-
gazebo/gui/TopToolbar.hh | 2 +-
gazebo/gui/TopToolbarPrivate.hh | 2 +-
gazebo/gui/TopToolbar_TEST.cc | 2 +-
gazebo/gui/TopToolbar_TEST.hh | 2 +-
gazebo/gui/TopicSelector.cc | 2 +-
gazebo/gui/TopicSelector.hh | 2 +-
gazebo/gui/UserCmdHistory.cc | 2 +-
gazebo/gui/UserCmdHistory.hh | 2 +-
gazebo/gui/UserCmdHistoryPrivate.hh | 2 +-
gazebo/gui/ViewAngleWidget.cc | 2 +-
gazebo/gui/ViewAngleWidget.hh | 2 +-
gazebo/gui/ViewAngleWidgetPrivate.hh | 2 +-
gazebo/gui/ViewAngleWidget_TEST.cc | 2 +-
gazebo/gui/ViewAngleWidget_TEST.hh | 2 +-
gazebo/gui/building/BaseInspectorDialog.cc | 2 +-
gazebo/gui/building/BaseInspectorDialog.hh | 2 +-
gazebo/gui/building/BaseInspectorDialogPrivate.hh | 2 +-
gazebo/gui/building/BuildingEditor.cc | 2 +-
gazebo/gui/building/BuildingEditor.hh | 2 +-
gazebo/gui/building/BuildingEditorEvents.cc | 2 +-
gazebo/gui/building/BuildingEditorEvents.hh | 2 +-
gazebo/gui/building/BuildingEditorPalette.cc | 2 +-
gazebo/gui/building/BuildingEditorPalette.hh | 2 +-
.../gui/building/BuildingEditorPalettePrivate.hh | 2 +-
gazebo/gui/building/BuildingEditorWidget.cc | 2 +-
gazebo/gui/building/BuildingEditorWidget.hh | 2 +-
gazebo/gui/building/BuildingEditorWidgetPrivate.hh | 2 +-
gazebo/gui/building/BuildingMaker.cc | 2 +-
gazebo/gui/building/BuildingMaker.hh | 2 +-
gazebo/gui/building/BuildingMakerPrivate.hh | 2 +-
gazebo/gui/building/BuildingMaker_TEST.cc | 2 +-
gazebo/gui/building/BuildingMaker_TEST.hh | 2 +-
gazebo/gui/building/BuildingModelManip.cc | 2 +-
gazebo/gui/building/BuildingModelManip.hh | 2 +-
gazebo/gui/building/BuildingModelManipPrivate.hh | 2 +-
gazebo/gui/building/DoorItem.cc | 2 +-
gazebo/gui/building/DoorItem.hh | 2 +-
gazebo/gui/building/DoorItemPrivate.hh | 2 +-
gazebo/gui/building/EditorItem.cc | 2 +-
gazebo/gui/building/EditorItem.hh | 2 +-
gazebo/gui/building/EditorItemPrivate.hh | 2 +-
gazebo/gui/building/EditorView.cc | 2 +-
gazebo/gui/building/EditorView.hh | 2 +-
gazebo/gui/building/FloorItem.cc | 2 +-
gazebo/gui/building/FloorItem.hh | 2 +-
gazebo/gui/building/FloorItemPrivate.hh | 2 +-
gazebo/gui/building/GrabberHandle.cc | 2 +-
gazebo/gui/building/GrabberHandle.hh | 2 +-
gazebo/gui/building/GrabberHandlePrivate.hh | 2 +-
gazebo/gui/building/GridLines.cc | 2 +-
gazebo/gui/building/GridLines.hh | 2 +-
gazebo/gui/building/GridLinesPrivate.hh | 2 +-
gazebo/gui/building/ImportImageDialog.cc | 2 +-
gazebo/gui/building/ImportImageDialog.hh | 2 +-
gazebo/gui/building/ImportImageDialogPrivate.hh | 2 +-
gazebo/gui/building/ImportImageView.cc | 2 +-
gazebo/gui/building/ImportImageView.hh | 2 +-
gazebo/gui/building/ImportImageViewPrivate.hh | 2 +-
gazebo/gui/building/LevelInspectorDialog.cc | 2 +-
gazebo/gui/building/LevelInspectorDialog.hh | 2 +-
gazebo/gui/building/LevelInspectorDialogPrivate.hh | 2 +-
gazebo/gui/building/LevelWidget.cc | 2 +-
gazebo/gui/building/LevelWidget.hh | 2 +-
gazebo/gui/building/LevelWidgetPrivate.hh | 2 +-
gazebo/gui/building/MeasureItem.cc | 2 +-
gazebo/gui/building/MeasureItem.hh | 2 +-
gazebo/gui/building/MeasureItemPrivate.hh | 2 +-
gazebo/gui/building/RectItem.cc | 2 +-
gazebo/gui/building/RectItem.hh | 2 +-
gazebo/gui/building/RectItemPrivate.hh | 2 +-
gazebo/gui/building/RotateHandle.cc | 2 +-
gazebo/gui/building/RotateHandle.hh | 2 +-
gazebo/gui/building/RotateHandlePrivate.hh | 2 +-
gazebo/gui/building/ScaleWidget.cc | 2 +-
gazebo/gui/building/ScaleWidget.hh | 2 +-
gazebo/gui/building/SegmentItem.cc | 2 +-
gazebo/gui/building/SegmentItem.hh | 2 +-
gazebo/gui/building/SegmentItemPrivate.hh | 2 +-
gazebo/gui/building/StairsInspectorDialog.cc | 2 +-
gazebo/gui/building/StairsInspectorDialog.hh | 2 +-
.../gui/building/StairsInspectorDialogPrivate.hh | 2 +-
gazebo/gui/building/StairsItem.cc | 2 +-
gazebo/gui/building/StairsItem.hh | 2 +-
gazebo/gui/building/StairsItemPrivate.hh | 2 +-
gazebo/gui/building/WallInspectorDialog.cc | 2 +-
gazebo/gui/building/WallInspectorDialog.hh | 2 +-
gazebo/gui/building/WallInspectorDialogPrivate.hh | 2 +-
gazebo/gui/building/WallSegmentItem.cc | 2 +-
gazebo/gui/building/WallSegmentItem.hh | 2 +-
gazebo/gui/building/WallSegmentItemPrivate.hh | 2 +-
gazebo/gui/building/WindowDoorInspectorDialog.cc | 2 +-
gazebo/gui/building/WindowDoorInspectorDialog.hh | 2 +-
.../building/WindowDoorInspectorDialogPrivate.hh | 2 +-
gazebo/gui/building/WindowItem.cc | 2 +-
gazebo/gui/building/WindowItem.hh | 2 +-
gazebo/gui/building/WindowItemPrivate.hh | 2 +-
gazebo/gui/main.cc | 2 +-
gazebo/gui/model/CollisionConfig.cc | 2 +-
gazebo/gui/model/CollisionConfig.hh | 2 +-
gazebo/gui/model/CollisionConfig_TEST.cc | 2 +-
gazebo/gui/model/CollisionConfig_TEST.hh | 2 +-
gazebo/gui/model/EditorMaterialSwitcher.cc | 2 +-
gazebo/gui/model/EditorMaterialSwitcher.hh | 2 +-
gazebo/gui/model/EditorMaterialSwitcher_TEST.cc | 2 +-
gazebo/gui/model/EditorMaterialSwitcher_TEST.hh | 2 +-
gazebo/gui/model/ExtrudeDialog.cc | 2 +-
gazebo/gui/model/ExtrudeDialog.hh | 2 +-
gazebo/gui/model/ExtrudeDialogPrivate.hh | 2 +-
gazebo/gui/model/ExtrudeDialog_TEST.cc | 14 +-
gazebo/gui/model/ExtrudeDialog_TEST.hh | 2 +-
gazebo/gui/model/GraphScene.cc | 2 +-
gazebo/gui/model/GraphScene.hh | 2 +-
gazebo/gui/model/GraphScene_TEST.cc | 2 +-
gazebo/gui/model/GraphScene_TEST.hh | 2 +-
gazebo/gui/model/GraphView.cc | 2 +-
gazebo/gui/model/GraphView.hh | 2 +-
gazebo/gui/model/ImportDialog.cc | 2 +-
gazebo/gui/model/ImportDialog.hh | 2 +-
gazebo/gui/model/JointCreationDialog.cc | 2 +-
gazebo/gui/model/JointCreationDialog.hh | 2 +-
gazebo/gui/model/JointCreationDialogPrivate.hh | 2 +-
gazebo/gui/model/JointCreationDialog_TEST.cc | 2 +-
gazebo/gui/model/JointCreationDialog_TEST.hh | 2 +-
gazebo/gui/model/JointInspector.cc | 2 +-
gazebo/gui/model/JointInspector.hh | 2 +-
gazebo/gui/model/JointInspectorPrivate.hh | 2 +-
gazebo/gui/model/JointInspector_TEST.cc | 2 +-
gazebo/gui/model/JointInspector_TEST.hh | 2 +-
gazebo/gui/model/JointMaker.cc | 2 +-
gazebo/gui/model/JointMaker.hh | 2 +-
gazebo/gui/model/JointMakerPrivate.hh | 2 +-
gazebo/gui/model/JointMaker_TEST.cc | 2 +-
gazebo/gui/model/JointMaker_TEST.hh | 2 +-
gazebo/gui/model/LinkConfig.cc | 2 +-
gazebo/gui/model/LinkConfig.hh | 2 +-
gazebo/gui/model/LinkConfig_TEST.cc | 2 +-
gazebo/gui/model/LinkConfig_TEST.hh | 2 +-
gazebo/gui/model/LinkInspector.cc | 2 +-
gazebo/gui/model/LinkInspector.hh | 2 +-
gazebo/gui/model/LinkInspectorPrivate.hh | 2 +-
gazebo/gui/model/LinkInspector_TEST.cc | 2 +-
gazebo/gui/model/LinkInspector_TEST.hh | 2 +-
gazebo/gui/model/ModelCreator.cc | 2 +-
gazebo/gui/model/ModelCreator.hh | 2 +-
gazebo/gui/model/ModelCreator_TEST.cc | 2 +-
gazebo/gui/model/ModelCreator_TEST.hh | 2 +-
gazebo/gui/model/ModelData.cc | 2 +-
gazebo/gui/model/ModelData.hh | 2 +-
gazebo/gui/model/ModelData_TEST.cc | 2 +-
gazebo/gui/model/ModelData_TEST.hh | 2 +-
gazebo/gui/model/ModelEditor.cc | 2 +-
gazebo/gui/model/ModelEditor.hh | 2 +-
gazebo/gui/model/ModelEditorEvents.cc | 2 +-
gazebo/gui/model/ModelEditorEvents.hh | 2 +-
gazebo/gui/model/ModelEditorPalette.cc | 2 +-
gazebo/gui/model/ModelEditorPalette.hh | 2 +-
gazebo/gui/model/ModelEditorPalette_TEST.cc | 2 +-
gazebo/gui/model/ModelEditorPalette_TEST.hh | 2 +-
gazebo/gui/model/ModelEditorPrivate.hh | 2 +-
gazebo/gui/model/ModelEditorTypes.hh | 2 +-
gazebo/gui/model/ModelEditor_TEST.cc | 2 +-
gazebo/gui/model/ModelEditor_TEST.hh | 2 +-
gazebo/gui/model/ModelPluginInspector.cc | 2 +-
gazebo/gui/model/ModelPluginInspector.hh | 2 +-
gazebo/gui/model/ModelPluginInspectorPrivate.hh | 2 +-
gazebo/gui/model/ModelPluginInspector_TEST.cc | 2 +-
gazebo/gui/model/ModelPluginInspector_TEST.hh | 2 +-
gazebo/gui/model/ModelTreeWidget.cc | 2 +-
gazebo/gui/model/ModelTreeWidget.hh | 2 +-
gazebo/gui/model/ModelTreeWidget_TEST.cc | 2 +-
gazebo/gui/model/ModelTreeWidget_TEST.hh | 2 +-
gazebo/gui/model/SchematicViewWidget.cc | 2 +-
gazebo/gui/model/SchematicViewWidget.hh | 2 +-
gazebo/gui/model/SchematicViewWidget_TEST.cc | 2 +-
gazebo/gui/model/SchematicViewWidget_TEST.hh | 2 +-
gazebo/gui/model/VisualConfig.cc | 2 +-
gazebo/gui/model/VisualConfig.hh | 2 +-
gazebo/gui/model/VisualConfig_TEST.cc | 2 +-
gazebo/gui/model/VisualConfig_TEST.hh | 2 +-
gazebo/gui/qt.h | 2 +-
gazebo/gui/qt_test.h | 2 +-
gazebo/gui/terrain/TerrainEditor.cc | 2 +-
gazebo/gui/terrain/TerrainEditor.hh | 2 +-
gazebo/gui/terrain/TerrainEditorPalette.cc | 2 +-
gazebo/gui/terrain/TerrainEditorPalette.hh | 2 +-
gazebo/gui/terrain/TerrainEditorPalettePrivate.hh | 2 +-
gazebo/gui/terrain/TerrainEditorPrivate.hh | 2 +-
gazebo/gui/viewers/ImageFrame.cc | 2 +-
gazebo/gui/viewers/ImageFrame.hh | 2 +-
gazebo/gui/viewers/ImageFramePrivate.hh | 2 +-
gazebo/gui/viewers/ImageView.cc | 2 +-
gazebo/gui/viewers/ImageView.hh | 2 +-
gazebo/gui/viewers/ImageViewPrivate.hh | 2 +-
gazebo/gui/viewers/ImagesView.cc | 2 +-
gazebo/gui/viewers/ImagesView.hh | 2 +-
gazebo/gui/viewers/ImagesViewPrivate.hh | 2 +-
gazebo/gui/viewers/ImagesView_TEST.cc | 2 +-
gazebo/gui/viewers/ImagesView_TEST.hh | 2 +-
gazebo/gui/viewers/LaserView.cc | 7 +-
gazebo/gui/viewers/LaserView.hh | 2 +-
gazebo/gui/viewers/LaserView_TEST.cc | 2 +-
gazebo/gui/viewers/LaserView_TEST.hh | 2 +-
gazebo/gui/viewers/TextView.cc | 2 +-
gazebo/gui/viewers/TextView.hh | 2 +-
gazebo/gui/viewers/TopicView.cc | 2 +-
gazebo/gui/viewers/TopicView.hh | 2 +-
gazebo/gui/viewers/ViewFactory.cc | 2 +-
gazebo/gui/viewers/ViewFactory.hh | 2 +-
gazebo/gzserver.1.ronn | 4 +
gazebo/math/Angle.cc | 2 +-
gazebo/math/Angle.hh | 2 +-
gazebo/math/Angle_TEST.cc | 2 +-
gazebo/math/Box.cc | 2 +-
gazebo/math/Box.hh | 2 +-
gazebo/math/Box_TEST.cc | 2 +-
gazebo/math/Filter.hh | 2 +-
gazebo/math/Helpers.cc | 2 +-
gazebo/math/Helpers.hh | 2 +-
gazebo/math/Helpers_TEST.cc | 2 +-
gazebo/math/Kmeans.cc | 2 +-
gazebo/math/Kmeans.hh | 2 +-
gazebo/math/Kmeans_TEST.cc | 2 +-
gazebo/math/MathTypes.hh | 2 +-
gazebo/math/Matrix3.cc | 2 +-
gazebo/math/Matrix3.hh | 2 +-
gazebo/math/Matrix3_TEST.cc | 2 +-
gazebo/math/Matrix4.cc | 2 +-
gazebo/math/Matrix4.hh | 2 +-
gazebo/math/Plane.cc | 2 +-
gazebo/math/Plane.hh | 2 +-
gazebo/math/Plane_TEST.cc | 2 +-
gazebo/math/Pose.cc | 2 +-
gazebo/math/Pose.hh | 2 +-
gazebo/math/Pose_TEST.cc | 2 +-
gazebo/math/Quaternion.cc | 2 +-
gazebo/math/Quaternion.hh | 2 +-
gazebo/math/Quaternion_TEST.cc | 2 +-
gazebo/math/Rand.cc | 2 +-
gazebo/math/Rand.hh | 2 +-
gazebo/math/Rand_TEST.cc | 2 +-
gazebo/math/RotationSpline.cc | 2 +-
gazebo/math/RotationSpline.hh | 2 +-
gazebo/math/RotationSpline_TEST.cc | 2 +-
gazebo/math/SignalStats.cc | 2 +-
gazebo/math/SignalStats.hh | 2 +-
gazebo/math/SignalStatsPrivate.hh | 2 +-
gazebo/math/SignalStats_TEST.cc | 2 +-
gazebo/math/Spline.cc | 2 +-
gazebo/math/Spline.hh | 2 +-
gazebo/math/Spline_TEST.cc | 2 +-
gazebo/math/Vector2d.cc | 2 +-
gazebo/math/Vector2d.hh | 2 +-
gazebo/math/Vector2d_TEST.cc | 2 +-
gazebo/math/Vector2i.cc | 2 +-
gazebo/math/Vector2i.hh | 2 +-
gazebo/math/Vector2i_TEST.cc | 2 +-
gazebo/math/Vector3.cc | 2 +-
gazebo/math/Vector3.hh | 2 +-
gazebo/math/Vector3Stats.cc | 2 +-
gazebo/math/Vector3Stats.hh | 2 +-
gazebo/math/Vector3StatsPrivate.hh | 2 +-
gazebo/math/Vector3Stats_TEST.cc | 2 +-
gazebo/math/Vector3_TEST.cc | 2 +-
gazebo/math/Vector4.cc | 2 +-
gazebo/math/Vector4.hh | 2 +-
gazebo/math/Vector4_TEST.cc | 2 +-
gazebo/msgs/MsgFactory.cc | 2 +-
gazebo/msgs/MsgFactory.hh | 2 +-
gazebo/msgs/MsgFactory_TEST.cc | 2 +-
gazebo/msgs/generator/GazeboGenerator.cc | 2 +-
gazebo/msgs/generator/GazeboGenerator.hh | 2 +-
gazebo/msgs/generator/gazebo_generator.cc | 2 +-
gazebo/msgs/msgs.cc | 4 +-
gazebo/msgs/msgs.hh | 2 +-
gazebo/msgs/msgs_TEST.cc | 2 +-
gazebo/physics/Actor.cc | 2 +-
gazebo/physics/Actor.hh | 2 +-
gazebo/physics/BallJoint.hh | 2 +-
gazebo/physics/Base.cc | 2 +-
gazebo/physics/Base.hh | 2 +-
gazebo/physics/BoxShape.cc | 2 +-
gazebo/physics/BoxShape.hh | 2 +-
gazebo/physics/BoxShape_TEST.cc | 2 +-
gazebo/physics/Collision.cc | 10 +-
gazebo/physics/Collision.hh | 7 +-
gazebo/physics/CollisionState.cc | 2 +-
gazebo/physics/CollisionState.hh | 2 +-
gazebo/physics/Contact.cc | 2 +-
gazebo/physics/Contact.hh | 2 +-
gazebo/physics/ContactManager.cc | 2 +-
gazebo/physics/ContactManager.hh | 2 +-
gazebo/physics/ContactManager_TEST.cc | 2 +-
gazebo/physics/CylinderShape.cc | 2 +-
gazebo/physics/CylinderShape.hh | 2 +-
gazebo/physics/CylinderShape_TEST.cc | 2 +-
gazebo/physics/Entity.cc | 2 +-
gazebo/physics/Entity.hh | 2 +-
gazebo/physics/FixedJoint.hh | 2 +-
gazebo/physics/GearboxJoint.hh | 2 +-
gazebo/physics/Gripper.cc | 2 +-
gazebo/physics/Gripper.hh | 2 +-
gazebo/physics/HeightmapShape.cc | 2 +-
gazebo/physics/HeightmapShape.hh | 2 +-
gazebo/physics/Hinge2Joint.hh | 2 +-
gazebo/physics/HingeJoint.hh | 2 +-
gazebo/physics/Inertial.cc | 2 +-
gazebo/physics/Inertial.hh | 2 +-
gazebo/physics/Inertial_TEST.cc | 2 +-
gazebo/physics/Joint.cc | 2 +-
gazebo/physics/Joint.hh | 2 +-
gazebo/physics/JointController.cc | 2 +-
gazebo/physics/JointController.hh | 2 +-
gazebo/physics/JointControllerPrivate.hh | 2 +-
gazebo/physics/JointController_TEST.cc | 2 +-
gazebo/physics/JointState.cc | 2 +-
gazebo/physics/JointState.hh | 2 +-
gazebo/physics/JointWrench.hh | 2 +-
gazebo/physics/Light.cc | 2 +-
gazebo/physics/Light.hh | 2 +-
gazebo/physics/LightState.cc | 2 +-
gazebo/physics/LightState.hh | 2 +-
gazebo/physics/LightState_TEST.cc | 2 +-
gazebo/physics/Light_TEST.cc | 2 +-
gazebo/physics/Link.cc | 2 +-
gazebo/physics/Link.hh | 2 +-
gazebo/physics/LinkState.cc | 18 +-
gazebo/physics/LinkState.hh | 53 +-
gazebo/physics/MapShape.cc | 2 +-
gazebo/physics/MapShape.hh | 2 +-
gazebo/physics/MeshShape.cc | 2 +-
gazebo/physics/MeshShape.hh | 2 +-
gazebo/physics/Model.cc | 34 +-
gazebo/physics/Model.hh | 17 +-
gazebo/physics/ModelState.cc | 2 +-
gazebo/physics/ModelState.hh | 26 +-
gazebo/physics/ModelState_TEST.cc | 2 +-
gazebo/physics/Model_TEST.cc | 28 +-
gazebo/physics/MultiRayShape.cc | 2 +-
gazebo/physics/MultiRayShape.hh | 2 +-
gazebo/physics/PhysicsEngine.cc | 2 +-
gazebo/physics/PhysicsEngine.hh | 2 +-
gazebo/physics/PhysicsEngine_TEST.cc | 2 +-
gazebo/physics/PhysicsFactory.cc | 2 +-
gazebo/physics/PhysicsFactory.hh | 2 +-
gazebo/physics/PhysicsIface.cc | 2 +-
gazebo/physics/PhysicsIface.hh | 2 +-
gazebo/physics/PhysicsTypes.hh | 2 +-
gazebo/physics/PlaneShape.cc | 2 +-
gazebo/physics/PlaneShape.hh | 2 +-
gazebo/physics/PolylineShape.cc | 2 +-
gazebo/physics/PolylineShape.hh | 2 +-
gazebo/physics/Population.cc | 2 +-
gazebo/physics/Population.hh | 2 +-
gazebo/physics/PopulationPrivate.hh | 2 +-
gazebo/physics/PresetManager.cc | 2 +-
gazebo/physics/PresetManager.hh | 2 +-
gazebo/physics/PresetManagerPrivate.hh | 2 +-
gazebo/physics/PresetManager_TEST.cc | 2 +-
gazebo/physics/RayShape.cc | 2 +-
gazebo/physics/RayShape.hh | 2 +-
gazebo/physics/Road.cc | 2 +-
gazebo/physics/Road.hh | 2 +-
gazebo/physics/Road_TEST.cc | 2 +-
gazebo/physics/ScrewJoint.hh | 2 +-
gazebo/physics/Shape.cc | 2 +-
gazebo/physics/Shape.hh | 2 +-
gazebo/physics/SliderJoint.hh | 2 +-
gazebo/physics/SphereShape.cc | 2 +-
gazebo/physics/SphereShape.hh | 2 +-
gazebo/physics/SphereShape_TEST.cc | 2 +-
gazebo/physics/State.cc | 2 +-
gazebo/physics/State.hh | 2 +-
gazebo/physics/SurfaceParams.cc | 2 +-
gazebo/physics/SurfaceParams.hh | 2 +-
gazebo/physics/UniversalJoint.hh | 2 +-
gazebo/physics/UserCmdManager.cc | 2 +-
gazebo/physics/UserCmdManager.hh | 2 +-
gazebo/physics/UserCmdManagerPrivate.hh | 2 +-
gazebo/physics/UserCmdManager_TEST.cc | 2 +-
gazebo/physics/World.cc | 79 +-
gazebo/physics/World.hh | 2 +-
gazebo/physics/WorldPrivate.hh | 9 +-
gazebo/physics/WorldState.cc | 57 +-
gazebo/physics/WorldState.hh | 10 +-
gazebo/physics/WorldState_TEST.cc | 74 +-
gazebo/physics/bullet/BulletBallJoint.cc | 2 +-
gazebo/physics/bullet/BulletBallJoint.hh | 2 +-
gazebo/physics/bullet/BulletBoxShape.hh | 2 +-
gazebo/physics/bullet/BulletCollision.cc | 50 +-
gazebo/physics/bullet/BulletCollision.hh | 2 +-
gazebo/physics/bullet/BulletCylinderShape.hh | 2 +-
gazebo/physics/bullet/BulletFixedJoint.cc | 2 +-
gazebo/physics/bullet/BulletFixedJoint.hh | 2 +-
gazebo/physics/bullet/BulletHeightmapShape.cc | 2 +-
gazebo/physics/bullet/BulletHeightmapShape.hh | 2 +-
gazebo/physics/bullet/BulletHinge2Joint.cc | 2 +-
gazebo/physics/bullet/BulletHinge2Joint.hh | 2 +-
gazebo/physics/bullet/BulletHingeJoint.cc | 2 +-
gazebo/physics/bullet/BulletHingeJoint.hh | 2 +-
gazebo/physics/bullet/BulletJoint.cc | 2 +-
gazebo/physics/bullet/BulletJoint.hh | 2 +-
gazebo/physics/bullet/BulletLink.cc | 29 +-
gazebo/physics/bullet/BulletLink.hh | 5 +-
gazebo/physics/bullet/BulletMesh.cc | 2 +-
gazebo/physics/bullet/BulletMesh.hh | 2 +-
gazebo/physics/bullet/BulletMeshShape.cc | 2 +-
gazebo/physics/bullet/BulletMeshShape.hh | 2 +-
gazebo/physics/bullet/BulletMotionState.cc | 2 +-
gazebo/physics/bullet/BulletMotionState.hh | 2 +-
gazebo/physics/bullet/BulletMultiRayShape.cc | 2 +-
gazebo/physics/bullet/BulletMultiRayShape.hh | 2 +-
gazebo/physics/bullet/BulletPhysics.cc | 18 +-
gazebo/physics/bullet/BulletPhysics.hh | 2 +-
gazebo/physics/bullet/BulletPhysics_TEST.cc | 2 +-
gazebo/physics/bullet/BulletPlaneShape.hh | 2 +-
gazebo/physics/bullet/BulletPolylineShape.cc | 2 +-
gazebo/physics/bullet/BulletPolylineShape.hh | 2 +-
gazebo/physics/bullet/BulletRayShape.cc | 2 +-
gazebo/physics/bullet/BulletRayShape.hh | 2 +-
gazebo/physics/bullet/BulletScrewJoint.cc | 2 +-
gazebo/physics/bullet/BulletScrewJoint.hh | 2 +-
gazebo/physics/bullet/BulletSliderJoint.cc | 2 +-
gazebo/physics/bullet/BulletSliderJoint.hh | 2 +-
gazebo/physics/bullet/BulletSphereShape.hh | 2 +-
gazebo/physics/bullet/BulletSurfaceParams.cc | 2 +-
gazebo/physics/bullet/BulletSurfaceParams.hh | 2 +-
gazebo/physics/bullet/BulletTypes.hh | 2 +-
gazebo/physics/bullet/BulletTypes_TEST.cc | 2 +-
gazebo/physics/bullet/BulletUniversalJoint.cc | 2 +-
gazebo/physics/bullet/BulletUniversalJoint.hh | 2 +-
gazebo/physics/bullet/bullet_inc.h | 2 +-
gazebo/physics/bullet/bullet_math_inc.h | 2 +-
gazebo/physics/bullet/gzBtUniversalConstraint.cc | 2 +-
gazebo/physics/bullet/gzBtUniversalConstraint.hh | 2 +-
gazebo/physics/dart/DARTBallJoint.cc | 2 +-
gazebo/physics/dart/DARTBallJoint.hh | 2 +-
gazebo/physics/dart/DARTBoxShape.cc | 2 +-
gazebo/physics/dart/DARTBoxShape.hh | 2 +-
gazebo/physics/dart/DARTBoxShapePrivate.hh | 2 +-
gazebo/physics/dart/DARTCollision.cc | 2 +-
gazebo/physics/dart/DARTCollision.hh | 2 +-
gazebo/physics/dart/DARTCollisionPrivate.hh | 2 +-
gazebo/physics/dart/DARTCylinderShape.cc | 2 +-
gazebo/physics/dart/DARTCylinderShape.hh | 2 +-
gazebo/physics/dart/DARTCylinderShapePrivate.hh | 2 +-
gazebo/physics/dart/DARTFixedJoint.cc | 2 +-
gazebo/physics/dart/DARTFixedJoint.hh | 2 +-
gazebo/physics/dart/DARTHeightmapShape.cc | 2 +-
gazebo/physics/dart/DARTHeightmapShape.hh | 2 +-
gazebo/physics/dart/DARTHeightmapShapePrivate.hh | 2 +-
gazebo/physics/dart/DARTHinge2Joint.cc | 2 +-
gazebo/physics/dart/DARTHinge2Joint.hh | 2 +-
gazebo/physics/dart/DARTHingeJoint.cc | 2 +-
gazebo/physics/dart/DARTHingeJoint.hh | 2 +-
gazebo/physics/dart/DARTJoint.cc | 2 +-
gazebo/physics/dart/DARTJoint.hh | 2 +-
gazebo/physics/dart/DARTJointPrivate.hh | 2 +-
gazebo/physics/dart/DARTLink.cc | 2 +-
gazebo/physics/dart/DARTLink.hh | 2 +-
gazebo/physics/dart/DARTLinkPrivate.hh | 2 +-
gazebo/physics/dart/DARTMesh.cc | 2 +-
gazebo/physics/dart/DARTMesh.hh | 2 +-
gazebo/physics/dart/DARTMeshPrivate.hh | 2 +-
gazebo/physics/dart/DARTMeshShape.cc | 2 +-
gazebo/physics/dart/DARTMeshShape.hh | 2 +-
gazebo/physics/dart/DARTMeshShapePrivate.hh | 2 +-
gazebo/physics/dart/DARTModel.cc | 2 +-
gazebo/physics/dart/DARTModel.hh | 2 +-
gazebo/physics/dart/DARTModelPrivate.hh | 2 +-
gazebo/physics/dart/DARTMultiRayShape.cc | 2 +-
gazebo/physics/dart/DARTMultiRayShape.hh | 2 +-
gazebo/physics/dart/DARTMultiRayShapePrivate.hh | 2 +-
gazebo/physics/dart/DARTPhysics.cc | 2 +-
gazebo/physics/dart/DARTPhysics.hh | 2 +-
gazebo/physics/dart/DARTPhysicsPrivate.hh | 2 +-
gazebo/physics/dart/DARTPlaneShape.cc | 2 +-
gazebo/physics/dart/DARTPlaneShape.hh | 2 +-
gazebo/physics/dart/DARTPlaneShapePrivate.hh | 2 +-
gazebo/physics/dart/DARTPolylineShape.cc | 2 +-
gazebo/physics/dart/DARTPolylineShape.hh | 2 +-
gazebo/physics/dart/DARTPolylineShapePrivate.hh | 2 +-
gazebo/physics/dart/DARTRayShape.cc | 2 +-
gazebo/physics/dart/DARTRayShape.hh | 2 +-
gazebo/physics/dart/DARTRayShapePrivate.hh | 2 +-
gazebo/physics/dart/DARTScrewJoint.cc | 2 +-
gazebo/physics/dart/DARTScrewJoint.hh | 2 +-
gazebo/physics/dart/DARTSliderJoint.cc | 2 +-
gazebo/physics/dart/DARTSliderJoint.hh | 2 +-
gazebo/physics/dart/DARTSphereShape.cc | 2 +-
gazebo/physics/dart/DARTSphereShape.hh | 2 +-
gazebo/physics/dart/DARTSphereShapePrivate.hh | 2 +-
gazebo/physics/dart/DARTSurfaceParams.cc | 2 +-
gazebo/physics/dart/DARTSurfaceParams.hh | 2 +-
gazebo/physics/dart/DARTSurfaceParamsPrivate.hh | 2 +-
gazebo/physics/dart/DARTTypes.hh | 2 +-
gazebo/physics/dart/DARTUniversalJoint.cc | 2 +-
gazebo/physics/dart/DARTUniversalJoint.hh | 2 +-
gazebo/physics/dart/dart_inc.h | 2 +-
gazebo/physics/ode/ODEBallJoint.cc | 2 +-
gazebo/physics/ode/ODEBallJoint.hh | 2 +-
gazebo/physics/ode/ODEBoxShape.hh | 2 +-
gazebo/physics/ode/ODECollision.cc | 2 +-
gazebo/physics/ode/ODECollision.hh | 2 +-
gazebo/physics/ode/ODECylinderShape.hh | 2 +-
gazebo/physics/ode/ODEFixedJoint.cc | 2 +-
gazebo/physics/ode/ODEFixedJoint.hh | 2 +-
gazebo/physics/ode/ODEGearboxJoint.cc | 2 +-
gazebo/physics/ode/ODEGearboxJoint.hh | 2 +-
gazebo/physics/ode/ODEHeightmapShape.cc | 2 +-
gazebo/physics/ode/ODEHeightmapShape.hh | 2 +-
gazebo/physics/ode/ODEHinge2Joint.cc | 2 +-
gazebo/physics/ode/ODEHinge2Joint.hh | 2 +-
gazebo/physics/ode/ODEHingeJoint.cc | 2 +-
gazebo/physics/ode/ODEHingeJoint.hh | 2 +-
gazebo/physics/ode/ODEJoint.cc | 2 +-
gazebo/physics/ode/ODEJoint.hh | 2 +-
gazebo/physics/ode/ODEJoint_TEST.cc | 2 +-
gazebo/physics/ode/ODELink.cc | 2 +-
gazebo/physics/ode/ODELink.hh | 2 +-
gazebo/physics/ode/ODEMesh.cc | 2 +-
gazebo/physics/ode/ODEMesh.hh | 2 +-
gazebo/physics/ode/ODEMeshShape.cc | 2 +-
gazebo/physics/ode/ODEMeshShape.hh | 2 +-
gazebo/physics/ode/ODEMultiRayShape.cc | 2 +-
gazebo/physics/ode/ODEMultiRayShape.hh | 2 +-
gazebo/physics/ode/ODEPhysics.cc | 16 +-
gazebo/physics/ode/ODEPhysics.hh | 2 +-
gazebo/physics/ode/ODEPhysicsPrivate.hh | 2 +-
gazebo/physics/ode/ODEPhysics_TEST.cc | 2 +-
gazebo/physics/ode/ODEPlaneShape.hh | 2 +-
gazebo/physics/ode/ODEPolylineShape.cc | 2 +-
gazebo/physics/ode/ODEPolylineShape.hh | 2 +-
gazebo/physics/ode/ODERayShape.cc | 2 +-
gazebo/physics/ode/ODERayShape.hh | 2 +-
gazebo/physics/ode/ODEScrewJoint.cc | 2 +-
gazebo/physics/ode/ODEScrewJoint.hh | 2 +-
gazebo/physics/ode/ODESliderJoint.cc | 2 +-
gazebo/physics/ode/ODESliderJoint.hh | 2 +-
gazebo/physics/ode/ODESphereShape.hh | 2 +-
gazebo/physics/ode/ODESurfaceParams.cc | 2 +-
gazebo/physics/ode/ODESurfaceParams.hh | 2 +-
gazebo/physics/ode/ODETypes.hh | 2 +-
gazebo/physics/ode/ODEUniversalJoint.cc | 2 +-
gazebo/physics/ode/ODEUniversalJoint.hh | 2 +-
gazebo/physics/ode/ode_inc.h | 2 +-
gazebo/physics/simbody/SimbodyBallJoint.cc | 2 +-
gazebo/physics/simbody/SimbodyBallJoint.hh | 2 +-
gazebo/physics/simbody/SimbodyBoxShape.hh | 2 +-
gazebo/physics/simbody/SimbodyCollision.cc | 2 +-
gazebo/physics/simbody/SimbodyCollision.hh | 2 +-
gazebo/physics/simbody/SimbodyCylinderShape.hh | 2 +-
gazebo/physics/simbody/SimbodyFixedJoint.cc | 2 +-
gazebo/physics/simbody/SimbodyFixedJoint.hh | 2 +-
gazebo/physics/simbody/SimbodyHeightmapShape.cc | 2 +-
gazebo/physics/simbody/SimbodyHeightmapShape.hh | 2 +-
gazebo/physics/simbody/SimbodyHinge2Joint.cc | 2 +-
gazebo/physics/simbody/SimbodyHinge2Joint.hh | 2 +-
gazebo/physics/simbody/SimbodyHingeJoint.cc | 2 +-
gazebo/physics/simbody/SimbodyHingeJoint.hh | 2 +-
gazebo/physics/simbody/SimbodyJoint.cc | 2 +-
gazebo/physics/simbody/SimbodyJoint.hh | 2 +-
gazebo/physics/simbody/SimbodyLink.cc | 2 +-
gazebo/physics/simbody/SimbodyLink.hh | 2 +-
gazebo/physics/simbody/SimbodyMesh.cc | 2 +-
gazebo/physics/simbody/SimbodyMesh.hh | 2 +-
gazebo/physics/simbody/SimbodyMeshShape.cc | 2 +-
gazebo/physics/simbody/SimbodyMeshShape.hh | 2 +-
gazebo/physics/simbody/SimbodyModel.cc | 2 +-
gazebo/physics/simbody/SimbodyModel.hh | 2 +-
gazebo/physics/simbody/SimbodyMultiRayShape.cc | 2 +-
gazebo/physics/simbody/SimbodyMultiRayShape.hh | 2 +-
gazebo/physics/simbody/SimbodyPhysics.cc | 2 +-
gazebo/physics/simbody/SimbodyPhysics.hh | 2 +-
gazebo/physics/simbody/SimbodyPlaneShape.cc | 2 +-
gazebo/physics/simbody/SimbodyPlaneShape.hh | 2 +-
gazebo/physics/simbody/SimbodyPolylineShape.cc | 2 +-
gazebo/physics/simbody/SimbodyPolylineShape.hh | 2 +-
gazebo/physics/simbody/SimbodyRayShape.cc | 2 +-
gazebo/physics/simbody/SimbodyRayShape.hh | 2 +-
gazebo/physics/simbody/SimbodyScrewJoint.cc | 2 +-
gazebo/physics/simbody/SimbodyScrewJoint.hh | 2 +-
gazebo/physics/simbody/SimbodySliderJoint.cc | 2 +-
gazebo/physics/simbody/SimbodySliderJoint.hh | 2 +-
gazebo/physics/simbody/SimbodySphereShape.hh | 2 +-
gazebo/physics/simbody/SimbodyTypes.hh | 2 +-
gazebo/physics/simbody/SimbodyUniversalJoint.cc | 2 +-
gazebo/physics/simbody/SimbodyUniversalJoint.hh | 2 +-
gazebo/physics/simbody/simbody_inc.h | 2 +-
gazebo/rendering/ApplyWrenchVisual.cc | 2 +-
gazebo/rendering/ApplyWrenchVisual.hh | 2 +-
gazebo/rendering/ApplyWrenchVisualPrivate.hh | 2 +-
gazebo/rendering/ArrowVisual.cc | 2 +-
gazebo/rendering/ArrowVisual.hh | 2 +-
gazebo/rendering/ArrowVisualPrivate.hh | 2 +-
gazebo/rendering/AxisVisual.cc | 2 +-
gazebo/rendering/AxisVisual.hh | 2 +-
gazebo/rendering/AxisVisualPrivate.hh | 2 +-
gazebo/rendering/CMakeLists.txt | 1 +
gazebo/rendering/COMVisual.cc | 2 +-
gazebo/rendering/COMVisual.hh | 2 +-
gazebo/rendering/COMVisualPrivate.hh | 2 +-
gazebo/rendering/COMVisual_TEST.cc | 2 +-
gazebo/rendering/Camera.cc | 4 +-
gazebo/rendering/Camera.hh | 2 +-
gazebo/rendering/CameraLensPrivate.hh | 2 +-
gazebo/rendering/CameraPrivate.hh | 2 +-
gazebo/rendering/CameraVisual.cc | 2 +-
gazebo/rendering/CameraVisual.hh | 2 +-
gazebo/rendering/CameraVisualPrivate.hh | 2 +-
gazebo/rendering/ContactVisual.cc | 2 +-
gazebo/rendering/ContactVisual.hh | 2 +-
gazebo/rendering/ContactVisualPrivate.hh | 2 +-
gazebo/rendering/Conversions.cc | 2 +-
gazebo/rendering/Conversions.hh | 2 +-
gazebo/rendering/DepthCamera.cc | 2 +-
gazebo/rendering/DepthCamera.hh | 2 +-
gazebo/rendering/DepthCameraPrivate.hh | 2 +-
gazebo/rendering/Distortion.cc | 385 ++--
gazebo/rendering/Distortion.hh | 30 +-
gazebo/rendering/DistortionPrivate.hh | 17 +-
gazebo/rendering/Distortion_TEST.cc | 123 ++
gazebo/rendering/DynamicLines.cc | 2 +-
gazebo/rendering/DynamicLines.hh | 2 +-
gazebo/rendering/DynamicRenderable.cc | 2 +-
gazebo/rendering/DynamicRenderable.hh | 2 +-
gazebo/rendering/FPSViewController.cc | 2 +-
gazebo/rendering/FPSViewController.hh | 2 +-
gazebo/rendering/GpuLaser.cc | 2 +-
gazebo/rendering/GpuLaser.hh | 2 +-
gazebo/rendering/GpuLaserPrivate.hh | 2 +-
gazebo/rendering/GpuLaser_TEST.cc | 2 +-
gazebo/rendering/Grid.cc | 2 +-
gazebo/rendering/Grid.hh | 2 +-
gazebo/rendering/Heightmap.cc | 274 ++-
gazebo/rendering/Heightmap.hh | 29 +-
gazebo/rendering/HeightmapPrivate.hh | 28 +-
gazebo/rendering/Heightmap_TEST.cc | 26 +-
gazebo/rendering/InertiaVisual.cc | 2 +-
gazebo/rendering/InertiaVisual.hh | 2 +-
gazebo/rendering/InertiaVisualPrivate.hh | 2 +-
gazebo/rendering/JointVisual.cc | 2 +-
gazebo/rendering/JointVisual.hh | 2 +-
gazebo/rendering/JointVisualPrivate.hh | 2 +-
gazebo/rendering/JointVisual_TEST.cc | 2 +-
gazebo/rendering/LaserVisual.cc | 7 +-
gazebo/rendering/LaserVisual.hh | 2 +-
gazebo/rendering/LaserVisualPrivate.hh | 2 +-
gazebo/rendering/Light.cc | 2 +-
gazebo/rendering/Light.hh | 2 +-
gazebo/rendering/LightPrivate.hh | 2 +-
gazebo/rendering/LinkFrameVisual.cc | 2 +-
gazebo/rendering/LinkFrameVisual.hh | 2 +-
gazebo/rendering/LinkFrameVisualPrivate.hh | 2 +-
gazebo/rendering/LinkFrameVisual_TEST.cc | 2 +-
gazebo/rendering/LogicalCameraVisual.cc | 2 +-
gazebo/rendering/LogicalCameraVisual.hh | 2 +-
gazebo/rendering/Material.cc | 2 +-
gazebo/rendering/Material.hh | 2 +-
gazebo/rendering/MovableText.cc | 2 +-
gazebo/rendering/MovableText.hh | 2 +-
gazebo/rendering/OculusCamera.cc | 2 +-
gazebo/rendering/OculusCamera.hh | 2 +-
gazebo/rendering/OculusCameraPrivate.hh | 2 +-
gazebo/rendering/OrbitViewController.cc | 2 +-
gazebo/rendering/OrbitViewController.hh | 2 +-
gazebo/rendering/OriginVisual.cc | 2 +-
gazebo/rendering/OriginVisual.hh | 2 +-
gazebo/rendering/OriginVisualPrivate.hh | 2 +-
gazebo/rendering/OriginVisual_TEST.cc | 2 +-
gazebo/rendering/OrthoViewController.cc | 2 +-
gazebo/rendering/OrthoViewController.hh | 2 +-
gazebo/rendering/OrthoViewControllerPrivate.hh | 2 +-
gazebo/rendering/Projector.cc | 2 +-
gazebo/rendering/Projector.hh | 2 +-
gazebo/rendering/RFIDTagVisual.cc | 2 +-
gazebo/rendering/RFIDTagVisual.hh | 2 +-
gazebo/rendering/RFIDTagVisualPrivate.hh | 2 +-
gazebo/rendering/RFIDVisual.cc | 2 +-
gazebo/rendering/RFIDVisual.hh | 2 +-
gazebo/rendering/RFIDVisualPrivate.hh | 2 +-
gazebo/rendering/RTShaderSystem.cc | 36 +-
gazebo/rendering/RTShaderSystem.hh | 12 +-
gazebo/rendering/RTShaderSystemPrivate.hh | 6 +-
gazebo/rendering/RayQuery.cc | 2 +-
gazebo/rendering/RayQuery.hh | 2 +-
gazebo/rendering/RayQueryPrivate.hh | 2 +-
gazebo/rendering/RenderEngine.cc | 2 +-
gazebo/rendering/RenderEngine.hh | 2 +-
gazebo/rendering/RenderEnginePrivate.hh | 2 +-
gazebo/rendering/RenderEvents.cc | 2 +-
gazebo/rendering/RenderEvents.hh | 2 +-
gazebo/rendering/RenderTypes.hh | 2 +-
gazebo/rendering/RenderingConversions_TEST.cc | 2 +-
gazebo/rendering/RenderingIface.cc | 2 +-
gazebo/rendering/RenderingIface.hh | 2 +-
gazebo/rendering/Road2d.cc | 2 +-
gazebo/rendering/Road2d.hh | 2 +-
gazebo/rendering/Scene.cc | 143 +-
gazebo/rendering/Scene.hh | 33 +-
gazebo/rendering/ScenePrivate.hh | 8 +-
gazebo/rendering/Scene_TEST.cc | 57 +-
gazebo/rendering/SelectionObj.cc | 2 +-
gazebo/rendering/SelectionObj.hh | 2 +-
gazebo/rendering/SelectionObjPrivate.hh | 2 +-
gazebo/rendering/SelectionObj_TEST.cc | 2 +-
gazebo/rendering/SonarVisual.cc | 2 +-
gazebo/rendering/SonarVisual.hh | 2 +-
gazebo/rendering/SonarVisualPrivate.hh | 2 +-
gazebo/rendering/SonarVisual_TEST.cc | 2 +-
gazebo/rendering/TransmitterVisual.cc | 2 +-
gazebo/rendering/TransmitterVisual.hh | 2 +-
gazebo/rendering/TransmitterVisualPrivate.hh | 2 +-
gazebo/rendering/TransmitterVisual_TEST.cc | 2 +-
gazebo/rendering/UserCamera.cc | 2 +-
gazebo/rendering/UserCamera.hh | 2 +-
gazebo/rendering/UserCameraPrivate.hh | 2 +-
gazebo/rendering/VideoVisual.cc | 2 +-
gazebo/rendering/VideoVisual.hh | 2 +-
gazebo/rendering/VideoVisualPrivate.hh | 2 +-
gazebo/rendering/ViewController.cc | 2 +-
gazebo/rendering/ViewController.hh | 2 +-
gazebo/rendering/Visual.cc | 2 +-
gazebo/rendering/Visual.hh | 2 +-
gazebo/rendering/VisualPrivate.hh | 2 +-
gazebo/rendering/Visual_TEST.cc | 2 +-
gazebo/rendering/WideAngleCamera.cc | 18 +-
gazebo/rendering/WideAngleCamera.hh | 2 +-
gazebo/rendering/WideAngleCameraPrivate.hh | 2 +-
gazebo/rendering/WindowManager.cc | 2 +-
gazebo/rendering/WindowManager.hh | 2 +-
gazebo/rendering/WindowManagerPrivate.hh | 2 +-
gazebo/rendering/WireBox.cc | 2 +-
gazebo/rendering/WireBox.hh | 2 +-
gazebo/rendering/WireBoxPrivate.hh | 2 +-
gazebo/rendering/WrenchVisual.cc | 105 +-
gazebo/rendering/WrenchVisual.hh | 13 +-
gazebo/rendering/WrenchVisualPrivate.hh | 10 +-
gazebo/rendering/deferred_shading/AmbientLight.hh | 2 +-
gazebo/rendering/deferred_shading/DeferredLight.cc | 2 +-
gazebo/rendering/deferred_shading/DeferredLight.hh | 2 +-
.../rendering/deferred_shading/DeferredLightCP.hh | 2 +-
.../deferred_shading/GBufferMaterialGenerator.cc | 2 +-
.../deferred_shading/GBufferMaterialGenerator.hh | 2 +-
.../deferred_shading/GBufferSchemeHandler.cc | 2 +-
.../deferred_shading/GBufferSchemeHandler.hh | 2 +-
gazebo/rendering/deferred_shading/GeomUtils.cc | 2 +-
gazebo/rendering/deferred_shading/GeomUtils.hh | 2 +-
.../deferred_shading/LightMaterialGenerator.hh | 2 +-
.../deferred_shading/ListenerFactoryLogic.hh | 2 +-
.../deferred_shading/MaterialGenerator.cc | 2 +-
.../deferred_shading/MaterialGenerator.hh | 2 +-
gazebo/rendering/deferred_shading/MergeCP.hh | 2 +-
.../deferred_shading/MergeMaterialGenerator.cc | 2 +-
.../deferred_shading/MergeMaterialGenerator.hh | 2 +-
.../deferred_shading/MergeSchemeHandler.cc | 2 +-
.../deferred_shading/MergeSchemeHandler.hh | 2 +-
.../deferred_shading/NullSchemeHandler.hh | 2 +-
gazebo/rendering/deferred_shading/SSAOLogic.cc | 2 +-
gazebo/rendering/deferred_shading/SSAOLogic.hh | 2 +-
.../deferred_shading/TechniqueDefinitions.hh | 2 +-
gazebo/rendering/ogre_gazebo.h | 2 +-
.../rendering/selection_buffer/MaterialSwitcher.cc | 2 +-
.../rendering/selection_buffer/MaterialSwitcher.hh | 2 +-
.../rendering/selection_buffer/SelectionBuffer.cc | 2 +-
.../rendering/selection_buffer/SelectionBuffer.hh | 2 +-
.../selection_buffer/SelectionRenderListener.cc | 2 +-
.../selection_buffer/SelectionRenderListener.hh | 2 +-
gazebo/sensors/AltimeterSensor.cc | 2 +-
gazebo/sensors/AltimeterSensor.hh | 2 +-
gazebo/sensors/AltimeterSensorPrivate.hh | 2 +-
gazebo/sensors/AltimeterSensor_TEST.cc | 2 +-
gazebo/sensors/CameraSensor.cc | 2 +-
gazebo/sensors/CameraSensor.hh | 2 +-
gazebo/sensors/CameraSensorPrivate.hh | 2 +-
gazebo/sensors/CameraSensor_TEST.cc | 2 +-
gazebo/sensors/ContactSensor.cc | 2 +-
gazebo/sensors/ContactSensor.hh | 2 +-
gazebo/sensors/ContactSensorPrivate.hh | 2 +-
gazebo/sensors/DepthCameraSensor.cc | 2 +-
gazebo/sensors/DepthCameraSensor.hh | 2 +-
gazebo/sensors/DepthCameraSensorPrivate.hh | 2 +-
gazebo/sensors/ForceTorqueSensor.cc | 2 +-
gazebo/sensors/ForceTorqueSensor.hh | 2 +-
gazebo/sensors/ForceTorqueSensorPrivate.hh | 2 +-
gazebo/sensors/ForceTorqueSensor_TEST.cc | 2 +-
gazebo/sensors/GaussianNoiseModel.cc | 2 +-
gazebo/sensors/GaussianNoiseModel.hh | 2 +-
gazebo/sensors/GpsSensor.cc | 2 +-
gazebo/sensors/GpsSensor.hh | 2 +-
gazebo/sensors/GpsSensorPrivate.hh | 2 +-
gazebo/sensors/GpsSensor_TEST.cc | 2 +-
gazebo/sensors/GpuRaySensor.cc | 2 +-
gazebo/sensors/GpuRaySensor.hh | 2 +-
gazebo/sensors/GpuRaySensorPrivate.hh | 2 +-
gazebo/sensors/GpuRaySensor_TEST.cc | 2 +-
gazebo/sensors/ImuSensor.cc | 2 +-
gazebo/sensors/ImuSensor.hh | 2 +-
gazebo/sensors/ImuSensorPrivate.hh | 2 +-
gazebo/sensors/ImuSensor_TEST.cc | 2 +-
gazebo/sensors/LogicalCameraSensor.cc | 2 +-
gazebo/sensors/LogicalCameraSensor.hh | 2 +-
gazebo/sensors/LogicalCameraSensorPrivate.hh | 2 +-
gazebo/sensors/MagnetometerSensor.cc | 2 +-
gazebo/sensors/MagnetometerSensor.hh | 2 +-
gazebo/sensors/MagnetometerSensorPrivate.hh | 2 +-
gazebo/sensors/MagnetometerSensor_TEST.cc | 2 +-
gazebo/sensors/MultiCameraSensor.cc | 2 +-
gazebo/sensors/MultiCameraSensor.hh | 2 +-
gazebo/sensors/MultiCameraSensorPrivate.hh | 2 +-
gazebo/sensors/Noise.cc | 2 +-
gazebo/sensors/Noise.hh | 2 +-
gazebo/sensors/Noise_TEST.cc | 2 +-
gazebo/sensors/RFIDSensor.cc | 2 +-
gazebo/sensors/RFIDSensor.hh | 2 +-
gazebo/sensors/RFIDSensorPrivate.hh | 2 +-
gazebo/sensors/RFIDTag.cc | 2 +-
gazebo/sensors/RFIDTag.hh | 2 +-
gazebo/sensors/RFIDTagPrivate.hh | 2 +-
gazebo/sensors/RaySensor.cc | 2 +-
gazebo/sensors/RaySensor.hh | 2 +-
gazebo/sensors/RaySensorPrivate.hh | 2 +-
gazebo/sensors/RaySensor_TEST.cc | 2 +-
gazebo/sensors/Sensor.cc | 6 +-
gazebo/sensors/Sensor.hh | 2 +-
gazebo/sensors/SensorFactory.cc | 2 +-
gazebo/sensors/SensorFactory.hh | 2 +-
gazebo/sensors/SensorManager.cc | 2 +-
gazebo/sensors/SensorManager.hh | 2 +-
gazebo/sensors/SensorManager_TEST.cc | 2 +-
gazebo/sensors/SensorPrivate.hh | 2 +-
gazebo/sensors/SensorTypes.cc | 2 +-
gazebo/sensors/SensorTypes.hh | 2 +-
gazebo/sensors/Sensor_TEST.cc | 2 +-
gazebo/sensors/SensorsIface.cc | 2 +-
gazebo/sensors/SensorsIface.hh | 2 +-
gazebo/sensors/SonarSensor.cc | 2 +-
gazebo/sensors/SonarSensor.hh | 2 +-
gazebo/sensors/SonarSensorPrivate.hh | 2 +-
gazebo/sensors/SonarSensor_TEST.cc | 2 +-
gazebo/sensors/WideAngleCameraSensor.cc | 2 +-
gazebo/sensors/WideAngleCameraSensor.hh | 2 +-
gazebo/sensors/WideAngleCameraSensorPrivate.hh | 2 +-
gazebo/sensors/WirelessReceiver.cc | 2 +-
gazebo/sensors/WirelessReceiver.hh | 2 +-
gazebo/sensors/WirelessReceiverPrivate.hh | 2 +-
gazebo/sensors/WirelessReceiver_TEST.cc | 2 +-
gazebo/sensors/WirelessTransceiver.cc | 2 +-
gazebo/sensors/WirelessTransceiver.hh | 2 +-
gazebo/sensors/WirelessTransmitter.cc | 2 +-
gazebo/sensors/WirelessTransmitter.hh | 2 +-
gazebo/sensors/WirelessTransmitterPrivate.hh | 2 +-
gazebo/sensors/WirelessTransmitter_TEST.cc | 2 +-
gazebo/server_main.cc | 2 +-
gazebo/test/ServerFixture.cc | 2 +-
gazebo/test/ServerFixture.hh | 2 +-
gazebo/test/ServerFixtureRecord.cc | 2 +-
gazebo/test/helper_physics_generator.hh | 2 +-
gazebo/transport/CallbackHelper.cc | 2 +-
gazebo/transport/CallbackHelper.hh | 2 +-
gazebo/transport/Connection.cc | 2 +-
gazebo/transport/Connection.hh | 2 +-
gazebo/transport/ConnectionManager.cc | 2 +-
gazebo/transport/ConnectionManager.hh | 2 +-
gazebo/transport/Connection_TEST.cc | 2 +-
gazebo/transport/IOManager.cc | 2 +-
gazebo/transport/IOManager.hh | 2 +-
gazebo/transport/Node.cc | 2 +-
gazebo/transport/Node.hh | 2 +-
gazebo/transport/Publication.cc | 2 +-
gazebo/transport/Publication.hh | 2 +-
gazebo/transport/PublicationTransport.cc | 2 +-
gazebo/transport/PublicationTransport.hh | 2 +-
gazebo/transport/Publisher.cc | 2 +-
gazebo/transport/Publisher.hh | 2 +-
gazebo/transport/SubscribeOptions.hh | 2 +-
gazebo/transport/Subscriber.cc | 2 +-
gazebo/transport/Subscriber.hh | 2 +-
gazebo/transport/SubscriptionTransport.cc | 2 +-
gazebo/transport/SubscriptionTransport.hh | 2 +-
gazebo/transport/TopicManager.cc | 2 +-
gazebo/transport/TopicManager.hh | 2 +-
gazebo/transport/TransportIface.cc | 2 +-
gazebo/transport/TransportIface.hh | 2 +-
gazebo/transport/TransportTypes.hh | 2 +-
gazebo/util/Diagnostics.cc | 2 +-
gazebo/util/Diagnostics.hh | 2 +-
gazebo/util/DiagnosticsPrivate.hh | 2 +-
gazebo/util/Diagnostics_TEST.cc | 2 +-
gazebo/util/LogPlay.cc | 2 +-
gazebo/util/LogPlay.hh | 2 +-
gazebo/util/LogPlayPrivate.hh | 2 +-
gazebo/util/LogPlay_TEST.cc | 2 +-
gazebo/util/LogRecord.cc | 34 +-
gazebo/util/LogRecord.hh | 40 +-
gazebo/util/LogRecordPrivate.hh | 8 +-
gazebo/util/LogRecord_TEST.cc | 28 +-
gazebo/util/OpenAL.cc | 2 +-
gazebo/util/OpenAL.hh | 2 +-
gazebo/util/OpenALPrivate.hh | 2 +-
gazebo/util/OpenAL_TEST.cc | 2 +-
gazebo/util/UtilTypes.hh | 2 +-
gazebo/util/system.hh | 2 +-
interfaces/player/ActarrayInterface.cc | 2 +-
interfaces/player/ActarrayInterface.hh | 2 +-
interfaces/player/BumperInterface.cc | 2 +-
interfaces/player/BumperInterface.hh | 2 +-
interfaces/player/CameraInterface.cc | 2 +-
interfaces/player/CameraInterface.hh | 2 +-
interfaces/player/FiducialInterface.cc | 2 +-
interfaces/player/FiducialInterface.hh | 2 +-
interfaces/player/GazeboClient.cc | 2 +-
interfaces/player/GazeboClient.hh | 2 +-
interfaces/player/GazeboDriver.cc | 2 +-
interfaces/player/GazeboDriver.hh | 2 +-
interfaces/player/GazeboInterface.cc | 2 +-
interfaces/player/GazeboInterface.hh | 2 +-
interfaces/player/GazeboTime.cc | 2 +-
interfaces/player/GazeboTime.hh | 2 +-
interfaces/player/GpsInterface.cc | 2 +-
interfaces/player/GpsInterface.hh | 2 +-
interfaces/player/Graphics3dInterface.cc | 2 +-
interfaces/player/Graphics3dInterface.hh | 2 +-
interfaces/player/GripperInterface.cc | 2 +-
interfaces/player/GripperInterface.hh | 2 +-
interfaces/player/IRInterface.cc | 2 +-
interfaces/player/IRInterface.hh | 2 +-
interfaces/player/LaserInterface.cc | 2 +-
interfaces/player/LaserInterface.hh | 2 +-
interfaces/player/OpaqueInterface.cc | 2 +-
interfaces/player/OpaqueInterface.hh | 2 +-
interfaces/player/PTZInterface.cc | 2 +-
interfaces/player/PTZInterface.hh | 2 +-
interfaces/player/Position2dInterface.cc | 2 +-
interfaces/player/Position2dInterface.hh | 2 +-
interfaces/player/Position3dInterface.cc | 2 +-
interfaces/player/Position3dInterface.hh | 2 +-
interfaces/player/PowerInterface.cc | 2 +-
interfaces/player/PowerInterface.hh | 2 +-
interfaces/player/SimulationInterface.cc | 2 +-
interfaces/player/SimulationInterface.hh | 2 +-
interfaces/player/SonarInterface.cc | 2 +-
interfaces/player/SonarInterface.hh | 2 +-
interfaces/player/player.h | 2 +-
.../programs/camera_distortion_map_fs.glsl | 2 +-
media/materials/programs/wide_lens_map_fp.glsl | 2 +-
media/materials/programs/wide_lens_map_vs.glsl | 2 +-
plugins/ActuatorPlugin.cc | 2 +-
plugins/ActuatorPlugin.hh | 2 +-
plugins/ArrangePlugin.cc | 2 +-
plugins/ArrangePlugin.hh | 2 +-
plugins/AttachLightPlugin.cc | 137 ++
plugins/AttachLightPlugin.hh | 55 +
plugins/BreakableJointPlugin.cc | 2 +-
plugins/BreakableJointPlugin.hh | 2 +-
plugins/BuoyancyPlugin.cc | 2 +-
plugins/BuoyancyPlugin.hh | 2 +-
plugins/CMakeLists.txt | 3 +
plugins/CameraPlugin.cc | 2 +-
plugins/CameraPlugin.hh | 2 +-
plugins/CartDemoPlugin.cc | 2 +-
plugins/CartDemoPlugin.hh | 2 +-
plugins/CessnaGUIPlugin.cc | 2 +-
plugins/CessnaGUIPlugin.hh | 2 +-
plugins/CessnaPlugin.cc | 2 +-
plugins/CessnaPlugin.hh | 2 +-
plugins/ContactPlugin.cc | 2 +-
plugins/ContactPlugin.hh | 2 +-
plugins/DepthCameraPlugin.cc | 2 +-
plugins/DepthCameraPlugin.hh | 2 +-
plugins/DiffDrivePlugin.cc | 2 +-
plugins/DiffDrivePlugin.hh | 2 +-
plugins/ElevatorPlugin.cc | 2 +-
plugins/ElevatorPlugin.hh | 2 +-
plugins/ElevatorPluginPrivate.hh | 2 +-
plugins/ForceTorquePlugin.cc | 2 +-
plugins/ForceTorquePlugin.hh | 2 +-
plugins/GpuRayPlugin.cc | 2 +-
plugins/GpuRayPlugin.hh | 2 +-
plugins/HarnessPlugin.cc | 32 +-
plugins/HarnessPlugin.hh | 4 +-
plugins/HeightmapLODPlugin.cc | 64 +
plugins/HeightmapLODPlugin.hh | 46 +
plugins/HydraDemoPlugin.cc | 2 +-
plugins/HydraDemoPlugin.hh | 2 +-
plugins/HydraPlugin.cc | 2 +-
plugins/HydraPlugin.hh | 2 +-
plugins/ImuSensorPlugin.cc | 2 +-
plugins/ImuSensorPlugin.hh | 2 +-
plugins/InitialVelocityPlugin.cc | 2 +-
plugins/InitialVelocityPlugin.hh | 2 +-
plugins/JointTrajectoryPlugin.cc | 2 +-
plugins/JointTrajectoryPlugin.hh | 2 +-
plugins/LiftDragPlugin.cc | 2 +-
plugins/LiftDragPlugin.hh | 2 +-
plugins/LinearBatteryConsumerPlugin.cc | 2 +-
plugins/LinearBatteryConsumerPlugin.hh | 2 +-
plugins/LinearBatteryPlugin.cc | 2 +-
plugins/LinearBatteryPlugin.hh | 2 +-
plugins/ModelPropShop.cc | 2 +-
plugins/ModelPropShop.hh | 2 +-
plugins/MudPlugin.cc | 2 +-
plugins/MudPlugin.hh | 2 +-
plugins/PressurePlugin.cc | 2 +-
plugins/PressurePlugin.hh | 2 +-
plugins/RandomVelocityPlugin.cc | 2 +-
plugins/RandomVelocityPlugin.hh | 2 +-
plugins/RandomVelocityPluginPrivate.hh | 2 +-
plugins/RayPlugin.cc | 2 +-
plugins/RayPlugin.hh | 2 +-
plugins/RaySensorNoisePlugin.cc | 2 +-
plugins/RaySensorNoisePlugin.hh | 2 +-
plugins/RubblePlugin.cc | 2 +-
plugins/RubblePlugin.hh | 2 +-
plugins/SkidSteerDrivePlugin.cc | 2 +-
plugins/SkidSteerDrivePlugin.hh | 2 +-
plugins/SonarPlugin.cc | 2 +-
plugins/SonarPlugin.hh | 2 +-
plugins/SphereAtlasDemoPlugin.cc | 2 +-
plugins/SphereAtlasDemoPlugin.hh | 2 +-
plugins/TimerGUIPlugin.cc | 2 +-
plugins/TimerGUIPlugin.hh | 2 +-
plugins/TouchPlugin.cc | 235 +++
plugins/TouchPlugin.hh | 110 ++
plugins/TransporterPlugin.cc | 2 +-
plugins/TransporterPlugin.hh | 2 +-
plugins/TransporterPluginPrivate.hh | 2 +-
plugins/VehiclePlugin.cc | 2 +-
plugins/VehiclePlugin.hh | 2 +-
plugins/events/EventSource.cc | 2 +-
plugins/events/EventSource.hh | 2 +-
plugins/events/ExistenceEventSource.cc | 2 +-
plugins/events/ExistenceEventSource.hh | 2 +-
plugins/events/InRegionEventSource.cc | 2 +-
plugins/events/InRegionEventSource.hh | 2 +-
plugins/events/JointEventSource.cc | 2 +-
plugins/events/JointEventSource.hh | 2 +-
plugins/events/OccupiedEventSource.cc | 2 +-
plugins/events/OccupiedEventSource.hh | 2 +-
plugins/events/Region.cc | 2 +-
plugins/events/Region.hh | 2 +-
plugins/events/RegionEventBoxPlugin.cc | 2 +-
plugins/events/RegionEventBoxPlugin.hh | 2 +-
plugins/events/SimEventsException.hh | 2 +-
plugins/events/SimEventsPlugin.cc | 2 +-
plugins/events/SimEventsPlugin.hh | 2 +-
plugins/events/SimStateEventSource.cc | 2 +-
plugins/events/SimStateEventSource.hh | 2 +-
plugins/rest_web/RestApi.cc | 2 +-
plugins/rest_web/RestApi.hh | 2 +-
plugins/rest_web/RestException.hh | 2 +-
plugins/rest_web/RestUiLoginDialog.cc | 2 +-
plugins/rest_web/RestUiLoginDialog.hh | 2 +-
plugins/rest_web/RestUiPlugin.cc | 2 +-
plugins/rest_web/RestUiPlugin.hh | 2 +-
plugins/rest_web/RestUiWidget.cc | 2 +-
plugins/rest_web/RestUiWidget.hh | 2 +-
plugins/rest_web/RestWebPlugin.cc | 2 +-
plugins/rest_web/RestWebPlugin.hh | 2 +-
test/cmake/config-cmake.cc | 2 +-
test/data/pr2_state_log_expected.h | 2 +-
test/examples/examples_build.cc | 2 +-
test/integration/CMakeLists.txt | 4 +
test/integration/SimplePendulumIntegrator.hh | 2 +-
test/integration/aero_plugin.cc | 2 +-
test/integration/attach_light_plugin.cc | 108 +
test/integration/bandwidth.cc | 2 +-
test/integration/camera.cc | 2 +-
test/integration/camera_sensor.cc | 134 +-
test/integration/concave_mesh.cc | 2 +-
test/integration/contact_sensor.cc | 2 +-
test/integration/dem.cc | 2 +-
test/integration/elastic_modulus.cc | 2 +-
test/integration/factory.cc | 2 +-
test/integration/file_handling.cc | 2 +-
test/integration/force_torque_visualization.cc | 84 +
.../integration/force_torque_visualization.hh | 15 +-
test/integration/gpu_laser.cc | 2 +-
test/integration/gripper.cc | 2 +-
test/integration/gz_camera.cc | 2 +-
test/integration/gz_joint.cc | 2 +-
test/integration/gz_log.cc | 102 +-
test/integration/gz_model.cc | 2 +-
test/integration/gz_physics.cc | 2 +-
test/integration/gz_world.cc | 2 +-
test/integration/harness.cc | 2 +-
test/integration/heightmap.cc | 127 +-
test/integration/heights_cmp.h | 2 +-
test/integration/images_cmp.h | 2 +-
test/integration/imu.cc | 2 +-
test/integration/insert_model.cc | 2 +-
test/integration/insert_model.hh | 2 +-
test/integration/joint_controller.cc | 2 +-
test/integration/joint_force_torque.cc | 2 +-
test/integration/joint_gearbox.cc | 2 +-
test/integration/joint_get_force_torque.cc | 2 +-
test/integration/joint_revolute.cc | 2 +-
test/integration/joint_screw.cc | 2 +-
test/integration/joint_set_position_test.cc | 2 +-
test/integration/joint_spawn.cc | 2 +-
test/integration/joint_test.cc | 2 +-
test/integration/joint_test.hh | 2 +-
test/integration/joint_universal.cc | 2 +-
test/integration/laser.cc | 2 +-
test/integration/logical_camera_sensor.cc | 2 +-
test/integration/manpages.cc | 2 +-
test/integration/model.cc | 2 +-
test/integration/model_database.cc | 2 +-
test/integration/model_editor.cc | 2 +-
test/integration/model_editor.hh | 2 +-
test/integration/multicamera_sensor.cc | 2 +-
test/integration/nested_model.cc | 2 +-
test/integration/noise.cc | 2 +-
test/integration/nondefault_world.cc | 2 +-
test/integration/ogre_log.cc | 2 +-
test/integration/physics.cc | 2 +-
.../physics_basic_controller_response.cc | 2 +-
test/integration/physics_collision.cc | 106 +-
test/integration/physics_friction.cc | 314 ++-
test/integration/physics_inertia_ratio.cc | 2 +-
test/integration/physics_link.cc | 2 +-
test/integration/physics_msgs.cc | 2 +-
test/integration/physics_msgs_inertia.cc | 2 +-
test/integration/physics_presets.cc | 2 +-
test/integration/physics_solver.cc | 2 +-
test/integration/physics_thread_safe.cc | 2 +-
test/integration/physics_torsional_friction.cc | 2 +-
test/integration/pioneer2dx.cc | 2 +-
test/integration/player/player.cc | 2 +-
test/integration/plugin.cc | 2 +-
test/integration/polyline.cc | 2 +-
test/integration/pr2.cc | 2 +-
test/integration/projector.cc | 2 +-
test/integration/region_events.cc | 2 +-
test/integration/rendering_sensor.cc | 2 +-
test/integration/rest_web.cc | 2 +-
test/integration/road.cc | 2 +-
test/integration/saving_and_loading.cc | 2 +-
test/integration/scans_cmp.h | 2 +-
test/integration/sdf.cc | 2 +-
test/integration/sensor.cc | 2 +-
test/integration/server_fixture.cc | 2 +-
test/integration/sim_events.cc | 2 +-
test/integration/speed.cc | 2 +-
test/integration/speed_pr2.cc | 2 +-
test/integration/speed_thread_pr2.cc | 2 +-
test/integration/state_log.cc | 2 +-
test/integration/stress_spawn_models.cc | 2 +-
test/integration/surface_properties.cc | 35 +-
test/integration/swarm.cc | 2 +-
test/integration/touch_plugin.cc | 252 +++
test/integration/transceiver.cc | 2 +-
test/integration/transport.cc | 2 +-
test/integration/transport_stress_nodes.cc | 2 +-
test/integration/transporter.cc | 2 +-
test/integration/undo.cc | 2 +-
test/integration/undo.hh | 2 +-
test/integration/view_control.cc | 4 +-
test/integration/visual_pose.cc | 2 +-
test/integration/visual_pose.hh | 2 +-
test/integration/world.cc | 2 +-
test/integration/world_clone.cc | 2 +-
test/integration/world_entity_below_point.cc | 2 +-
test/integration/world_playback.cc | 2 +-
test/integration/world_population.cc | 2 +-
test/integration/world_reset.cc | 2 +-
test/integration/worlds_installed.cc | 2 +-
.../materials/scripts/heightmap_custom.material | 86 +
.../materials/scripts/heightmap_custom_fp.glsl | 108 +
.../materials/scripts/heightmap_custom_vp.glsl | 39 +
test/performance/RAMLibrary.hh | 2 +-
test/performance/RAMLibrary_TEST.cc | 2 +-
test/performance/factory_stress.cc | 2 +-
test/performance/gz_stress.cc | 2 +-
test/performance/image_convert_stress.cc | 2 +-
test/performance/sensor_stress.cc | 2 +-
test/performance/set_world_pose.cc | 2 +-
test/performance/transport_stress.cc | 2 +-
test/pkgconfig/config-pkgconfig.cc | 2 +-
test/plugins/ExceptionModelPluginConstructor.cc | 2 +-
test/plugins/ExceptionModelPluginConstructor.hh | 2 +-
test/plugins/ExceptionModelPluginInit.cc | 2 +-
test/plugins/ExceptionModelPluginInit.hh | 2 +-
test/plugins/ExceptionModelPluginLoad.cc | 2 +-
test/plugins/ExceptionModelPluginLoad.hh | 2 +-
test/plugins/ForceTorqueModelRemovalTestPlugin.cc | 2 +-
test/plugins/ForceTorqueModelRemovalTestPlugin.hh | 2 +-
test/plugins/Issue1208Plugin.cc | 2 +-
test/plugins/Issue1208Plugin.hh | 2 +-
test/plugins/ModelTrajectoryTestPlugin.cc | 2 +-
test/plugins/ModelTrajectoryTestPlugin.hh | 2 +-
test/plugins/SpringTestPlugin.cc | 2 +-
test/plugins/SpringTestPlugin.hh | 2 +-
test/regression/1082_pid_limits.cc | 2 +-
test/regression/1112_force_torque_model_removal.cc | 2 +-
test/regression/1124_collision_pose.cc | 2 +-
test/regression/1146_collision_bounding_box.cc | 2 +-
test/regression/1208_world_plugin_init.cc | 2 +-
test/regression/1375_world_reset.cc | 2 +-
test/regression/1569_hydra_crash.cc | 2 +-
test/regression/1694_world_accel.cc | 2 +-
test/regression/1702_remove_model_scene_nodes.cc | 2 +-
test/regression/1782_unadvertise.cc | 2 +-
test/regression/346_save_lights.cc | 2 +-
test/regression/351_world_step.cc | 2 +-
test/regression/494_joint_axis_frame.cc | 2 +-
test/regression/602_unsubscribe_segfault.cc | 2 +-
test/regression/624_collision_world_pose.cc | 2 +-
test/regression/846_typo_in_camera.cc | 2 +-
test/regression/876_random_number_generator.cc | 2 +-
test/regression/940_force_torque_sensor_frame.cc | 2 +-
test/regression/978_joint_anchor.cc | 2 +-
test/testfiles/hello_world.cc | 2 +-
test/util.hh | 2 +-
test/worlds/collide_bitmask.world | 6 +-
test/worlds/collision_pose_offset.world | 174 ++
test/worlds/collision_pose_offset.world.erb | 195 ++
test/worlds/deeply_nested_models.world | 26 +
test/worlds/friction_cone.world | 1597 +++++++++++++++
test/worlds/friction_cone.world.erb | 108 +
test/worlds/friction_dir_test.world | 2067 ++++++++++++++++++++
test/worlds/friction_dir_test.world.erb | 265 +++
test/worlds/friction_spheres.world | 1568 +++++++++++++++
test/worlds/friction_spheres.world.erb | 182 ++
...p_material.world => heightmap_lod_plugin.world} | 9 +-
test/worlds/heightmap_material.world | 5 +
...erial.world => heightmap_material_shader.world} | 9 +-
test/worlds/inertia_rotations.world | 1 +
test/worlds/inertia_rotations.world.erb | 1 +
test/worlds/pendulum_axes.world | 1 +
test/worlds/pendulum_axes.world.erb | 1 +
test/worlds/torsional_friction_test.world | 1 +
test/worlds/torsional_friction_test.world.erb | 1 +
tools/gz.cc | 2 +-
tools/gz.hh | 2 +-
tools/gz_TEST.cc | 2 +-
tools/gz_log.cc | 2 +-
tools/gz_log.hh | 2 +-
tools/gz_log_TEST.cc | 8 +-
tools/gz_topic.cc | 2 +-
tools/gz_topic.hh | 2 +-
tools/gzprop.1.ronn | 2 +-
tools/sdf2pov.cc | 2 +-
tools/website/backup.rb | 2 +-
tools/website/gazebo_install.run | 2 +-
worlds/attach_lights.world | 83 +
worlds/touch_plugin_demo.world | 227 +++
1582 files changed, 12058 insertions(+), 2208 deletions(-)
diff --git a/.hg_archival.txt b/.hg_archival.txt
index 7ab69b8..a547987 100644
--- a/.hg_archival.txt
+++ b/.hg_archival.txt
@@ -1,6 +1,6 @@
repo: e803bb5fe03c1370cbb9f434912cd73fd1e7942d
-node: 9e29536e741ecafd5b7389e491153316f673ba78
+node: a24b331f8ebfd712a226ba73b7f43d2d4c14fe15
branch: gazebo7
-latesttag: gazebo7_7.4.0
-latesttagdistance: 107
-changessincelatesttag: 213
+latesttag: gazebo7_7.8.0
+latesttagdistance: 12
+changessincelatesttag: 29
diff --git a/CMakeLists.txt b/CMakeLists.txt
index acc07a5..fc5384d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,11 +10,11 @@ string (TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER)
string (TOUPPER ${PROJECT_NAME} PROJECT_NAME_UPPER)
set (GAZEBO_MAJOR_VERSION 7)
-set (GAZEBO_MINOR_VERSION 5)
+set (GAZEBO_MINOR_VERSION 8)
# The patch version may have been bumped for prerelease purposes; be sure to
# check gazebo-release/ubuntu/debian/changelog at default to determine what the
# next patch version should be for a regular release.
-set (GAZEBO_PATCH_VERSION 0)
+set (GAZEBO_PATCH_VERSION 1)
set (GAZEBO_VERSION ${GAZEBO_MAJOR_VERSION}.${GAZEBO_MINOR_VERSION})
set (GAZEBO_VERSION_FULL ${GAZEBO_MAJOR_VERSION}.${GAZEBO_MINOR_VERSION}.${GAZEBO_PATCH_VERSION})
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..ed09a46
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,341 @@
+# Introduction
+
+Interested in developing new features, fixing bugs, or making any other
+kind of contribution which touches Gazebo's codebase? Read on to find out how!
+
+## Development process
+
+We follow a development process designed to reduce errors, encourage
+collaboration, and make high quality code. The process may seem rigid and
+tedious, but every step is worth the effort.
+
+### Steps to follow
+
+1. Are you sure?
+
+ Run through this mental checklist before getting started.
+
+ 1. Has your idea already been done, or maybe someone is already working on it?
+
+ Check [answers.gazebosim.org](http://answers.gazebosim.org) and the [issue tracker](https://bitbucket.org/osrf/gazebo/issues).
+
+ 1. Get feedback from the Gazebo core team.
+
+ Send an email to the
+ [mailing list](https://groups.google.com/a/osrfoundation.org/forum/#!forum/gazebo),
+ post a question on [Gazebo Answers](http://answers.gazebosim.org), or use the
+ [issue tracker](https://bitbucket.org/osrf/gazebo/issues) to get feedback from
+ Gazebo developers.
+
+1. [Fork Gazebo](https://bitbucket.org/osrf/gazebo/fork)
+
+ This will create your own personal copy of Gazebo. All of your development
+ should take place in your fork.
+
+1. Choose a base branch
+
+ If your changes will break API or ABI, then base your new branch off of
+ `default`. If your changes don't break API/ABI and you would like them
+ to be released to an existing gazebo release with major version `N`,
+ then use branch `gazeboN` as the base.
+
+1. Work out of a branch
+
+ Always work out of a new branch, never off of the base branch. This is a
+ good habit to get in, and will make your life easier.
+
+1. Write your code.
+
+ This is the fun part.
+
+1. Write tests
+
+ In most cases, a pull request will only be accepted if it has tests. See the
+ "Write tests" section below for more information.
+
+1. Compiler warnings
+
+ Code must have zero compile warnings, or at least make sure your pull
+ request is not adding new warnings.
+
+1. Style
+
+ Static code checking analyzes your code for bugs, such as potential memory
+ leaks, and style. Gazebo's static code checker uses `cppcheck`, and a
+ modified `cpplint`. You'll need to install cppcheck on your system. Ubuntu
+ users can install via:
+
+ sudo apt-get install cppcheck
+
+ To check your code, run the following script from the root of the Gazebo
+ sources:
+
+ sh tools/code_check.sh
+
+ It takes a few minutes to run. Fix all errors and warnings until the output
+ looks like:
+
+ Total errors found: 0
+
+ The tool does not catch all style errors. See the "Style" section below for
+ more information.
+
+1. Tests pass
+
+ There must be no failing tests. You can check by running `make test` in
+ your build directory.
+
+ Running all tests in Gazebo may take a long time. If you expect your changes
+ to only affect a few different tests, it should be enough to run each one
+ of them individually from the build directory, for example:
+
+ ./test/integration/INTEGRATION_world
+
+1. Documentation.
+
+ Document all your code. Every class, function, member variable must have
+ doxygen comments. All code in source files must have documentation that
+ describes the functionality. This will help reviewers and future developers.
+
+1. Review your code.
+
+ Before submitting your code through a pull request, take some time to
+ review everything line-by-line. The review process will go much faster if
+ you make sure everything is perfect before other people look at your code.
+ There is a bit of the human-condition involved here. Folks are less likely
+ to spend time reviewing your code if it's sloppy.
+
+1. Small pull requests
+
+ A large pull request is hard to review, and will take a long time. It is
+ worth your time to split a large pull request into multiple smaller pull
+ requests. For reference, here are a few examples:
+
+ * [Small, very nice](https://bitbucket.org/osrf/gazebo/pull-request/1732)
+
+ * [Medium, still okay](https://bitbucket.org/osrf/gazebo/pull-request/1700/)
+
+ * [Too large](https://bitbucket.org/osrf/gazebo/pull-request/30)
+
+1. [Make a pull request](https://bitbucket.org/osrf/gazebo/pull-request/new)
+
+ Submit a pull request when you're ready.
+
+1. Continuous integration
+
+ The moment you make a pull request, a few jobs in our
+ [continuous integration](http://build.osrfoundation.org/)
+ server will be started. These jobs will build your branch on Linux, Mac and
+ Windows, run all tests and check for warnings.
+
+ Your pull request will be updated with the status of these builds. Take some
+ time to check these builds and see if you've introduced test failures,
+ warnings or broke some build. If you did and know how to fix it, do so. If
+ you don't know, speak up and someone may try to help you.
+
+1. Review
+
+ At least two other people have to approve your pull request before it can
+ be merged. Please be responsive to any questions and comments.
+
+1. Done, phew.
+
+ Once you have met all the requirements, you're code will be merged. Thanks
+ for improving Gazebo!
+
+### Internal Developers
+
+This section is targeted mostly at people who have commit access to the main
+repositories.
+
+In addition to the general development process, please follow these steps
+before submitting a pull request. Each step is pass/fail, where the test or
+check must pass before continuing to the next step.
+
+1. Run the style checker on your personal computer
+1. Run all, or only relevant, tests on your personal computer
+1. Run your branch through a Jenkins Linux no-gpu build
+1. Run your branch through a Jenkins Linux Nvidia build
+1. Run your branch through a Jenkins Homebrew build
+1. Run your branch through a Jenkins Windows build
+1. Run your branch through the ABI/API checker if targeting a release branch
+1. Submit the pull request, and make sure the following are included
+(a set of jenkins jobs will run automatically once the pull request is created,
+if not included automatically, you must add them manually):
+ 1. Link to a coverage report
+ 1. Link to a passing Homebrew build
+ 1. Link to a passing Linux no-gpu build
+ 1. Link to a passing Linux Nvidia build
+ 1. Link to a passing Windows build
+ 1. Link to a passing ABI/API report if the pull request is targeted at a release branch
+
+# Style
+
+In general, we follow [Google's style guide](https://google.github.io/styleguide/cppguide.html). However, we add in some extras.
+
+1. **This pointer**
+> All class attributes and member functions must be accessed using the `this->` pointer. Here is an [example](https://bitbucket.org/osrf/gazebo/src/default/gazebo/physics/Base.cc#cl-40).
+
+1. **Underscore function parameters**
+> All function parameters must start with an underscore. Here is an [example](https://bitbucket.org/osrf/gazebo/src/default/gazebo/physics/Base.cc#cl-77).
+
+1. **Do not cuddle braces**
+> All braces must be on their own line. Here is an [example](https://bitbucket.org/osrf/gazebo/src/default/gazebo/physics/Base.cc#cl-131).
+
+1. **Multi-line code blocks**
+> If a block of code spans multiple lines and is part of a flow control statement, such as an `if`, then it must be wrapped in braces. Here is an [example](https://bitbucket.org/osrf/gazebo/src/default/gazebo/physics/Base.cc#cl-249)
+
+1. **++ operator**
+> This occurs mostly in `for` loops. Prefix the `++` operator, which is [slightly more efficient than postfix in some cases](http://programmers.stackexchange.com/questions/59880/avoid-postfix-increment-operator).
+
+1. **PIMPL/Opaque pointer**
+> If you are writing a new class, it must use a private data pointer. Here is an [example](https://bitbucket.org/osrf/gazebo/src/default/gazebo/physics/World.hh?at=default#cl-479), and you can read more [here](https://en.wikipedia.org/wiki/Opaque_pointer).
+
+1. **const functions**
+> Any class function that does not change a member variable should be marked as `const`. Here is an [example](https://bitbucket.org/osrf/gazebo/src/default/gazebo/physics/Entity.cc?at=default#cl-175).
+
+1. **const parameters**
+> All parameters that are not modified by a function should be marked as `const`. This applies to parameters that are passed by reference, pointer, and value. Here is an [example](https://bitbucket.org/osrf/gazebo/src/default/gazebo/physics/Entity.cc?at=default#cl-217).
+
+1. **Pointer and reference variables**
+> Place the `*` and `&` next to the varaible name, not next to the type. For example: `int &variable` is good, but `int& variable` is not. Here is an [example](https://bitbucket.org/osrf/gazebo/src/default/gazebo/physics/Entity.cc?at=default#cl-217).
+
+1. **Camel case**
+> In general, everything should use camel case. Exceptions include SDF element names, and protobuf variable names. Here is an [example](https://bitbucket.org/osrf/gazebo/src/default/gazebo/physics/Entity.cc?at=default#cl-217).
+
+1. **Class function names**
+> Class functions must start with a capital letter, and capitalize every word.
+>
+> `void MyFunction();` : Good
+>
+> `void myFunction();` : Bad
+>
+> `void my_function();` : Bad
+
+1. **Variable names**
+> Variables must start with a lower case letter, and capitalize every word thereafter.
+>
+> `int myVariable;` : Good
+>
+> `int myvariable;` : Bad
+>
+> `int my_variable;` : Bad
+
+1. **No inline comments**
+> `//` style comments may not be placed on the same line as code.
+>
+> `speed *= 0.44704; // miles per hour to meters per second` : Bad
+
+# Write tests
+
+Gazebo uses [GTest](http://code.google.com/p/googletest) for general testing
+and [QTest](http://doc.qt.io/qt-5/qtest.html) for GUI tests. There are a few
+kinds of tests:
+
+1. Unit tests: all classes should have corresponding unit tests. These live
+in the same directory as the source code and are prefixed by `_TEST`.
+
+1. Integration tests: tests which verify how many classes are working together
+go under the `tests/integration` directory.
+
+1. Regression tests: tests which fix broken features go under `tests/regression`
+and are prefixed by the issue number on Gazebo's
+[issue tracker](https://bitbucket.org/osrf/gazebo/issues).
+
+Before creating a new integration or regression test file, check the current
+test files. If one closely matches the topic of your new code, simply add a new
+test function to the file. Otherwise, create a new test file, and write your
+test.
+
+## Test coverage
+
+The goal is to achieve 100% line and branch coverage. However, this is not
+always possible due to complexity issues, analysis tools misreporting
+coverage, and time constraints. Try to write as complete of a test suite as
+possible, and use the coverage analysis tools as guide. If you have trouble
+writing a test please ask for help in your pull request.
+
+Gazebo has a build target called `make coverage` that will produce a code
+coverage report. You'll need to have
+[lcov](http://ltp.sourceforge.net/coverage/lcov.php) and
+[gcov](https://gcc.gnu.org/onlinedocs/gcc/Gcov.html) installed.
+
+1. In your `build` folder, compile Gazebo with `-DCMAKE_BUILD_TYPE=Coverage`
+
+ cmake -DCMAKE_BUILD_TYPE=Coverage ..\
+ make
+
+1. Run a single test, or all the tests
+
+ make test
+
+1. Make the coverage report
+
+ make coverage
+
+1. View the coverage report
+
+ firefox coverage/index.html
+
+## Gazebo assertions
+
+### What is an assertion?
+
+An assertion is a check, which always produces a boolean result, that
+developers place in the code when want to be sure that check is always true.
+They are aimed to detect programming errors and should check for impossible
+situations in the code. If the assertion check failed, the assertion will
+stop the program immediately.
+
+ Object * p = some_crazy_function()
+ GZ_ASSERT(p != nullptr, "Object from some_crazy_function should never point to NULL")
+ p->run()
+
+### Gazebo runtime assertions: GZ_ASSERT
+
+In Gazebo, the GZ_ASSERT macro id designed to handle all our runtime assertions
+
+ GZ_ASSERT(<condition to check>,<fail msg>)
+
+* `condition-to-check`: anything returning a boolean value that should always be true.
+* `fail msg`: message displayed when assertion is thrown
+
+### Benefits of the assertions
+
+Some of the benefits of using the assertions:
+
+* They are really useful for not having to debug all kind of weird and unexpected errors, especially in runtime. Exact failure point appears when pass by an assertion.
+* Developer can be sure that some conditions are met at a given code point. Code turns more reliable.
+* Help to detect no so obvious errors happening (affecting performance for example)
+
+### Difference between Assertion and Exception
+
+While assertions are aimed at impossible situations generated from
+programming errors, exceptions handle all kind of expected errors and unusual
+but logically possible code situations.
+
+Lets review an example: suppose we are writing a math library and created a really fast method to calculate square roots but it only works for positive numbers. Something declared as:
+
+ double sqrt_for_positives(double number)
+
+So what could be an assertion and what an exception for our revolutionary function?
+
+* Exception: if the incoming number is negative (our function only accepts positive numbers), then we will thrown an exception. It was an error by the user but we should consider it a possible scenario since we are offering a public interface.
+
+* Assertion: our square root should never return a negative number. This is not a logical error, it's a completely unexpected error.
+
+## Debugging Gazebo
+
+### Meaningful backtraces
+
+In order to provide meaningful backtraces when using a debugger, such as GDB, Gazebo should be compiled with debugging support enabled. When using the ubuntu packages, specially the ''-dbg'' package, this support is limited but could be enough in most of the situations. This are the three level of traces which can be obtained:
+
+**Maximum level of debugging support**
+:This only can be obtained compiling Gazebo from source and setting the `CMAKE_BUILD_TYPE` to `DEBUG`. This will set up no optimizations and debugging symbols. It can be required by developers in situations specially difficult to reproduce.
+
+**Medium level of debugging support**
+:This can be obtained installing the ''gazebo-dbg'' package (since 1.4 version) or compiling Gazebo from source using the `RELWITHDEBINFO` `CMAKE_BUILD_TYPE` mode (which is the default if no mode is provided). This will set up ''-O2'' optimization level but provide debugging symbols. This should be the default when firing up gdb to explore errors and submit traces.
+
+**Minimum level of debugging support**
+:This one is present in package versions previous to 1.4 (no ''-dbg'' package present) or compiling Gazebo from source using the `RELEASE` `CMAKE_BUILD_TYPE` option. This will set up the maximum level of optimizations and does not provide any debugging symbol information. This traces are particularly difficult to follow.
+
diff --git a/Changelog.md b/Changelog.md
index f447b47..d7d4400 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,8 +1,80 @@
## Gazebo 7
-## Gazebo 7.x.x (2016-xx-xx)
+## Gazebo 7.x.x (2017-xx-xx)
-1. Don't use qt4 webkit for HotkeyDialog
+## Gazebo 7.8.1 (2017-06-08)
+
+1. ODE slip parameter example world and test
+ * [Pull request 2717](https://bitbucket.org/osrf/gazebo/pull-request/2717)
+
+1. Fix inserted mesh scale during log playback
+ * [Pull request #2723](https://bitbucket.org/osrf/gazebo/pull-request/2723)
+
+## Gazebo 7.8.0 (2017-06-02)
+
+1. Add log record filter options
+ * [Pull request 2715](https://bitbucket.org/osrf/gazebo/pull-request/2715)
+
+1. Backport wide angle camera VM FSAA fix
+ * [Pull request 2711](https://bitbucket.org/osrf/gazebo/pull-request/2711)
+
+1. Add function to retrieve scoped sensors name in multi-nested model
+ * [Pull request #2676](https://bitbucket.org/osrf/gazebo/pull-request/2674)
+
+## Gazebo 7.7.0 (2017-05-04)
+
+1. Fix race condition during Detach of HarnessPlugin
+ * [Pull request 2696](https://bitbucket.org/osrf/gazebo/pull-request/2696)
+
+1. Added support for pincushion distortion model; fixed bug where
+ cameras with different distortion models would have the same distortion.
+ * [Pull request 2678](https://bitbucket.org/osrf/gazebo/pull-requests/2678)
+
+1. Added <collide_bitmask> support to bullet
+ * [Pull request 2649](https://bitbucket.org/osrf/gazebo/pull-request/2649)
+
+1. Fix linking when using HDF5_INSTRUMENT for logging ODE data
+ * [Pull request 2669](https://bitbucket.org/osrf/gazebo/pull-request/2669)
+
+1. Subdivide large heightmaps to fix LOD and support global texture mapping
+ * [Pull request 2655](https://bitbucket.org/osrf/gazebo/pull-request/2655)
+
+## Gazebo 7.6.0 (2017-03-20)
+
+1. Force / torque sensor visualization using WrenchVisual
+ * [Pull request 2653](https://bitbucket.org/osrf/gazebo/pull-request/2653)
+
+1. Cache heightmap tile data
+ * [Pull request 2645](https://bitbucket.org/osrf/gazebo/pull-request/2645)
+
+1. Add plugin for attaching lights to links in a model
+ * [Pull request 2647](https://bitbucket.org/osrf/gazebo/pull-request/2647)
+
+1. Support Heightmap LOD
+ * [Pull request 2636](https://bitbucket.org/osrf/gazebo/pull-request/2636)
+
+1. Support setting shadow texture size
+ * [Pull request 2644](https://bitbucket.org/osrf/gazebo/pull-request/2644)
+
+1. Fix deprecated sdf warnings produced by PluginToSDF
+ * [Pull request 2646](https://bitbucket.org/osrf/gazebo/pull-request/2646)
+
+1. Added TouchPlugin, which checks if a model has been in contact with another
+ model exclusively for a certain time.
+ * [Pull request 2651](https://bitbucket.org/osrf/gazebo/pull-request/2651)
+
+1. Fixes -inf laser reading being displayed as +inf
+ * [Pull request 2641](https://bitbucket.org/osrf/gazebo/pull-request/2641)
+
+1. Fix memory leaks in tests
+ * [Pull request 2639](https://bitbucket.org/osrf/gazebo/pull-request/2639)
+
+1. Remove end year from copyright
+ * [Pull request 2614](https://bitbucket.org/osrf/gazebo/pull-request/2614)
+
+## Gazebo 7.5.0 (2017-01-11)
+
+1. Remove qt4 webkit in gazebo7 (used for HotkeyDialog).
* [Pull request 2584](https://bitbucket.org/osrf/gazebo/pull-request/2584)
1. Support configuring heightmap sampling level
@@ -678,14 +750,34 @@ using the same arguments used in the command line.
## Gazebo 6.0
-### Gazebo 6.X.X (201X-XX-XX)
+### Gazebo 6.7.0 (201X-01-12)
-1. Fix buoyancy plugin when multiple link tags are used within the plugin
- * [Pull request 2369](https://bitbucket.org/osrf/gazebo/pull-request/2369)
+1. Add vector3 and quaternion rendering conversions
+ * [Pull request 2276](https://bitbucket.org/osrf/gazebo/pull-request/2276)
+
+1. Reverse view angle widget left and right view
+ * [Pull request 2265](https://bitbucket.org/osrf/gazebo/pull-request/2265)
+ * [Issue 1924](https://bitbucket.org/osrf/gazebo/issue/1924)
1. Fix race condition in ~TimePanelPrivate (#1919)
* [Pull request 2250](https://bitbucket.org/osrf/gazebo/pull-request/2250)
+1. Prevent orthographic camera from resetting zoom after animation
+ * [Pull request 2267](https://bitbucket.org/osrf/gazebo/pull-request/2267)
+ * [Issue #1927](https://bitbucket.org/osrf/gazebo/issues/1927)
+
+1. Fix MeshToSDF missing scale issue
+ * [Pull request 2258](https://bitbucket.org/osrf/gazebo/pull-request/2258)
+ * [Issue #1925](https://bitbucket.org/osrf/gazebo/issues/1925)
+
+1. Register Qt metatypes in gui tests
+ * [Pull request 2273](https://bitbucket.org/osrf/gazebo/pull-request/2273)
+
+1. Fix resetting model to initial pose
+ * [Pull request 2307](https://bitbucket.org/osrf/gazebo/pull-request/2307)
+ * [Issue #1960](https://bitbucket.org/osrf/gazebo/issues/1960)
+
+
### Gazebo 6.6.0 (2016-04-07)
1. fix: remove back projection
@@ -1171,7 +1263,11 @@ compilation on Windows.
## Gazebo 5.0
-### Gazebo 5.x.x
+### Gazebo 5.4.0 (2017-01-17)
+
+1. Check FSAA support when creating camera render textures
+ * [Pull request 2442](https://bitbucket.org/osrf/gazebo/pull-request/2442)
+ * [Issue #1837](https://bitbucket.org/osrf/gazebo/issue/1837)
1. Fix mouse picking with transparent visuals
* [Pull request 2305](https://bitbucket.org/osrf/gazebo/pull-request/2305)
diff --git a/LICENSE b/LICENSE
index efd313c..a473db6 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
Software License Agreement (Apache License)
-Copyright (C) 2012-2016 Open Source Robotics Foundation
+Copyright (C) 2012 Open Source Robotics Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/Migration.md b/Migration.md
index 22caa0f..bf43583 100644
--- a/Migration.md
+++ b/Migration.md
@@ -5,6 +5,25 @@ Deprecated code produces compile-time warnings. These warning serve as
notification to users that their code should be upgraded. The next major
release will remove the deprecated code.
+## Gazebo 7.9.0 to 7.X
+
+### Modifications
+
+1. **gazebo/physics/ode/ODEPhysics.cc**
+ `ODEPhysics::Collide` combines surface slip parameters with a sum
+ instead of `std::min`.
+ Please see [Pull request 2717](https://bitbucket.org/osrf/gazebo/pull-request/2717)
+ for more details.
+
+## Gazebo 7.8.0 to 7.X
+
+### Modifications
+
+1. **gz log**
+ Gazebo log files no longer store velocity data and have reduced floating point precision.
+ See [pull request 2715](https://bitbucket.org/osrf/gazebo/pull-requests/2715/add-log-record-filter-options)
+ for further details.
+
## Gazebo 7.3.1 to 7.X
### Deprecations
diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake
index 951810e..97ec91f 100644
--- a/cmake/SearchForStuff.cmake
+++ b/cmake/SearchForStuff.cmake
@@ -80,8 +80,7 @@ else ()
endif ()
########################################
-include (FindHDF5)
-find_package(HDF5)
+find_package(HDF5 COMPONENTS C CXX)
if (NOT HDF5_FOUND)
BUILD_WARNING("HDF5 not found")
diff --git a/deps/opende/src/io.cpp b/deps/opende/src/io.cpp
index 0fa3de0..00c6966 100644
--- a/deps/opende/src/io.cpp
+++ b/deps/opende/src/io.cpp
@@ -377,7 +377,9 @@ void h5dump::dump(bool first)
Group gp = append_problem(F, "mbs_frame");
if (first )
+ {
//dump_string(gp, "toolkit", "This example was generated by the ODE toolkit");
+ }
dump_scalar(gp, "timestep", step_size);
diff --git a/deps/opende/src/step_bullet_inc.h b/deps/opende/src/step_bullet_inc.h
index 0a57c5c..65cca63 100644
--- a/deps/opende/src/step_bullet_inc.h
+++ b/deps/opende/src/step_bullet_inc.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/deps/opende/src/step_bullet_lemke_wrapper.cpp b/deps/opende/src/step_bullet_lemke_wrapper.cpp
index cdaf565..25f74f5 100644
--- a/deps/opende/src/step_bullet_lemke_wrapper.cpp
+++ b/deps/opende/src/step_bullet_lemke_wrapper.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/deps/opende/src/step_bullet_lemke_wrapper.h b/deps/opende/src/step_bullet_lemke_wrapper.h
index e98659d..322cb90 100644
--- a/deps/opende/src/step_bullet_lemke_wrapper.h
+++ b/deps/opende/src/step_bullet_lemke_wrapper.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/deps/opende/src/step_bullet_pgs_wrapper.cpp b/deps/opende/src/step_bullet_pgs_wrapper.cpp
index 4178516..9670ba1 100644
--- a/deps/opende/src/step_bullet_pgs_wrapper.cpp
+++ b/deps/opende/src/step_bullet_pgs_wrapper.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/deps/opende/src/step_bullet_pgs_wrapper.h b/deps/opende/src/step_bullet_pgs_wrapper.h
index 2d1aa0b..86c07d6 100644
--- a/deps/opende/src/step_bullet_pgs_wrapper.h
+++ b/deps/opende/src/step_bullet_pgs_wrapper.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/deps/opende/src/step_dart_pgs_wrapper.cpp b/deps/opende/src/step_dart_pgs_wrapper.cpp
index 9d28a73..5caa89e 100644
--- a/deps/opende/src/step_dart_pgs_wrapper.cpp
+++ b/deps/opende/src/step_dart_pgs_wrapper.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/deps/opende/src/step_dart_pgs_wrapper.h b/deps/opende/src/step_dart_pgs_wrapper.h
index ea65cf8..1922965 100644
--- a/deps/opende/src/step_dart_pgs_wrapper.h
+++ b/deps/opende/src/step_dart_pgs_wrapper.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/ignition/angle.cc b/examples/ignition/angle.cc
index c2afcfa..7c46d60 100644
--- a/examples/ignition/angle.cc
+++ b/examples/ignition/angle.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/ignition/box.cc b/examples/ignition/box.cc
index 985eda8..78e5423 100644
--- a/examples/ignition/box.cc
+++ b/examples/ignition/box.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/ignition/vector3.cc b/examples/ignition/vector3.cc
index 4e72319..c695a68 100644
--- a/examples/ignition/vector3.cc
+++ b/examples/ignition/vector3.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/animate_joints/animate_joints.cc b/examples/plugins/animate_joints/animate_joints.cc
index ab05eb4..eed5d27 100644
--- a/examples/plugins/animate_joints/animate_joints.cc
+++ b/examples/plugins/animate_joints/animate_joints.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/animate_pose/animate_pose.cc b/examples/plugins/animate_pose/animate_pose.cc
index 305d36b..5bbb31d 100644
--- a/examples/plugins/animate_pose/animate_pose.cc
+++ b/examples/plugins/animate_pose/animate_pose.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/camera/camera_dump.cc b/examples/plugins/camera/camera_dump.cc
index 7cceaad..f1a424f 100644
--- a/examples/plugins/camera/camera_dump.cc
+++ b/examples/plugins/camera/camera_dump.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/camera/camera_move.cc b/examples/plugins/camera/camera_move.cc
index b906963..eb7c15e 100644
--- a/examples/plugins/camera/camera_move.cc
+++ b/examples/plugins/camera/camera_move.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/custom_messages/custom_messages.cc b/examples/plugins/custom_messages/custom_messages.cc
index 4d5ad0a..a8d91e3 100644
--- a/examples/plugins/custom_messages/custom_messages.cc
+++ b/examples/plugins/custom_messages/custom_messages.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/factory/factory.cc b/examples/plugins/factory/factory.cc
index fe6e9c8..3197eb1 100644
--- a/examples/plugins/factory/factory.cc
+++ b/examples/plugins/factory/factory.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/gui_overlay_plugin_spawn/GUIExampleSpawnWidget.cc b/examples/plugins/gui_overlay_plugin_spawn/GUIExampleSpawnWidget.cc
index 7c2144a..50fc388 100644
--- a/examples/plugins/gui_overlay_plugin_spawn/GUIExampleSpawnWidget.cc
+++ b/examples/plugins/gui_overlay_plugin_spawn/GUIExampleSpawnWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/gui_overlay_plugin_spawn/GUIExampleSpawnWidget.hh b/examples/plugins/gui_overlay_plugin_spawn/GUIExampleSpawnWidget.hh
index d77265b..e98dc7f 100644
--- a/examples/plugins/gui_overlay_plugin_spawn/GUIExampleSpawnWidget.hh
+++ b/examples/plugins/gui_overlay_plugin_spawn/GUIExampleSpawnWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/gui_overlay_plugin_time/GUIExampleTimeWidget.cc b/examples/plugins/gui_overlay_plugin_time/GUIExampleTimeWidget.cc
index 2971165..88455c6 100644
--- a/examples/plugins/gui_overlay_plugin_time/GUIExampleTimeWidget.cc
+++ b/examples/plugins/gui_overlay_plugin_time/GUIExampleTimeWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/gui_overlay_plugin_time/GUIExampleTimeWidget.hh b/examples/plugins/gui_overlay_plugin_time/GUIExampleTimeWidget.hh
index 3626fb9..cedd406 100644
--- a/examples/plugins/gui_overlay_plugin_time/GUIExampleTimeWidget.hh
+++ b/examples/plugins/gui_overlay_plugin_time/GUIExampleTimeWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/hello_world/hello_world.cc b/examples/plugins/hello_world/hello_world.cc
index eee1579..30cdab3 100644
--- a/examples/plugins/hello_world/hello_world.cc
+++ b/examples/plugins/hello_world/hello_world.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/mainwindow_example/MainWindowExampleWidget.cc b/examples/plugins/mainwindow_example/MainWindowExampleWidget.cc
index 1c04e42..394ab68 100644
--- a/examples/plugins/mainwindow_example/MainWindowExampleWidget.cc
+++ b/examples/plugins/mainwindow_example/MainWindowExampleWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/mainwindow_example/MainWindowExampleWidget.hh b/examples/plugins/mainwindow_example/MainWindowExampleWidget.hh
index 67a776f..bb30ae0 100644
--- a/examples/plugins/mainwindow_example/MainWindowExampleWidget.hh
+++ b/examples/plugins/mainwindow_example/MainWindowExampleWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/model_move/model_move.cc b/examples/plugins/model_move/model_move.cc
index a3a831c..96dbf03 100644
--- a/examples/plugins/model_move/model_move.cc
+++ b/examples/plugins/model_move/model_move.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/model_move/model_move.hh b/examples/plugins/model_move/model_move.hh
index dd525d9..b46b935 100644
--- a/examples/plugins/model_move/model_move.hh
+++ b/examples/plugins/model_move/model_move.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/model_move/path_publisher.cc b/examples/plugins/model_move/path_publisher.cc
index 576aa76..dea3086 100644
--- a/examples/plugins/model_move/path_publisher.cc
+++ b/examples/plugins/model_move/path_publisher.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/model_push/model_push.cc b/examples/plugins/model_push/model_push.cc
index daea0f8..10473bd 100644
--- a/examples/plugins/model_push/model_push.cc
+++ b/examples/plugins/model_push/model_push.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/model_visuals/model_visuals.cc b/examples/plugins/model_visuals/model_visuals.cc
index 322b05f..e6531de 100644
--- a/examples/plugins/model_visuals/model_visuals.cc
+++ b/examples/plugins/model_visuals/model_visuals.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/parameters/parameters.cc b/examples/plugins/parameters/parameters.cc
index f0cd149..b7003e1 100644
--- a/examples/plugins/parameters/parameters.cc
+++ b/examples/plugins/parameters/parameters.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/pr2_pose_test.cc b/examples/plugins/pr2_pose_test.cc
index fbf9114..953cb72 100644
--- a/examples/plugins/pr2_pose_test.cc
+++ b/examples/plugins/pr2_pose_test.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/presentation.cc b/examples/plugins/presentation.cc
index e5975c4..2145c1c 100644
--- a/examples/plugins/presentation.cc
+++ b/examples/plugins/presentation.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/projector/projector.cc b/examples/plugins/projector/projector.cc
index dbb68d6..a0b32e9 100644
--- a/examples/plugins/projector/projector.cc
+++ b/examples/plugins/projector/projector.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/ray_test.cc b/examples/plugins/ray_test.cc
index 8ac7d17..894137a 100644
--- a/examples/plugins/ray_test.cc
+++ b/examples/plugins/ray_test.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/system_gui_plugin/system_gui.cc b/examples/plugins/system_gui_plugin/system_gui.cc
index cf01a3b..5495553 100644
--- a/examples/plugins/system_gui_plugin/system_gui.cc
+++ b/examples/plugins/system_gui_plugin/system_gui.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/plugins/world_edit/world_edit.cc b/examples/plugins/world_edit/world_edit.cc
index 751f9bd..aa50940 100644
--- a/examples/plugins/world_edit/world_edit.cc
+++ b/examples/plugins/world_edit/world_edit.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/stand_alone/actuator/main.cc b/examples/stand_alone/actuator/main.cc
index 2e4c211..80737a7 100644
--- a/examples/stand_alone/actuator/main.cc
+++ b/examples/stand_alone/actuator/main.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/stand_alone/animated_box/animated_box.cc b/examples/stand_alone/animated_box/animated_box.cc
index f10e038..8ae5278 100644
--- a/examples/stand_alone/animated_box/animated_box.cc
+++ b/examples/stand_alone/animated_box/animated_box.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/stand_alone/animated_box/independent_listener.cc b/examples/stand_alone/animated_box/independent_listener.cc
index a243c95..8de87dc 100644
--- a/examples/stand_alone/animated_box/independent_listener.cc
+++ b/examples/stand_alone/animated_box/independent_listener.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/stand_alone/animated_box/integrated_main.cc b/examples/stand_alone/animated_box/integrated_main.cc
index 9d56637..312566a 100644
--- a/examples/stand_alone/animated_box/integrated_main.cc
+++ b/examples/stand_alone/animated_box/integrated_main.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/stand_alone/arrange/arrange_plugin_test.cc b/examples/stand_alone/arrange/arrange_plugin_test.cc
index 6202349..1583619 100644
--- a/examples/stand_alone/arrange/arrange_plugin_test.cc
+++ b/examples/stand_alone/arrange/arrange_plugin_test.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/stand_alone/clone_simulation/cloner.cc b/examples/stand_alone/clone_simulation/cloner.cc
index aa04d74..271b731 100644
--- a/examples/stand_alone/clone_simulation/cloner.cc
+++ b/examples/stand_alone/clone_simulation/cloner.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/stand_alone/custom_main/custom_main.cc b/examples/stand_alone/custom_main/custom_main.cc
index 9d8cda3..1b7bedd 100644
--- a/examples/stand_alone/custom_main/custom_main.cc
+++ b/examples/stand_alone/custom_main/custom_main.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/stand_alone/custom_main/custom_main_vector.cc b/examples/stand_alone/custom_main/custom_main_vector.cc
index 9f6dcb5..a326290 100644
--- a/examples/stand_alone/custom_main/custom_main_vector.cc
+++ b/examples/stand_alone/custom_main/custom_main_vector.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/stand_alone/custom_main_pkgconfig/custom_main.cc b/examples/stand_alone/custom_main_pkgconfig/custom_main.cc
index 9d8cda3..1b7bedd 100644
--- a/examples/stand_alone/custom_main_pkgconfig/custom_main.cc
+++ b/examples/stand_alone/custom_main_pkgconfig/custom_main.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/stand_alone/listener/listener.cc b/examples/stand_alone/listener/listener.cc
index 3acd150..2e390ee 100644
--- a/examples/stand_alone/listener/listener.cc
+++ b/examples/stand_alone/listener/listener.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/stand_alone/publisher/publisher.cc b/examples/stand_alone/publisher/publisher.cc
index b459b18..e1a0666 100644
--- a/examples/stand_alone/publisher/publisher.cc
+++ b/examples/stand_alone/publisher/publisher.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/stand_alone/test_fixture/test.cc b/examples/stand_alone/test_fixture/test.cc
index 142a795..24f50d8 100644
--- a/examples/stand_alone/test_fixture/test.cc
+++ b/examples/stand_alone/test_fixture/test.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/examples/stand_alone/transporter/transporter.cc b/examples/stand_alone/transporter/transporter.cc
index c59dc85..4036e44 100644
--- a/examples/stand_alone/transporter/transporter.cc
+++ b/examples/stand_alone/transporter/transporter.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/Master.cc b/gazebo/Master.cc
index e815ea8..9078d43 100644
--- a/gazebo/Master.cc
+++ b/gazebo/Master.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/Master.hh b/gazebo/Master.hh
index 246e4f4..41ec26d 100644
--- a/gazebo/Master.hh
+++ b/gazebo/Master.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/Server.cc b/gazebo/Server.cc
index 4854f23..3a245d9 100644
--- a/gazebo/Server.cc
+++ b/gazebo/Server.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -155,6 +155,10 @@ bool Server::ParseArgs(int _argc, char **_argv)
"Compression encoding format for log data (zlib|bz2|txt).")
("record_path", po::value<std::string>()->default_value(""),
"Absolute path in which to store state data")
+ ("record_period", po::value<double>()->default_value(-1),
+ "Recording period (seconds).")
+ ("record_filter", po::value<std::string>()->default_value(""),
+ "Recording filter (supports wildcard and regular expression).")
("seed", po::value<double>(), "Start with a given random number seed.")
("iters", po::value<unsigned int>(), "Number of iterations to simulate.")
("minimal_comms", "Reduce the TCP/IP traffic output by gzserver")
@@ -252,9 +256,9 @@ bool Server::ParseArgs(int _argc, char **_argv)
if (this->dataPtr->vm.count("record"))
{
this->dataPtr->params["record"] =
- this->dataPtr->vm["record_path"].as<std::string>();
+ this->dataPtr->vm["record_path"].as<std::string>();
this->dataPtr->params["record_encoding"] =
- this->dataPtr->vm["record_encoding"].as<std::string>();
+ this->dataPtr->vm["record_encoding"].as<std::string>();
}
if (this->dataPtr->vm.count("iters"))
@@ -612,8 +616,13 @@ void Server::ProcessParams()
}
else if (iter->first == "record")
{
- util::LogRecord::Instance()->Start(
- this->dataPtr->params["record_encoding"], iter->second);
+ util::LogRecordParams params;
+
+ params.encoding = this->dataPtr->params["record_encoding"];
+ params.path = iter->second;
+ params.period = this->dataPtr->vm["record_period"].as<double>();
+ params.filter = this->dataPtr->vm["record_filter"].as<std::string>();
+ util::LogRecord::Instance()->Start(params);
}
}
}
diff --git a/gazebo/Server.hh b/gazebo/Server.hh
index fab75d0..9e3b5ce 100644
--- a/gazebo/Server.hh
+++ b/gazebo/Server.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Animation.cc b/gazebo/common/Animation.cc
index af9b6cf..f960fcd 100644
--- a/gazebo/common/Animation.cc
+++ b/gazebo/common/Animation.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Animation.hh b/gazebo/common/Animation.hh
index 7c3e9e5..e75a7de 100644
--- a/gazebo/common/Animation.hh
+++ b/gazebo/common/Animation.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Animation_TEST.cc b/gazebo/common/Animation_TEST.cc
index 4a2bf13..4ea5bf0 100644
--- a/gazebo/common/Animation_TEST.cc
+++ b/gazebo/common/Animation_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Assert.cc b/gazebo/common/Assert.cc
index 08f0178..d6f071c 100644
--- a/gazebo/common/Assert.cc
+++ b/gazebo/common/Assert.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Assert.hh b/gazebo/common/Assert.hh
index be1a89b..7c609d8 100644
--- a/gazebo/common/Assert.hh
+++ b/gazebo/common/Assert.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/AudioDecoder.cc b/gazebo/common/AudioDecoder.cc
index 40f0970..8b5a77f 100644
--- a/gazebo/common/AudioDecoder.cc
+++ b/gazebo/common/AudioDecoder.cc
@@ -1,5 +1,5 @@
/*
-* Copyright (C) 2012-2016 Open Source Robotics Foundation
+* Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/AudioDecoder.hh b/gazebo/common/AudioDecoder.hh
index e99e25a..45238ed 100644
--- a/gazebo/common/AudioDecoder.hh
+++ b/gazebo/common/AudioDecoder.hh
@@ -1,5 +1,5 @@
/*
-* Copyright (C) 2012-2016 Open Source Robotics Foundation
+* Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/AudioDecoder_TEST.cc b/gazebo/common/AudioDecoder_TEST.cc
index bd65e9e..02c3e0d 100644
--- a/gazebo/common/AudioDecoder_TEST.cc
+++ b/gazebo/common/AudioDecoder_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/BVHLoader.cc b/gazebo/common/BVHLoader.cc
index 4a8fef5..ac0d203 100644
--- a/gazebo/common/BVHLoader.cc
+++ b/gazebo/common/BVHLoader.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/BVHLoader.hh b/gazebo/common/BVHLoader.hh
index 9f53c45..29da2cb 100644
--- a/gazebo/common/BVHLoader.hh
+++ b/gazebo/common/BVHLoader.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Base64.cc b/gazebo/common/Base64.cc
index 3b65ff6..a8e5100 100644
--- a/gazebo/common/Base64.cc
+++ b/gazebo/common/Base64.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Base64.hh b/gazebo/common/Base64.hh
index 818baa7..2107994 100644
--- a/gazebo/common/Base64.hh
+++ b/gazebo/common/Base64.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Battery.cc b/gazebo/common/Battery.cc
index df1437d..50d2ef8 100644
--- a/gazebo/common/Battery.cc
+++ b/gazebo/common/Battery.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Battery.hh b/gazebo/common/Battery.hh
index aa544bc..d7efbd8 100644
--- a/gazebo/common/Battery.hh
+++ b/gazebo/common/Battery.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/BatteryPrivate.hh b/gazebo/common/BatteryPrivate.hh
index 07e4d71..a9ce60c 100644
--- a/gazebo/common/BatteryPrivate.hh
+++ b/gazebo/common/BatteryPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Battery_TEST.cc b/gazebo/common/Battery_TEST.cc
index 43edab7..9ecdae1 100644
--- a/gazebo/common/Battery_TEST.cc
+++ b/gazebo/common/Battery_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/ColladaExporter.cc b/gazebo/common/ColladaExporter.cc
index c3d83ac..00ea3db 100644
--- a/gazebo/common/ColladaExporter.cc
+++ b/gazebo/common/ColladaExporter.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/ColladaExporter.hh b/gazebo/common/ColladaExporter.hh
index 5a52c59..44cee2c 100644
--- a/gazebo/common/ColladaExporter.hh
+++ b/gazebo/common/ColladaExporter.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/ColladaExporterPrivate.hh b/gazebo/common/ColladaExporterPrivate.hh
index 3df3c98..31f5a30 100644
--- a/gazebo/common/ColladaExporterPrivate.hh
+++ b/gazebo/common/ColladaExporterPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/ColladaExporter_TEST.cc b/gazebo/common/ColladaExporter_TEST.cc
index a359a77..0225099 100644
--- a/gazebo/common/ColladaExporter_TEST.cc
+++ b/gazebo/common/ColladaExporter_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/ColladaLoader.cc b/gazebo/common/ColladaLoader.cc
index 118806e..9842d21 100644
--- a/gazebo/common/ColladaLoader.cc
+++ b/gazebo/common/ColladaLoader.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/ColladaLoader.hh b/gazebo/common/ColladaLoader.hh
index ec625fb..5709c14 100644
--- a/gazebo/common/ColladaLoader.hh
+++ b/gazebo/common/ColladaLoader.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/ColladaLoaderPrivate.hh b/gazebo/common/ColladaLoaderPrivate.hh
index e28c6fd..e48d6f2 100644
--- a/gazebo/common/ColladaLoaderPrivate.hh
+++ b/gazebo/common/ColladaLoaderPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/ColladaLoader_TEST.cc b/gazebo/common/ColladaLoader_TEST.cc
index 03364c4..ba779ee 100644
--- a/gazebo/common/ColladaLoader_TEST.cc
+++ b/gazebo/common/ColladaLoader_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Color.cc b/gazebo/common/Color.cc
index f6aab26..ea1b6bc 100644
--- a/gazebo/common/Color.cc
+++ b/gazebo/common/Color.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Color.hh b/gazebo/common/Color.hh
index f3d3d6b..f2f6c8f 100644
--- a/gazebo/common/Color.hh
+++ b/gazebo/common/Color.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Color_TEST.cc b/gazebo/common/Color_TEST.cc
index 1345503..04e230d 100644
--- a/gazebo/common/Color_TEST.cc
+++ b/gazebo/common/Color_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/CommonIface.cc b/gazebo/common/CommonIface.cc
index 7074b94..2ee873d 100644
--- a/gazebo/common/CommonIface.cc
+++ b/gazebo/common/CommonIface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/CommonIface.hh b/gazebo/common/CommonIface.hh
index b7d5b8a..3af3bb1 100644
--- a/gazebo/common/CommonIface.hh
+++ b/gazebo/common/CommonIface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/CommonIface_TEST.cc b/gazebo/common/CommonIface_TEST.cc
index 90de119..4764c50 100644
--- a/gazebo/common/CommonIface_TEST.cc
+++ b/gazebo/common/CommonIface_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/CommonTypes.hh b/gazebo/common/CommonTypes.hh
index b0b4518..9a61f92 100644
--- a/gazebo/common/CommonTypes.hh
+++ b/gazebo/common/CommonTypes.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Console.cc b/gazebo/common/Console.cc
index bd00977..e53e9e7 100644
--- a/gazebo/common/Console.cc
+++ b/gazebo/common/Console.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Console.hh b/gazebo/common/Console.hh
index 5b4996c..5b66632 100644
--- a/gazebo/common/Console.hh
+++ b/gazebo/common/Console.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Console_TEST.cc b/gazebo/common/Console_TEST.cc
index 35921e5..3052b9b 100644
--- a/gazebo/common/Console_TEST.cc
+++ b/gazebo/common/Console_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Dem.cc b/gazebo/common/Dem.cc
index 2f5d69e..eca9644 100644
--- a/gazebo/common/Dem.cc
+++ b/gazebo/common/Dem.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Dem.hh b/gazebo/common/Dem.hh
index 80142a9..bf409d2 100644
--- a/gazebo/common/Dem.hh
+++ b/gazebo/common/Dem.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/DemPrivate.hh b/gazebo/common/DemPrivate.hh
index 81e96d0..1a00f9b 100644
--- a/gazebo/common/DemPrivate.hh
+++ b/gazebo/common/DemPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Dem_TEST.cc b/gazebo/common/Dem_TEST.cc
index a50376d..63d8b50 100644
--- a/gazebo/common/Dem_TEST.cc
+++ b/gazebo/common/Dem_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/EnumIface.hh b/gazebo/common/EnumIface.hh
index 32d2e9a..806d6cf 100644
--- a/gazebo/common/EnumIface.hh
+++ b/gazebo/common/EnumIface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/EnumIface_TEST.cc b/gazebo/common/EnumIface_TEST.cc
index a776719..1f9108e 100644
--- a/gazebo/common/EnumIface_TEST.cc
+++ b/gazebo/common/EnumIface_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Event.cc b/gazebo/common/Event.cc
index c694147..a3f69c8 100644
--- a/gazebo/common/Event.cc
+++ b/gazebo/common/Event.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Event.hh b/gazebo/common/Event.hh
index 2a732c4..49d7586 100644
--- a/gazebo/common/Event.hh
+++ b/gazebo/common/Event.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Event_TEST.cc b/gazebo/common/Event_TEST.cc
index 9bf10f9..bbd236c 100644
--- a/gazebo/common/Event_TEST.cc
+++ b/gazebo/common/Event_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Events.cc b/gazebo/common/Events.cc
index 6d3dbc5..2193ca7 100644
--- a/gazebo/common/Events.cc
+++ b/gazebo/common/Events.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Events.hh b/gazebo/common/Events.hh
index 9f6ea09..32a1e56 100644
--- a/gazebo/common/Events.hh
+++ b/gazebo/common/Events.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Exception.cc b/gazebo/common/Exception.cc
index aed8826..0af65b0 100644
--- a/gazebo/common/Exception.cc
+++ b/gazebo/common/Exception.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Exception.hh b/gazebo/common/Exception.hh
index 45882b5..e0844c1 100644
--- a/gazebo/common/Exception.hh
+++ b/gazebo/common/Exception.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Exception_TEST.cc b/gazebo/common/Exception_TEST.cc
index 5de886f..9c0b113 100644
--- a/gazebo/common/Exception_TEST.cc
+++ b/gazebo/common/Exception_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/GTSMeshUtils.cc b/gazebo/common/GTSMeshUtils.cc
index 7d9866a..2ae3cf1 100644
--- a/gazebo/common/GTSMeshUtils.cc
+++ b/gazebo/common/GTSMeshUtils.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/GTSMeshUtils.hh b/gazebo/common/GTSMeshUtils.hh
index 1b28337..e0b0423 100644
--- a/gazebo/common/GTSMeshUtils.hh
+++ b/gazebo/common/GTSMeshUtils.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/GTSMeshUtils_TEST.cc b/gazebo/common/GTSMeshUtils_TEST.cc
index 7631a2f..096fa46 100644
--- a/gazebo/common/GTSMeshUtils_TEST.cc
+++ b/gazebo/common/GTSMeshUtils_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/HeightmapData.hh b/gazebo/common/HeightmapData.hh
index cdf7adb..c4fe76e 100644
--- a/gazebo/common/HeightmapData.hh
+++ b/gazebo/common/HeightmapData.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Image.cc b/gazebo/common/Image.cc
index 9215a41..8802583 100644
--- a/gazebo/common/Image.cc
+++ b/gazebo/common/Image.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Image.hh b/gazebo/common/Image.hh
index 12d1c02..c1ae748 100644
--- a/gazebo/common/Image.hh
+++ b/gazebo/common/Image.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/ImageHeightmap.cc b/gazebo/common/ImageHeightmap.cc
index 60ed8b2..164e012 100644
--- a/gazebo/common/ImageHeightmap.cc
+++ b/gazebo/common/ImageHeightmap.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/ImageHeightmap.hh b/gazebo/common/ImageHeightmap.hh
index 8086d3d..502c9c7 100644
--- a/gazebo/common/ImageHeightmap.hh
+++ b/gazebo/common/ImageHeightmap.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/ImageHeightmap_TEST.cc b/gazebo/common/ImageHeightmap_TEST.cc
index ffa62cf..7d8dcd6 100644
--- a/gazebo/common/ImageHeightmap_TEST.cc
+++ b/gazebo/common/ImageHeightmap_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Image_TEST.cc b/gazebo/common/Image_TEST.cc
index ff1abb3..b0d6283 100644
--- a/gazebo/common/Image_TEST.cc
+++ b/gazebo/common/Image_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/KeyEvent.cc b/gazebo/common/KeyEvent.cc
index 408f050..706b24d 100644
--- a/gazebo/common/KeyEvent.cc
+++ b/gazebo/common/KeyEvent.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/KeyEvent.hh b/gazebo/common/KeyEvent.hh
index 5d4fbdb..bd3d01c 100644
--- a/gazebo/common/KeyEvent.hh
+++ b/gazebo/common/KeyEvent.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/KeyFrame.cc b/gazebo/common/KeyFrame.cc
index a45ac9a..f865303 100644
--- a/gazebo/common/KeyFrame.cc
+++ b/gazebo/common/KeyFrame.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/KeyFrame.hh b/gazebo/common/KeyFrame.hh
index b62cd0c..3ecc24d 100644
--- a/gazebo/common/KeyFrame.hh
+++ b/gazebo/common/KeyFrame.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Material.cc b/gazebo/common/Material.cc
index a492a51..48fe907 100644
--- a/gazebo/common/Material.cc
+++ b/gazebo/common/Material.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Material.hh b/gazebo/common/Material.hh
index f5cbece..4d1eb3d 100644
--- a/gazebo/common/Material.hh
+++ b/gazebo/common/Material.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Material_TEST.cc b/gazebo/common/Material_TEST.cc
index 7b473c8..ad58bf3 100644
--- a/gazebo/common/Material_TEST.cc
+++ b/gazebo/common/Material_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
diff --git a/gazebo/common/Mesh.cc b/gazebo/common/Mesh.cc
index 00f8ee4..03ba659 100644
--- a/gazebo/common/Mesh.cc
+++ b/gazebo/common/Mesh.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Mesh.hh b/gazebo/common/Mesh.hh
index 9336cad..5def916 100644
--- a/gazebo/common/Mesh.hh
+++ b/gazebo/common/Mesh.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/MeshCSG.cc b/gazebo/common/MeshCSG.cc
index 452d662..f8fcc2e 100644
--- a/gazebo/common/MeshCSG.cc
+++ b/gazebo/common/MeshCSG.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/MeshCSG.hh b/gazebo/common/MeshCSG.hh
index d4e7b61..38ab7d3 100644
--- a/gazebo/common/MeshCSG.hh
+++ b/gazebo/common/MeshCSG.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/MeshExporter.cc b/gazebo/common/MeshExporter.cc
index fdf3609..e71b0b6 100644
--- a/gazebo/common/MeshExporter.cc
+++ b/gazebo/common/MeshExporter.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/MeshExporter.hh b/gazebo/common/MeshExporter.hh
index f6513a8..63a8147 100644
--- a/gazebo/common/MeshExporter.hh
+++ b/gazebo/common/MeshExporter.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/MeshLoader.cc b/gazebo/common/MeshLoader.cc
index b0d6e9d..c599f9a 100644
--- a/gazebo/common/MeshLoader.cc
+++ b/gazebo/common/MeshLoader.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/MeshLoader.hh b/gazebo/common/MeshLoader.hh
index 8a9fc56..1fc7069 100644
--- a/gazebo/common/MeshLoader.hh
+++ b/gazebo/common/MeshLoader.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/MeshManager.cc b/gazebo/common/MeshManager.cc
index 087aaa7..9fde786 100644
--- a/gazebo/common/MeshManager.cc
+++ b/gazebo/common/MeshManager.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/MeshManager.hh b/gazebo/common/MeshManager.hh
index 0b760d9..257fd41 100644
--- a/gazebo/common/MeshManager.hh
+++ b/gazebo/common/MeshManager.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/MeshManager_TEST.cc b/gazebo/common/MeshManager_TEST.cc
index 6894793..b50a6f3 100644
--- a/gazebo/common/MeshManager_TEST.cc
+++ b/gazebo/common/MeshManager_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Mesh_TEST.cc b/gazebo/common/Mesh_TEST.cc
index b48e265..584f816 100644
--- a/gazebo/common/Mesh_TEST.cc
+++ b/gazebo/common/Mesh_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/ModelDatabase.cc b/gazebo/common/ModelDatabase.cc
index 1e04d41..a16cf6f 100644
--- a/gazebo/common/ModelDatabase.cc
+++ b/gazebo/common/ModelDatabase.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/ModelDatabase.hh b/gazebo/common/ModelDatabase.hh
index cb0d7a4..a710eb5 100644
--- a/gazebo/common/ModelDatabase.hh
+++ b/gazebo/common/ModelDatabase.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/ModelDatabasePrivate.hh b/gazebo/common/ModelDatabasePrivate.hh
index ad84647..7d3a04f 100644
--- a/gazebo/common/ModelDatabasePrivate.hh
+++ b/gazebo/common/ModelDatabasePrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/MouseEvent.cc b/gazebo/common/MouseEvent.cc
index 5925846..2e4fd95 100644
--- a/gazebo/common/MouseEvent.cc
+++ b/gazebo/common/MouseEvent.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License")
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/MouseEvent.hh b/gazebo/common/MouseEvent.hh
index 6e9a95e..8a1f3d6 100644
--- a/gazebo/common/MouseEvent.hh
+++ b/gazebo/common/MouseEvent.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/MouseEventPrivate.hh b/gazebo/common/MouseEventPrivate.hh
index 20b23fc..171b6fc 100644
--- a/gazebo/common/MouseEventPrivate.hh
+++ b/gazebo/common/MouseEventPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/MouseEvent_TEST.cc b/gazebo/common/MouseEvent_TEST.cc
index e7ea2b1..fd85cac 100644
--- a/gazebo/common/MouseEvent_TEST.cc
+++ b/gazebo/common/MouseEvent_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/MovingWindowFilter.hh b/gazebo/common/MovingWindowFilter.hh
index 9e9c34f..ad691bb 100644
--- a/gazebo/common/MovingWindowFilter.hh
+++ b/gazebo/common/MovingWindowFilter.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/MovingWindowFilter_TEST.cc b/gazebo/common/MovingWindowFilter_TEST.cc
index f3d05fc..195348c 100644
--- a/gazebo/common/MovingWindowFilter_TEST.cc
+++ b/gazebo/common/MovingWindowFilter_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/PID.cc b/gazebo/common/PID.cc
index 6a51341..ba4defc 100644
--- a/gazebo/common/PID.cc
+++ b/gazebo/common/PID.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/PID.hh b/gazebo/common/PID.hh
index c4f464e..06ac072 100644
--- a/gazebo/common/PID.hh
+++ b/gazebo/common/PID.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Plugin.cc b/gazebo/common/Plugin.cc
index 79e7e40..4eb9336 100644
--- a/gazebo/common/Plugin.cc
+++ b/gazebo/common/Plugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Plugin.hh b/gazebo/common/Plugin.hh
index 2c2839d..cda6eea 100644
--- a/gazebo/common/Plugin.hh
+++ b/gazebo/common/Plugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/STLLoader.cc b/gazebo/common/STLLoader.cc
index 46f060f..5e4287e 100644
--- a/gazebo/common/STLLoader.cc
+++ b/gazebo/common/STLLoader.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/STLLoader.hh b/gazebo/common/STLLoader.hh
index 6050dc4..9e431b3 100644
--- a/gazebo/common/STLLoader.hh
+++ b/gazebo/common/STLLoader.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/SVGLoader.cc b/gazebo/common/SVGLoader.cc
index 8a712b8..c75153c 100644
--- a/gazebo/common/SVGLoader.cc
+++ b/gazebo/common/SVGLoader.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/SVGLoader.hh b/gazebo/common/SVGLoader.hh
index 1b45561..a6f794d 100644
--- a/gazebo/common/SVGLoader.hh
+++ b/gazebo/common/SVGLoader.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/SVGLoaderPrivate.hh b/gazebo/common/SVGLoaderPrivate.hh
index 4fa6e8c..b96b1cb 100644
--- a/gazebo/common/SVGLoaderPrivate.hh
+++ b/gazebo/common/SVGLoaderPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/SVGLoader_TEST.cc b/gazebo/common/SVGLoader_TEST.cc
index 7a459ce..f27ca1e 100644
--- a/gazebo/common/SVGLoader_TEST.cc
+++ b/gazebo/common/SVGLoader_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/SingletonT.hh b/gazebo/common/SingletonT.hh
index cc540ff..ced4850 100644
--- a/gazebo/common/SingletonT.hh
+++ b/gazebo/common/SingletonT.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Skeleton.cc b/gazebo/common/Skeleton.cc
index 15add64..8b2a520 100644
--- a/gazebo/common/Skeleton.cc
+++ b/gazebo/common/Skeleton.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Skeleton.hh b/gazebo/common/Skeleton.hh
index 60aced0..8271bdb 100644
--- a/gazebo/common/Skeleton.hh
+++ b/gazebo/common/Skeleton.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/SkeletonAnimation.cc b/gazebo/common/SkeletonAnimation.cc
index df3e876..d580157 100644
--- a/gazebo/common/SkeletonAnimation.cc
+++ b/gazebo/common/SkeletonAnimation.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/SkeletonAnimation.hh b/gazebo/common/SkeletonAnimation.hh
index d3975ba..43956a1 100644
--- a/gazebo/common/SkeletonAnimation.hh
+++ b/gazebo/common/SkeletonAnimation.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/SphericalCoordinates.cc b/gazebo/common/SphericalCoordinates.cc
index 1948ff9..f3fc16f 100644
--- a/gazebo/common/SphericalCoordinates.cc
+++ b/gazebo/common/SphericalCoordinates.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/SphericalCoordinates.hh b/gazebo/common/SphericalCoordinates.hh
index de41a18..3da3f21 100644
--- a/gazebo/common/SphericalCoordinates.hh
+++ b/gazebo/common/SphericalCoordinates.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/SphericalCoordinatesPrivate.hh b/gazebo/common/SphericalCoordinatesPrivate.hh
index 03e480d..dd0ea76 100644
--- a/gazebo/common/SphericalCoordinatesPrivate.hh
+++ b/gazebo/common/SphericalCoordinatesPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/SphericalCoordinates_TEST.cc b/gazebo/common/SphericalCoordinates_TEST.cc
index 282d097..9edffc0 100644
--- a/gazebo/common/SphericalCoordinates_TEST.cc
+++ b/gazebo/common/SphericalCoordinates_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/SystemPaths.cc b/gazebo/common/SystemPaths.cc
index a485dd9..af22caf 100644
--- a/gazebo/common/SystemPaths.cc
+++ b/gazebo/common/SystemPaths.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/SystemPaths.hh b/gazebo/common/SystemPaths.hh
index 4d43d7e..2196b0b 100644
--- a/gazebo/common/SystemPaths.hh
+++ b/gazebo/common/SystemPaths.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/SystemPaths_TEST.cc b/gazebo/common/SystemPaths_TEST.cc
index b3e4de7..afb810b 100644
--- a/gazebo/common/SystemPaths_TEST.cc
+++ b/gazebo/common/SystemPaths_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Time.cc b/gazebo/common/Time.cc
index a26e5b2..8e4f8fa 100644
--- a/gazebo/common/Time.cc
+++ b/gazebo/common/Time.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Time.hh b/gazebo/common/Time.hh
index d65a178..66d31fd 100644
--- a/gazebo/common/Time.hh
+++ b/gazebo/common/Time.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Time_TEST.cc b/gazebo/common/Time_TEST.cc
index e006507..4275145 100644
--- a/gazebo/common/Time_TEST.cc
+++ b/gazebo/common/Time_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Timer.cc b/gazebo/common/Timer.cc
index 1b8dc2b..c855ae6 100644
--- a/gazebo/common/Timer.cc
+++ b/gazebo/common/Timer.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Timer.hh b/gazebo/common/Timer.hh
index e77433e..679c5c8 100644
--- a/gazebo/common/Timer.hh
+++ b/gazebo/common/Timer.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Timer_TEST.cc b/gazebo/common/Timer_TEST.cc
index d8d469c..93159ca 100644
--- a/gazebo/common/Timer_TEST.cc
+++ b/gazebo/common/Timer_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/UpdateInfo.hh b/gazebo/common/UpdateInfo.hh
index 74921d1..4593ec8 100644
--- a/gazebo/common/UpdateInfo.hh
+++ b/gazebo/common/UpdateInfo.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Video.cc b/gazebo/common/Video.cc
index bd702d8..8355de1 100644
--- a/gazebo/common/Video.cc
+++ b/gazebo/common/Video.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/Video.hh b/gazebo/common/Video.hh
index 888b83c..41418ed 100644
--- a/gazebo/common/Video.hh
+++ b/gazebo/common/Video.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/ffmpeg_inc.cc b/gazebo/common/ffmpeg_inc.cc
index 6faa000..233416e 100644
--- a/gazebo/common/ffmpeg_inc.cc
+++ b/gazebo/common/ffmpeg_inc.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/ffmpeg_inc.h b/gazebo/common/ffmpeg_inc.h
index a5e8cd1..8ed29e5 100644
--- a/gazebo/common/ffmpeg_inc.h
+++ b/gazebo/common/ffmpeg_inc.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/common/template_TEST.cc b/gazebo/common/template_TEST.cc
index 2e2d26a..11d9b7b 100644
--- a/gazebo/common/template_TEST.cc
+++ b/gazebo/common/template_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gazebo.1.ronn b/gazebo/gazebo.1.ronn
index fa0ce9c..7185e5a 100644
--- a/gazebo/gazebo.1.ronn
+++ b/gazebo/gazebo.1.ronn
@@ -29,6 +29,10 @@ Gazebo server runs simulation and handles commandline options, starts a Master,
Compression encoding format for log data (zlib|bz2|txt).
* --record_path arg :
Absolute path in which to store state data.
+* --record_period arg (=-1) :
+ Recording period (seconds).
+* --record_filter arg :
+ Recording filter (supports wildcard and regular expression).
* --seed arg :
Start with a given random number seed.
* --iters arg :
diff --git a/gazebo/gazebo.cc b/gazebo/gazebo.cc
index c95e617..cfc40e4 100644
--- a/gazebo/gazebo.cc
+++ b/gazebo/gazebo.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gazebo.hh b/gazebo/gazebo.hh
index d6451ae..73eec9f 100644
--- a/gazebo/gazebo.hh
+++ b/gazebo/gazebo.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gazebo_client.cc b/gazebo/gazebo_client.cc
index 32e708c..b567fde 100644
--- a/gazebo/gazebo_client.cc
+++ b/gazebo/gazebo_client.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gazebo_client.hh b/gazebo/gazebo_client.hh
index 03644af..10e454c 100644
--- a/gazebo/gazebo_client.hh
+++ b/gazebo/gazebo_client.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gazebo_core.hh b/gazebo/gazebo_core.hh
index cd7fcda..334c5f9 100644
--- a/gazebo/gazebo_core.hh
+++ b/gazebo/gazebo_core.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gazebo_main.cc b/gazebo/gazebo_main.cc
index 95146a3..fb76e67 100644
--- a/gazebo/gazebo_main.cc
+++ b/gazebo/gazebo_main.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -54,6 +54,9 @@ void help()
<< " (zlib|bz2|txt).\n"
<< " --record_path arg Absolute path in which to store "
<< "state data.\n"
+ << " --record_period arg (=-1) Recording period (seconds).\n"
+ << " --record_filter arg Recording filter (supports wildcard and "
+ << "regular expression).\n"
<< " --seed arg Start with a given random number seed.\n"
<< " --iters arg Number of iterations to simulate.\n"
<< " --minimal_comms Reduce the TCP/IP traffic output by "
diff --git a/gazebo/gazebo_shared.cc b/gazebo/gazebo_shared.cc
index 40d3273..eaeab4d 100644
--- a/gazebo/gazebo_shared.cc
+++ b/gazebo/gazebo_shared.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gazebo_shared.hh b/gazebo/gazebo_shared.hh
index e6f1238..26f7092 100644
--- a/gazebo/gazebo_shared.hh
+++ b/gazebo/gazebo_shared.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/Actions.cc b/gazebo/gui/Actions.cc
index 0d946a5..076c104 100644
--- a/gazebo/gui/Actions.cc
+++ b/gazebo/gui/Actions.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/Actions.hh b/gazebo/gui/Actions.hh
index 2339ea3..560ac6b 100644
--- a/gazebo/gui/Actions.hh
+++ b/gazebo/gui/Actions.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/AlignWidget.cc b/gazebo/gui/AlignWidget.cc
index cd5e78c..ddf239f 100644
--- a/gazebo/gui/AlignWidget.cc
+++ b/gazebo/gui/AlignWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/AlignWidget.hh b/gazebo/gui/AlignWidget.hh
index 996e0f7..166f6fa 100644
--- a/gazebo/gui/AlignWidget.hh
+++ b/gazebo/gui/AlignWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/AlignWidgetPrivate.hh b/gazebo/gui/AlignWidgetPrivate.hh
index 513f078..63b3572 100644
--- a/gazebo/gui/AlignWidgetPrivate.hh
+++ b/gazebo/gui/AlignWidgetPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ApplyWrenchDialog.cc b/gazebo/gui/ApplyWrenchDialog.cc
index 10d2286..3539cea 100644
--- a/gazebo/gui/ApplyWrenchDialog.cc
+++ b/gazebo/gui/ApplyWrenchDialog.cc
@@ -1,5 +1,5 @@
/*
- * Copyright 2015-2016 Open Source Robotics Foundation
+ * Copyright 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ApplyWrenchDialog.hh b/gazebo/gui/ApplyWrenchDialog.hh
index a9c8de5..5164e89 100644
--- a/gazebo/gui/ApplyWrenchDialog.hh
+++ b/gazebo/gui/ApplyWrenchDialog.hh
@@ -1,5 +1,5 @@
/*
- * Copyright 2015-2016 Open Source Robotics Foundation
+ * Copyright 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ApplyWrenchDialogPrivate.hh b/gazebo/gui/ApplyWrenchDialogPrivate.hh
index 1e5e10d..5bae7fc 100644
--- a/gazebo/gui/ApplyWrenchDialogPrivate.hh
+++ b/gazebo/gui/ApplyWrenchDialogPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ApplyWrenchDialog_TEST.cc b/gazebo/gui/ApplyWrenchDialog_TEST.cc
index e98ca89..908629d 100644
--- a/gazebo/gui/ApplyWrenchDialog_TEST.cc
+++ b/gazebo/gui/ApplyWrenchDialog_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ApplyWrenchDialog_TEST.hh b/gazebo/gui/ApplyWrenchDialog_TEST.hh
index a67a4c3..95de31b 100644
--- a/gazebo/gui/ApplyWrenchDialog_TEST.hh
+++ b/gazebo/gui/ApplyWrenchDialog_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/BuildingEditor_TEST.cc b/gazebo/gui/BuildingEditor_TEST.cc
index a3fd8a7..078e5e2 100644
--- a/gazebo/gui/BuildingEditor_TEST.cc
+++ b/gazebo/gui/BuildingEditor_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/BuildingEditor_TEST.hh b/gazebo/gui/BuildingEditor_TEST.hh
index 6314dfb..b84e7b9 100644
--- a/gazebo/gui/BuildingEditor_TEST.hh
+++ b/gazebo/gui/BuildingEditor_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/CloneWindow.cc b/gazebo/gui/CloneWindow.cc
index 9cc6b19..15ce883 100644
--- a/gazebo/gui/CloneWindow.cc
+++ b/gazebo/gui/CloneWindow.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/CloneWindow.hh b/gazebo/gui/CloneWindow.hh
index 2a7874e..b09d217 100644
--- a/gazebo/gui/CloneWindow.hh
+++ b/gazebo/gui/CloneWindow.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/CloneWindowPrivate.hh b/gazebo/gui/CloneWindowPrivate.hh
index b5f2ee9..43b9a78 100644
--- a/gazebo/gui/CloneWindowPrivate.hh
+++ b/gazebo/gui/CloneWindowPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ConfigWidget.cc b/gazebo/gui/ConfigWidget.cc
index 0942814..69f03de 100644
--- a/gazebo/gui/ConfigWidget.cc
+++ b/gazebo/gui/ConfigWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ConfigWidget.hh b/gazebo/gui/ConfigWidget.hh
index 0405a0b..8c15c75 100644
--- a/gazebo/gui/ConfigWidget.hh
+++ b/gazebo/gui/ConfigWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ConfigWidgetPrivate.hh b/gazebo/gui/ConfigWidgetPrivate.hh
index 25d3be2..7c282bd 100644
--- a/gazebo/gui/ConfigWidgetPrivate.hh
+++ b/gazebo/gui/ConfigWidgetPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ConfigWidget_TEST.cc b/gazebo/gui/ConfigWidget_TEST.cc
index 996713a..3abf721 100644
--- a/gazebo/gui/ConfigWidget_TEST.cc
+++ b/gazebo/gui/ConfigWidget_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ConfigWidget_TEST.hh b/gazebo/gui/ConfigWidget_TEST.hh
index be82b4f..ad39656 100644
--- a/gazebo/gui/ConfigWidget_TEST.hh
+++ b/gazebo/gui/ConfigWidget_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/Conversions.cc b/gazebo/gui/Conversions.cc
index a370a3d..6e6b8ca 100644
--- a/gazebo/gui/Conversions.cc
+++ b/gazebo/gui/Conversions.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/Conversions.hh b/gazebo/gui/Conversions.hh
index 3c55f59..0ca90a1 100644
--- a/gazebo/gui/Conversions.hh
+++ b/gazebo/gui/Conversions.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/Conversions_TEST.cc b/gazebo/gui/Conversions_TEST.cc
index f289020..6982f30 100644
--- a/gazebo/gui/Conversions_TEST.cc
+++ b/gazebo/gui/Conversions_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/DataLogger.cc b/gazebo/gui/DataLogger.cc
index 62b7b4e..bd15c53 100644
--- a/gazebo/gui/DataLogger.cc
+++ b/gazebo/gui/DataLogger.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/DataLogger.hh b/gazebo/gui/DataLogger.hh
index 5d489b2..d30bfed 100644
--- a/gazebo/gui/DataLogger.hh
+++ b/gazebo/gui/DataLogger.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/DataLoggerPrivate.hh b/gazebo/gui/DataLoggerPrivate.hh
index 0da08b3..f97e4ef 100644
--- a/gazebo/gui/DataLoggerPrivate.hh
+++ b/gazebo/gui/DataLoggerPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/DataLogger_TEST.cc b/gazebo/gui/DataLogger_TEST.cc
index f439aab..5d2524e 100644
--- a/gazebo/gui/DataLogger_TEST.cc
+++ b/gazebo/gui/DataLogger_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,6 +15,7 @@
*
*/
+#include <memory>
#include <boost/filesystem.hpp>
#include "gazebo/common/SystemPaths.hh"
#include "gazebo/gui/DataLogger.hh"
@@ -29,7 +30,8 @@ void DataLogger_TEST::RecordButton()
this->Load("worlds/empty.world");
// Create a new data logger widget
- gazebo::gui::DataLogger *dataLogger = new gazebo::gui::DataLogger;
+ std::unique_ptr<gazebo::gui::DataLogger> dataLogger(
+ new gazebo::gui::DataLogger);
dataLogger->show();
QCoreApplication::processEvents();
@@ -171,7 +173,8 @@ void DataLogger_TEST::StressTest()
pub->Publish(msg);
// Create a new data logger widget
- gazebo::gui::DataLogger *dataLogger = new gazebo::gui::DataLogger;
+ std::unique_ptr<gazebo::gui::DataLogger> dataLogger(
+ new gazebo::gui::DataLogger);
// Get the record button
QToolButton *recordButton = dataLogger->findChild<QToolButton*>(
diff --git a/gazebo/gui/DataLogger_TEST.hh b/gazebo/gui/DataLogger_TEST.hh
index 83ac6b1..08e486f 100644
--- a/gazebo/gui/DataLogger_TEST.hh
+++ b/gazebo/gui/DataLogger_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/Diagnostics.cc b/gazebo/gui/Diagnostics.cc
index 26ce926..62e629e 100644
--- a/gazebo/gui/Diagnostics.cc
+++ b/gazebo/gui/Diagnostics.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/Diagnostics.hh b/gazebo/gui/Diagnostics.hh
index 18c6439..ff918b6 100644
--- a/gazebo/gui/Diagnostics.hh
+++ b/gazebo/gui/Diagnostics.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/DiagnosticsPrivate.hh b/gazebo/gui/DiagnosticsPrivate.hh
index 0a13faf..498235a 100644
--- a/gazebo/gui/DiagnosticsPrivate.hh
+++ b/gazebo/gui/DiagnosticsPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/Editor.cc b/gazebo/gui/Editor.cc
index 4ca5f97..022a4ff 100644
--- a/gazebo/gui/Editor.cc
+++ b/gazebo/gui/Editor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/Editor.hh b/gazebo/gui/Editor.hh
index 41222a2..ebcb3af 100644
--- a/gazebo/gui/Editor.hh
+++ b/gazebo/gui/Editor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/EntityMaker.cc b/gazebo/gui/EntityMaker.cc
index 479abc1..14818c9 100644
--- a/gazebo/gui/EntityMaker.cc
+++ b/gazebo/gui/EntityMaker.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/EntityMaker.hh b/gazebo/gui/EntityMaker.hh
index 6e95205..0a5f797 100644
--- a/gazebo/gui/EntityMaker.hh
+++ b/gazebo/gui/EntityMaker.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/EntityMakerPrivate.hh b/gazebo/gui/EntityMakerPrivate.hh
index f67bda7..ba90af6 100644
--- a/gazebo/gui/EntityMakerPrivate.hh
+++ b/gazebo/gui/EntityMakerPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/GLWidget.cc b/gazebo/gui/GLWidget.cc
index 70ff3bb..1f71014 100644
--- a/gazebo/gui/GLWidget.cc
+++ b/gazebo/gui/GLWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -878,6 +878,9 @@ void GLWidget::ViewScene(rendering::ScenePtr _scene)
this->dataPtr->userCamera->SetDefaultPose(math::Pose(camPos,
math::Vector3(0, pitch, yaw)));
+ // client side heightmap configuration
+ _scene->SetHeightmapLOD(gazebo::gui::getINIProperty<int>("heightmap.lod", 0));
+
// Update at the camera's update rate
this->dataPtr->updateTimer->start(
static_cast<int>(
diff --git a/gazebo/gui/GLWidget.hh b/gazebo/gui/GLWidget.hh
index 37b1582..fac46f5 100644
--- a/gazebo/gui/GLWidget.hh
+++ b/gazebo/gui/GLWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/GLWidgetPrivate.hh b/gazebo/gui/GLWidgetPrivate.hh
index e44712a..92167af 100644
--- a/gazebo/gui/GLWidgetPrivate.hh
+++ b/gazebo/gui/GLWidgetPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/GLWidget_TEST.cc b/gazebo/gui/GLWidget_TEST.cc
index 14e5d89..1b9a938 100644
--- a/gazebo/gui/GLWidget_TEST.cc
+++ b/gazebo/gui/GLWidget_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/GLWidget_TEST.hh b/gazebo/gui/GLWidget_TEST.hh
index a7bfdda..d6f4439 100644
--- a/gazebo/gui/GLWidget_TEST.hh
+++ b/gazebo/gui/GLWidget_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/GLWidget_TEST2.cc b/gazebo/gui/GLWidget_TEST2.cc
index e46bac0..3a20056 100644
--- a/gazebo/gui/GLWidget_TEST2.cc
+++ b/gazebo/gui/GLWidget_TEST2.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/GLWidget_TEST2.hh b/gazebo/gui/GLWidget_TEST2.hh
index c2f6454..8975759 100644
--- a/gazebo/gui/GLWidget_TEST2.hh
+++ b/gazebo/gui/GLWidget_TEST2.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/GuiEvents.cc b/gazebo/gui/GuiEvents.cc
index e81709f..fc491ab 100644
--- a/gazebo/gui/GuiEvents.cc
+++ b/gazebo/gui/GuiEvents.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/GuiEvents.hh b/gazebo/gui/GuiEvents.hh
index 360542d..4db8ddf 100644
--- a/gazebo/gui/GuiEvents.hh
+++ b/gazebo/gui/GuiEvents.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/GuiIface.cc b/gazebo/gui/GuiIface.cc
index 6e4be00..cf32b38 100644
--- a/gazebo/gui/GuiIface.cc
+++ b/gazebo/gui/GuiIface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/GuiIface.hh b/gazebo/gui/GuiIface.hh
index 8069e14..f3447ba 100644
--- a/gazebo/gui/GuiIface.hh
+++ b/gazebo/gui/GuiIface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/GuiIface_TEST.cc b/gazebo/gui/GuiIface_TEST.cc
index 4e16b2c..41d696a 100644
--- a/gazebo/gui/GuiIface_TEST.cc
+++ b/gazebo/gui/GuiIface_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/GuiIface_TEST.hh b/gazebo/gui/GuiIface_TEST.hh
index 63dc6bb..5789479 100644
--- a/gazebo/gui/GuiIface_TEST.hh
+++ b/gazebo/gui/GuiIface_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/GuiPlugin.hh b/gazebo/gui/GuiPlugin.hh
index 6f03690..6d3b9df 100644
--- a/gazebo/gui/GuiPlugin.hh
+++ b/gazebo/gui/GuiPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/GuiTypes.hh b/gazebo/gui/GuiTypes.hh
index f63e05b..c522256 100644
--- a/gazebo/gui/GuiTypes.hh
+++ b/gazebo/gui/GuiTypes.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/HotkeyDialog.cc b/gazebo/gui/HotkeyDialog.cc
index 671cd6c..fab7c8b 100644
--- a/gazebo/gui/HotkeyDialog.cc
+++ b/gazebo/gui/HotkeyDialog.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/HotkeyDialog.hh b/gazebo/gui/HotkeyDialog.hh
index 7efb10f..ea66754 100644
--- a/gazebo/gui/HotkeyDialog.hh
+++ b/gazebo/gui/HotkeyDialog.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/IncrementalPlot.cc b/gazebo/gui/IncrementalPlot.cc
index c3067da..0eaa1d9 100644
--- a/gazebo/gui/IncrementalPlot.cc
+++ b/gazebo/gui/IncrementalPlot.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/IncrementalPlot.hh b/gazebo/gui/IncrementalPlot.hh
index 912ea0e..32e445f 100644
--- a/gazebo/gui/IncrementalPlot.hh
+++ b/gazebo/gui/IncrementalPlot.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/InsertModelWidget.cc b/gazebo/gui/InsertModelWidget.cc
index 13fb121..5f2b3ea 100644
--- a/gazebo/gui/InsertModelWidget.cc
+++ b/gazebo/gui/InsertModelWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/InsertModelWidget.hh b/gazebo/gui/InsertModelWidget.hh
index e432add..59c9238 100644
--- a/gazebo/gui/InsertModelWidget.hh
+++ b/gazebo/gui/InsertModelWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/InsertModelWidgetPrivate.hh b/gazebo/gui/InsertModelWidgetPrivate.hh
index 8720555..9f0febc 100644
--- a/gazebo/gui/InsertModelWidgetPrivate.hh
+++ b/gazebo/gui/InsertModelWidgetPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/JointControlWidget.cc b/gazebo/gui/JointControlWidget.cc
index 50ddb78..f4aa1a9 100644
--- a/gazebo/gui/JointControlWidget.cc
+++ b/gazebo/gui/JointControlWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/JointControlWidget.hh b/gazebo/gui/JointControlWidget.hh
index f9f71fa..4f9795d 100644
--- a/gazebo/gui/JointControlWidget.hh
+++ b/gazebo/gui/JointControlWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/JointControlWidgetPrivate.hh b/gazebo/gui/JointControlWidgetPrivate.hh
index 8c390d3..e9d9946 100644
--- a/gazebo/gui/JointControlWidgetPrivate.hh
+++ b/gazebo/gui/JointControlWidgetPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/KeyEventHandler.cc b/gazebo/gui/KeyEventHandler.cc
index 64bc8fa..c6867cf 100644
--- a/gazebo/gui/KeyEventHandler.cc
+++ b/gazebo/gui/KeyEventHandler.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/KeyEventHandler.hh b/gazebo/gui/KeyEventHandler.hh
index 86f6d1d..496cd66 100644
--- a/gazebo/gui/KeyEventHandler.hh
+++ b/gazebo/gui/KeyEventHandler.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/KeyEventHandlerPrivate.hh b/gazebo/gui/KeyEventHandlerPrivate.hh
index 713b572..8f4a3b0 100644
--- a/gazebo/gui/KeyEventHandlerPrivate.hh
+++ b/gazebo/gui/KeyEventHandlerPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/LaserVisualization_TEST.cc b/gazebo/gui/LaserVisualization_TEST.cc
index fcdaf04..91edd75 100644
--- a/gazebo/gui/LaserVisualization_TEST.cc
+++ b/gazebo/gui/LaserVisualization_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/LaserVisualization_TEST.hh b/gazebo/gui/LaserVisualization_TEST.hh
index e957068..6a7c6f1 100644
--- a/gazebo/gui/LaserVisualization_TEST.hh
+++ b/gazebo/gui/LaserVisualization_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/LayersWidget.cc b/gazebo/gui/LayersWidget.cc
index bb93149..21402ab 100644
--- a/gazebo/gui/LayersWidget.cc
+++ b/gazebo/gui/LayersWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/LayersWidget.hh b/gazebo/gui/LayersWidget.hh
index 5f2b242..960f362 100644
--- a/gazebo/gui/LayersWidget.hh
+++ b/gazebo/gui/LayersWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/LayersWidgetPrivate.hh b/gazebo/gui/LayersWidgetPrivate.hh
index b604f42..a00bbe4 100644
--- a/gazebo/gui/LayersWidgetPrivate.hh
+++ b/gazebo/gui/LayersWidgetPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/LayersWidget_TEST.cc b/gazebo/gui/LayersWidget_TEST.cc
index 958e92a..2b6e53c 100644
--- a/gazebo/gui/LayersWidget_TEST.cc
+++ b/gazebo/gui/LayersWidget_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/LayersWidget_TEST.hh b/gazebo/gui/LayersWidget_TEST.hh
index d3beba9..115378b 100644
--- a/gazebo/gui/LayersWidget_TEST.hh
+++ b/gazebo/gui/LayersWidget_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/LightMaker.cc b/gazebo/gui/LightMaker.cc
index 333db2c..f20fbea 100644
--- a/gazebo/gui/LightMaker.cc
+++ b/gazebo/gui/LightMaker.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/LightMaker.hh b/gazebo/gui/LightMaker.hh
index 90d3ddd..248247d 100644
--- a/gazebo/gui/LightMaker.hh
+++ b/gazebo/gui/LightMaker.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/LightMakerPrivate.hh b/gazebo/gui/LightMakerPrivate.hh
index 6b43b21..e19e583 100644
--- a/gazebo/gui/LightMakerPrivate.hh
+++ b/gazebo/gui/LightMakerPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/LightMaker_TEST.cc b/gazebo/gui/LightMaker_TEST.cc
index f610105..91d4b08 100644
--- a/gazebo/gui/LightMaker_TEST.cc
+++ b/gazebo/gui/LightMaker_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/LightMaker_TEST.hh b/gazebo/gui/LightMaker_TEST.hh
index ab79c43..26accfb 100644
--- a/gazebo/gui/LightMaker_TEST.hh
+++ b/gazebo/gui/LightMaker_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/LogPlayWidget.cc b/gazebo/gui/LogPlayWidget.cc
index 6f99edf..09aaa86 100644
--- a/gazebo/gui/LogPlayWidget.cc
+++ b/gazebo/gui/LogPlayWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/LogPlayWidget.hh b/gazebo/gui/LogPlayWidget.hh
index a6690da..d3faca2 100644
--- a/gazebo/gui/LogPlayWidget.hh
+++ b/gazebo/gui/LogPlayWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/LogPlayWidgetPrivate.hh b/gazebo/gui/LogPlayWidgetPrivate.hh
index 7c61304..610fd2d 100644
--- a/gazebo/gui/LogPlayWidgetPrivate.hh
+++ b/gazebo/gui/LogPlayWidgetPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/MainWindow.cc b/gazebo/gui/MainWindow.cc
index bfc447b..e3cd5b2 100644
--- a/gazebo/gui/MainWindow.cc
+++ b/gazebo/gui/MainWindow.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/MainWindow.hh b/gazebo/gui/MainWindow.hh
index faa9308..c78f3ef 100644
--- a/gazebo/gui/MainWindow.hh
+++ b/gazebo/gui/MainWindow.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/MainWindowPrivate.hh b/gazebo/gui/MainWindowPrivate.hh
index 0d8e197..d5a7eef 100644
--- a/gazebo/gui/MainWindowPrivate.hh
+++ b/gazebo/gui/MainWindowPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/MainWindow_TEST.cc b/gazebo/gui/MainWindow_TEST.cc
index d6f3bf1..246df79 100644
--- a/gazebo/gui/MainWindow_TEST.cc
+++ b/gazebo/gui/MainWindow_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/MainWindow_TEST.hh b/gazebo/gui/MainWindow_TEST.hh
index 553a243..d3a46d9 100644
--- a/gazebo/gui/MainWindow_TEST.hh
+++ b/gazebo/gui/MainWindow_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelAlign.cc b/gazebo/gui/ModelAlign.cc
index dace319..4814287 100644
--- a/gazebo/gui/ModelAlign.cc
+++ b/gazebo/gui/ModelAlign.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelAlign.hh b/gazebo/gui/ModelAlign.hh
index db7efac..e10a4dd 100644
--- a/gazebo/gui/ModelAlign.hh
+++ b/gazebo/gui/ModelAlign.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelAlignPrivate.hh b/gazebo/gui/ModelAlignPrivate.hh
index c65b174..385d771 100644
--- a/gazebo/gui/ModelAlignPrivate.hh
+++ b/gazebo/gui/ModelAlignPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelAlign_TEST.cc b/gazebo/gui/ModelAlign_TEST.cc
index 539f416..d05b629 100644
--- a/gazebo/gui/ModelAlign_TEST.cc
+++ b/gazebo/gui/ModelAlign_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelAlign_TEST.hh b/gazebo/gui/ModelAlign_TEST.hh
index e7c95ca..2efd11c 100644
--- a/gazebo/gui/ModelAlign_TEST.hh
+++ b/gazebo/gui/ModelAlign_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelListWidget.cc b/gazebo/gui/ModelListWidget.cc
index c688598..cb33a4d 100644
--- a/gazebo/gui/ModelListWidget.cc
+++ b/gazebo/gui/ModelListWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelListWidget.hh b/gazebo/gui/ModelListWidget.hh
index 0748994..a469253 100644
--- a/gazebo/gui/ModelListWidget.hh
+++ b/gazebo/gui/ModelListWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelListWidgetPrivate.hh b/gazebo/gui/ModelListWidgetPrivate.hh
index eaecf69..79f5a3d 100644
--- a/gazebo/gui/ModelListWidgetPrivate.hh
+++ b/gazebo/gui/ModelListWidgetPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelListWidget_TEST.cc b/gazebo/gui/ModelListWidget_TEST.cc
index 49ebd57..672b748 100644
--- a/gazebo/gui/ModelListWidget_TEST.cc
+++ b/gazebo/gui/ModelListWidget_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelListWidget_TEST.hh b/gazebo/gui/ModelListWidget_TEST.hh
index b55e56a..880b2e2 100644
--- a/gazebo/gui/ModelListWidget_TEST.hh
+++ b/gazebo/gui/ModelListWidget_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelMaker.cc b/gazebo/gui/ModelMaker.cc
index ec21bd3..21fb71f 100644
--- a/gazebo/gui/ModelMaker.cc
+++ b/gazebo/gui/ModelMaker.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelMaker.hh b/gazebo/gui/ModelMaker.hh
index f7677df..774d984 100644
--- a/gazebo/gui/ModelMaker.hh
+++ b/gazebo/gui/ModelMaker.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelMakerPrivate.hh b/gazebo/gui/ModelMakerPrivate.hh
index 63d6ebd..a8b7335 100644
--- a/gazebo/gui/ModelMakerPrivate.hh
+++ b/gazebo/gui/ModelMakerPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelMaker_TEST.cc b/gazebo/gui/ModelMaker_TEST.cc
index 7bac022..41b8e35 100644
--- a/gazebo/gui/ModelMaker_TEST.cc
+++ b/gazebo/gui/ModelMaker_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelMaker_TEST.hh b/gazebo/gui/ModelMaker_TEST.hh
index 3f23737..04b8c0b 100644
--- a/gazebo/gui/ModelMaker_TEST.hh
+++ b/gazebo/gui/ModelMaker_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelManipulator.cc b/gazebo/gui/ModelManipulator.cc
index 622f333..69b564b 100644
--- a/gazebo/gui/ModelManipulator.cc
+++ b/gazebo/gui/ModelManipulator.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelManipulator.hh b/gazebo/gui/ModelManipulator.hh
index a0e24fc..6ec20c6 100644
--- a/gazebo/gui/ModelManipulator.hh
+++ b/gazebo/gui/ModelManipulator.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelManipulatorPrivate.hh b/gazebo/gui/ModelManipulatorPrivate.hh
index 4f0dede..0dca322 100644
--- a/gazebo/gui/ModelManipulatorPrivate.hh
+++ b/gazebo/gui/ModelManipulatorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelRightMenu.cc b/gazebo/gui/ModelRightMenu.cc
index c1866d3..8f4d1c3 100644
--- a/gazebo/gui/ModelRightMenu.cc
+++ b/gazebo/gui/ModelRightMenu.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelRightMenu.hh b/gazebo/gui/ModelRightMenu.hh
index fbb630d..8dd2690 100644
--- a/gazebo/gui/ModelRightMenu.hh
+++ b/gazebo/gui/ModelRightMenu.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelSnap.cc b/gazebo/gui/ModelSnap.cc
index b685eaf..a73126b 100644
--- a/gazebo/gui/ModelSnap.cc
+++ b/gazebo/gui/ModelSnap.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelSnap.hh b/gazebo/gui/ModelSnap.hh
index ea37f49..7391616 100644
--- a/gazebo/gui/ModelSnap.hh
+++ b/gazebo/gui/ModelSnap.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelSnapPrivate.hh b/gazebo/gui/ModelSnapPrivate.hh
index 0112ee5..7e5c32b 100644
--- a/gazebo/gui/ModelSnapPrivate.hh
+++ b/gazebo/gui/ModelSnapPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelSnap_TEST.cc b/gazebo/gui/ModelSnap_TEST.cc
index 977bc2c..465ad10 100644
--- a/gazebo/gui/ModelSnap_TEST.cc
+++ b/gazebo/gui/ModelSnap_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ModelSnap_TEST.hh b/gazebo/gui/ModelSnap_TEST.hh
index fcb9f7b..6229881 100644
--- a/gazebo/gui/ModelSnap_TEST.hh
+++ b/gazebo/gui/ModelSnap_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/MouseEventHandler.cc b/gazebo/gui/MouseEventHandler.cc
index af6e7e9..e6cfc46 100644
--- a/gazebo/gui/MouseEventHandler.cc
+++ b/gazebo/gui/MouseEventHandler.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/MouseEventHandler.hh b/gazebo/gui/MouseEventHandler.hh
index a0fe70b..6b3f0ca 100644
--- a/gazebo/gui/MouseEventHandler.hh
+++ b/gazebo/gui/MouseEventHandler.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/OculusWindow.cc b/gazebo/gui/OculusWindow.cc
index 97b5a45..c5da447 100644
--- a/gazebo/gui/OculusWindow.cc
+++ b/gazebo/gui/OculusWindow.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/OculusWindow.hh b/gazebo/gui/OculusWindow.hh
index a545254..2fe35b2 100644
--- a/gazebo/gui/OculusWindow.hh
+++ b/gazebo/gui/OculusWindow.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/Projection_TEST.cc b/gazebo/gui/Projection_TEST.cc
index 0d974f8..be13f49 100644
--- a/gazebo/gui/Projection_TEST.cc
+++ b/gazebo/gui/Projection_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/Projection_TEST.hh b/gazebo/gui/Projection_TEST.hh
index ed6a71f..df1c53d 100644
--- a/gazebo/gui/Projection_TEST.hh
+++ b/gazebo/gui/Projection_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/QTestFixture.cc b/gazebo/gui/QTestFixture.cc
index 9400ab6..ad9aea7 100644
--- a/gazebo/gui/QTestFixture.cc
+++ b/gazebo/gui/QTestFixture.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/QTestFixture.hh b/gazebo/gui/QTestFixture.hh
index 8a4738b..38ce7b4 100644
--- a/gazebo/gui/QTestFixture.hh
+++ b/gazebo/gui/QTestFixture.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/RenderWidget.cc b/gazebo/gui/RenderWidget.cc
index 4bcc5b1..3d81ef0 100644
--- a/gazebo/gui/RenderWidget.cc
+++ b/gazebo/gui/RenderWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/RenderWidget.hh b/gazebo/gui/RenderWidget.hh
index be19591..6dcfd4d 100644
--- a/gazebo/gui/RenderWidget.hh
+++ b/gazebo/gui/RenderWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/RenderWidget_TEST.cc b/gazebo/gui/RenderWidget_TEST.cc
index 4542aa6..dc30d04 100644
--- a/gazebo/gui/RenderWidget_TEST.cc
+++ b/gazebo/gui/RenderWidget_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/RenderWidget_TEST.hh b/gazebo/gui/RenderWidget_TEST.hh
index 8a1b1c1..85093ae 100644
--- a/gazebo/gui/RenderWidget_TEST.hh
+++ b/gazebo/gui/RenderWidget_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/SaveDialog.cc b/gazebo/gui/SaveDialog.cc
index aacecd6..1ddc6e6 100644
--- a/gazebo/gui/SaveDialog.cc
+++ b/gazebo/gui/SaveDialog.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/SaveDialog.hh b/gazebo/gui/SaveDialog.hh
index 9a18939..eb84f14 100644
--- a/gazebo/gui/SaveDialog.hh
+++ b/gazebo/gui/SaveDialog.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/SaveDialogPrivate.hh b/gazebo/gui/SaveDialogPrivate.hh
index f85b84c..4bb31d6 100644
--- a/gazebo/gui/SaveDialogPrivate.hh
+++ b/gazebo/gui/SaveDialogPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/SaveDialog_TEST.cc b/gazebo/gui/SaveDialog_TEST.cc
index d9f1cb8..36dd73c 100644
--- a/gazebo/gui/SaveDialog_TEST.cc
+++ b/gazebo/gui/SaveDialog_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/SaveDialog_TEST.hh b/gazebo/gui/SaveDialog_TEST.hh
index 38abe12..2e50c9c 100644
--- a/gazebo/gui/SaveDialog_TEST.hh
+++ b/gazebo/gui/SaveDialog_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/SpaceNav.cc b/gazebo/gui/SpaceNav.cc
index 745288d..9b2932b 100644
--- a/gazebo/gui/SpaceNav.cc
+++ b/gazebo/gui/SpaceNav.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/SpaceNav.hh b/gazebo/gui/SpaceNav.hh
index 835d7e1..8461d2f 100644
--- a/gazebo/gui/SpaceNav.hh
+++ b/gazebo/gui/SpaceNav.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/SpaceNavPrivate.hh b/gazebo/gui/SpaceNavPrivate.hh
index 3ad2dfd..10ba3a0 100644
--- a/gazebo/gui/SpaceNavPrivate.hh
+++ b/gazebo/gui/SpaceNavPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/SplashScreen.cc b/gazebo/gui/SplashScreen.cc
index 99d4733..9cfb8e3 100644
--- a/gazebo/gui/SplashScreen.cc
+++ b/gazebo/gui/SplashScreen.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/SplashScreen.hh b/gazebo/gui/SplashScreen.hh
index be855e2..71e19fd 100644
--- a/gazebo/gui/SplashScreen.hh
+++ b/gazebo/gui/SplashScreen.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/SplashScreenPrivate.hh b/gazebo/gui/SplashScreenPrivate.hh
index 9467a6e..4927214 100644
--- a/gazebo/gui/SplashScreenPrivate.hh
+++ b/gazebo/gui/SplashScreenPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/SplashScreen_TEST.cc b/gazebo/gui/SplashScreen_TEST.cc
index c9919cb..e350f81 100644
--- a/gazebo/gui/SplashScreen_TEST.cc
+++ b/gazebo/gui/SplashScreen_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/SplashScreen_TEST.hh b/gazebo/gui/SplashScreen_TEST.hh
index 098ee1b..afced21 100644
--- a/gazebo/gui/SplashScreen_TEST.hh
+++ b/gazebo/gui/SplashScreen_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/TimePanel.cc b/gazebo/gui/TimePanel.cc
index 0e52b61..191c987 100644
--- a/gazebo/gui/TimePanel.cc
+++ b/gazebo/gui/TimePanel.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/TimePanel.hh b/gazebo/gui/TimePanel.hh
index 9296a02..6b8b8a8 100644
--- a/gazebo/gui/TimePanel.hh
+++ b/gazebo/gui/TimePanel.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/TimePanelPrivate.hh b/gazebo/gui/TimePanelPrivate.hh
index 320dc3b..1601c20 100644
--- a/gazebo/gui/TimePanelPrivate.hh
+++ b/gazebo/gui/TimePanelPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/TimePanel_TEST.cc b/gazebo/gui/TimePanel_TEST.cc
index 83fe30b..d75b101 100644
--- a/gazebo/gui/TimePanel_TEST.cc
+++ b/gazebo/gui/TimePanel_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/TimePanel_TEST.hh b/gazebo/gui/TimePanel_TEST.hh
index a3eeb5c..d60454a 100644
--- a/gazebo/gui/TimePanel_TEST.hh
+++ b/gazebo/gui/TimePanel_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/TimeWidget.cc b/gazebo/gui/TimeWidget.cc
index af4253c..e0e523b 100644
--- a/gazebo/gui/TimeWidget.cc
+++ b/gazebo/gui/TimeWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/TimeWidget.hh b/gazebo/gui/TimeWidget.hh
index b3086eb..cae9add 100644
--- a/gazebo/gui/TimeWidget.hh
+++ b/gazebo/gui/TimeWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/TimeWidgetPrivate.hh b/gazebo/gui/TimeWidgetPrivate.hh
index f7d1bde..f856256 100644
--- a/gazebo/gui/TimeWidgetPrivate.hh
+++ b/gazebo/gui/TimeWidgetPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/TimeWidget_TEST.cc b/gazebo/gui/TimeWidget_TEST.cc
index 17aa69b..14968c6 100644
--- a/gazebo/gui/TimeWidget_TEST.cc
+++ b/gazebo/gui/TimeWidget_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/TimeWidget_TEST.hh b/gazebo/gui/TimeWidget_TEST.hh
index a59e1c1..993fd91 100644
--- a/gazebo/gui/TimeWidget_TEST.hh
+++ b/gazebo/gui/TimeWidget_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ToolsWidget.cc b/gazebo/gui/ToolsWidget.cc
index 3f90f95..881c61e 100644
--- a/gazebo/gui/ToolsWidget.cc
+++ b/gazebo/gui/ToolsWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ToolsWidget.hh b/gazebo/gui/ToolsWidget.hh
index 2af19ed..c56e762 100644
--- a/gazebo/gui/ToolsWidget.hh
+++ b/gazebo/gui/ToolsWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/TopToolbar.cc b/gazebo/gui/TopToolbar.cc
index dbe7e0a..b7b7bb7 100644
--- a/gazebo/gui/TopToolbar.cc
+++ b/gazebo/gui/TopToolbar.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/TopToolbar.hh b/gazebo/gui/TopToolbar.hh
index f02ef19..224eb81 100644
--- a/gazebo/gui/TopToolbar.hh
+++ b/gazebo/gui/TopToolbar.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/TopToolbarPrivate.hh b/gazebo/gui/TopToolbarPrivate.hh
index 439216e..bd03f36 100644
--- a/gazebo/gui/TopToolbarPrivate.hh
+++ b/gazebo/gui/TopToolbarPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/TopToolbar_TEST.cc b/gazebo/gui/TopToolbar_TEST.cc
index 16f7890..96524ae 100644
--- a/gazebo/gui/TopToolbar_TEST.cc
+++ b/gazebo/gui/TopToolbar_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/TopToolbar_TEST.hh b/gazebo/gui/TopToolbar_TEST.hh
index a6048bf..0d91519 100644
--- a/gazebo/gui/TopToolbar_TEST.hh
+++ b/gazebo/gui/TopToolbar_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/TopicSelector.cc b/gazebo/gui/TopicSelector.cc
index 0d2435f..2f635a3 100644
--- a/gazebo/gui/TopicSelector.cc
+++ b/gazebo/gui/TopicSelector.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/TopicSelector.hh b/gazebo/gui/TopicSelector.hh
index 69e8a61..1bce980 100644
--- a/gazebo/gui/TopicSelector.hh
+++ b/gazebo/gui/TopicSelector.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/UserCmdHistory.cc b/gazebo/gui/UserCmdHistory.cc
index 9df52a1..a61e75e 100644
--- a/gazebo/gui/UserCmdHistory.cc
+++ b/gazebo/gui/UserCmdHistory.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/UserCmdHistory.hh b/gazebo/gui/UserCmdHistory.hh
index 63c0ac1..9122410 100644
--- a/gazebo/gui/UserCmdHistory.hh
+++ b/gazebo/gui/UserCmdHistory.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/UserCmdHistoryPrivate.hh b/gazebo/gui/UserCmdHistoryPrivate.hh
index f739af9..043252f 100644
--- a/gazebo/gui/UserCmdHistoryPrivate.hh
+++ b/gazebo/gui/UserCmdHistoryPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ViewAngleWidget.cc b/gazebo/gui/ViewAngleWidget.cc
index cd3e462..ad3a57e 100644
--- a/gazebo/gui/ViewAngleWidget.cc
+++ b/gazebo/gui/ViewAngleWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ViewAngleWidget.hh b/gazebo/gui/ViewAngleWidget.hh
index 5e748de..29af447 100644
--- a/gazebo/gui/ViewAngleWidget.hh
+++ b/gazebo/gui/ViewAngleWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ViewAngleWidgetPrivate.hh b/gazebo/gui/ViewAngleWidgetPrivate.hh
index 773578b..3c6b7a3 100644
--- a/gazebo/gui/ViewAngleWidgetPrivate.hh
+++ b/gazebo/gui/ViewAngleWidgetPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ViewAngleWidget_TEST.cc b/gazebo/gui/ViewAngleWidget_TEST.cc
index c42faf8..637f62c 100644
--- a/gazebo/gui/ViewAngleWidget_TEST.cc
+++ b/gazebo/gui/ViewAngleWidget_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/ViewAngleWidget_TEST.hh b/gazebo/gui/ViewAngleWidget_TEST.hh
index 5619559..39f2917 100644
--- a/gazebo/gui/ViewAngleWidget_TEST.hh
+++ b/gazebo/gui/ViewAngleWidget_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BaseInspectorDialog.cc b/gazebo/gui/building/BaseInspectorDialog.cc
index 9db7f61..a5ae596 100644
--- a/gazebo/gui/building/BaseInspectorDialog.cc
+++ b/gazebo/gui/building/BaseInspectorDialog.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BaseInspectorDialog.hh b/gazebo/gui/building/BaseInspectorDialog.hh
index db9ed87..bf5b193 100644
--- a/gazebo/gui/building/BaseInspectorDialog.hh
+++ b/gazebo/gui/building/BaseInspectorDialog.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BaseInspectorDialogPrivate.hh b/gazebo/gui/building/BaseInspectorDialogPrivate.hh
index 2691aca..6042b9e 100644
--- a/gazebo/gui/building/BaseInspectorDialogPrivate.hh
+++ b/gazebo/gui/building/BaseInspectorDialogPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingEditor.cc b/gazebo/gui/building/BuildingEditor.cc
index 60e25c3..6131e79 100644
--- a/gazebo/gui/building/BuildingEditor.cc
+++ b/gazebo/gui/building/BuildingEditor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingEditor.hh b/gazebo/gui/building/BuildingEditor.hh
index feccc56..e57b9a8 100644
--- a/gazebo/gui/building/BuildingEditor.hh
+++ b/gazebo/gui/building/BuildingEditor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingEditorEvents.cc b/gazebo/gui/building/BuildingEditorEvents.cc
index 7c2eb34..4d2889e 100644
--- a/gazebo/gui/building/BuildingEditorEvents.cc
+++ b/gazebo/gui/building/BuildingEditorEvents.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingEditorEvents.hh b/gazebo/gui/building/BuildingEditorEvents.hh
index af82f56..841ce81 100644
--- a/gazebo/gui/building/BuildingEditorEvents.hh
+++ b/gazebo/gui/building/BuildingEditorEvents.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingEditorPalette.cc b/gazebo/gui/building/BuildingEditorPalette.cc
index 2493b8c..a1c7272 100644
--- a/gazebo/gui/building/BuildingEditorPalette.cc
+++ b/gazebo/gui/building/BuildingEditorPalette.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingEditorPalette.hh b/gazebo/gui/building/BuildingEditorPalette.hh
index 2e9b335..6baf22d 100644
--- a/gazebo/gui/building/BuildingEditorPalette.hh
+++ b/gazebo/gui/building/BuildingEditorPalette.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingEditorPalettePrivate.hh b/gazebo/gui/building/BuildingEditorPalettePrivate.hh
index 9a45a46..d3da321 100644
--- a/gazebo/gui/building/BuildingEditorPalettePrivate.hh
+++ b/gazebo/gui/building/BuildingEditorPalettePrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingEditorWidget.cc b/gazebo/gui/building/BuildingEditorWidget.cc
index d7cd45e..97b1086 100644
--- a/gazebo/gui/building/BuildingEditorWidget.cc
+++ b/gazebo/gui/building/BuildingEditorWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingEditorWidget.hh b/gazebo/gui/building/BuildingEditorWidget.hh
index b6a0440..3d9b7e7 100644
--- a/gazebo/gui/building/BuildingEditorWidget.hh
+++ b/gazebo/gui/building/BuildingEditorWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingEditorWidgetPrivate.hh b/gazebo/gui/building/BuildingEditorWidgetPrivate.hh
index f7d7ce2..189d0fc 100644
--- a/gazebo/gui/building/BuildingEditorWidgetPrivate.hh
+++ b/gazebo/gui/building/BuildingEditorWidgetPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingMaker.cc b/gazebo/gui/building/BuildingMaker.cc
index 2a42973..b81f062 100644
--- a/gazebo/gui/building/BuildingMaker.cc
+++ b/gazebo/gui/building/BuildingMaker.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingMaker.hh b/gazebo/gui/building/BuildingMaker.hh
index 9fd2889..5b365a4 100644
--- a/gazebo/gui/building/BuildingMaker.hh
+++ b/gazebo/gui/building/BuildingMaker.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingMakerPrivate.hh b/gazebo/gui/building/BuildingMakerPrivate.hh
index 6d51a9e..bcfae46 100644
--- a/gazebo/gui/building/BuildingMakerPrivate.hh
+++ b/gazebo/gui/building/BuildingMakerPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingMaker_TEST.cc b/gazebo/gui/building/BuildingMaker_TEST.cc
index 12715a1..99fdedb 100644
--- a/gazebo/gui/building/BuildingMaker_TEST.cc
+++ b/gazebo/gui/building/BuildingMaker_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingMaker_TEST.hh b/gazebo/gui/building/BuildingMaker_TEST.hh
index dc5ff42..9131a0a 100644
--- a/gazebo/gui/building/BuildingMaker_TEST.hh
+++ b/gazebo/gui/building/BuildingMaker_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingModelManip.cc b/gazebo/gui/building/BuildingModelManip.cc
index 357818b..0990350 100644
--- a/gazebo/gui/building/BuildingModelManip.cc
+++ b/gazebo/gui/building/BuildingModelManip.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingModelManip.hh b/gazebo/gui/building/BuildingModelManip.hh
index fdcafb2..ddfc1d6 100644
--- a/gazebo/gui/building/BuildingModelManip.hh
+++ b/gazebo/gui/building/BuildingModelManip.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/BuildingModelManipPrivate.hh b/gazebo/gui/building/BuildingModelManipPrivate.hh
index cee27a7..9f3ab40 100644
--- a/gazebo/gui/building/BuildingModelManipPrivate.hh
+++ b/gazebo/gui/building/BuildingModelManipPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/DoorItem.cc b/gazebo/gui/building/DoorItem.cc
index 10f9274..1bdd293 100644
--- a/gazebo/gui/building/DoorItem.cc
+++ b/gazebo/gui/building/DoorItem.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/DoorItem.hh b/gazebo/gui/building/DoorItem.hh
index 5b3d473..2919557 100644
--- a/gazebo/gui/building/DoorItem.hh
+++ b/gazebo/gui/building/DoorItem.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/DoorItemPrivate.hh b/gazebo/gui/building/DoorItemPrivate.hh
index 012b776..d4f8370 100644
--- a/gazebo/gui/building/DoorItemPrivate.hh
+++ b/gazebo/gui/building/DoorItemPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/EditorItem.cc b/gazebo/gui/building/EditorItem.cc
index f491d3d..fc221a4 100644
--- a/gazebo/gui/building/EditorItem.cc
+++ b/gazebo/gui/building/EditorItem.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/EditorItem.hh b/gazebo/gui/building/EditorItem.hh
index 0bfa55b..c82b15c 100644
--- a/gazebo/gui/building/EditorItem.hh
+++ b/gazebo/gui/building/EditorItem.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/EditorItemPrivate.hh b/gazebo/gui/building/EditorItemPrivate.hh
index 7a084a6..cc6cde7 100644
--- a/gazebo/gui/building/EditorItemPrivate.hh
+++ b/gazebo/gui/building/EditorItemPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/EditorView.cc b/gazebo/gui/building/EditorView.cc
index 1cefda2..10dbf90 100644
--- a/gazebo/gui/building/EditorView.cc
+++ b/gazebo/gui/building/EditorView.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/EditorView.hh b/gazebo/gui/building/EditorView.hh
index bc20ba2..d8bbe05 100644
--- a/gazebo/gui/building/EditorView.hh
+++ b/gazebo/gui/building/EditorView.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/FloorItem.cc b/gazebo/gui/building/FloorItem.cc
index 1b31ea5..3783d75 100644
--- a/gazebo/gui/building/FloorItem.cc
+++ b/gazebo/gui/building/FloorItem.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/FloorItem.hh b/gazebo/gui/building/FloorItem.hh
index 8cd5bf7..a315dee 100644
--- a/gazebo/gui/building/FloorItem.hh
+++ b/gazebo/gui/building/FloorItem.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/FloorItemPrivate.hh b/gazebo/gui/building/FloorItemPrivate.hh
index 37e0b9c..2532efa 100644
--- a/gazebo/gui/building/FloorItemPrivate.hh
+++ b/gazebo/gui/building/FloorItemPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/GrabberHandle.cc b/gazebo/gui/building/GrabberHandle.cc
index 0b86fc1..1deb47f 100644
--- a/gazebo/gui/building/GrabberHandle.cc
+++ b/gazebo/gui/building/GrabberHandle.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/GrabberHandle.hh b/gazebo/gui/building/GrabberHandle.hh
index 513f35d..c57e376 100644
--- a/gazebo/gui/building/GrabberHandle.hh
+++ b/gazebo/gui/building/GrabberHandle.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/GrabberHandlePrivate.hh b/gazebo/gui/building/GrabberHandlePrivate.hh
index a9b2deb..caca1b2 100644
--- a/gazebo/gui/building/GrabberHandlePrivate.hh
+++ b/gazebo/gui/building/GrabberHandlePrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/GridLines.cc b/gazebo/gui/building/GridLines.cc
index 9feb36e..2e1777d 100644
--- a/gazebo/gui/building/GridLines.cc
+++ b/gazebo/gui/building/GridLines.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/GridLines.hh b/gazebo/gui/building/GridLines.hh
index aa02edc..6e9265e 100644
--- a/gazebo/gui/building/GridLines.hh
+++ b/gazebo/gui/building/GridLines.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/GridLinesPrivate.hh b/gazebo/gui/building/GridLinesPrivate.hh
index 43874ad..a6d8bc7 100644
--- a/gazebo/gui/building/GridLinesPrivate.hh
+++ b/gazebo/gui/building/GridLinesPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/ImportImageDialog.cc b/gazebo/gui/building/ImportImageDialog.cc
index c5873a6..ff7750a 100644
--- a/gazebo/gui/building/ImportImageDialog.cc
+++ b/gazebo/gui/building/ImportImageDialog.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/ImportImageDialog.hh b/gazebo/gui/building/ImportImageDialog.hh
index 58a6bf5..28aaa77 100644
--- a/gazebo/gui/building/ImportImageDialog.hh
+++ b/gazebo/gui/building/ImportImageDialog.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/ImportImageDialogPrivate.hh b/gazebo/gui/building/ImportImageDialogPrivate.hh
index b0da0a6..2cb4706 100644
--- a/gazebo/gui/building/ImportImageDialogPrivate.hh
+++ b/gazebo/gui/building/ImportImageDialogPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/ImportImageView.cc b/gazebo/gui/building/ImportImageView.cc
index 2347043..b7f7c1d 100644
--- a/gazebo/gui/building/ImportImageView.cc
+++ b/gazebo/gui/building/ImportImageView.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/ImportImageView.hh b/gazebo/gui/building/ImportImageView.hh
index de7fa28..9ee5aee 100644
--- a/gazebo/gui/building/ImportImageView.hh
+++ b/gazebo/gui/building/ImportImageView.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/ImportImageViewPrivate.hh b/gazebo/gui/building/ImportImageViewPrivate.hh
index 3f08f27..67cf30a 100644
--- a/gazebo/gui/building/ImportImageViewPrivate.hh
+++ b/gazebo/gui/building/ImportImageViewPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/LevelInspectorDialog.cc b/gazebo/gui/building/LevelInspectorDialog.cc
index 088916a..6693102 100644
--- a/gazebo/gui/building/LevelInspectorDialog.cc
+++ b/gazebo/gui/building/LevelInspectorDialog.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/LevelInspectorDialog.hh b/gazebo/gui/building/LevelInspectorDialog.hh
index 13be1f6..a8799d8 100644
--- a/gazebo/gui/building/LevelInspectorDialog.hh
+++ b/gazebo/gui/building/LevelInspectorDialog.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/LevelInspectorDialogPrivate.hh b/gazebo/gui/building/LevelInspectorDialogPrivate.hh
index 15d954b..fd046d9 100644
--- a/gazebo/gui/building/LevelInspectorDialogPrivate.hh
+++ b/gazebo/gui/building/LevelInspectorDialogPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/LevelWidget.cc b/gazebo/gui/building/LevelWidget.cc
index a8efec1..3d1b4ee 100644
--- a/gazebo/gui/building/LevelWidget.cc
+++ b/gazebo/gui/building/LevelWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/LevelWidget.hh b/gazebo/gui/building/LevelWidget.hh
index 037fbbd..a227fe1 100644
--- a/gazebo/gui/building/LevelWidget.hh
+++ b/gazebo/gui/building/LevelWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/LevelWidgetPrivate.hh b/gazebo/gui/building/LevelWidgetPrivate.hh
index 039e5da..07c36d9 100644
--- a/gazebo/gui/building/LevelWidgetPrivate.hh
+++ b/gazebo/gui/building/LevelWidgetPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/MeasureItem.cc b/gazebo/gui/building/MeasureItem.cc
index f6c06c5..bf3afa7 100644
--- a/gazebo/gui/building/MeasureItem.cc
+++ b/gazebo/gui/building/MeasureItem.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/MeasureItem.hh b/gazebo/gui/building/MeasureItem.hh
index 6fae67c..cec82c4 100644
--- a/gazebo/gui/building/MeasureItem.hh
+++ b/gazebo/gui/building/MeasureItem.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/MeasureItemPrivate.hh b/gazebo/gui/building/MeasureItemPrivate.hh
index ad839c1..3ca4d59 100644
--- a/gazebo/gui/building/MeasureItemPrivate.hh
+++ b/gazebo/gui/building/MeasureItemPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/RectItem.cc b/gazebo/gui/building/RectItem.cc
index 20a98bd..e2856d1 100644
--- a/gazebo/gui/building/RectItem.cc
+++ b/gazebo/gui/building/RectItem.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/RectItem.hh b/gazebo/gui/building/RectItem.hh
index fead2a1..be2e2ba 100644
--- a/gazebo/gui/building/RectItem.hh
+++ b/gazebo/gui/building/RectItem.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/RectItemPrivate.hh b/gazebo/gui/building/RectItemPrivate.hh
index 76be3aa..8df7909 100644
--- a/gazebo/gui/building/RectItemPrivate.hh
+++ b/gazebo/gui/building/RectItemPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/RotateHandle.cc b/gazebo/gui/building/RotateHandle.cc
index 639fa0e..61e7541 100644
--- a/gazebo/gui/building/RotateHandle.cc
+++ b/gazebo/gui/building/RotateHandle.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/RotateHandle.hh b/gazebo/gui/building/RotateHandle.hh
index 74cbd28..7b923bf 100644
--- a/gazebo/gui/building/RotateHandle.hh
+++ b/gazebo/gui/building/RotateHandle.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/RotateHandlePrivate.hh b/gazebo/gui/building/RotateHandlePrivate.hh
index f24c491..3a115b3 100644
--- a/gazebo/gui/building/RotateHandlePrivate.hh
+++ b/gazebo/gui/building/RotateHandlePrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/ScaleWidget.cc b/gazebo/gui/building/ScaleWidget.cc
index 3dcfd8d..b175274 100644
--- a/gazebo/gui/building/ScaleWidget.cc
+++ b/gazebo/gui/building/ScaleWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/ScaleWidget.hh b/gazebo/gui/building/ScaleWidget.hh
index 4b6068f..2fa0df3 100644
--- a/gazebo/gui/building/ScaleWidget.hh
+++ b/gazebo/gui/building/ScaleWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/SegmentItem.cc b/gazebo/gui/building/SegmentItem.cc
index 924b6fb..48696e7 100644
--- a/gazebo/gui/building/SegmentItem.cc
+++ b/gazebo/gui/building/SegmentItem.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/SegmentItem.hh b/gazebo/gui/building/SegmentItem.hh
index 78bfede..9d45c2d 100644
--- a/gazebo/gui/building/SegmentItem.hh
+++ b/gazebo/gui/building/SegmentItem.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/SegmentItemPrivate.hh b/gazebo/gui/building/SegmentItemPrivate.hh
index de8ba5b..3cc7a86 100644
--- a/gazebo/gui/building/SegmentItemPrivate.hh
+++ b/gazebo/gui/building/SegmentItemPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/StairsInspectorDialog.cc b/gazebo/gui/building/StairsInspectorDialog.cc
index d1b39f1..1e89855 100644
--- a/gazebo/gui/building/StairsInspectorDialog.cc
+++ b/gazebo/gui/building/StairsInspectorDialog.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/StairsInspectorDialog.hh b/gazebo/gui/building/StairsInspectorDialog.hh
index a276b37..baae2d7 100644
--- a/gazebo/gui/building/StairsInspectorDialog.hh
+++ b/gazebo/gui/building/StairsInspectorDialog.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/StairsInspectorDialogPrivate.hh b/gazebo/gui/building/StairsInspectorDialogPrivate.hh
index 29ebb8a..67a185b 100644
--- a/gazebo/gui/building/StairsInspectorDialogPrivate.hh
+++ b/gazebo/gui/building/StairsInspectorDialogPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/StairsItem.cc b/gazebo/gui/building/StairsItem.cc
index 38df388..afe5f64 100644
--- a/gazebo/gui/building/StairsItem.cc
+++ b/gazebo/gui/building/StairsItem.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/StairsItem.hh b/gazebo/gui/building/StairsItem.hh
index fcd1274..87de83f 100644
--- a/gazebo/gui/building/StairsItem.hh
+++ b/gazebo/gui/building/StairsItem.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/StairsItemPrivate.hh b/gazebo/gui/building/StairsItemPrivate.hh
index 9ddb6e9..b65750a 100644
--- a/gazebo/gui/building/StairsItemPrivate.hh
+++ b/gazebo/gui/building/StairsItemPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/WallInspectorDialog.cc b/gazebo/gui/building/WallInspectorDialog.cc
index 8ebcffa..28b4a22 100644
--- a/gazebo/gui/building/WallInspectorDialog.cc
+++ b/gazebo/gui/building/WallInspectorDialog.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/WallInspectorDialog.hh b/gazebo/gui/building/WallInspectorDialog.hh
index cb793ac..12d9851 100644
--- a/gazebo/gui/building/WallInspectorDialog.hh
+++ b/gazebo/gui/building/WallInspectorDialog.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/WallInspectorDialogPrivate.hh b/gazebo/gui/building/WallInspectorDialogPrivate.hh
index 43dd7db..8198df0 100644
--- a/gazebo/gui/building/WallInspectorDialogPrivate.hh
+++ b/gazebo/gui/building/WallInspectorDialogPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/WallSegmentItem.cc b/gazebo/gui/building/WallSegmentItem.cc
index cb912d5..1026767 100644
--- a/gazebo/gui/building/WallSegmentItem.cc
+++ b/gazebo/gui/building/WallSegmentItem.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/WallSegmentItem.hh b/gazebo/gui/building/WallSegmentItem.hh
index 22bf230..a939aa6 100644
--- a/gazebo/gui/building/WallSegmentItem.hh
+++ b/gazebo/gui/building/WallSegmentItem.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/WallSegmentItemPrivate.hh b/gazebo/gui/building/WallSegmentItemPrivate.hh
index b14698a..400b3ca 100644
--- a/gazebo/gui/building/WallSegmentItemPrivate.hh
+++ b/gazebo/gui/building/WallSegmentItemPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/WindowDoorInspectorDialog.cc b/gazebo/gui/building/WindowDoorInspectorDialog.cc
index 7f60ffe..67acb1e 100644
--- a/gazebo/gui/building/WindowDoorInspectorDialog.cc
+++ b/gazebo/gui/building/WindowDoorInspectorDialog.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/WindowDoorInspectorDialog.hh b/gazebo/gui/building/WindowDoorInspectorDialog.hh
index a0eb561..798db1d 100644
--- a/gazebo/gui/building/WindowDoorInspectorDialog.hh
+++ b/gazebo/gui/building/WindowDoorInspectorDialog.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/WindowDoorInspectorDialogPrivate.hh b/gazebo/gui/building/WindowDoorInspectorDialogPrivate.hh
index 2483bb3..5bf3469 100644
--- a/gazebo/gui/building/WindowDoorInspectorDialogPrivate.hh
+++ b/gazebo/gui/building/WindowDoorInspectorDialogPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/WindowItem.cc b/gazebo/gui/building/WindowItem.cc
index 85f158d..7e847b9 100644
--- a/gazebo/gui/building/WindowItem.cc
+++ b/gazebo/gui/building/WindowItem.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/WindowItem.hh b/gazebo/gui/building/WindowItem.hh
index 971c3af..6d7b24c 100644
--- a/gazebo/gui/building/WindowItem.hh
+++ b/gazebo/gui/building/WindowItem.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/building/WindowItemPrivate.hh b/gazebo/gui/building/WindowItemPrivate.hh
index 835f4c0..e12a8eb 100644
--- a/gazebo/gui/building/WindowItemPrivate.hh
+++ b/gazebo/gui/building/WindowItemPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/main.cc b/gazebo/gui/main.cc
index 9bdff9f..d36677c 100644
--- a/gazebo/gui/main.cc
+++ b/gazebo/gui/main.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/CollisionConfig.cc b/gazebo/gui/model/CollisionConfig.cc
index 35bd986..545d014 100644
--- a/gazebo/gui/model/CollisionConfig.cc
+++ b/gazebo/gui/model/CollisionConfig.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/CollisionConfig.hh b/gazebo/gui/model/CollisionConfig.hh
index 8544ab1..e0083f5 100644
--- a/gazebo/gui/model/CollisionConfig.hh
+++ b/gazebo/gui/model/CollisionConfig.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/CollisionConfig_TEST.cc b/gazebo/gui/model/CollisionConfig_TEST.cc
index fe2317d..626e9da 100644
--- a/gazebo/gui/model/CollisionConfig_TEST.cc
+++ b/gazebo/gui/model/CollisionConfig_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/CollisionConfig_TEST.hh b/gazebo/gui/model/CollisionConfig_TEST.hh
index ec9e62f..26934d9 100644
--- a/gazebo/gui/model/CollisionConfig_TEST.hh
+++ b/gazebo/gui/model/CollisionConfig_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/EditorMaterialSwitcher.cc b/gazebo/gui/model/EditorMaterialSwitcher.cc
index 76a05c7..ccd6278 100644
--- a/gazebo/gui/model/EditorMaterialSwitcher.cc
+++ b/gazebo/gui/model/EditorMaterialSwitcher.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/EditorMaterialSwitcher.hh b/gazebo/gui/model/EditorMaterialSwitcher.hh
index 272326f..c7700f1 100644
--- a/gazebo/gui/model/EditorMaterialSwitcher.hh
+++ b/gazebo/gui/model/EditorMaterialSwitcher.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/EditorMaterialSwitcher_TEST.cc b/gazebo/gui/model/EditorMaterialSwitcher_TEST.cc
index 1ca83a3..b3825a5 100644
--- a/gazebo/gui/model/EditorMaterialSwitcher_TEST.cc
+++ b/gazebo/gui/model/EditorMaterialSwitcher_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/EditorMaterialSwitcher_TEST.hh b/gazebo/gui/model/EditorMaterialSwitcher_TEST.hh
index a8990fe..857bfc0 100644
--- a/gazebo/gui/model/EditorMaterialSwitcher_TEST.hh
+++ b/gazebo/gui/model/EditorMaterialSwitcher_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ExtrudeDialog.cc b/gazebo/gui/model/ExtrudeDialog.cc
index 94f7af6..067bdf9 100644
--- a/gazebo/gui/model/ExtrudeDialog.cc
+++ b/gazebo/gui/model/ExtrudeDialog.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ExtrudeDialog.hh b/gazebo/gui/model/ExtrudeDialog.hh
index 2774bc0..2c2cdc3 100644
--- a/gazebo/gui/model/ExtrudeDialog.hh
+++ b/gazebo/gui/model/ExtrudeDialog.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ExtrudeDialogPrivate.hh b/gazebo/gui/model/ExtrudeDialogPrivate.hh
index 838aed3..4c48cc2 100644
--- a/gazebo/gui/model/ExtrudeDialogPrivate.hh
+++ b/gazebo/gui/model/ExtrudeDialogPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ExtrudeDialog_TEST.cc b/gazebo/gui/model/ExtrudeDialog_TEST.cc
index cd01bf0..9118740 100644
--- a/gazebo/gui/model/ExtrudeDialog_TEST.cc
+++ b/gazebo/gui/model/ExtrudeDialog_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,6 +15,8 @@
*
*/
+#include <memory>
+
#include "gazebo/gui/model/ExtrudeDialog.hh"
#include "gazebo/gui/model/ExtrudeDialog_TEST.hh"
@@ -26,11 +28,9 @@ void ExtrudeDialog_TEST::BadFilename()
// Check that bad filenames don't break anything
std::string bad("/not/a/file.svg");
- gazebo::gui::ExtrudeDialog *extrudeDialog =
- new gazebo::gui::ExtrudeDialog(bad);
+ std::unique_ptr<gazebo::gui::ExtrudeDialog> extrudeDialog(
+ new gazebo::gui::ExtrudeDialog(bad));
QVERIFY(extrudeDialog != NULL);
-
- delete extrudeDialog;
}
/////////////////////////////////////////////////
@@ -39,8 +39,8 @@ void ExtrudeDialog_TEST::GetSpinValues()
// Check a good file
std::string filePath = std::string(PROJECT_SOURCE_PATH);
filePath += "/test/data/loader.svg";
- gazebo::gui::ExtrudeDialog *extrudeDialog =
- new gazebo::gui::ExtrudeDialog(filePath);
+ std::unique_ptr <gazebo::gui::ExtrudeDialog> extrudeDialog(
+ new gazebo::gui::ExtrudeDialog(filePath));
// Get default thickness, change value and check new value
double thickness = extrudeDialog->GetThickness();
diff --git a/gazebo/gui/model/ExtrudeDialog_TEST.hh b/gazebo/gui/model/ExtrudeDialog_TEST.hh
index 6b26821..e966898 100644
--- a/gazebo/gui/model/ExtrudeDialog_TEST.hh
+++ b/gazebo/gui/model/ExtrudeDialog_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/GraphScene.cc b/gazebo/gui/model/GraphScene.cc
index 9f3475f..5683345 100644
--- a/gazebo/gui/model/GraphScene.cc
+++ b/gazebo/gui/model/GraphScene.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/GraphScene.hh b/gazebo/gui/model/GraphScene.hh
index 348ac13..e7ebbf0 100644
--- a/gazebo/gui/model/GraphScene.hh
+++ b/gazebo/gui/model/GraphScene.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/GraphScene_TEST.cc b/gazebo/gui/model/GraphScene_TEST.cc
index cba01bc..9d8a6ef 100644
--- a/gazebo/gui/model/GraphScene_TEST.cc
+++ b/gazebo/gui/model/GraphScene_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/GraphScene_TEST.hh b/gazebo/gui/model/GraphScene_TEST.hh
index 2122236..8f0aae5 100644
--- a/gazebo/gui/model/GraphScene_TEST.hh
+++ b/gazebo/gui/model/GraphScene_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/GraphView.cc b/gazebo/gui/model/GraphView.cc
index 5634d85..cdc4d6a 100644
--- a/gazebo/gui/model/GraphView.cc
+++ b/gazebo/gui/model/GraphView.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/GraphView.hh b/gazebo/gui/model/GraphView.hh
index d1ec9a8..a7a9a08 100644
--- a/gazebo/gui/model/GraphView.hh
+++ b/gazebo/gui/model/GraphView.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ImportDialog.cc b/gazebo/gui/model/ImportDialog.cc
index a39c361..5a926f5 100644
--- a/gazebo/gui/model/ImportDialog.cc
+++ b/gazebo/gui/model/ImportDialog.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ImportDialog.hh b/gazebo/gui/model/ImportDialog.hh
index 5437873..53fddae 100644
--- a/gazebo/gui/model/ImportDialog.hh
+++ b/gazebo/gui/model/ImportDialog.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/JointCreationDialog.cc b/gazebo/gui/model/JointCreationDialog.cc
index 4e6990d..f71bdf8 100644
--- a/gazebo/gui/model/JointCreationDialog.cc
+++ b/gazebo/gui/model/JointCreationDialog.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/JointCreationDialog.hh b/gazebo/gui/model/JointCreationDialog.hh
index bebddee..e3a5f8e 100644
--- a/gazebo/gui/model/JointCreationDialog.hh
+++ b/gazebo/gui/model/JointCreationDialog.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/JointCreationDialogPrivate.hh b/gazebo/gui/model/JointCreationDialogPrivate.hh
index 86bb3c5..c317946 100644
--- a/gazebo/gui/model/JointCreationDialogPrivate.hh
+++ b/gazebo/gui/model/JointCreationDialogPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/JointCreationDialog_TEST.cc b/gazebo/gui/model/JointCreationDialog_TEST.cc
index 55ff9e2..0dde27d 100644
--- a/gazebo/gui/model/JointCreationDialog_TEST.cc
+++ b/gazebo/gui/model/JointCreationDialog_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/JointCreationDialog_TEST.hh b/gazebo/gui/model/JointCreationDialog_TEST.hh
index d128711..49882ed 100644
--- a/gazebo/gui/model/JointCreationDialog_TEST.hh
+++ b/gazebo/gui/model/JointCreationDialog_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/JointInspector.cc b/gazebo/gui/model/JointInspector.cc
index 4ed0eb2..d0fe95f 100644
--- a/gazebo/gui/model/JointInspector.cc
+++ b/gazebo/gui/model/JointInspector.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/JointInspector.hh b/gazebo/gui/model/JointInspector.hh
index a7a0ec9..de84d09 100644
--- a/gazebo/gui/model/JointInspector.hh
+++ b/gazebo/gui/model/JointInspector.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/JointInspectorPrivate.hh b/gazebo/gui/model/JointInspectorPrivate.hh
index 612f0b8..69b8e4d 100644
--- a/gazebo/gui/model/JointInspectorPrivate.hh
+++ b/gazebo/gui/model/JointInspectorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/JointInspector_TEST.cc b/gazebo/gui/model/JointInspector_TEST.cc
index 6dc8724..129820b 100644
--- a/gazebo/gui/model/JointInspector_TEST.cc
+++ b/gazebo/gui/model/JointInspector_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/JointInspector_TEST.hh b/gazebo/gui/model/JointInspector_TEST.hh
index 3fe0edd..bce181a 100644
--- a/gazebo/gui/model/JointInspector_TEST.hh
+++ b/gazebo/gui/model/JointInspector_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/JointMaker.cc b/gazebo/gui/model/JointMaker.cc
index 62571bd..a9adcc5 100644
--- a/gazebo/gui/model/JointMaker.cc
+++ b/gazebo/gui/model/JointMaker.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/JointMaker.hh b/gazebo/gui/model/JointMaker.hh
index 44cc66f..9664318 100644
--- a/gazebo/gui/model/JointMaker.hh
+++ b/gazebo/gui/model/JointMaker.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/JointMakerPrivate.hh b/gazebo/gui/model/JointMakerPrivate.hh
index 38826b5..26457c8 100644
--- a/gazebo/gui/model/JointMakerPrivate.hh
+++ b/gazebo/gui/model/JointMakerPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/JointMaker_TEST.cc b/gazebo/gui/model/JointMaker_TEST.cc
index d8985c6..48b0f21 100644
--- a/gazebo/gui/model/JointMaker_TEST.cc
+++ b/gazebo/gui/model/JointMaker_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/JointMaker_TEST.hh b/gazebo/gui/model/JointMaker_TEST.hh
index 18efdb0..cc62dcb 100644
--- a/gazebo/gui/model/JointMaker_TEST.hh
+++ b/gazebo/gui/model/JointMaker_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/LinkConfig.cc b/gazebo/gui/model/LinkConfig.cc
index dd80ce3..a9f6b9f 100644
--- a/gazebo/gui/model/LinkConfig.cc
+++ b/gazebo/gui/model/LinkConfig.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/LinkConfig.hh b/gazebo/gui/model/LinkConfig.hh
index 03cea10..3258d12 100644
--- a/gazebo/gui/model/LinkConfig.hh
+++ b/gazebo/gui/model/LinkConfig.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/LinkConfig_TEST.cc b/gazebo/gui/model/LinkConfig_TEST.cc
index afed44d..878544b 100644
--- a/gazebo/gui/model/LinkConfig_TEST.cc
+++ b/gazebo/gui/model/LinkConfig_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/LinkConfig_TEST.hh b/gazebo/gui/model/LinkConfig_TEST.hh
index 9192bfb..bbd1bb8 100644
--- a/gazebo/gui/model/LinkConfig_TEST.hh
+++ b/gazebo/gui/model/LinkConfig_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/LinkInspector.cc b/gazebo/gui/model/LinkInspector.cc
index fb4f653..246dcdf 100644
--- a/gazebo/gui/model/LinkInspector.cc
+++ b/gazebo/gui/model/LinkInspector.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/LinkInspector.hh b/gazebo/gui/model/LinkInspector.hh
index b96fb92..0bb3695 100644
--- a/gazebo/gui/model/LinkInspector.hh
+++ b/gazebo/gui/model/LinkInspector.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/LinkInspectorPrivate.hh b/gazebo/gui/model/LinkInspectorPrivate.hh
index f3b3bde..9f2a8f9 100644
--- a/gazebo/gui/model/LinkInspectorPrivate.hh
+++ b/gazebo/gui/model/LinkInspectorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/LinkInspector_TEST.cc b/gazebo/gui/model/LinkInspector_TEST.cc
index 74bb998..80736ff 100644
--- a/gazebo/gui/model/LinkInspector_TEST.cc
+++ b/gazebo/gui/model/LinkInspector_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/LinkInspector_TEST.hh b/gazebo/gui/model/LinkInspector_TEST.hh
index a0ad27a..3e7c448 100644
--- a/gazebo/gui/model/LinkInspector_TEST.hh
+++ b/gazebo/gui/model/LinkInspector_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelCreator.cc b/gazebo/gui/model/ModelCreator.cc
index 8bac123..8ada19e 100644
--- a/gazebo/gui/model/ModelCreator.cc
+++ b/gazebo/gui/model/ModelCreator.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelCreator.hh b/gazebo/gui/model/ModelCreator.hh
index 266fa1f..5c998a6 100644
--- a/gazebo/gui/model/ModelCreator.hh
+++ b/gazebo/gui/model/ModelCreator.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelCreator_TEST.cc b/gazebo/gui/model/ModelCreator_TEST.cc
index 818549d..e6165c7 100644
--- a/gazebo/gui/model/ModelCreator_TEST.cc
+++ b/gazebo/gui/model/ModelCreator_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelCreator_TEST.hh b/gazebo/gui/model/ModelCreator_TEST.hh
index 61cca03..c70d026 100644
--- a/gazebo/gui/model/ModelCreator_TEST.hh
+++ b/gazebo/gui/model/ModelCreator_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelData.cc b/gazebo/gui/model/ModelData.cc
index 045b07b..ff128e5 100644
--- a/gazebo/gui/model/ModelData.cc
+++ b/gazebo/gui/model/ModelData.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelData.hh b/gazebo/gui/model/ModelData.hh
index 60d738f..29c2721 100644
--- a/gazebo/gui/model/ModelData.hh
+++ b/gazebo/gui/model/ModelData.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelData_TEST.cc b/gazebo/gui/model/ModelData_TEST.cc
index 304b611..1e22a91 100644
--- a/gazebo/gui/model/ModelData_TEST.cc
+++ b/gazebo/gui/model/ModelData_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelData_TEST.hh b/gazebo/gui/model/ModelData_TEST.hh
index fe29487..013f2f7 100644
--- a/gazebo/gui/model/ModelData_TEST.hh
+++ b/gazebo/gui/model/ModelData_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelEditor.cc b/gazebo/gui/model/ModelEditor.cc
index 377b021..dc81e8d 100644
--- a/gazebo/gui/model/ModelEditor.cc
+++ b/gazebo/gui/model/ModelEditor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelEditor.hh b/gazebo/gui/model/ModelEditor.hh
index bed62bd..b2efd3e 100644
--- a/gazebo/gui/model/ModelEditor.hh
+++ b/gazebo/gui/model/ModelEditor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelEditorEvents.cc b/gazebo/gui/model/ModelEditorEvents.cc
index 2e4970c..746418d 100644
--- a/gazebo/gui/model/ModelEditorEvents.cc
+++ b/gazebo/gui/model/ModelEditorEvents.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelEditorEvents.hh b/gazebo/gui/model/ModelEditorEvents.hh
index d9bc6d0..1b52133 100644
--- a/gazebo/gui/model/ModelEditorEvents.hh
+++ b/gazebo/gui/model/ModelEditorEvents.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelEditorPalette.cc b/gazebo/gui/model/ModelEditorPalette.cc
index e9253c9..4bca920 100644
--- a/gazebo/gui/model/ModelEditorPalette.cc
+++ b/gazebo/gui/model/ModelEditorPalette.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelEditorPalette.hh b/gazebo/gui/model/ModelEditorPalette.hh
index b270e0c..f28efe2 100644
--- a/gazebo/gui/model/ModelEditorPalette.hh
+++ b/gazebo/gui/model/ModelEditorPalette.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelEditorPalette_TEST.cc b/gazebo/gui/model/ModelEditorPalette_TEST.cc
index 2e4de65..0969783 100644
--- a/gazebo/gui/model/ModelEditorPalette_TEST.cc
+++ b/gazebo/gui/model/ModelEditorPalette_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelEditorPalette_TEST.hh b/gazebo/gui/model/ModelEditorPalette_TEST.hh
index 464135f..be41365 100644
--- a/gazebo/gui/model/ModelEditorPalette_TEST.hh
+++ b/gazebo/gui/model/ModelEditorPalette_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelEditorPrivate.hh b/gazebo/gui/model/ModelEditorPrivate.hh
index 9cadfea..0033698 100644
--- a/gazebo/gui/model/ModelEditorPrivate.hh
+++ b/gazebo/gui/model/ModelEditorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelEditorTypes.hh b/gazebo/gui/model/ModelEditorTypes.hh
index 38529c8..5b48eb9 100644
--- a/gazebo/gui/model/ModelEditorTypes.hh
+++ b/gazebo/gui/model/ModelEditorTypes.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelEditor_TEST.cc b/gazebo/gui/model/ModelEditor_TEST.cc
index 1cec68d..bd62112 100644
--- a/gazebo/gui/model/ModelEditor_TEST.cc
+++ b/gazebo/gui/model/ModelEditor_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelEditor_TEST.hh b/gazebo/gui/model/ModelEditor_TEST.hh
index 9c1d478..f396f98 100644
--- a/gazebo/gui/model/ModelEditor_TEST.hh
+++ b/gazebo/gui/model/ModelEditor_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelPluginInspector.cc b/gazebo/gui/model/ModelPluginInspector.cc
index 97880e9..4fc1d40 100644
--- a/gazebo/gui/model/ModelPluginInspector.cc
+++ b/gazebo/gui/model/ModelPluginInspector.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelPluginInspector.hh b/gazebo/gui/model/ModelPluginInspector.hh
index 1b33767..a0b1415 100644
--- a/gazebo/gui/model/ModelPluginInspector.hh
+++ b/gazebo/gui/model/ModelPluginInspector.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelPluginInspectorPrivate.hh b/gazebo/gui/model/ModelPluginInspectorPrivate.hh
index 1054ec3..e048ad3 100644
--- a/gazebo/gui/model/ModelPluginInspectorPrivate.hh
+++ b/gazebo/gui/model/ModelPluginInspectorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelPluginInspector_TEST.cc b/gazebo/gui/model/ModelPluginInspector_TEST.cc
index 1f5bc52..567cc40 100644
--- a/gazebo/gui/model/ModelPluginInspector_TEST.cc
+++ b/gazebo/gui/model/ModelPluginInspector_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelPluginInspector_TEST.hh b/gazebo/gui/model/ModelPluginInspector_TEST.hh
index df0623a..d8233f0 100644
--- a/gazebo/gui/model/ModelPluginInspector_TEST.hh
+++ b/gazebo/gui/model/ModelPluginInspector_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelTreeWidget.cc b/gazebo/gui/model/ModelTreeWidget.cc
index d5055e8..fdd1385 100644
--- a/gazebo/gui/model/ModelTreeWidget.cc
+++ b/gazebo/gui/model/ModelTreeWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelTreeWidget.hh b/gazebo/gui/model/ModelTreeWidget.hh
index 81fc67e..d931e2e 100644
--- a/gazebo/gui/model/ModelTreeWidget.hh
+++ b/gazebo/gui/model/ModelTreeWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelTreeWidget_TEST.cc b/gazebo/gui/model/ModelTreeWidget_TEST.cc
index 14fec46..d2c810d 100644
--- a/gazebo/gui/model/ModelTreeWidget_TEST.cc
+++ b/gazebo/gui/model/ModelTreeWidget_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/ModelTreeWidget_TEST.hh b/gazebo/gui/model/ModelTreeWidget_TEST.hh
index af6bf65..df77fca 100644
--- a/gazebo/gui/model/ModelTreeWidget_TEST.hh
+++ b/gazebo/gui/model/ModelTreeWidget_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/SchematicViewWidget.cc b/gazebo/gui/model/SchematicViewWidget.cc
index 60eb449..0649403 100644
--- a/gazebo/gui/model/SchematicViewWidget.cc
+++ b/gazebo/gui/model/SchematicViewWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/SchematicViewWidget.hh b/gazebo/gui/model/SchematicViewWidget.hh
index edbb507..65006d1 100644
--- a/gazebo/gui/model/SchematicViewWidget.hh
+++ b/gazebo/gui/model/SchematicViewWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/SchematicViewWidget_TEST.cc b/gazebo/gui/model/SchematicViewWidget_TEST.cc
index 5e69795..fbf310e 100644
--- a/gazebo/gui/model/SchematicViewWidget_TEST.cc
+++ b/gazebo/gui/model/SchematicViewWidget_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/SchematicViewWidget_TEST.hh b/gazebo/gui/model/SchematicViewWidget_TEST.hh
index f7d1343..4967d1a 100644
--- a/gazebo/gui/model/SchematicViewWidget_TEST.hh
+++ b/gazebo/gui/model/SchematicViewWidget_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/VisualConfig.cc b/gazebo/gui/model/VisualConfig.cc
index 3e97118..4d67ea9 100644
--- a/gazebo/gui/model/VisualConfig.cc
+++ b/gazebo/gui/model/VisualConfig.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/VisualConfig.hh b/gazebo/gui/model/VisualConfig.hh
index 7f46bde..454b052 100644
--- a/gazebo/gui/model/VisualConfig.hh
+++ b/gazebo/gui/model/VisualConfig.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/VisualConfig_TEST.cc b/gazebo/gui/model/VisualConfig_TEST.cc
index 4e798f6..8076299 100644
--- a/gazebo/gui/model/VisualConfig_TEST.cc
+++ b/gazebo/gui/model/VisualConfig_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/model/VisualConfig_TEST.hh b/gazebo/gui/model/VisualConfig_TEST.hh
index d116a20..2c203ff 100644
--- a/gazebo/gui/model/VisualConfig_TEST.hh
+++ b/gazebo/gui/model/VisualConfig_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/qt.h b/gazebo/gui/qt.h
index 6270d34..59a9e19 100644
--- a/gazebo/gui/qt.h
+++ b/gazebo/gui/qt.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/qt_test.h b/gazebo/gui/qt_test.h
index 2ef77c7..85d50aa 100644
--- a/gazebo/gui/qt_test.h
+++ b/gazebo/gui/qt_test.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/terrain/TerrainEditor.cc b/gazebo/gui/terrain/TerrainEditor.cc
index 5f18906..8e42c5e 100644
--- a/gazebo/gui/terrain/TerrainEditor.cc
+++ b/gazebo/gui/terrain/TerrainEditor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/terrain/TerrainEditor.hh b/gazebo/gui/terrain/TerrainEditor.hh
index 1bf2e5b..fa032e6 100644
--- a/gazebo/gui/terrain/TerrainEditor.hh
+++ b/gazebo/gui/terrain/TerrainEditor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/terrain/TerrainEditorPalette.cc b/gazebo/gui/terrain/TerrainEditorPalette.cc
index caa9428..7dec921 100644
--- a/gazebo/gui/terrain/TerrainEditorPalette.cc
+++ b/gazebo/gui/terrain/TerrainEditorPalette.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/terrain/TerrainEditorPalette.hh b/gazebo/gui/terrain/TerrainEditorPalette.hh
index d30be68..91cc865 100644
--- a/gazebo/gui/terrain/TerrainEditorPalette.hh
+++ b/gazebo/gui/terrain/TerrainEditorPalette.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/terrain/TerrainEditorPalettePrivate.hh b/gazebo/gui/terrain/TerrainEditorPalettePrivate.hh
index 4cb4097..467e236 100644
--- a/gazebo/gui/terrain/TerrainEditorPalettePrivate.hh
+++ b/gazebo/gui/terrain/TerrainEditorPalettePrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/terrain/TerrainEditorPrivate.hh b/gazebo/gui/terrain/TerrainEditorPrivate.hh
index 2f37e21..decec6b 100644
--- a/gazebo/gui/terrain/TerrainEditorPrivate.hh
+++ b/gazebo/gui/terrain/TerrainEditorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/ImageFrame.cc b/gazebo/gui/viewers/ImageFrame.cc
index d2594a1..607b8e4 100644
--- a/gazebo/gui/viewers/ImageFrame.cc
+++ b/gazebo/gui/viewers/ImageFrame.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/ImageFrame.hh b/gazebo/gui/viewers/ImageFrame.hh
index 1be9bea..357165f 100644
--- a/gazebo/gui/viewers/ImageFrame.hh
+++ b/gazebo/gui/viewers/ImageFrame.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/ImageFramePrivate.hh b/gazebo/gui/viewers/ImageFramePrivate.hh
index bc8d1d2..01db829 100644
--- a/gazebo/gui/viewers/ImageFramePrivate.hh
+++ b/gazebo/gui/viewers/ImageFramePrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/ImageView.cc b/gazebo/gui/viewers/ImageView.cc
index 4f93efd..9ac57a2 100644
--- a/gazebo/gui/viewers/ImageView.cc
+++ b/gazebo/gui/viewers/ImageView.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/ImageView.hh b/gazebo/gui/viewers/ImageView.hh
index 154f9ed..c810ff1 100644
--- a/gazebo/gui/viewers/ImageView.hh
+++ b/gazebo/gui/viewers/ImageView.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/ImageViewPrivate.hh b/gazebo/gui/viewers/ImageViewPrivate.hh
index 1957d74..0c7ae79 100644
--- a/gazebo/gui/viewers/ImageViewPrivate.hh
+++ b/gazebo/gui/viewers/ImageViewPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/ImagesView.cc b/gazebo/gui/viewers/ImagesView.cc
index d333c08..e8444c6 100644
--- a/gazebo/gui/viewers/ImagesView.cc
+++ b/gazebo/gui/viewers/ImagesView.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/ImagesView.hh b/gazebo/gui/viewers/ImagesView.hh
index 83bb921..e68e009 100644
--- a/gazebo/gui/viewers/ImagesView.hh
+++ b/gazebo/gui/viewers/ImagesView.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/ImagesViewPrivate.hh b/gazebo/gui/viewers/ImagesViewPrivate.hh
index 1ba7140..e87008b 100644
--- a/gazebo/gui/viewers/ImagesViewPrivate.hh
+++ b/gazebo/gui/viewers/ImagesViewPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/ImagesView_TEST.cc b/gazebo/gui/viewers/ImagesView_TEST.cc
index bf4fa81..5f2741f 100644
--- a/gazebo/gui/viewers/ImagesView_TEST.cc
+++ b/gazebo/gui/viewers/ImagesView_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/ImagesView_TEST.hh b/gazebo/gui/viewers/ImagesView_TEST.hh
index b20335e..21f9589 100644
--- a/gazebo/gui/viewers/ImagesView_TEST.hh
+++ b/gazebo/gui/viewers/ImagesView_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/LaserView.cc b/gazebo/gui/viewers/LaserView.cc
index 2d645e2..ddf6467 100644
--- a/gazebo/gui/viewers/LaserView.cc
+++ b/gazebo/gui/viewers/LaserView.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -485,6 +485,11 @@ void LaserView::LaserItem::Update(double _angleMin, double _angleMax,
-hitRange * this->scale * sin(angle));
this->points[i] = pt;
double noHitRange = std::isinf(r) ? this->rangeMax : hitRange;
+ if (r < this->rangeMin)
+ {
+ // Display -inf as very close
+ noHitRange = 0;
+ }
QPointF noHitPt(noHitRange * this->scale * cos(angle),
-noHitRange * this->scale * sin(angle));
this->noHitPoints[i] = noHitPt;
diff --git a/gazebo/gui/viewers/LaserView.hh b/gazebo/gui/viewers/LaserView.hh
index 7684089..2077ef3 100644
--- a/gazebo/gui/viewers/LaserView.hh
+++ b/gazebo/gui/viewers/LaserView.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/LaserView_TEST.cc b/gazebo/gui/viewers/LaserView_TEST.cc
index 97190be..7dcaf01 100644
--- a/gazebo/gui/viewers/LaserView_TEST.cc
+++ b/gazebo/gui/viewers/LaserView_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/LaserView_TEST.hh b/gazebo/gui/viewers/LaserView_TEST.hh
index dfb5f5c..3c79632 100644
--- a/gazebo/gui/viewers/LaserView_TEST.hh
+++ b/gazebo/gui/viewers/LaserView_TEST.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/TextView.cc b/gazebo/gui/viewers/TextView.cc
index a2dd355..350dcbe 100644
--- a/gazebo/gui/viewers/TextView.cc
+++ b/gazebo/gui/viewers/TextView.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/TextView.hh b/gazebo/gui/viewers/TextView.hh
index c61a3c5..f4183d6 100644
--- a/gazebo/gui/viewers/TextView.hh
+++ b/gazebo/gui/viewers/TextView.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/TopicView.cc b/gazebo/gui/viewers/TopicView.cc
index 3d01855..b9c96f8 100644
--- a/gazebo/gui/viewers/TopicView.cc
+++ b/gazebo/gui/viewers/TopicView.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/TopicView.hh b/gazebo/gui/viewers/TopicView.hh
index 852067e..9fd5eb2 100644
--- a/gazebo/gui/viewers/TopicView.hh
+++ b/gazebo/gui/viewers/TopicView.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/ViewFactory.cc b/gazebo/gui/viewers/ViewFactory.cc
index dd93a06..d3670d0 100644
--- a/gazebo/gui/viewers/ViewFactory.cc
+++ b/gazebo/gui/viewers/ViewFactory.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gui/viewers/ViewFactory.hh b/gazebo/gui/viewers/ViewFactory.hh
index 04c4b2b..7b788c2 100644
--- a/gazebo/gui/viewers/ViewFactory.hh
+++ b/gazebo/gui/viewers/ViewFactory.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/gzserver.1.ronn b/gazebo/gzserver.1.ronn
index 87231eb..c22c349 100644
--- a/gazebo/gzserver.1.ronn
+++ b/gazebo/gzserver.1.ronn
@@ -29,6 +29,10 @@ Gazebo server runs simulation and handles commandline options, starts a Master,
Compression encoding format for log data (zlib|bz2|txt).
* --record_path arg :
Absolute path in which to store state data
+* --record_period arg (=-1) :
+ Recording period (seconds).
+* --record_filter arg :
+ Recording filter (supports wildcard and regular expression).
* --seed arg :
Start with a given random number seed.
* --iters arg :
diff --git a/gazebo/math/Angle.cc b/gazebo/math/Angle.cc
index ea33257..9922b38 100644
--- a/gazebo/math/Angle.cc
+++ b/gazebo/math/Angle.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Angle.hh b/gazebo/math/Angle.hh
index c79e606..55a7a9f 100644
--- a/gazebo/math/Angle.hh
+++ b/gazebo/math/Angle.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Angle_TEST.cc b/gazebo/math/Angle_TEST.cc
index 347a690..ec33faa 100644
--- a/gazebo/math/Angle_TEST.cc
+++ b/gazebo/math/Angle_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Box.cc b/gazebo/math/Box.cc
index 2f2f30c..d1b26b7 100644
--- a/gazebo/math/Box.cc
+++ b/gazebo/math/Box.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Box.hh b/gazebo/math/Box.hh
index 943e004..bf034a2 100644
--- a/gazebo/math/Box.hh
+++ b/gazebo/math/Box.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Box_TEST.cc b/gazebo/math/Box_TEST.cc
index a44426a..7b6deb2 100644
--- a/gazebo/math/Box_TEST.cc
+++ b/gazebo/math/Box_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Filter.hh b/gazebo/math/Filter.hh
index aed9236..0fd23c1 100644
--- a/gazebo/math/Filter.hh
+++ b/gazebo/math/Filter.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Helpers.cc b/gazebo/math/Helpers.cc
index 7a35531..fa81da2 100644
--- a/gazebo/math/Helpers.cc
+++ b/gazebo/math/Helpers.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Helpers.hh b/gazebo/math/Helpers.hh
index 92a121e..9e8e092 100644
--- a/gazebo/math/Helpers.hh
+++ b/gazebo/math/Helpers.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Helpers_TEST.cc b/gazebo/math/Helpers_TEST.cc
index 2eaadd4..64b3c30 100644
--- a/gazebo/math/Helpers_TEST.cc
+++ b/gazebo/math/Helpers_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Kmeans.cc b/gazebo/math/Kmeans.cc
index acca9f2..026a66c 100644
--- a/gazebo/math/Kmeans.cc
+++ b/gazebo/math/Kmeans.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Kmeans.hh b/gazebo/math/Kmeans.hh
index c15b2ec..61d09c5 100644
--- a/gazebo/math/Kmeans.hh
+++ b/gazebo/math/Kmeans.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Kmeans_TEST.cc b/gazebo/math/Kmeans_TEST.cc
index 69c842c..c5eb4b5 100644
--- a/gazebo/math/Kmeans_TEST.cc
+++ b/gazebo/math/Kmeans_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/MathTypes.hh b/gazebo/math/MathTypes.hh
index beb7211..387f30f 100644
--- a/gazebo/math/MathTypes.hh
+++ b/gazebo/math/MathTypes.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Matrix3.cc b/gazebo/math/Matrix3.cc
index ace0c3c..c0ac062 100644
--- a/gazebo/math/Matrix3.cc
+++ b/gazebo/math/Matrix3.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Matrix3.hh b/gazebo/math/Matrix3.hh
index 09b3828..b474e90 100644
--- a/gazebo/math/Matrix3.hh
+++ b/gazebo/math/Matrix3.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Matrix3_TEST.cc b/gazebo/math/Matrix3_TEST.cc
index ea9d99b..390c90e 100644
--- a/gazebo/math/Matrix3_TEST.cc
+++ b/gazebo/math/Matrix3_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Matrix4.cc b/gazebo/math/Matrix4.cc
index 23fb9c1..dbe9e9b 100644
--- a/gazebo/math/Matrix4.cc
+++ b/gazebo/math/Matrix4.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Matrix4.hh b/gazebo/math/Matrix4.hh
index 044a842..1716921 100644
--- a/gazebo/math/Matrix4.hh
+++ b/gazebo/math/Matrix4.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Plane.cc b/gazebo/math/Plane.cc
index 135f904..6d4c04d 100644
--- a/gazebo/math/Plane.cc
+++ b/gazebo/math/Plane.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Plane.hh b/gazebo/math/Plane.hh
index 70e5cb3..c40ee36 100644
--- a/gazebo/math/Plane.hh
+++ b/gazebo/math/Plane.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Plane_TEST.cc b/gazebo/math/Plane_TEST.cc
index 10b7f89..c1db929 100644
--- a/gazebo/math/Plane_TEST.cc
+++ b/gazebo/math/Plane_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Pose.cc b/gazebo/math/Pose.cc
index fcbd609..a8dfb3a 100644
--- a/gazebo/math/Pose.cc
+++ b/gazebo/math/Pose.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Pose.hh b/gazebo/math/Pose.hh
index 8fca4c8..8975e97 100644
--- a/gazebo/math/Pose.hh
+++ b/gazebo/math/Pose.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Pose_TEST.cc b/gazebo/math/Pose_TEST.cc
index d2b9adb..70a40fe 100644
--- a/gazebo/math/Pose_TEST.cc
+++ b/gazebo/math/Pose_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Quaternion.cc b/gazebo/math/Quaternion.cc
index b9668d4..2177dea 100644
--- a/gazebo/math/Quaternion.cc
+++ b/gazebo/math/Quaternion.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Quaternion.hh b/gazebo/math/Quaternion.hh
index 46178ee..da3e8e4 100644
--- a/gazebo/math/Quaternion.hh
+++ b/gazebo/math/Quaternion.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Quaternion_TEST.cc b/gazebo/math/Quaternion_TEST.cc
index 72390d1..0fc3aea 100644
--- a/gazebo/math/Quaternion_TEST.cc
+++ b/gazebo/math/Quaternion_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Rand.cc b/gazebo/math/Rand.cc
index 8329e0c..f198ac3 100644
--- a/gazebo/math/Rand.cc
+++ b/gazebo/math/Rand.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Rand.hh b/gazebo/math/Rand.hh
index f3ef891..6013a51 100644
--- a/gazebo/math/Rand.hh
+++ b/gazebo/math/Rand.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Rand_TEST.cc b/gazebo/math/Rand_TEST.cc
index 82c0d72..3d8b13b 100644
--- a/gazebo/math/Rand_TEST.cc
+++ b/gazebo/math/Rand_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/RotationSpline.cc b/gazebo/math/RotationSpline.cc
index 504a06d..c182766 100644
--- a/gazebo/math/RotationSpline.cc
+++ b/gazebo/math/RotationSpline.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/RotationSpline.hh b/gazebo/math/RotationSpline.hh
index cc881ea..8cb6d23 100644
--- a/gazebo/math/RotationSpline.hh
+++ b/gazebo/math/RotationSpline.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/RotationSpline_TEST.cc b/gazebo/math/RotationSpline_TEST.cc
index 0a61e1c..6156af6 100644
--- a/gazebo/math/RotationSpline_TEST.cc
+++ b/gazebo/math/RotationSpline_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/SignalStats.cc b/gazebo/math/SignalStats.cc
index 1f141d1..7d228d4 100644
--- a/gazebo/math/SignalStats.cc
+++ b/gazebo/math/SignalStats.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/SignalStats.hh b/gazebo/math/SignalStats.hh
index 8c0fbc1..8ef86ce 100644
--- a/gazebo/math/SignalStats.hh
+++ b/gazebo/math/SignalStats.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/SignalStatsPrivate.hh b/gazebo/math/SignalStatsPrivate.hh
index 7af5bba..d5815dd 100644
--- a/gazebo/math/SignalStatsPrivate.hh
+++ b/gazebo/math/SignalStatsPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/SignalStats_TEST.cc b/gazebo/math/SignalStats_TEST.cc
index 996be3b..d442c9b 100644
--- a/gazebo/math/SignalStats_TEST.cc
+++ b/gazebo/math/SignalStats_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Spline.cc b/gazebo/math/Spline.cc
index e5d8586..0755a63 100644
--- a/gazebo/math/Spline.cc
+++ b/gazebo/math/Spline.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Spline.hh b/gazebo/math/Spline.hh
index 7403d3d..9e1ba23 100644
--- a/gazebo/math/Spline.hh
+++ b/gazebo/math/Spline.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Spline_TEST.cc b/gazebo/math/Spline_TEST.cc
index 3f09eaa..064b362 100644
--- a/gazebo/math/Spline_TEST.cc
+++ b/gazebo/math/Spline_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Vector2d.cc b/gazebo/math/Vector2d.cc
index ca1a01a..45a4dae 100644
--- a/gazebo/math/Vector2d.cc
+++ b/gazebo/math/Vector2d.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Vector2d.hh b/gazebo/math/Vector2d.hh
index 4c935ae..14f0736 100644
--- a/gazebo/math/Vector2d.hh
+++ b/gazebo/math/Vector2d.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Vector2d_TEST.cc b/gazebo/math/Vector2d_TEST.cc
index 87d9c7c..1c493d4 100644
--- a/gazebo/math/Vector2d_TEST.cc
+++ b/gazebo/math/Vector2d_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Vector2i.cc b/gazebo/math/Vector2i.cc
index 2369d84..c24b642 100644
--- a/gazebo/math/Vector2i.cc
+++ b/gazebo/math/Vector2i.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Vector2i.hh b/gazebo/math/Vector2i.hh
index 343c40f..fc857b1 100644
--- a/gazebo/math/Vector2i.hh
+++ b/gazebo/math/Vector2i.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Vector2i_TEST.cc b/gazebo/math/Vector2i_TEST.cc
index 8ef0314..cf68f7a 100644
--- a/gazebo/math/Vector2i_TEST.cc
+++ b/gazebo/math/Vector2i_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Vector3.cc b/gazebo/math/Vector3.cc
index 3d88d86..755a8de 100644
--- a/gazebo/math/Vector3.cc
+++ b/gazebo/math/Vector3.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Vector3.hh b/gazebo/math/Vector3.hh
index 14a0ef7..eaa2210 100644
--- a/gazebo/math/Vector3.hh
+++ b/gazebo/math/Vector3.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Vector3Stats.cc b/gazebo/math/Vector3Stats.cc
index 419593b..b909b8f 100644
--- a/gazebo/math/Vector3Stats.cc
+++ b/gazebo/math/Vector3Stats.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Vector3Stats.hh b/gazebo/math/Vector3Stats.hh
index f7b0bdb..c8e966a 100644
--- a/gazebo/math/Vector3Stats.hh
+++ b/gazebo/math/Vector3Stats.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Vector3StatsPrivate.hh b/gazebo/math/Vector3StatsPrivate.hh
index 7f6ffaa..2505e40 100644
--- a/gazebo/math/Vector3StatsPrivate.hh
+++ b/gazebo/math/Vector3StatsPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Vector3Stats_TEST.cc b/gazebo/math/Vector3Stats_TEST.cc
index 2fd1ada..1c01adf 100644
--- a/gazebo/math/Vector3Stats_TEST.cc
+++ b/gazebo/math/Vector3Stats_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Vector3_TEST.cc b/gazebo/math/Vector3_TEST.cc
index ef730bf..5087a66 100644
--- a/gazebo/math/Vector3_TEST.cc
+++ b/gazebo/math/Vector3_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Vector4.cc b/gazebo/math/Vector4.cc
index 99788aa..b89e84e 100644
--- a/gazebo/math/Vector4.cc
+++ b/gazebo/math/Vector4.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Vector4.hh b/gazebo/math/Vector4.hh
index 4623204..c18258b 100644
--- a/gazebo/math/Vector4.hh
+++ b/gazebo/math/Vector4.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/math/Vector4_TEST.cc b/gazebo/math/Vector4_TEST.cc
index b55f11c..bd290b0 100644
--- a/gazebo/math/Vector4_TEST.cc
+++ b/gazebo/math/Vector4_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/msgs/MsgFactory.cc b/gazebo/msgs/MsgFactory.cc
index 9048ca3..bd891bb 100644
--- a/gazebo/msgs/MsgFactory.cc
+++ b/gazebo/msgs/MsgFactory.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/msgs/MsgFactory.hh b/gazebo/msgs/MsgFactory.hh
index 046a2a6..ecd4713 100644
--- a/gazebo/msgs/MsgFactory.hh
+++ b/gazebo/msgs/MsgFactory.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/msgs/MsgFactory_TEST.cc b/gazebo/msgs/MsgFactory_TEST.cc
index bf3034f..aebc7f2 100644
--- a/gazebo/msgs/MsgFactory_TEST.cc
+++ b/gazebo/msgs/MsgFactory_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/msgs/generator/GazeboGenerator.cc b/gazebo/msgs/generator/GazeboGenerator.cc
index c64737a..154b4ad 100644
--- a/gazebo/msgs/generator/GazeboGenerator.cc
+++ b/gazebo/msgs/generator/GazeboGenerator.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/msgs/generator/GazeboGenerator.hh b/gazebo/msgs/generator/GazeboGenerator.hh
index dd6e72e..44128e1 100644
--- a/gazebo/msgs/generator/GazeboGenerator.hh
+++ b/gazebo/msgs/generator/GazeboGenerator.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/msgs/generator/gazebo_generator.cc b/gazebo/msgs/generator/gazebo_generator.cc
index e282145..d323a71 100644
--- a/gazebo/msgs/generator/gazebo_generator.cc
+++ b/gazebo/msgs/generator/gazebo_generator.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/msgs/msgs.cc b/gazebo/msgs/msgs.cc
index d37f1c8..ec529d5 100644
--- a/gazebo/msgs/msgs.cc
+++ b/gazebo/msgs/msgs.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -2544,7 +2544,7 @@ namespace gazebo
}
// Use the SDF parser to read all the inner xml.
- std::string tmp = "<sdf version='1.5'>";
+ std::string tmp = "<sdf version='" + std::string(SDF_VERSION) + "'>";
tmp += "<plugin name='" + _msg.name() + "' filename='" +
_msg.filename() + "'>";
tmp += _msg.innerxml();
diff --git a/gazebo/msgs/msgs.hh b/gazebo/msgs/msgs.hh
index 28cec55..aaa237b 100644
--- a/gazebo/msgs/msgs.hh
+++ b/gazebo/msgs/msgs.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/msgs/msgs_TEST.cc b/gazebo/msgs/msgs_TEST.cc
index 0d04588..f16ba7b 100644
--- a/gazebo/msgs/msgs_TEST.cc
+++ b/gazebo/msgs/msgs_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Actor.cc b/gazebo/physics/Actor.cc
index cbfc505..fdd3610 100644
--- a/gazebo/physics/Actor.cc
+++ b/gazebo/physics/Actor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Actor.hh b/gazebo/physics/Actor.hh
index d484834..9720f5a 100644
--- a/gazebo/physics/Actor.hh
+++ b/gazebo/physics/Actor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/BallJoint.hh b/gazebo/physics/BallJoint.hh
index c1d712d..1347813 100644
--- a/gazebo/physics/BallJoint.hh
+++ b/gazebo/physics/BallJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Base.cc b/gazebo/physics/Base.cc
index da38df6..e2df2cd 100644
--- a/gazebo/physics/Base.cc
+++ b/gazebo/physics/Base.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Base.hh b/gazebo/physics/Base.hh
index 4580652..fbd268b 100644
--- a/gazebo/physics/Base.hh
+++ b/gazebo/physics/Base.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/BoxShape.cc b/gazebo/physics/BoxShape.cc
index d891852..6241811 100644
--- a/gazebo/physics/BoxShape.cc
+++ b/gazebo/physics/BoxShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/BoxShape.hh b/gazebo/physics/BoxShape.hh
index 6537092..05f8b23 100644
--- a/gazebo/physics/BoxShape.hh
+++ b/gazebo/physics/BoxShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/BoxShape_TEST.cc b/gazebo/physics/BoxShape_TEST.cc
index 6f01199..aaa531b 100644
--- a/gazebo/physics/BoxShape_TEST.cc
+++ b/gazebo/physics/BoxShape_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Collision.cc b/gazebo/physics/Collision.cc
index d630dee..cdec755 100644
--- a/gazebo/physics/Collision.cc
+++ b/gazebo/physics/Collision.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -132,7 +132,7 @@ void Collision::Init()
//////////////////////////////////////////////////
void Collision::SetCollision(bool _placeable)
{
- this->placeable = _placeable;
+ this->SetPlaceable(_placeable);
if (this->IsStatic())
{
@@ -148,6 +148,12 @@ void Collision::SetCollision(bool _placeable)
}
//////////////////////////////////////////////////
+void Collision::SetPlaceable(const bool _placeable)
+{
+ this->placeable = _placeable;
+}
+
+//////////////////////////////////////////////////
bool Collision::IsPlaceable() const
{
return this->placeable;
diff --git a/gazebo/physics/Collision.hh b/gazebo/physics/Collision.hh
index ef48c0d..f5934dc 100644
--- a/gazebo/physics/Collision.hh
+++ b/gazebo/physics/Collision.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -65,9 +65,14 @@ namespace gazebo
public: virtual void UpdateParameters(sdf::ElementPtr _sdf);
/// \brief Set the encapsulated collsion object.
+ /// Has a side effect of changing the collision bit masks
/// \param[in] _placeable True to make the object movable.
public: void SetCollision(bool _placeable);
+ /// \brief Set if this object is moveable
+ /// \param[in] _placeable True to make the object movable.
+ public: void SetPlaceable(const bool _placeable);
+
/// \brief Return whether this collision is movable.
/// Example on an immovable object is a ray.
/// \return True if the object is immovable.
diff --git a/gazebo/physics/CollisionState.cc b/gazebo/physics/CollisionState.cc
index ffed825..9c0c376 100644
--- a/gazebo/physics/CollisionState.cc
+++ b/gazebo/physics/CollisionState.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License")
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/CollisionState.hh b/gazebo/physics/CollisionState.hh
index 12e0e64..3f2166b 100644
--- a/gazebo/physics/CollisionState.hh
+++ b/gazebo/physics/CollisionState.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Contact.cc b/gazebo/physics/Contact.cc
index 3d60a03..41860c7 100644
--- a/gazebo/physics/Contact.cc
+++ b/gazebo/physics/Contact.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Contact.hh b/gazebo/physics/Contact.hh
index 5df0dab..ebf4828 100644
--- a/gazebo/physics/Contact.hh
+++ b/gazebo/physics/Contact.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ContactManager.cc b/gazebo/physics/ContactManager.cc
index ebe478d..bf3c076 100644
--- a/gazebo/physics/ContactManager.cc
+++ b/gazebo/physics/ContactManager.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ContactManager.hh b/gazebo/physics/ContactManager.hh
index 7e85893..9a359c1 100644
--- a/gazebo/physics/ContactManager.hh
+++ b/gazebo/physics/ContactManager.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ContactManager_TEST.cc b/gazebo/physics/ContactManager_TEST.cc
index 8d29a8a..af0cc5e 100644
--- a/gazebo/physics/ContactManager_TEST.cc
+++ b/gazebo/physics/ContactManager_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/CylinderShape.cc b/gazebo/physics/CylinderShape.cc
index 44c7b67..39ba8fe 100644
--- a/gazebo/physics/CylinderShape.cc
+++ b/gazebo/physics/CylinderShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/CylinderShape.hh b/gazebo/physics/CylinderShape.hh
index febac1b..859cd26 100644
--- a/gazebo/physics/CylinderShape.hh
+++ b/gazebo/physics/CylinderShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/CylinderShape_TEST.cc b/gazebo/physics/CylinderShape_TEST.cc
index 7ca4ad9..55bdc71 100644
--- a/gazebo/physics/CylinderShape_TEST.cc
+++ b/gazebo/physics/CylinderShape_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Entity.cc b/gazebo/physics/Entity.cc
index 1290928..82cfd76 100644
--- a/gazebo/physics/Entity.cc
+++ b/gazebo/physics/Entity.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Entity.hh b/gazebo/physics/Entity.hh
index 53a843c..6a14b06 100644
--- a/gazebo/physics/Entity.hh
+++ b/gazebo/physics/Entity.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/FixedJoint.hh b/gazebo/physics/FixedJoint.hh
index d72204e..2096cc3 100644
--- a/gazebo/physics/FixedJoint.hh
+++ b/gazebo/physics/FixedJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/GearboxJoint.hh b/gazebo/physics/GearboxJoint.hh
index 24f1b88..24f34f0 100644
--- a/gazebo/physics/GearboxJoint.hh
+++ b/gazebo/physics/GearboxJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Gripper.cc b/gazebo/physics/Gripper.cc
index 167403f..364c995 100644
--- a/gazebo/physics/Gripper.cc
+++ b/gazebo/physics/Gripper.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Gripper.hh b/gazebo/physics/Gripper.hh
index b684afb..c39f280 100644
--- a/gazebo/physics/Gripper.hh
+++ b/gazebo/physics/Gripper.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/HeightmapShape.cc b/gazebo/physics/HeightmapShape.cc
index 7d4d48f..a76c905 100644
--- a/gazebo/physics/HeightmapShape.cc
+++ b/gazebo/physics/HeightmapShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/HeightmapShape.hh b/gazebo/physics/HeightmapShape.hh
index e524339..2c797ff 100644
--- a/gazebo/physics/HeightmapShape.hh
+++ b/gazebo/physics/HeightmapShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Hinge2Joint.hh b/gazebo/physics/Hinge2Joint.hh
index 6e67bc1..00d470f 100644
--- a/gazebo/physics/Hinge2Joint.hh
+++ b/gazebo/physics/Hinge2Joint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/HingeJoint.hh b/gazebo/physics/HingeJoint.hh
index 97f7678..dc5c2bd 100644
--- a/gazebo/physics/HingeJoint.hh
+++ b/gazebo/physics/HingeJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Inertial.cc b/gazebo/physics/Inertial.cc
index 1e961ed..fae370b 100644
--- a/gazebo/physics/Inertial.cc
+++ b/gazebo/physics/Inertial.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Inertial.hh b/gazebo/physics/Inertial.hh
index 9702f99..85a588b 100644
--- a/gazebo/physics/Inertial.hh
+++ b/gazebo/physics/Inertial.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Inertial_TEST.cc b/gazebo/physics/Inertial_TEST.cc
index 5937ff9..720b9aa 100644
--- a/gazebo/physics/Inertial_TEST.cc
+++ b/gazebo/physics/Inertial_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Joint.cc b/gazebo/physics/Joint.cc
index f7864df..babf106 100644
--- a/gazebo/physics/Joint.cc
+++ b/gazebo/physics/Joint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Joint.hh b/gazebo/physics/Joint.hh
index 7cf0ecf..2aa4e04 100644
--- a/gazebo/physics/Joint.hh
+++ b/gazebo/physics/Joint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/JointController.cc b/gazebo/physics/JointController.cc
index b61da86..efe6ef9 100644
--- a/gazebo/physics/JointController.cc
+++ b/gazebo/physics/JointController.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/JointController.hh b/gazebo/physics/JointController.hh
index 8acd564..cd116bb 100644
--- a/gazebo/physics/JointController.hh
+++ b/gazebo/physics/JointController.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/JointControllerPrivate.hh b/gazebo/physics/JointControllerPrivate.hh
index a1719d6..c765a4e 100644
--- a/gazebo/physics/JointControllerPrivate.hh
+++ b/gazebo/physics/JointControllerPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/JointController_TEST.cc b/gazebo/physics/JointController_TEST.cc
index b70bfe4..77aa888 100644
--- a/gazebo/physics/JointController_TEST.cc
+++ b/gazebo/physics/JointController_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/JointState.cc b/gazebo/physics/JointState.cc
index 56d81c5..731c4e7 100644
--- a/gazebo/physics/JointState.cc
+++ b/gazebo/physics/JointState.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License")
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/JointState.hh b/gazebo/physics/JointState.hh
index 726b008..754cc76 100644
--- a/gazebo/physics/JointState.hh
+++ b/gazebo/physics/JointState.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/JointWrench.hh b/gazebo/physics/JointWrench.hh
index dc79f2b..ec265aa 100644
--- a/gazebo/physics/JointWrench.hh
+++ b/gazebo/physics/JointWrench.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Light.cc b/gazebo/physics/Light.cc
index 5cb74a3..11489cf 100644
--- a/gazebo/physics/Light.cc
+++ b/gazebo/physics/Light.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Light.hh b/gazebo/physics/Light.hh
index 8f6ec5c..2febaf3 100644
--- a/gazebo/physics/Light.hh
+++ b/gazebo/physics/Light.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/LightState.cc b/gazebo/physics/LightState.cc
index 64421a4..4f22c19 100644
--- a/gazebo/physics/LightState.cc
+++ b/gazebo/physics/LightState.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License")
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/LightState.hh b/gazebo/physics/LightState.hh
index bb2e751..49f9d8c 100644
--- a/gazebo/physics/LightState.hh
+++ b/gazebo/physics/LightState.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/LightState_TEST.cc b/gazebo/physics/LightState_TEST.cc
index 1b51198..5297bf7 100644
--- a/gazebo/physics/LightState_TEST.cc
+++ b/gazebo/physics/LightState_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Light_TEST.cc b/gazebo/physics/Light_TEST.cc
index 683a11a..992be23 100644
--- a/gazebo/physics/Light_TEST.cc
+++ b/gazebo/physics/Light_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Link.cc b/gazebo/physics/Link.cc
index 5dde74b..d901432 100644
--- a/gazebo/physics/Link.cc
+++ b/gazebo/physics/Link.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Link.hh b/gazebo/physics/Link.hh
index 1271ac7..e0172ee 100644
--- a/gazebo/physics/Link.hh
+++ b/gazebo/physics/Link.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/LinkState.cc b/gazebo/physics/LinkState.cc
index 9cf2d80..0ad8ec2 100644
--- a/gazebo/physics/LinkState.cc
+++ b/gazebo/physics/LinkState.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License")
* you may not use this file except in compliance with the License.
@@ -24,6 +24,10 @@
using namespace gazebo;
using namespace physics;
+// TODO declared here for ABI compatibility
+// move to class member variable when merging forward.
+static bool gRecordVelocity = false;
+
/////////////////////////////////////////////////
LinkState::LinkState()
: State()
@@ -363,3 +367,15 @@ void LinkState::SetIterations(const uint64_t _iterations)
for (auto &collisionState : this->collisionStates)
collisionState.SetIterations(_iterations);
}
+
+/////////////////////////////////////////////////
+void LinkState::SetRecordVelocity(const bool _record)
+{
+ gRecordVelocity = _record;
+}
+
+/////////////////////////////////////////////////
+bool LinkState::RecordVelocity() const
+{
+ return gRecordVelocity;
+}
diff --git a/gazebo/physics/LinkState.hh b/gazebo/physics/LinkState.hh
index 7efb9ac..23e9ba7 100644
--- a/gazebo/physics/LinkState.hh
+++ b/gazebo/physics/LinkState.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,6 +21,7 @@
#ifndef _LINKSTATE_HH_
#define _LINKSTATE_HH_
+#include <iostream>
#include <vector>
#include <string>
@@ -189,28 +190,33 @@ namespace gazebo
const gazebo::physics::LinkState &_state)
{
math::Vector3 q(_state.pose.rot.GetAsEuler());
- _out << std::fixed <<std::setprecision(5)
+ _out.unsetf(std::ios_base::floatfield);
+ _out << std::setprecision(4)
<< "<link name='" << _state.name << "'>"
<< "<pose>"
- << _state.pose.pos.x << " "
- << _state.pose.pos.y << " "
- << _state.pose.pos.z << " "
- << q.x << " "
- << q.y << " "
- << q.z << " "
+ << ignition::math::precision(_state.pose.pos.x, 4) << " "
+ << ignition::math::precision(_state.pose.pos.y, 4) << " "
+ << ignition::math::precision(_state.pose.pos.z, 4) << " "
+ << ignition::math::precision(q.x, 4) << " "
+ << ignition::math::precision(q.y, 4) << " "
+ << ignition::math::precision(q.z, 4) << " "
<< "</pose>";
- /// Disabling this for efficiency.
- q = _state.velocity.rot.GetAsEuler();
- _out << std::fixed <<std::setprecision(4)
- << "<velocity>"
- << _state.velocity.pos.x << " "
- << _state.velocity.pos.y << " "
- << _state.velocity.pos.z << " "
- << q.x << " "
- << q.y << " "
- << q.z << " "
- << "</velocity>";
+ if (_state.RecordVelocity())
+ {
+ /// Disabling this for efficiency.
+ q = _state.velocity.rot.GetAsEuler();
+ _out.unsetf(std::ios_base::floatfield);
+ _out << std::setprecision(4)
+ << "<velocity>"
+ << ignition::math::precision(_state.velocity.pos.x, 4) << " "
+ << ignition::math::precision(_state.velocity.pos.y, 4) << " "
+ << ignition::math::precision(_state.velocity.pos.z, 4) << " "
+ << ignition::math::precision(q.x, 4) << " "
+ << ignition::math::precision(q.y, 4) << " "
+ << ignition::math::precision(q.z, 4) << " "
+ << "</velocity>";
+ }
// << "<acceleration>" << _state.acceleration << "</acceleration>"
// << "<wrench>" << _state.wrench << "</wrench>";
@@ -227,6 +233,15 @@ namespace gazebo
return _out;
}
+ /// \brief Set whether to record link velocity
+ /// \param[in] _record True to record link velocity, false to leave it
+ /// out of the log
+ public: void SetRecordVelocity(const bool _record);
+
+ /// \brief Get whether link velocity is recorded
+ /// \return True if link velocity is recorded
+ public: bool RecordVelocity() const;
+
/// \brief 3D pose of the link relative to the model.
private: math::Pose pose;
diff --git a/gazebo/physics/MapShape.cc b/gazebo/physics/MapShape.cc
index c52b363..f79ba09 100644
--- a/gazebo/physics/MapShape.cc
+++ b/gazebo/physics/MapShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/MapShape.hh b/gazebo/physics/MapShape.hh
index e5d599e..fc3c715 100644
--- a/gazebo/physics/MapShape.hh
+++ b/gazebo/physics/MapShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/MeshShape.cc b/gazebo/physics/MeshShape.cc
index 11cf4bf..f335c0d 100644
--- a/gazebo/physics/MeshShape.cc
+++ b/gazebo/physics/MeshShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/MeshShape.hh b/gazebo/physics/MeshShape.hh
index 5f5fff1..993295e 100644
--- a/gazebo/physics/MeshShape.hh
+++ b/gazebo/physics/MeshShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Model.cc b/gazebo/physics/Model.cc
index 63f9e53..d0c56a2 100644
--- a/gazebo/physics/Model.cc
+++ b/gazebo/physics/Model.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -569,8 +569,7 @@ const sdf::ElementPtr Model::UnscaledSDF()
}
else if (geomElem->HasElement("mesh"))
{
- geomElem->GetElement("mesh")->GetElement("scale")->Set(
- ignition::math::Vector3d::One);
+ // Keep mesh scale because meshes can't be scaled yet (issue #1473)
}
visualElem = visualElem->GetNextElement("visual");
@@ -613,8 +612,7 @@ const sdf::ElementPtr Model::UnscaledSDF()
}
else if (geomElem->HasElement("mesh"))
{
- geomElem->GetElement("mesh")->GetElement("scale")->Set(
- ignition::math::Vector3d::One);
+ // Keep mesh scale because meshes can't be scaled yet (issue #1473)
}
collisionElem = collisionElem->GetNextElement("collision");
@@ -951,6 +949,32 @@ void Model::LoadGripper(sdf::ElementPtr _sdf)
}
//////////////////////////////////////////////////
+std::vector<std::string> Model::SensorScopedName(
+ const std::string &_name) const
+{
+ std::vector<std::string> names;
+ for (Link_V::const_iterator iter = this->links.begin();
+ iter != this->links.end(); ++iter)
+ {
+ for (unsigned int j = 0; j < (*iter)->GetSensorCount(); ++j)
+ {
+ const auto sensorName = (*iter)->GetSensorName(j);
+ if (sensorName.size() < _name.size())
+ {
+ continue;
+ }
+ if (sensorName.substr(sensorName.size() - _name.size(), _name.size()) ==
+ _name)
+ {
+ names.push_back(sensorName);
+ }
+ }
+ }
+
+ return names;
+}
+
+//////////////////////////////////////////////////
void Model::LoadPlugins()
{
// Check to see if we need to load any model plugins
diff --git a/gazebo/physics/Model.hh b/gazebo/physics/Model.hh
index f773b0f..498ab21 100644
--- a/gazebo/physics/Model.hh
+++ b/gazebo/physics/Model.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -345,6 +345,21 @@ namespace gazebo
/// \return Number of sensors.
public: unsigned int GetSensorCount() const;
+ /// \brief Get scoped sensor name(s) in the model that matches
+ /// sensor name.
+ ///
+ /// Get the names of sensors in the model where sensor
+ /// name matches the user provided argument.
+ /// \note A Model does not manage or maintain a pointer to a
+ /// sensors::Sensor. Access to a Sensor object
+ /// is accomplished through the sensors::SensorManager. This was done to
+ /// separate the physics engine from the sensor engine.
+ /// \param[in] _name Unscoped sensor name.
+ /// \return The scoped name of the sensor(s),
+ /// or empty list if not found.
+ public: std::vector<std::string> SensorScopedName(
+ const std::string &_name) const;
+
/// \brief Get a handle to the Controller for the joints in this model.
/// \return A handle to the Controller for the joints in this model.
public: JointControllerPtr GetJointController();
diff --git a/gazebo/physics/ModelState.cc b/gazebo/physics/ModelState.cc
index c62c8a6..9dab655 100644
--- a/gazebo/physics/ModelState.cc
+++ b/gazebo/physics/ModelState.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License")
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ModelState.hh b/gazebo/physics/ModelState.hh
index 079a558..71b7fcb 100644
--- a/gazebo/physics/ModelState.hh
+++ b/gazebo/physics/ModelState.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -244,19 +244,21 @@ namespace gazebo
const gazebo::physics::ModelState &_state)
{
math::Vector3 q(_state.pose.rot.GetAsEuler());
- _out << std::fixed <<std::setprecision(3)
+ _out.unsetf(std::ios_base::floatfield);
+ _out << std::setprecision(3)
<< "<model name='" << _state.GetName() << "'>"
<< "<pose>"
- << _state.pose.pos.x << " "
- << _state.pose.pos.y << " "
- << _state.pose.pos.z << " "
- << q.x << " "
- << q.y << " "
- << q.z << " "
- << "</pose>"
- << "<scale>"
- << _state.scale
- << "</scale>";
+ << ignition::math::precision(_state.pose.pos.x, 4) << " "
+ << ignition::math::precision(_state.pose.pos.y, 4) << " "
+ << ignition::math::precision(_state.pose.pos.z, 4) << " "
+ << ignition::math::precision(q.x, 4) << " "
+ << ignition::math::precision(q.y, 4) << " "
+ << ignition::math::precision(q.z, 4) << " "
+ << "</pose>";
+
+ // Only record scale if it is not the default value of [1, 1, 1].
+ if (_state.scale != ignition::math::Vector3d::One)
+ _out << "<scale>" << _state.scale << "</scale>";
for (LinkState_M::const_iterator iter =
_state.linkStates.begin(); iter != _state.linkStates.end();
diff --git a/gazebo/physics/ModelState_TEST.cc b/gazebo/physics/ModelState_TEST.cc
index 29878e6..e6236a0 100644
--- a/gazebo/physics/ModelState_TEST.cc
+++ b/gazebo/physics/ModelState_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Model_TEST.cc b/gazebo/physics/Model_TEST.cc
index 2c44929..e39d497 100644
--- a/gazebo/physics/Model_TEST.cc
+++ b/gazebo/physics/Model_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -56,6 +56,32 @@ TEST_F(ModelTest, Scale)
}
//////////////////////////////////////////////////
+TEST_F(ModelTest, NestedModelSensorScopedName)
+{
+ this->Load("test/worlds/deeply_nested_models.world", true);
+
+ auto world = physics::get_world("default");
+ ASSERT_TRUE(world != nullptr);
+
+ auto model = world->GetModel("model_03");
+ ASSERT_TRUE(model != nullptr);
+
+ gzmsg << "Get a scoped sensor name" << std::endl;
+
+ const std::vector<std::string> imuScopedName =
+ model->SensorScopedName("imu_sensor");
+ ASSERT_EQ(imuScopedName.size(), static_cast<unsigned int>(1));
+ EXPECT_EQ(imuScopedName[0],
+ "default::model_00::model_01::model_02::model_03::imu_link::imu_sensor");
+
+ gzmsg << "Get a nonexistent scoped sensor name" << std::endl;
+
+ const std::vector<std::string> noScopedName =
+ model->SensorScopedName("no_sensor");
+ ASSERT_EQ(noScopedName.size(), static_cast<unsigned int>(0));
+}
+
+//////////////////////////////////////////////////
int main(int argc, char **argv)
{
::testing::InitGoogleTest(&argc, argv);
diff --git a/gazebo/physics/MultiRayShape.cc b/gazebo/physics/MultiRayShape.cc
index e889cbc..8eade86 100644
--- a/gazebo/physics/MultiRayShape.cc
+++ b/gazebo/physics/MultiRayShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/MultiRayShape.hh b/gazebo/physics/MultiRayShape.hh
index 92d0fb3..83616c7 100644
--- a/gazebo/physics/MultiRayShape.hh
+++ b/gazebo/physics/MultiRayShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/PhysicsEngine.cc b/gazebo/physics/PhysicsEngine.cc
index 0a65ba0..9495ebf 100644
--- a/gazebo/physics/PhysicsEngine.cc
+++ b/gazebo/physics/PhysicsEngine.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/PhysicsEngine.hh b/gazebo/physics/PhysicsEngine.hh
index 97aa7eb..1e30622 100644
--- a/gazebo/physics/PhysicsEngine.hh
+++ b/gazebo/physics/PhysicsEngine.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/PhysicsEngine_TEST.cc b/gazebo/physics/PhysicsEngine_TEST.cc
index 0548584..c0a9c63 100644
--- a/gazebo/physics/PhysicsEngine_TEST.cc
+++ b/gazebo/physics/PhysicsEngine_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/PhysicsFactory.cc b/gazebo/physics/PhysicsFactory.cc
index e121644..6949f1e 100644
--- a/gazebo/physics/PhysicsFactory.cc
+++ b/gazebo/physics/PhysicsFactory.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/PhysicsFactory.hh b/gazebo/physics/PhysicsFactory.hh
index 9d41082..520a9b7 100644
--- a/gazebo/physics/PhysicsFactory.hh
+++ b/gazebo/physics/PhysicsFactory.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/PhysicsIface.cc b/gazebo/physics/PhysicsIface.cc
index bdb00e5..f174dcf 100644
--- a/gazebo/physics/PhysicsIface.cc
+++ b/gazebo/physics/PhysicsIface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/PhysicsIface.hh b/gazebo/physics/PhysicsIface.hh
index 52928de..ceaec45 100644
--- a/gazebo/physics/PhysicsIface.hh
+++ b/gazebo/physics/PhysicsIface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/PhysicsTypes.hh b/gazebo/physics/PhysicsTypes.hh
index af9d702..fa6c215 100644
--- a/gazebo/physics/PhysicsTypes.hh
+++ b/gazebo/physics/PhysicsTypes.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/PlaneShape.cc b/gazebo/physics/PlaneShape.cc
index 291f6d5..2513e66 100644
--- a/gazebo/physics/PlaneShape.cc
+++ b/gazebo/physics/PlaneShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/PlaneShape.hh b/gazebo/physics/PlaneShape.hh
index 3ab8526..53c615c 100644
--- a/gazebo/physics/PlaneShape.hh
+++ b/gazebo/physics/PlaneShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/PolylineShape.cc b/gazebo/physics/PolylineShape.cc
index 842ff32..260c146 100644
--- a/gazebo/physics/PolylineShape.cc
+++ b/gazebo/physics/PolylineShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/PolylineShape.hh b/gazebo/physics/PolylineShape.hh
index cf16c4c..75ce43c 100644
--- a/gazebo/physics/PolylineShape.hh
+++ b/gazebo/physics/PolylineShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Population.cc b/gazebo/physics/Population.cc
index e754f40..ce5d96b 100644
--- a/gazebo/physics/Population.cc
+++ b/gazebo/physics/Population.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Population.hh b/gazebo/physics/Population.hh
index 0d78263..733865e 100644
--- a/gazebo/physics/Population.hh
+++ b/gazebo/physics/Population.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/PopulationPrivate.hh b/gazebo/physics/PopulationPrivate.hh
index e6ee3e0..cb85e02 100644
--- a/gazebo/physics/PopulationPrivate.hh
+++ b/gazebo/physics/PopulationPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/PresetManager.cc b/gazebo/physics/PresetManager.cc
index 7e0abf2..5928909 100644
--- a/gazebo/physics/PresetManager.cc
+++ b/gazebo/physics/PresetManager.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/PresetManager.hh b/gazebo/physics/PresetManager.hh
index 3078c48..2fe37d4 100644
--- a/gazebo/physics/PresetManager.hh
+++ b/gazebo/physics/PresetManager.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/PresetManagerPrivate.hh b/gazebo/physics/PresetManagerPrivate.hh
index cad6387..c45812b 100644
--- a/gazebo/physics/PresetManagerPrivate.hh
+++ b/gazebo/physics/PresetManagerPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/PresetManager_TEST.cc b/gazebo/physics/PresetManager_TEST.cc
index c7bad3a..41c2c1b 100644
--- a/gazebo/physics/PresetManager_TEST.cc
+++ b/gazebo/physics/PresetManager_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/RayShape.cc b/gazebo/physics/RayShape.cc
index 28a57d8..08a8628 100644
--- a/gazebo/physics/RayShape.cc
+++ b/gazebo/physics/RayShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/RayShape.hh b/gazebo/physics/RayShape.hh
index 0440626..da992ae 100644
--- a/gazebo/physics/RayShape.hh
+++ b/gazebo/physics/RayShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Road.cc b/gazebo/physics/Road.cc
index d24b3f1..cdac9b6 100644
--- a/gazebo/physics/Road.cc
+++ b/gazebo/physics/Road.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Road.hh b/gazebo/physics/Road.hh
index 78d3c45..33bf40d 100644
--- a/gazebo/physics/Road.hh
+++ b/gazebo/physics/Road.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Road_TEST.cc b/gazebo/physics/Road_TEST.cc
index 946824c..4ebabd0 100644
--- a/gazebo/physics/Road_TEST.cc
+++ b/gazebo/physics/Road_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ScrewJoint.hh b/gazebo/physics/ScrewJoint.hh
index d73cb47..5d8afa0 100644
--- a/gazebo/physics/ScrewJoint.hh
+++ b/gazebo/physics/ScrewJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Shape.cc b/gazebo/physics/Shape.cc
index 5fe8cd2..6d17745 100644
--- a/gazebo/physics/Shape.cc
+++ b/gazebo/physics/Shape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/Shape.hh b/gazebo/physics/Shape.hh
index 7fc4dd7..ab5b38d 100644
--- a/gazebo/physics/Shape.hh
+++ b/gazebo/physics/Shape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/SliderJoint.hh b/gazebo/physics/SliderJoint.hh
index 3264ddb..06913af 100644
--- a/gazebo/physics/SliderJoint.hh
+++ b/gazebo/physics/SliderJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/SphereShape.cc b/gazebo/physics/SphereShape.cc
index bd886e8..5805674 100644
--- a/gazebo/physics/SphereShape.cc
+++ b/gazebo/physics/SphereShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/SphereShape.hh b/gazebo/physics/SphereShape.hh
index 583a0c7..630ac5d 100644
--- a/gazebo/physics/SphereShape.hh
+++ b/gazebo/physics/SphereShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/SphereShape_TEST.cc b/gazebo/physics/SphereShape_TEST.cc
index 570ff3d..558c121 100644
--- a/gazebo/physics/SphereShape_TEST.cc
+++ b/gazebo/physics/SphereShape_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/State.cc b/gazebo/physics/State.cc
index 196888d..8364382 100644
--- a/gazebo/physics/State.cc
+++ b/gazebo/physics/State.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/State.hh b/gazebo/physics/State.hh
index 6689834..8081e68 100644
--- a/gazebo/physics/State.hh
+++ b/gazebo/physics/State.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/SurfaceParams.cc b/gazebo/physics/SurfaceParams.cc
index 95be295..6772242 100644
--- a/gazebo/physics/SurfaceParams.cc
+++ b/gazebo/physics/SurfaceParams.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/SurfaceParams.hh b/gazebo/physics/SurfaceParams.hh
index 55aed1a..7444467 100644
--- a/gazebo/physics/SurfaceParams.hh
+++ b/gazebo/physics/SurfaceParams.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/UniversalJoint.hh b/gazebo/physics/UniversalJoint.hh
index 5a66193..2daa3bd 100644
--- a/gazebo/physics/UniversalJoint.hh
+++ b/gazebo/physics/UniversalJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/UserCmdManager.cc b/gazebo/physics/UserCmdManager.cc
index 9b6d792..0869c08 100644
--- a/gazebo/physics/UserCmdManager.cc
+++ b/gazebo/physics/UserCmdManager.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/UserCmdManager.hh b/gazebo/physics/UserCmdManager.hh
index f0618c9..f81b266 100644
--- a/gazebo/physics/UserCmdManager.hh
+++ b/gazebo/physics/UserCmdManager.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/UserCmdManagerPrivate.hh b/gazebo/physics/UserCmdManagerPrivate.hh
index 6b088e6..74b60b8 100644
--- a/gazebo/physics/UserCmdManagerPrivate.hh
+++ b/gazebo/physics/UserCmdManagerPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/UserCmdManager_TEST.cc b/gazebo/physics/UserCmdManager_TEST.cc
index 2d3040e..a23f28a 100644
--- a/gazebo/physics/UserCmdManager_TEST.cc
+++ b/gazebo/physics/UserCmdManager_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/World.cc b/gazebo/physics/World.cc
index 5c3a2db..0d3b6c9 100644
--- a/gazebo/physics/World.cc
+++ b/gazebo/physics/World.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -451,6 +451,7 @@ void World::RunLoop()
// Get the first state
this->dataPtr->prevStates[0] = WorldState(shared_from_this());
this->dataPtr->prevStates[1] = WorldState(shared_from_this());
+
this->dataPtr->stateToggle = 0;
this->dataPtr->logThread =
@@ -2545,36 +2546,70 @@ void World::LogWorker()
while (!this->dataPtr->stop)
{
- int currState = (this->dataPtr->stateToggle + 1) % 2;
-
- this->dataPtr->prevStates[currState].Load(self);
- WorldState diffState = this->dataPtr->prevStates[currState] -
- this->dataPtr->prevStates[this->dataPtr->stateToggle];
- this->dataPtr->logPrevIteration = this->dataPtr->iterations;
+ // get unfiltered world state
+ WorldState unfilteredState;
+ {
+ boost::mutex::scoped_lock dLock(this->dataPtr->entityDeleteMutex);
+ unfilteredState.Load(self);
+ }
- if (!diffState.IsZero())
+ // compute world state diff and find out about insertions and deletions
+ std::vector<std::string> insertions;
+ std::vector<std::string> deletions;
+ bool insertDelete = false;
+ if (this->dataPtr->logLastStateTime != common::Time::Zero)
{
- this->dataPtr->stateToggle = currState;
+ WorldState unfilteredDiffState = unfilteredState -
+ this->dataPtr->prevUnfilteredState;
+ if (!unfilteredDiffState.IsZero())
{
- // Store the entire current state (instead of the diffState). A slow
- // moving link may never be captured if only diff state is recorded.
- boost::mutex::scoped_lock bLock(this->dataPtr->logBufferMutex);
+ insertions = unfilteredDiffState.Insertions();
+ deletions = unfilteredDiffState.Deletions();
+ insertDelete = !insertions.empty() || !deletions.empty();
+ }
+ }
+ this->dataPtr->prevUnfilteredState = unfilteredState;
- auto insertions = diffState.Insertions();
- this->dataPtr->prevStates[currState].SetInsertions(insertions);
- auto deletions = diffState.Deletions();
- this->dataPtr->prevStates[currState].SetDeletions(deletions);
+ // Throttle state capture based on log recording frequency.
+ auto simTime = this->GetSimTime();
+ if ((simTime - this->dataPtr->logLastStateTime >=
+ util::LogRecord::Instance()->Period()) || insertDelete)
+ {
+ int currState = (this->dataPtr->stateToggle + 1) % 2;
- this->dataPtr->states[this->dataPtr->currentStateBuffer].push_back(
- this->dataPtr->prevStates[currState]);
+ std::string filterStr = util::LogRecord::Instance()->Filter();
+ // compute diff for filtered states
+ {
+ boost::mutex::scoped_lock dLock(this->dataPtr->entityDeleteMutex);
+ this->dataPtr->prevStates[currState].LoadWithFilter(self, filterStr);
+ }
+ WorldState diffState = this->dataPtr->prevStates[currState] -
+ this->dataPtr->prevStates[this->dataPtr->stateToggle];
+ this->dataPtr->logPrevIteration = this->dataPtr->iterations;
- // Tell the logger to update, once the number of states exceeds 1000
- if (this->dataPtr->states[this->dataPtr->currentStateBuffer].size() >
- 1000)
+ if (!diffState.IsZero() || insertDelete)
+ {
+ this->dataPtr->stateToggle = currState;
{
- util::LogRecord::Instance()->Notify();
+ // Store the entire current state (instead of the diffState). A slow
+ // moving link may never be captured if only diff state is recorded.
+ boost::mutex::scoped_lock bLock(this->dataPtr->logBufferMutex);
+
+ this->dataPtr->prevStates[currState].SetInsertions(insertions);
+ this->dataPtr->prevStates[currState].SetDeletions(deletions);
+ this->dataPtr->states[this->dataPtr->currentStateBuffer].push_back(
+ this->dataPtr->prevStates[currState]);
+
+ // Tell the logger to update, once the number of states exceeds 1000
+ if (this->dataPtr->states[this->dataPtr->currentStateBuffer].size() >
+ 1000)
+ {
+ util::LogRecord::Instance()->Notify();
+ }
}
}
+
+ this->dataPtr->logLastStateTime = simTime;
}
this->dataPtr->logContinueCondition.notify_all();
diff --git a/gazebo/physics/World.hh b/gazebo/physics/World.hh
index 0cb32fb..053bc60 100644
--- a/gazebo/physics/World.hh
+++ b/gazebo/physics/World.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/WorldPrivate.hh b/gazebo/physics/WorldPrivate.hh
index 34bc5d2..0bb49b6 100644
--- a/gazebo/physics/WorldPrivate.hh
+++ b/gazebo/physics/WorldPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -243,6 +243,10 @@ namespace gazebo
/// \brief Buffer of prev states
public: WorldState prevStates[2];
+ /// \brief Previous unfiltered state. Used for determining insertions
+ /// and deletions
+ public: WorldState prevUnfilteredState;
+
/// \brief Int used to toggle between prevStates
public: int stateToggle;
@@ -323,6 +327,9 @@ namespace gazebo
/// \brief True if sensors have been initialized. This should be set
/// by the SensorManager.
public: std::atomic_bool sensorsInitialized;
+
+ /// \brief Simulation time of the last log state captured.
+ public: gazebo::common::Time logLastStateTime;
};
}
}
diff --git a/gazebo/physics/WorldState.cc b/gazebo/physics/WorldState.cc
index c75ada0..7457b1f 100644
--- a/gazebo/physics/WorldState.cc
+++ b/gazebo/physics/WorldState.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -23,6 +23,7 @@
// pulled in by anybody (e.g., Boost).
#include <Winsock2.h>
#endif
+#include <boost/algorithm/string.hpp>
#include "gazebo/common/Console.hh"
#include "gazebo/common/Exception.hh"
@@ -34,10 +35,15 @@
using namespace gazebo;
using namespace physics;
+// TODO added here for ABI compatibility
+// move to class when merging forward
+static std::string worldStateFilter;
+
/////////////////////////////////////////////////
WorldState::WorldState()
: State()
{
+ worldStateFilter = "";
}
/////////////////////////////////////////////////
@@ -80,6 +86,14 @@ WorldState::~WorldState()
}
/////////////////////////////////////////////////
+void WorldState::LoadWithFilter(const WorldPtr _world,
+ const std::string &_filter)
+{
+ worldStateFilter = _filter;
+ this->Load(_world);
+}
+
+/////////////////////////////////////////////////
void WorldState::Load(const WorldPtr _world)
{
this->world = _world;
@@ -89,13 +103,41 @@ void WorldState::Load(const WorldPtr _world)
this->realTime = _world->GetRealTime();
this->iterations = _world->GetIterations();
- // Add a state for all the models
+ std::string filter = worldStateFilter;
+ std::list<std::string> mainParts, parts;
+ boost::split(mainParts, filter, boost::is_any_of("/"));
+
+ // Create the model filter
+ if (!mainParts.empty())
+ {
+ boost::split(parts, mainParts.front(), boost::is_any_of("."));
+ if (parts.empty() && !mainParts.front().empty())
+ parts.push_back(mainParts.front());
+ }
+ std::list<std::string>::iterator partIter = parts.begin();
+
+ // Add a state for all the models that match the filter
Model_V models = _world->GetModels();
for (Model_V::const_iterator iter = models.begin();
iter != models.end(); ++iter)
{
- this->modelStates[(*iter)->GetName()].Load(*iter, this->realTime,
- this->simTime, this->iterations);
+ bool add = true;
+
+ // The first element in the filter must be a model name or a star.
+ if (partIter != parts.end() && !parts.empty() &&
+ !(*partIter).empty() && (*partIter) != "*")
+ {
+ std::string regexStr = *partIter;
+ boost::replace_all(regexStr, "*", ".*");
+ boost::regex regex(regexStr);
+ add = boost::regex_match((*iter)->GetName(), regex);
+ }
+
+ if (add)
+ {
+ this->modelStates[(*iter)->GetName()].Load(*iter, this->realTime,
+ this->simTime, this->iterations);
+ }
}
// Remove models that no longer exist. We determine this by check the time
@@ -389,12 +431,11 @@ WorldState WorldState::operator-(const WorldState &_state) const
}
// Add in the new model states
- for (ModelState_M::const_iterator iter =
- this->modelStates.begin(); iter != this->modelStates.end(); ++iter)
+ for (const auto &modelState : this->modelStates)
{
- if (!_state.HasModelState(iter->second.GetName()) && this->world)
+ if (!_state.HasModelState(modelState.second.GetName()) && this->world)
{
- ModelPtr model = this->world->GetModel(iter->second.GetName());
+ ModelPtr model = this->world->GetModel(modelState.second.GetName());
if (model)
result.insertions.push_back(model->UnscaledSDF()->ToString(""));
}
diff --git a/gazebo/physics/WorldState.hh b/gazebo/physics/WorldState.hh
index afb5c89..93ba882 100644
--- a/gazebo/physics/WorldState.hh
+++ b/gazebo/physics/WorldState.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -70,6 +70,14 @@ namespace gazebo
/// \param[in] _world Pointer to a world
public: void Load(const WorldPtr _world);
+ /// \brief Load from a World pointer.
+ ///
+ /// Generate a WorldState from an instance of a World.
+ /// \param[in] _world Pointer to a world
+ /// \param[in] _filter String for filtering models states
+ public: void LoadWithFilter(const WorldPtr _world,
+ const std::string &_filter);
+
/// \brief Load state from SDF element.
///
/// Set a WorldState from an SDF element containing WorldState info.
diff --git a/gazebo/physics/WorldState_TEST.cc b/gazebo/physics/WorldState_TEST.cc
index 6e85e9a..d622c18 100644
--- a/gazebo/physics/WorldState_TEST.cc
+++ b/gazebo/physics/WorldState_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -262,6 +262,78 @@ TEST_F(WorldStateTest, OperatorsNoInsertionsDeletions)
}
//////////////////////////////////////////////////
+TEST_F(WorldStateTest, InsertionOfMeshModel)
+{
+ // Load a world
+ this->Load("worlds/empty.world", true);
+ physics::WorldPtr world = physics::get_world("default");
+
+ // Create a world state
+ physics::WorldState worldState0(world);
+
+ // Insert a model with a scaled mesh
+ msgs::Factory msg;
+ std::ostringstream newModelStr;
+
+ newModelStr << "<sdf version='" << SDF_VERSION << "'>"
+ << "<model name ='test_model'>"
+ << "<pose>2 2 2 0.1 0.1 0.1</pose>"
+ << "<link name ='link'>"
+ << " <collision name ='collision'>"
+ << " <geometry>"
+ << " <mesh>"
+ << " <uri>" << std::string(PROJECT_SOURCE_PATH)
+ << "/test/data/box_offset.dae</uri>"
+ << " <scale>0.2 0.3 0.4</scale>"
+ << " </mesh>"
+ << " </geometry>"
+ << " </collision>"
+ << " <visual name ='visual'>"
+ << " <geometry>"
+ << " <mesh>"
+ << " <uri>" << std::string(PROJECT_SOURCE_PATH)
+ << "/test/data/box_offset.dae</uri>"
+ << " <scale>0.5 0.6 0.7</scale>"
+ << " </mesh>"
+ << " </geometry>"
+ << " </visual>"
+ << "</link>"
+ << "</model>"
+ << "</sdf>";
+
+ msg.set_sdf(newModelStr.str());
+ this->factoryPub->Publish(msg);
+
+ this->WaitUntilEntitySpawn("test_model", 100, 100);
+ ASSERT_TRUE(world->GetModel("test_model") != nullptr);
+
+ // Create a new world state
+ physics::WorldState worldState1(world);
+
+ // Check that the 2nd state has more entities
+ EXPECT_EQ(worldState0.GetModelStateCount(), 1u);
+ EXPECT_EQ(worldState1.GetModelStateCount(), 2u);
+
+ // Difference between states to generate insertion
+ auto worldState2 = worldState1 - worldState0;
+ EXPECT_FALSE(worldState2.IsZero());
+
+ // Check there were no deletions
+ auto deletions = worldState2.Deletions();
+ EXPECT_EQ(deletions.size(), 0u);
+
+ // Check the old entity disappears and the new entity appears as insertion
+ EXPECT_EQ(worldState2.GetModelStateCount(), 0u);
+ auto insertions = worldState2.Insertions();
+ EXPECT_EQ(insertions.size(), 1u);
+
+ // Check that inserted entity's scale wasn't changed
+ auto inserted = insertions[0];
+ EXPECT_TRUE(inserted.find("<scale>0.2 0.3 0.4</scale>") != std::string::npos);
+ EXPECT_TRUE(inserted.find("<scale>0.5 0.6 0.7</scale>") != std::string::npos);
+}
+
+//////////////////////////////////////////////////
TEST_F(WorldStateTest, Times)
{
// Load a world
diff --git a/gazebo/physics/bullet/BulletBallJoint.cc b/gazebo/physics/bullet/BulletBallJoint.cc
index 3b42c39..f8ca492 100644
--- a/gazebo/physics/bullet/BulletBallJoint.cc
+++ b/gazebo/physics/bullet/BulletBallJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletBallJoint.hh b/gazebo/physics/bullet/BulletBallJoint.hh
index 760f3eb..8422180 100644
--- a/gazebo/physics/bullet/BulletBallJoint.hh
+++ b/gazebo/physics/bullet/BulletBallJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletBoxShape.hh b/gazebo/physics/bullet/BulletBoxShape.hh
index 96bec06..c1ea1e9 100644
--- a/gazebo/physics/bullet/BulletBoxShape.hh
+++ b/gazebo/physics/bullet/BulletBoxShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletCollision.cc b/gazebo/physics/bullet/BulletCollision.cc
index 67edaf9..e285710 100644
--- a/gazebo/physics/bullet/BulletCollision.cc
+++ b/gazebo/physics/bullet/BulletCollision.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,6 +15,8 @@
*
*/
+#include "gazebo/common/Assert.hh"
+
#include "gazebo/physics/PlaneShape.hh"
#include "gazebo/physics/bullet/bullet_inc.h"
@@ -32,6 +34,7 @@ BulletCollision::BulletCollision(LinkPtr _parent)
this->SetName("Bullet_Collision");
this->collisionShape = NULL;
this->surface.reset(new BulletSurfaceParams());
+ this->collideBits = GZ_ALL_COLLIDE;
}
//////////////////////////////////////////////////
@@ -50,8 +53,11 @@ void BulletCollision::Load(sdf::ElementPtr _sdf)
if (this->IsStatic())
{
- this->SetCategoryBits(GZ_FIXED_COLLIDE);
- this->SetCollideBits(~GZ_FIXED_COLLIDE);
+ this->collideBits = ~GZ_FIXED_COLLIDE;
+ }
+ else
+ {
+ this->collideBits = this->GetSurface()->collideBitmask;
}
}
@@ -68,25 +74,57 @@ void BulletCollision::OnPoseChange()
//////////////////////////////////////////////////
void BulletCollision::SetCategoryBits(unsigned int _bits)
{
+ gzwarn << "SetCategoryBits is not implemented" << std::endl;
+ // Prevent unused variable warning
this->categoryBits = _bits;
}
//////////////////////////////////////////////////
void BulletCollision::SetCollideBits(unsigned int _bits)
{
- this->collideBits = _bits;
+ // Collide bits apply to the whole rigid body, so all sibling
+ // collisions on the same link must have identical collide bits
+ auto numChildren = this->link->GetChildCount();
+ for (decltype(numChildren) c = 0; c < numChildren; ++c)
+ {
+ BasePtr child = this->link->GetChild(c);
+ if (child->HasType(COLLISION))
+ {
+ BulletCollision *col = dynamic_cast<BulletCollision *>(&*child);
+ col->GetSurface()->collideBitmask = _bits;
+ }
+ }
+
+ BulletLink *bulletLink = dynamic_cast<BulletLink *>(&*this->parent);
+
+ // Set mask and group because BulletRayShape still uses them, TODO remove
+ btRigidBody *bod = bulletLink->GetBulletLink();
+ if (nullptr != bod)
+ {
+ // Need a rigid body in the world before bits on proxy can be changed
+ btBroadphaseProxy *proxy = bod->getBroadphaseProxy();
+ GZ_ASSERT(nullptr != proxy, "body must be added to world for collide bits");
+ proxy->m_collisionFilterMask = _bits;
+ proxy->m_collisionFilterGroup = _bits;
+
+ // CollideBits are checked in the overlappingFilterCallback which is
+ // only called when objects are added to the world
+ bulletLink->RemoveAndAddBody();
+ }
}
//////////////////////////////////////////////////
unsigned int BulletCollision::GetCategoryBits() const
{
+ gzwarn << "GetCategoryBits is not implemented" << std::endl;
+ // Prevent unused variable warning
return this->categoryBits;
}
//////////////////////////////////////////////////
unsigned int BulletCollision::GetCollideBits() const
{
- return this->collideBits;
+ return this->GetSurface()->collideBitmask;
}
//////////////////////////////////////////////////
@@ -127,7 +165,7 @@ math::Box BulletCollision::GetBoundingBox() const
void BulletCollision::SetCollisionShape(btCollisionShape *_shape,
bool _placeable)
{
- Collision::SetCollision(_placeable);
+ Collision::SetPlaceable(_placeable);
this->collisionShape = _shape;
// btmath::Vector3 vec;
diff --git a/gazebo/physics/bullet/BulletCollision.hh b/gazebo/physics/bullet/BulletCollision.hh
index 6c241c3..4524a75 100644
--- a/gazebo/physics/bullet/BulletCollision.hh
+++ b/gazebo/physics/bullet/BulletCollision.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletCylinderShape.hh b/gazebo/physics/bullet/BulletCylinderShape.hh
index c45990f..8fa92d4 100644
--- a/gazebo/physics/bullet/BulletCylinderShape.hh
+++ b/gazebo/physics/bullet/BulletCylinderShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletFixedJoint.cc b/gazebo/physics/bullet/BulletFixedJoint.cc
index 6fd1187..d45c97d 100644
--- a/gazebo/physics/bullet/BulletFixedJoint.cc
+++ b/gazebo/physics/bullet/BulletFixedJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletFixedJoint.hh b/gazebo/physics/bullet/BulletFixedJoint.hh
index 007dae8..376a867 100644
--- a/gazebo/physics/bullet/BulletFixedJoint.hh
+++ b/gazebo/physics/bullet/BulletFixedJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletHeightmapShape.cc b/gazebo/physics/bullet/BulletHeightmapShape.cc
index d23baa7..9f0d47f 100644
--- a/gazebo/physics/bullet/BulletHeightmapShape.cc
+++ b/gazebo/physics/bullet/BulletHeightmapShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletHeightmapShape.hh b/gazebo/physics/bullet/BulletHeightmapShape.hh
index 49b1edf..698c185 100644
--- a/gazebo/physics/bullet/BulletHeightmapShape.hh
+++ b/gazebo/physics/bullet/BulletHeightmapShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletHinge2Joint.cc b/gazebo/physics/bullet/BulletHinge2Joint.cc
index 51e1d28..8a8791f 100644
--- a/gazebo/physics/bullet/BulletHinge2Joint.cc
+++ b/gazebo/physics/bullet/BulletHinge2Joint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletHinge2Joint.hh b/gazebo/physics/bullet/BulletHinge2Joint.hh
index 6f5d5e6..cad2ebc 100644
--- a/gazebo/physics/bullet/BulletHinge2Joint.hh
+++ b/gazebo/physics/bullet/BulletHinge2Joint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletHingeJoint.cc b/gazebo/physics/bullet/BulletHingeJoint.cc
index 15d8aa3..01b21e2 100644
--- a/gazebo/physics/bullet/BulletHingeJoint.cc
+++ b/gazebo/physics/bullet/BulletHingeJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletHingeJoint.hh b/gazebo/physics/bullet/BulletHingeJoint.hh
index a2a00c6..2b51436 100644
--- a/gazebo/physics/bullet/BulletHingeJoint.hh
+++ b/gazebo/physics/bullet/BulletHingeJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletJoint.cc b/gazebo/physics/bullet/BulletJoint.cc
index 0c3ff06..71cacd3 100644
--- a/gazebo/physics/bullet/BulletJoint.cc
+++ b/gazebo/physics/bullet/BulletJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletJoint.hh b/gazebo/physics/bullet/BulletJoint.hh
index 1de01a6..0a03bbe 100644
--- a/gazebo/physics/bullet/BulletJoint.hh
+++ b/gazebo/physics/bullet/BulletJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletLink.cc b/gazebo/physics/bullet/BulletLink.cc
index fdc32e4..6d0a758 100644
--- a/gazebo/physics/bullet/BulletLink.cc
+++ b/gazebo/physics/bullet/BulletLink.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -176,7 +176,6 @@ void BulletLink::Init()
// bullet supports setting bits to a rigid body but not individual
// shapes/collisions so find the first child collision and set rigid body to
// use its category and collision bits.
- unsigned int categortyBits = GZ_ALL_COLLIDE;
unsigned int collideBits = GZ_ALL_COLLIDE;
BulletCollisionPtr collision;
for (Base_V::iterator iter = this->children.begin();
@@ -185,12 +184,11 @@ void BulletLink::Init()
if ((*iter)->HasType(Base::COLLISION))
{
collision = boost::static_pointer_cast<BulletCollision>(*iter);
- categortyBits = collision->GetCategoryBits();
collideBits = collision->GetCollideBits();
break;
}
}
- bulletWorld->addRigidBody(this->rigidLink, categortyBits, collideBits);
+ bulletWorld->addRigidBody(this->rigidLink, collideBits, collideBits);
// Only use auto disable if no joints and no sensors are present
this->rigidLink->setActivationState(DISABLE_DEACTIVATION);
@@ -512,6 +510,29 @@ btRigidBody *BulletLink::GetBulletLink() const
return this->rigidLink;
}
+
+//////////////////////////////////////////////////
+void BulletLink::RemoveAndAddBody() const
+{
+ GZ_ASSERT(nullptr != this->rigidLink, "Must add body to world first");
+
+ btDynamicsWorld *bulletWorld = this->bulletPhysics->GetDynamicsWorld();
+ bulletWorld->removeRigidBody(this->rigidLink);
+
+ unsigned int collideBits = GZ_ALL_COLLIDE;
+ for (auto iter = this->children.begin(); iter != this->children.end(); ++iter)
+ {
+ if ((*iter)->HasType(Base::COLLISION))
+ {
+ auto collision = boost::static_pointer_cast<BulletCollision>(*iter);
+ collideBits = collision->GetCollideBits();
+ break;
+ }
+ }
+
+ bulletWorld->addRigidBody(this->rigidLink, collideBits, collideBits);
+}
+
//////////////////////////////////////////////////
void BulletLink::ClearCollisionCache()
{
diff --git a/gazebo/physics/bullet/BulletLink.hh b/gazebo/physics/bullet/BulletLink.hh
index 4cde6f7..cdd1684 100644
--- a/gazebo/physics/bullet/BulletLink.hh
+++ b/gazebo/physics/bullet/BulletLink.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -111,6 +111,9 @@ namespace gazebo
/// \return Pointer to bullet rigid body object.
public: btRigidBody *GetBulletLink() const;
+ /// \brief Remove and re-add this rigid body from the world.
+ public: void RemoveAndAddBody() const;
+
/// \internal
/// \brief Clear bullet collision cache needed when the body is resized.
public: void ClearCollisionCache();
diff --git a/gazebo/physics/bullet/BulletMesh.cc b/gazebo/physics/bullet/BulletMesh.cc
index a613ec9..1a783c7 100644
--- a/gazebo/physics/bullet/BulletMesh.cc
+++ b/gazebo/physics/bullet/BulletMesh.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletMesh.hh b/gazebo/physics/bullet/BulletMesh.hh
index d6e646e..11671a1 100644
--- a/gazebo/physics/bullet/BulletMesh.hh
+++ b/gazebo/physics/bullet/BulletMesh.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletMeshShape.cc b/gazebo/physics/bullet/BulletMeshShape.cc
index 54ab90a..423ab2c 100644
--- a/gazebo/physics/bullet/BulletMeshShape.cc
+++ b/gazebo/physics/bullet/BulletMeshShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletMeshShape.hh b/gazebo/physics/bullet/BulletMeshShape.hh
index b271782..db4dcb1 100644
--- a/gazebo/physics/bullet/BulletMeshShape.hh
+++ b/gazebo/physics/bullet/BulletMeshShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletMotionState.cc b/gazebo/physics/bullet/BulletMotionState.cc
index 4c1ff04..b875a87 100644
--- a/gazebo/physics/bullet/BulletMotionState.cc
+++ b/gazebo/physics/bullet/BulletMotionState.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletMotionState.hh b/gazebo/physics/bullet/BulletMotionState.hh
index 4c5713a..deca58b 100644
--- a/gazebo/physics/bullet/BulletMotionState.hh
+++ b/gazebo/physics/bullet/BulletMotionState.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletMultiRayShape.cc b/gazebo/physics/bullet/BulletMultiRayShape.cc
index 127cbf0..0ec62f9 100644
--- a/gazebo/physics/bullet/BulletMultiRayShape.cc
+++ b/gazebo/physics/bullet/BulletMultiRayShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletMultiRayShape.hh b/gazebo/physics/bullet/BulletMultiRayShape.hh
index 2772f25..b0ec56a 100644
--- a/gazebo/physics/bullet/BulletMultiRayShape.hh
+++ b/gazebo/physics/bullet/BulletMultiRayShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletPhysics.cc b/gazebo/physics/bullet/BulletPhysics.cc
index d5430a2..5c5fe13 100644
--- a/gazebo/physics/bullet/BulletPhysics.cc
+++ b/gazebo/physics/bullet/BulletPhysics.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -79,6 +79,7 @@ struct CollisionFilter : public btOverlapFilterCallback
GZ_ASSERT(_proxy0 != NULL && _proxy1 != NULL,
"Bullet broadphase overlapping pair proxies are NULL");
+ // BulletRayShape uses these, TODO remove in favor of collideBits
bool collide = (_proxy0->m_collisionFilterGroup
& _proxy1->m_collisionFilterMask) != 0;
collide = collide && (_proxy1->m_collisionFilterGroup
@@ -102,6 +103,21 @@ struct CollisionFilter : public btOverlapFilterCallback
rb1->getUserPointer());
GZ_ASSERT(link1 != NULL, "Link1 in collision pair is NULL");
+ const Collision_V &cols0 = link0->GetCollisions();
+ const Collision_V &cols1 = link1->GetCollisions();
+
+ if (cols0.size() == 0 || cols1.size() == 0)
+ {
+ // no collision on the link? It can't collide
+ return false;
+ }
+
+ // use first collision, BulletLink expects all to have same bits
+ SurfaceParamsPtr surf0 = cols0[0]->GetSurface();
+ SurfaceParamsPtr surf1 = cols1[0]->GetSurface();
+
+ collide = surf0->collideBitmask & surf1->collideBitmask;
+
if (!link0->GetSelfCollide() || !link1->GetSelfCollide())
{
if (link0->GetModel() == link1->GetModel())
diff --git a/gazebo/physics/bullet/BulletPhysics.hh b/gazebo/physics/bullet/BulletPhysics.hh
index 965e9ac..5b9d23e 100644
--- a/gazebo/physics/bullet/BulletPhysics.hh
+++ b/gazebo/physics/bullet/BulletPhysics.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletPhysics_TEST.cc b/gazebo/physics/bullet/BulletPhysics_TEST.cc
index 8614bb4..55dd8db 100644
--- a/gazebo/physics/bullet/BulletPhysics_TEST.cc
+++ b/gazebo/physics/bullet/BulletPhysics_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletPlaneShape.hh b/gazebo/physics/bullet/BulletPlaneShape.hh
index 7b57773..ab73576 100644
--- a/gazebo/physics/bullet/BulletPlaneShape.hh
+++ b/gazebo/physics/bullet/BulletPlaneShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletPolylineShape.cc b/gazebo/physics/bullet/BulletPolylineShape.cc
index c5d86ba..0630d3c 100644
--- a/gazebo/physics/bullet/BulletPolylineShape.cc
+++ b/gazebo/physics/bullet/BulletPolylineShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletPolylineShape.hh b/gazebo/physics/bullet/BulletPolylineShape.hh
index 78badb7..eb0117b 100644
--- a/gazebo/physics/bullet/BulletPolylineShape.hh
+++ b/gazebo/physics/bullet/BulletPolylineShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletRayShape.cc b/gazebo/physics/bullet/BulletRayShape.cc
index d0ae6b0..d0a6824 100644
--- a/gazebo/physics/bullet/BulletRayShape.cc
+++ b/gazebo/physics/bullet/BulletRayShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletRayShape.hh b/gazebo/physics/bullet/BulletRayShape.hh
index da509a1..090df31 100644
--- a/gazebo/physics/bullet/BulletRayShape.hh
+++ b/gazebo/physics/bullet/BulletRayShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletScrewJoint.cc b/gazebo/physics/bullet/BulletScrewJoint.cc
index ae97d0a..2db8c96 100644
--- a/gazebo/physics/bullet/BulletScrewJoint.cc
+++ b/gazebo/physics/bullet/BulletScrewJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletScrewJoint.hh b/gazebo/physics/bullet/BulletScrewJoint.hh
index 9d7f169..989fd62 100644
--- a/gazebo/physics/bullet/BulletScrewJoint.hh
+++ b/gazebo/physics/bullet/BulletScrewJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletSliderJoint.cc b/gazebo/physics/bullet/BulletSliderJoint.cc
index aee155c..50d1102 100644
--- a/gazebo/physics/bullet/BulletSliderJoint.cc
+++ b/gazebo/physics/bullet/BulletSliderJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletSliderJoint.hh b/gazebo/physics/bullet/BulletSliderJoint.hh
index 2a422bc..93ec6b9 100644
--- a/gazebo/physics/bullet/BulletSliderJoint.hh
+++ b/gazebo/physics/bullet/BulletSliderJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletSphereShape.hh b/gazebo/physics/bullet/BulletSphereShape.hh
index d3a9f1b..f5b5c20 100644
--- a/gazebo/physics/bullet/BulletSphereShape.hh
+++ b/gazebo/physics/bullet/BulletSphereShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletSurfaceParams.cc b/gazebo/physics/bullet/BulletSurfaceParams.cc
index dfa5f7b..88b1ea7 100644
--- a/gazebo/physics/bullet/BulletSurfaceParams.cc
+++ b/gazebo/physics/bullet/BulletSurfaceParams.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletSurfaceParams.hh b/gazebo/physics/bullet/BulletSurfaceParams.hh
index bb437b1..58b8415 100644
--- a/gazebo/physics/bullet/BulletSurfaceParams.hh
+++ b/gazebo/physics/bullet/BulletSurfaceParams.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletTypes.hh b/gazebo/physics/bullet/BulletTypes.hh
index 716bb0b..d748086 100644
--- a/gazebo/physics/bullet/BulletTypes.hh
+++ b/gazebo/physics/bullet/BulletTypes.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletTypes_TEST.cc b/gazebo/physics/bullet/BulletTypes_TEST.cc
index 9514a4b..63a23c3 100644
--- a/gazebo/physics/bullet/BulletTypes_TEST.cc
+++ b/gazebo/physics/bullet/BulletTypes_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletUniversalJoint.cc b/gazebo/physics/bullet/BulletUniversalJoint.cc
index 3fe603d..f2e7aef 100644
--- a/gazebo/physics/bullet/BulletUniversalJoint.cc
+++ b/gazebo/physics/bullet/BulletUniversalJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/BulletUniversalJoint.hh b/gazebo/physics/bullet/BulletUniversalJoint.hh
index 7cfb418..abf534a 100644
--- a/gazebo/physics/bullet/BulletUniversalJoint.hh
+++ b/gazebo/physics/bullet/BulletUniversalJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/bullet_inc.h b/gazebo/physics/bullet/bullet_inc.h
index 22e5cef..46ea531 100644
--- a/gazebo/physics/bullet/bullet_inc.h
+++ b/gazebo/physics/bullet/bullet_inc.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/bullet_math_inc.h b/gazebo/physics/bullet/bullet_math_inc.h
index 7bede61..45d5cb6 100644
--- a/gazebo/physics/bullet/bullet_math_inc.h
+++ b/gazebo/physics/bullet/bullet_math_inc.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/gzBtUniversalConstraint.cc b/gazebo/physics/bullet/gzBtUniversalConstraint.cc
index 1a7743d..b230b26 100644
--- a/gazebo/physics/bullet/gzBtUniversalConstraint.cc
+++ b/gazebo/physics/bullet/gzBtUniversalConstraint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/bullet/gzBtUniversalConstraint.hh b/gazebo/physics/bullet/gzBtUniversalConstraint.hh
index 66e9d7a..f7a36e4 100644
--- a/gazebo/physics/bullet/gzBtUniversalConstraint.hh
+++ b/gazebo/physics/bullet/gzBtUniversalConstraint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTBallJoint.cc b/gazebo/physics/dart/DARTBallJoint.cc
index 1094696..fb385ad 100644
--- a/gazebo/physics/dart/DARTBallJoint.cc
+++ b/gazebo/physics/dart/DARTBallJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTBallJoint.hh b/gazebo/physics/dart/DARTBallJoint.hh
index 089691a..f33c5a2 100644
--- a/gazebo/physics/dart/DARTBallJoint.hh
+++ b/gazebo/physics/dart/DARTBallJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTBoxShape.cc b/gazebo/physics/dart/DARTBoxShape.cc
index ef1e425..3ec624b 100644
--- a/gazebo/physics/dart/DARTBoxShape.cc
+++ b/gazebo/physics/dart/DARTBoxShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTBoxShape.hh b/gazebo/physics/dart/DARTBoxShape.hh
index e1fb792..2224604 100644
--- a/gazebo/physics/dart/DARTBoxShape.hh
+++ b/gazebo/physics/dart/DARTBoxShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTBoxShapePrivate.hh b/gazebo/physics/dart/DARTBoxShapePrivate.hh
index fc88ca1..052687a 100644
--- a/gazebo/physics/dart/DARTBoxShapePrivate.hh
+++ b/gazebo/physics/dart/DARTBoxShapePrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTCollision.cc b/gazebo/physics/dart/DARTCollision.cc
index a3c55cc..d2edd5d 100644
--- a/gazebo/physics/dart/DARTCollision.cc
+++ b/gazebo/physics/dart/DARTCollision.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTCollision.hh b/gazebo/physics/dart/DARTCollision.hh
index cc4a637..391d9ad 100644
--- a/gazebo/physics/dart/DARTCollision.hh
+++ b/gazebo/physics/dart/DARTCollision.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTCollisionPrivate.hh b/gazebo/physics/dart/DARTCollisionPrivate.hh
index 9a3fee6..7f3f609 100644
--- a/gazebo/physics/dart/DARTCollisionPrivate.hh
+++ b/gazebo/physics/dart/DARTCollisionPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTCylinderShape.cc b/gazebo/physics/dart/DARTCylinderShape.cc
index 9d93e7e..360bde2 100644
--- a/gazebo/physics/dart/DARTCylinderShape.cc
+++ b/gazebo/physics/dart/DARTCylinderShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTCylinderShape.hh b/gazebo/physics/dart/DARTCylinderShape.hh
index b0dc8da..5f70db6 100644
--- a/gazebo/physics/dart/DARTCylinderShape.hh
+++ b/gazebo/physics/dart/DARTCylinderShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTCylinderShapePrivate.hh b/gazebo/physics/dart/DARTCylinderShapePrivate.hh
index 0954d91..a579c64 100644
--- a/gazebo/physics/dart/DARTCylinderShapePrivate.hh
+++ b/gazebo/physics/dart/DARTCylinderShapePrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTFixedJoint.cc b/gazebo/physics/dart/DARTFixedJoint.cc
index e9e2150..8b31922 100644
--- a/gazebo/physics/dart/DARTFixedJoint.cc
+++ b/gazebo/physics/dart/DARTFixedJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTFixedJoint.hh b/gazebo/physics/dart/DARTFixedJoint.hh
index 483a8b1..9a11634 100644
--- a/gazebo/physics/dart/DARTFixedJoint.hh
+++ b/gazebo/physics/dart/DARTFixedJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTHeightmapShape.cc b/gazebo/physics/dart/DARTHeightmapShape.cc
index 15146f4..1f38619 100644
--- a/gazebo/physics/dart/DARTHeightmapShape.cc
+++ b/gazebo/physics/dart/DARTHeightmapShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTHeightmapShape.hh b/gazebo/physics/dart/DARTHeightmapShape.hh
index 6496c3d..6abf952 100644
--- a/gazebo/physics/dart/DARTHeightmapShape.hh
+++ b/gazebo/physics/dart/DARTHeightmapShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTHeightmapShapePrivate.hh b/gazebo/physics/dart/DARTHeightmapShapePrivate.hh
index bca6fe3..c74fd91 100644
--- a/gazebo/physics/dart/DARTHeightmapShapePrivate.hh
+++ b/gazebo/physics/dart/DARTHeightmapShapePrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTHinge2Joint.cc b/gazebo/physics/dart/DARTHinge2Joint.cc
index 04ce65b..f8c5c9c 100644
--- a/gazebo/physics/dart/DARTHinge2Joint.cc
+++ b/gazebo/physics/dart/DARTHinge2Joint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTHinge2Joint.hh b/gazebo/physics/dart/DARTHinge2Joint.hh
index 27bc6ae..db3760c 100644
--- a/gazebo/physics/dart/DARTHinge2Joint.hh
+++ b/gazebo/physics/dart/DARTHinge2Joint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTHingeJoint.cc b/gazebo/physics/dart/DARTHingeJoint.cc
index 3d35edf..d533ba1 100644
--- a/gazebo/physics/dart/DARTHingeJoint.cc
+++ b/gazebo/physics/dart/DARTHingeJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTHingeJoint.hh b/gazebo/physics/dart/DARTHingeJoint.hh
index 538aff0..2c126a7 100644
--- a/gazebo/physics/dart/DARTHingeJoint.hh
+++ b/gazebo/physics/dart/DARTHingeJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTJoint.cc b/gazebo/physics/dart/DARTJoint.cc
index 3d4184c..0c5bb81 100644
--- a/gazebo/physics/dart/DARTJoint.cc
+++ b/gazebo/physics/dart/DARTJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTJoint.hh b/gazebo/physics/dart/DARTJoint.hh
index 027b161..7742729 100644
--- a/gazebo/physics/dart/DARTJoint.hh
+++ b/gazebo/physics/dart/DARTJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTJointPrivate.hh b/gazebo/physics/dart/DARTJointPrivate.hh
index 886a827..b64536f 100644
--- a/gazebo/physics/dart/DARTJointPrivate.hh
+++ b/gazebo/physics/dart/DARTJointPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTLink.cc b/gazebo/physics/dart/DARTLink.cc
index 2817740..650162e 100644
--- a/gazebo/physics/dart/DARTLink.cc
+++ b/gazebo/physics/dart/DARTLink.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTLink.hh b/gazebo/physics/dart/DARTLink.hh
index 28e80ad..c2d1804 100644
--- a/gazebo/physics/dart/DARTLink.hh
+++ b/gazebo/physics/dart/DARTLink.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTLinkPrivate.hh b/gazebo/physics/dart/DARTLinkPrivate.hh
index 7ab242e..70cb41e 100644
--- a/gazebo/physics/dart/DARTLinkPrivate.hh
+++ b/gazebo/physics/dart/DARTLinkPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTMesh.cc b/gazebo/physics/dart/DARTMesh.cc
index 532571c..3b10b0c 100644
--- a/gazebo/physics/dart/DARTMesh.cc
+++ b/gazebo/physics/dart/DARTMesh.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTMesh.hh b/gazebo/physics/dart/DARTMesh.hh
index feb3fdf..b42e34d 100644
--- a/gazebo/physics/dart/DARTMesh.hh
+++ b/gazebo/physics/dart/DARTMesh.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTMeshPrivate.hh b/gazebo/physics/dart/DARTMeshPrivate.hh
index 023de36..c9495ab 100644
--- a/gazebo/physics/dart/DARTMeshPrivate.hh
+++ b/gazebo/physics/dart/DARTMeshPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTMeshShape.cc b/gazebo/physics/dart/DARTMeshShape.cc
index b59dbeb..6788dc8 100644
--- a/gazebo/physics/dart/DARTMeshShape.cc
+++ b/gazebo/physics/dart/DARTMeshShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTMeshShape.hh b/gazebo/physics/dart/DARTMeshShape.hh
index bcb9720..ac82603 100644
--- a/gazebo/physics/dart/DARTMeshShape.hh
+++ b/gazebo/physics/dart/DARTMeshShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTMeshShapePrivate.hh b/gazebo/physics/dart/DARTMeshShapePrivate.hh
index e4463a1..832c29f 100644
--- a/gazebo/physics/dart/DARTMeshShapePrivate.hh
+++ b/gazebo/physics/dart/DARTMeshShapePrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTModel.cc b/gazebo/physics/dart/DARTModel.cc
index df146ce..655a87f 100644
--- a/gazebo/physics/dart/DARTModel.cc
+++ b/gazebo/physics/dart/DARTModel.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTModel.hh b/gazebo/physics/dart/DARTModel.hh
index 726635d..3b60318 100644
--- a/gazebo/physics/dart/DARTModel.hh
+++ b/gazebo/physics/dart/DARTModel.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTModelPrivate.hh b/gazebo/physics/dart/DARTModelPrivate.hh
index f1529f9..876301a 100644
--- a/gazebo/physics/dart/DARTModelPrivate.hh
+++ b/gazebo/physics/dart/DARTModelPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTMultiRayShape.cc b/gazebo/physics/dart/DARTMultiRayShape.cc
index 7e13c4f..ee67b5c 100644
--- a/gazebo/physics/dart/DARTMultiRayShape.cc
+++ b/gazebo/physics/dart/DARTMultiRayShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTMultiRayShape.hh b/gazebo/physics/dart/DARTMultiRayShape.hh
index a92513d..54ab461 100644
--- a/gazebo/physics/dart/DARTMultiRayShape.hh
+++ b/gazebo/physics/dart/DARTMultiRayShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTMultiRayShapePrivate.hh b/gazebo/physics/dart/DARTMultiRayShapePrivate.hh
index 3f2a3ea..0a5945b 100644
--- a/gazebo/physics/dart/DARTMultiRayShapePrivate.hh
+++ b/gazebo/physics/dart/DARTMultiRayShapePrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTPhysics.cc b/gazebo/physics/dart/DARTPhysics.cc
index 16ec3c1..a2c64eb 100644
--- a/gazebo/physics/dart/DARTPhysics.cc
+++ b/gazebo/physics/dart/DARTPhysics.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTPhysics.hh b/gazebo/physics/dart/DARTPhysics.hh
index e440f74..79c3a7f 100644
--- a/gazebo/physics/dart/DARTPhysics.hh
+++ b/gazebo/physics/dart/DARTPhysics.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTPhysicsPrivate.hh b/gazebo/physics/dart/DARTPhysicsPrivate.hh
index 1a4dba7..40ba2ff 100644
--- a/gazebo/physics/dart/DARTPhysicsPrivate.hh
+++ b/gazebo/physics/dart/DARTPhysicsPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTPlaneShape.cc b/gazebo/physics/dart/DARTPlaneShape.cc
index b36eae9..07133ef 100644
--- a/gazebo/physics/dart/DARTPlaneShape.cc
+++ b/gazebo/physics/dart/DARTPlaneShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTPlaneShape.hh b/gazebo/physics/dart/DARTPlaneShape.hh
index 5a10b7b..cba3428 100644
--- a/gazebo/physics/dart/DARTPlaneShape.hh
+++ b/gazebo/physics/dart/DARTPlaneShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTPlaneShapePrivate.hh b/gazebo/physics/dart/DARTPlaneShapePrivate.hh
index fcc04f4..7c80e21 100644
--- a/gazebo/physics/dart/DARTPlaneShapePrivate.hh
+++ b/gazebo/physics/dart/DARTPlaneShapePrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTPolylineShape.cc b/gazebo/physics/dart/DARTPolylineShape.cc
index 36f291a..309c006 100644
--- a/gazebo/physics/dart/DARTPolylineShape.cc
+++ b/gazebo/physics/dart/DARTPolylineShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTPolylineShape.hh b/gazebo/physics/dart/DARTPolylineShape.hh
index a50e76c..39ecf53 100644
--- a/gazebo/physics/dart/DARTPolylineShape.hh
+++ b/gazebo/physics/dart/DARTPolylineShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTPolylineShapePrivate.hh b/gazebo/physics/dart/DARTPolylineShapePrivate.hh
index 8c141f5..b7f7b39 100644
--- a/gazebo/physics/dart/DARTPolylineShapePrivate.hh
+++ b/gazebo/physics/dart/DARTPolylineShapePrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTRayShape.cc b/gazebo/physics/dart/DARTRayShape.cc
index ee222c4..325f9bb 100644
--- a/gazebo/physics/dart/DARTRayShape.cc
+++ b/gazebo/physics/dart/DARTRayShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTRayShape.hh b/gazebo/physics/dart/DARTRayShape.hh
index 2c106b6..8896a9d 100644
--- a/gazebo/physics/dart/DARTRayShape.hh
+++ b/gazebo/physics/dart/DARTRayShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTRayShapePrivate.hh b/gazebo/physics/dart/DARTRayShapePrivate.hh
index f499a6e..743be9e 100644
--- a/gazebo/physics/dart/DARTRayShapePrivate.hh
+++ b/gazebo/physics/dart/DARTRayShapePrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTScrewJoint.cc b/gazebo/physics/dart/DARTScrewJoint.cc
index 78b5c32..ff01bb8 100644
--- a/gazebo/physics/dart/DARTScrewJoint.cc
+++ b/gazebo/physics/dart/DARTScrewJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTScrewJoint.hh b/gazebo/physics/dart/DARTScrewJoint.hh
index c1eea49..1cfe070 100644
--- a/gazebo/physics/dart/DARTScrewJoint.hh
+++ b/gazebo/physics/dart/DARTScrewJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTSliderJoint.cc b/gazebo/physics/dart/DARTSliderJoint.cc
index 2752e5b..a3b0c7e 100644
--- a/gazebo/physics/dart/DARTSliderJoint.cc
+++ b/gazebo/physics/dart/DARTSliderJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTSliderJoint.hh b/gazebo/physics/dart/DARTSliderJoint.hh
index 7c30e96..fe57455 100644
--- a/gazebo/physics/dart/DARTSliderJoint.hh
+++ b/gazebo/physics/dart/DARTSliderJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTSphereShape.cc b/gazebo/physics/dart/DARTSphereShape.cc
index 2ef8fa0..449e533 100644
--- a/gazebo/physics/dart/DARTSphereShape.cc
+++ b/gazebo/physics/dart/DARTSphereShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTSphereShape.hh b/gazebo/physics/dart/DARTSphereShape.hh
index 4e97bef..e95a9dd 100644
--- a/gazebo/physics/dart/DARTSphereShape.hh
+++ b/gazebo/physics/dart/DARTSphereShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTSphereShapePrivate.hh b/gazebo/physics/dart/DARTSphereShapePrivate.hh
index 738eee9..425561f 100644
--- a/gazebo/physics/dart/DARTSphereShapePrivate.hh
+++ b/gazebo/physics/dart/DARTSphereShapePrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTSurfaceParams.cc b/gazebo/physics/dart/DARTSurfaceParams.cc
index 2517914..c052500 100644
--- a/gazebo/physics/dart/DARTSurfaceParams.cc
+++ b/gazebo/physics/dart/DARTSurfaceParams.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTSurfaceParams.hh b/gazebo/physics/dart/DARTSurfaceParams.hh
index 4edf880..77d8211 100644
--- a/gazebo/physics/dart/DARTSurfaceParams.hh
+++ b/gazebo/physics/dart/DARTSurfaceParams.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTSurfaceParamsPrivate.hh b/gazebo/physics/dart/DARTSurfaceParamsPrivate.hh
index 6f9d74f..312b5cd 100644
--- a/gazebo/physics/dart/DARTSurfaceParamsPrivate.hh
+++ b/gazebo/physics/dart/DARTSurfaceParamsPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTTypes.hh b/gazebo/physics/dart/DARTTypes.hh
index f122533..f07535b 100644
--- a/gazebo/physics/dart/DARTTypes.hh
+++ b/gazebo/physics/dart/DARTTypes.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTUniversalJoint.cc b/gazebo/physics/dart/DARTUniversalJoint.cc
index 35cf110..bf457e2 100644
--- a/gazebo/physics/dart/DARTUniversalJoint.cc
+++ b/gazebo/physics/dart/DARTUniversalJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/DARTUniversalJoint.hh b/gazebo/physics/dart/DARTUniversalJoint.hh
index d96cde7..4a5eba1 100644
--- a/gazebo/physics/dart/DARTUniversalJoint.hh
+++ b/gazebo/physics/dart/DARTUniversalJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/dart/dart_inc.h b/gazebo/physics/dart/dart_inc.h
index eb8c664..7b17a08 100644
--- a/gazebo/physics/dart/dart_inc.h
+++ b/gazebo/physics/dart/dart_inc.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEBallJoint.cc b/gazebo/physics/ode/ODEBallJoint.cc
index b2f9a4d..c755e1c 100644
--- a/gazebo/physics/ode/ODEBallJoint.cc
+++ b/gazebo/physics/ode/ODEBallJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEBallJoint.hh b/gazebo/physics/ode/ODEBallJoint.hh
index 157f558..c337bc0 100644
--- a/gazebo/physics/ode/ODEBallJoint.hh
+++ b/gazebo/physics/ode/ODEBallJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEBoxShape.hh b/gazebo/physics/ode/ODEBoxShape.hh
index bc595ab..9d5f41b 100644
--- a/gazebo/physics/ode/ODEBoxShape.hh
+++ b/gazebo/physics/ode/ODEBoxShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODECollision.cc b/gazebo/physics/ode/ODECollision.cc
index 6a5abcb..751af25 100644
--- a/gazebo/physics/ode/ODECollision.cc
+++ b/gazebo/physics/ode/ODECollision.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODECollision.hh b/gazebo/physics/ode/ODECollision.hh
index d213b3d..89486a7 100644
--- a/gazebo/physics/ode/ODECollision.hh
+++ b/gazebo/physics/ode/ODECollision.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODECylinderShape.hh b/gazebo/physics/ode/ODECylinderShape.hh
index cccacf7..fd225e4 100644
--- a/gazebo/physics/ode/ODECylinderShape.hh
+++ b/gazebo/physics/ode/ODECylinderShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEFixedJoint.cc b/gazebo/physics/ode/ODEFixedJoint.cc
index 09065a1..ee634aa 100644
--- a/gazebo/physics/ode/ODEFixedJoint.cc
+++ b/gazebo/physics/ode/ODEFixedJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEFixedJoint.hh b/gazebo/physics/ode/ODEFixedJoint.hh
index 17fc417..40cacd7 100644
--- a/gazebo/physics/ode/ODEFixedJoint.hh
+++ b/gazebo/physics/ode/ODEFixedJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEGearboxJoint.cc b/gazebo/physics/ode/ODEGearboxJoint.cc
index 6538ec9..20a242f 100644
--- a/gazebo/physics/ode/ODEGearboxJoint.cc
+++ b/gazebo/physics/ode/ODEGearboxJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEGearboxJoint.hh b/gazebo/physics/ode/ODEGearboxJoint.hh
index 0aeb96e..46621ee 100644
--- a/gazebo/physics/ode/ODEGearboxJoint.hh
+++ b/gazebo/physics/ode/ODEGearboxJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEHeightmapShape.cc b/gazebo/physics/ode/ODEHeightmapShape.cc
index 2874173..68c6c17 100644
--- a/gazebo/physics/ode/ODEHeightmapShape.cc
+++ b/gazebo/physics/ode/ODEHeightmapShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEHeightmapShape.hh b/gazebo/physics/ode/ODEHeightmapShape.hh
index 3fb4998..288a01a 100644
--- a/gazebo/physics/ode/ODEHeightmapShape.hh
+++ b/gazebo/physics/ode/ODEHeightmapShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEHinge2Joint.cc b/gazebo/physics/ode/ODEHinge2Joint.cc
index e17e4d4..d752f46 100644
--- a/gazebo/physics/ode/ODEHinge2Joint.cc
+++ b/gazebo/physics/ode/ODEHinge2Joint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEHinge2Joint.hh b/gazebo/physics/ode/ODEHinge2Joint.hh
index db21560..21b6361 100644
--- a/gazebo/physics/ode/ODEHinge2Joint.hh
+++ b/gazebo/physics/ode/ODEHinge2Joint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEHingeJoint.cc b/gazebo/physics/ode/ODEHingeJoint.cc
index ca144e1..54a203b 100644
--- a/gazebo/physics/ode/ODEHingeJoint.cc
+++ b/gazebo/physics/ode/ODEHingeJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEHingeJoint.hh b/gazebo/physics/ode/ODEHingeJoint.hh
index 72f189f..6e5a20e 100644
--- a/gazebo/physics/ode/ODEHingeJoint.hh
+++ b/gazebo/physics/ode/ODEHingeJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEJoint.cc b/gazebo/physics/ode/ODEJoint.cc
index 1811a0c..76dba82 100644
--- a/gazebo/physics/ode/ODEJoint.cc
+++ b/gazebo/physics/ode/ODEJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEJoint.hh b/gazebo/physics/ode/ODEJoint.hh
index d36af37..738b6ba 100644
--- a/gazebo/physics/ode/ODEJoint.hh
+++ b/gazebo/physics/ode/ODEJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEJoint_TEST.cc b/gazebo/physics/ode/ODEJoint_TEST.cc
index 3f4435f..ebc9862 100644
--- a/gazebo/physics/ode/ODEJoint_TEST.cc
+++ b/gazebo/physics/ode/ODEJoint_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODELink.cc b/gazebo/physics/ode/ODELink.cc
index 5b54d2e..e8accae 100644
--- a/gazebo/physics/ode/ODELink.cc
+++ b/gazebo/physics/ode/ODELink.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODELink.hh b/gazebo/physics/ode/ODELink.hh
index f3b16e2..d26823c 100644
--- a/gazebo/physics/ode/ODELink.hh
+++ b/gazebo/physics/ode/ODELink.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEMesh.cc b/gazebo/physics/ode/ODEMesh.cc
index 5d1110c..252b24d 100644
--- a/gazebo/physics/ode/ODEMesh.cc
+++ b/gazebo/physics/ode/ODEMesh.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEMesh.hh b/gazebo/physics/ode/ODEMesh.hh
index 9b814ba..ec95157 100644
--- a/gazebo/physics/ode/ODEMesh.hh
+++ b/gazebo/physics/ode/ODEMesh.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEMeshShape.cc b/gazebo/physics/ode/ODEMeshShape.cc
index 8d470b6..3b14377 100644
--- a/gazebo/physics/ode/ODEMeshShape.cc
+++ b/gazebo/physics/ode/ODEMeshShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEMeshShape.hh b/gazebo/physics/ode/ODEMeshShape.hh
index af6afb6..c2abc8b 100644
--- a/gazebo/physics/ode/ODEMeshShape.hh
+++ b/gazebo/physics/ode/ODEMeshShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEMultiRayShape.cc b/gazebo/physics/ode/ODEMultiRayShape.cc
index 816aed1..8cea34f 100644
--- a/gazebo/physics/ode/ODEMultiRayShape.cc
+++ b/gazebo/physics/ode/ODEMultiRayShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEMultiRayShape.hh b/gazebo/physics/ode/ODEMultiRayShape.hh
index 88d8ee9..7832f28 100644
--- a/gazebo/physics/ode/ODEMultiRayShape.hh
+++ b/gazebo/physics/ode/ODEMultiRayShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEPhysics.cc b/gazebo/physics/ode/ODEPhysics.cc
index f1e9599..5d9b2e3 100644
--- a/gazebo/physics/ode/ODEPhysics.cc
+++ b/gazebo/physics/ode/ODEPhysics.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -1148,13 +1148,13 @@ void ODEPhysics::Collide(ODECollision *_collision1, ODECollision *_collision2,
contact.surface.mu3 = std::min(surf1->FrictionPyramid()->MuTorsion(),
surf2->FrictionPyramid()->MuTorsion());
- // Set the slip values
- contact.surface.slip1 = std::min(surf1->slip1,
- surf2->slip1);
- contact.surface.slip2 = std::min(surf1->slip2,
- surf2->slip2);
- contact.surface.slip3 = std::min(surf1->slipTorsion,
- surf2->slipTorsion);
+ // Combine the slip values
+ // The slip is equivalent to the inverse of a viscous damping term
+ // To combine dampers in series, the inverse of damping is summed
+ // So the sum of slip parameters is used to combine them
+ contact.surface.slip1 = surf1->slip1 + surf2->slip1;
+ contact.surface.slip2 = surf1->slip2 + surf2->slip2;
+ contact.surface.slip3 = surf1->slipTorsion + surf2->slipTorsion;
// Combine torsional friction patch radius values
contact.surface.patch_radius =
diff --git a/gazebo/physics/ode/ODEPhysics.hh b/gazebo/physics/ode/ODEPhysics.hh
index aec7798..a979c85 100644
--- a/gazebo/physics/ode/ODEPhysics.hh
+++ b/gazebo/physics/ode/ODEPhysics.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEPhysicsPrivate.hh b/gazebo/physics/ode/ODEPhysicsPrivate.hh
index 9da00ff..048ee99 100644
--- a/gazebo/physics/ode/ODEPhysicsPrivate.hh
+++ b/gazebo/physics/ode/ODEPhysicsPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEPhysics_TEST.cc b/gazebo/physics/ode/ODEPhysics_TEST.cc
index b66a2a2..7282f47 100644
--- a/gazebo/physics/ode/ODEPhysics_TEST.cc
+++ b/gazebo/physics/ode/ODEPhysics_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEPlaneShape.hh b/gazebo/physics/ode/ODEPlaneShape.hh
index 533ab71..b6e2944 100644
--- a/gazebo/physics/ode/ODEPlaneShape.hh
+++ b/gazebo/physics/ode/ODEPlaneShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEPolylineShape.cc b/gazebo/physics/ode/ODEPolylineShape.cc
index b2bc0d7..35785fc 100644
--- a/gazebo/physics/ode/ODEPolylineShape.cc
+++ b/gazebo/physics/ode/ODEPolylineShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEPolylineShape.hh b/gazebo/physics/ode/ODEPolylineShape.hh
index f0132ba..e8f92e8 100644
--- a/gazebo/physics/ode/ODEPolylineShape.hh
+++ b/gazebo/physics/ode/ODEPolylineShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODERayShape.cc b/gazebo/physics/ode/ODERayShape.cc
index a2a7dda..dad5d89 100644
--- a/gazebo/physics/ode/ODERayShape.cc
+++ b/gazebo/physics/ode/ODERayShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODERayShape.hh b/gazebo/physics/ode/ODERayShape.hh
index 63f672a..210e8d1 100644
--- a/gazebo/physics/ode/ODERayShape.hh
+++ b/gazebo/physics/ode/ODERayShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEScrewJoint.cc b/gazebo/physics/ode/ODEScrewJoint.cc
index 034c24c..876026f 100644
--- a/gazebo/physics/ode/ODEScrewJoint.cc
+++ b/gazebo/physics/ode/ODEScrewJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEScrewJoint.hh b/gazebo/physics/ode/ODEScrewJoint.hh
index f5850b2..f3d8a45 100644
--- a/gazebo/physics/ode/ODEScrewJoint.hh
+++ b/gazebo/physics/ode/ODEScrewJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODESliderJoint.cc b/gazebo/physics/ode/ODESliderJoint.cc
index b421114..0830550 100644
--- a/gazebo/physics/ode/ODESliderJoint.cc
+++ b/gazebo/physics/ode/ODESliderJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODESliderJoint.hh b/gazebo/physics/ode/ODESliderJoint.hh
index ad9a277..26043ed 100644
--- a/gazebo/physics/ode/ODESliderJoint.hh
+++ b/gazebo/physics/ode/ODESliderJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODESphereShape.hh b/gazebo/physics/ode/ODESphereShape.hh
index 62119a0..bc9d5ca 100644
--- a/gazebo/physics/ode/ODESphereShape.hh
+++ b/gazebo/physics/ode/ODESphereShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODESurfaceParams.cc b/gazebo/physics/ode/ODESurfaceParams.cc
index 30b51aa..c0a11a9 100644
--- a/gazebo/physics/ode/ODESurfaceParams.cc
+++ b/gazebo/physics/ode/ODESurfaceParams.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODESurfaceParams.hh b/gazebo/physics/ode/ODESurfaceParams.hh
index d8a1003..e2d259f 100644
--- a/gazebo/physics/ode/ODESurfaceParams.hh
+++ b/gazebo/physics/ode/ODESurfaceParams.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODETypes.hh b/gazebo/physics/ode/ODETypes.hh
index d4b3434..840d0f4 100644
--- a/gazebo/physics/ode/ODETypes.hh
+++ b/gazebo/physics/ode/ODETypes.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEUniversalJoint.cc b/gazebo/physics/ode/ODEUniversalJoint.cc
index 2c93156..321b262 100644
--- a/gazebo/physics/ode/ODEUniversalJoint.cc
+++ b/gazebo/physics/ode/ODEUniversalJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ODEUniversalJoint.hh b/gazebo/physics/ode/ODEUniversalJoint.hh
index f34833e..f639d36 100644
--- a/gazebo/physics/ode/ODEUniversalJoint.hh
+++ b/gazebo/physics/ode/ODEUniversalJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/ode/ode_inc.h b/gazebo/physics/ode/ode_inc.h
index 1adc8bd..3e7b4e8 100644
--- a/gazebo/physics/ode/ode_inc.h
+++ b/gazebo/physics/ode/ode_inc.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyBallJoint.cc b/gazebo/physics/simbody/SimbodyBallJoint.cc
index dc8e17a..1ac95c3 100644
--- a/gazebo/physics/simbody/SimbodyBallJoint.cc
+++ b/gazebo/physics/simbody/SimbodyBallJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyBallJoint.hh b/gazebo/physics/simbody/SimbodyBallJoint.hh
index 0a39fa8..f97e2dd 100644
--- a/gazebo/physics/simbody/SimbodyBallJoint.hh
+++ b/gazebo/physics/simbody/SimbodyBallJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyBoxShape.hh b/gazebo/physics/simbody/SimbodyBoxShape.hh
index 6d1c57c..a21b3ad 100644
--- a/gazebo/physics/simbody/SimbodyBoxShape.hh
+++ b/gazebo/physics/simbody/SimbodyBoxShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyCollision.cc b/gazebo/physics/simbody/SimbodyCollision.cc
index 448862e..06da48d 100644
--- a/gazebo/physics/simbody/SimbodyCollision.cc
+++ b/gazebo/physics/simbody/SimbodyCollision.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyCollision.hh b/gazebo/physics/simbody/SimbodyCollision.hh
index 592eeb2..88d7b7b 100644
--- a/gazebo/physics/simbody/SimbodyCollision.hh
+++ b/gazebo/physics/simbody/SimbodyCollision.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyCylinderShape.hh b/gazebo/physics/simbody/SimbodyCylinderShape.hh
index a6c7d62..b6e8382 100644
--- a/gazebo/physics/simbody/SimbodyCylinderShape.hh
+++ b/gazebo/physics/simbody/SimbodyCylinderShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyFixedJoint.cc b/gazebo/physics/simbody/SimbodyFixedJoint.cc
index 9390d32..36b8bad 100644
--- a/gazebo/physics/simbody/SimbodyFixedJoint.cc
+++ b/gazebo/physics/simbody/SimbodyFixedJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyFixedJoint.hh b/gazebo/physics/simbody/SimbodyFixedJoint.hh
index e42f72b..bca74fa 100644
--- a/gazebo/physics/simbody/SimbodyFixedJoint.hh
+++ b/gazebo/physics/simbody/SimbodyFixedJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyHeightmapShape.cc b/gazebo/physics/simbody/SimbodyHeightmapShape.cc
index ea5cf39..dbaae87 100644
--- a/gazebo/physics/simbody/SimbodyHeightmapShape.cc
+++ b/gazebo/physics/simbody/SimbodyHeightmapShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyHeightmapShape.hh b/gazebo/physics/simbody/SimbodyHeightmapShape.hh
index 57ac6a2..3bbfe1a 100644
--- a/gazebo/physics/simbody/SimbodyHeightmapShape.hh
+++ b/gazebo/physics/simbody/SimbodyHeightmapShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyHinge2Joint.cc b/gazebo/physics/simbody/SimbodyHinge2Joint.cc
index cbd58d8..63052b8 100644
--- a/gazebo/physics/simbody/SimbodyHinge2Joint.cc
+++ b/gazebo/physics/simbody/SimbodyHinge2Joint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyHinge2Joint.hh b/gazebo/physics/simbody/SimbodyHinge2Joint.hh
index 70992e8..5424c15 100644
--- a/gazebo/physics/simbody/SimbodyHinge2Joint.hh
+++ b/gazebo/physics/simbody/SimbodyHinge2Joint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyHingeJoint.cc b/gazebo/physics/simbody/SimbodyHingeJoint.cc
index c2ad4e7..3890387 100644
--- a/gazebo/physics/simbody/SimbodyHingeJoint.cc
+++ b/gazebo/physics/simbody/SimbodyHingeJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyHingeJoint.hh b/gazebo/physics/simbody/SimbodyHingeJoint.hh
index 83096bd..440d2a4 100644
--- a/gazebo/physics/simbody/SimbodyHingeJoint.hh
+++ b/gazebo/physics/simbody/SimbodyHingeJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyJoint.cc b/gazebo/physics/simbody/SimbodyJoint.cc
index db0469b..c943715 100644
--- a/gazebo/physics/simbody/SimbodyJoint.cc
+++ b/gazebo/physics/simbody/SimbodyJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyJoint.hh b/gazebo/physics/simbody/SimbodyJoint.hh
index 328af75..b981783 100644
--- a/gazebo/physics/simbody/SimbodyJoint.hh
+++ b/gazebo/physics/simbody/SimbodyJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyLink.cc b/gazebo/physics/simbody/SimbodyLink.cc
index 0f20e70..9c3444a 100644
--- a/gazebo/physics/simbody/SimbodyLink.cc
+++ b/gazebo/physics/simbody/SimbodyLink.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyLink.hh b/gazebo/physics/simbody/SimbodyLink.hh
index 0df6778..7a7865a 100644
--- a/gazebo/physics/simbody/SimbodyLink.hh
+++ b/gazebo/physics/simbody/SimbodyLink.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyMesh.cc b/gazebo/physics/simbody/SimbodyMesh.cc
index 2e96a1c..e9c99ed 100644
--- a/gazebo/physics/simbody/SimbodyMesh.cc
+++ b/gazebo/physics/simbody/SimbodyMesh.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyMesh.hh b/gazebo/physics/simbody/SimbodyMesh.hh
index 5075c69..810b253 100644
--- a/gazebo/physics/simbody/SimbodyMesh.hh
+++ b/gazebo/physics/simbody/SimbodyMesh.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyMeshShape.cc b/gazebo/physics/simbody/SimbodyMeshShape.cc
index 99a5a4a..1240424 100644
--- a/gazebo/physics/simbody/SimbodyMeshShape.cc
+++ b/gazebo/physics/simbody/SimbodyMeshShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyMeshShape.hh b/gazebo/physics/simbody/SimbodyMeshShape.hh
index e01bbee..f7c0695 100644
--- a/gazebo/physics/simbody/SimbodyMeshShape.hh
+++ b/gazebo/physics/simbody/SimbodyMeshShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyModel.cc b/gazebo/physics/simbody/SimbodyModel.cc
index 0b32377..00dc641 100644
--- a/gazebo/physics/simbody/SimbodyModel.cc
+++ b/gazebo/physics/simbody/SimbodyModel.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyModel.hh b/gazebo/physics/simbody/SimbodyModel.hh
index 74cd63a..391c428 100644
--- a/gazebo/physics/simbody/SimbodyModel.hh
+++ b/gazebo/physics/simbody/SimbodyModel.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyMultiRayShape.cc b/gazebo/physics/simbody/SimbodyMultiRayShape.cc
index 555819a..8da9a88 100644
--- a/gazebo/physics/simbody/SimbodyMultiRayShape.cc
+++ b/gazebo/physics/simbody/SimbodyMultiRayShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyMultiRayShape.hh b/gazebo/physics/simbody/SimbodyMultiRayShape.hh
index 778fa65..1cffe14 100644
--- a/gazebo/physics/simbody/SimbodyMultiRayShape.hh
+++ b/gazebo/physics/simbody/SimbodyMultiRayShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyPhysics.cc b/gazebo/physics/simbody/SimbodyPhysics.cc
index f3a1dcd..bd514c2 100644
--- a/gazebo/physics/simbody/SimbodyPhysics.cc
+++ b/gazebo/physics/simbody/SimbodyPhysics.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyPhysics.hh b/gazebo/physics/simbody/SimbodyPhysics.hh
index d3c76f2..668c0b6 100644
--- a/gazebo/physics/simbody/SimbodyPhysics.hh
+++ b/gazebo/physics/simbody/SimbodyPhysics.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyPlaneShape.cc b/gazebo/physics/simbody/SimbodyPlaneShape.cc
index 7e98a5f..dbdddf3 100644
--- a/gazebo/physics/simbody/SimbodyPlaneShape.cc
+++ b/gazebo/physics/simbody/SimbodyPlaneShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyPlaneShape.hh b/gazebo/physics/simbody/SimbodyPlaneShape.hh
index c833faf..b412d62 100644
--- a/gazebo/physics/simbody/SimbodyPlaneShape.hh
+++ b/gazebo/physics/simbody/SimbodyPlaneShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyPolylineShape.cc b/gazebo/physics/simbody/SimbodyPolylineShape.cc
index 5353d72..52aaead 100644
--- a/gazebo/physics/simbody/SimbodyPolylineShape.cc
+++ b/gazebo/physics/simbody/SimbodyPolylineShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyPolylineShape.hh b/gazebo/physics/simbody/SimbodyPolylineShape.hh
index 20acc7c..fbaa8d3 100644
--- a/gazebo/physics/simbody/SimbodyPolylineShape.hh
+++ b/gazebo/physics/simbody/SimbodyPolylineShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyRayShape.cc b/gazebo/physics/simbody/SimbodyRayShape.cc
index 2000765..0430f8c 100644
--- a/gazebo/physics/simbody/SimbodyRayShape.cc
+++ b/gazebo/physics/simbody/SimbodyRayShape.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyRayShape.hh b/gazebo/physics/simbody/SimbodyRayShape.hh
index d610e71..3c1a72d 100644
--- a/gazebo/physics/simbody/SimbodyRayShape.hh
+++ b/gazebo/physics/simbody/SimbodyRayShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyScrewJoint.cc b/gazebo/physics/simbody/SimbodyScrewJoint.cc
index d5bb9d2..e286b9f 100644
--- a/gazebo/physics/simbody/SimbodyScrewJoint.cc
+++ b/gazebo/physics/simbody/SimbodyScrewJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyScrewJoint.hh b/gazebo/physics/simbody/SimbodyScrewJoint.hh
index cbf1bee..d0c951d 100644
--- a/gazebo/physics/simbody/SimbodyScrewJoint.hh
+++ b/gazebo/physics/simbody/SimbodyScrewJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodySliderJoint.cc b/gazebo/physics/simbody/SimbodySliderJoint.cc
index 2d0c583..30060b1 100644
--- a/gazebo/physics/simbody/SimbodySliderJoint.cc
+++ b/gazebo/physics/simbody/SimbodySliderJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodySliderJoint.hh b/gazebo/physics/simbody/SimbodySliderJoint.hh
index 6ad85b6..7bd7f70 100644
--- a/gazebo/physics/simbody/SimbodySliderJoint.hh
+++ b/gazebo/physics/simbody/SimbodySliderJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodySphereShape.hh b/gazebo/physics/simbody/SimbodySphereShape.hh
index e2b62b5..5f12194 100644
--- a/gazebo/physics/simbody/SimbodySphereShape.hh
+++ b/gazebo/physics/simbody/SimbodySphereShape.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyTypes.hh b/gazebo/physics/simbody/SimbodyTypes.hh
index 809daf5..8467a5d 100644
--- a/gazebo/physics/simbody/SimbodyTypes.hh
+++ b/gazebo/physics/simbody/SimbodyTypes.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyUniversalJoint.cc b/gazebo/physics/simbody/SimbodyUniversalJoint.cc
index 1c70955..abe5e69 100644
--- a/gazebo/physics/simbody/SimbodyUniversalJoint.cc
+++ b/gazebo/physics/simbody/SimbodyUniversalJoint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/SimbodyUniversalJoint.hh b/gazebo/physics/simbody/SimbodyUniversalJoint.hh
index cbf5317..56b4a86 100644
--- a/gazebo/physics/simbody/SimbodyUniversalJoint.hh
+++ b/gazebo/physics/simbody/SimbodyUniversalJoint.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/physics/simbody/simbody_inc.h b/gazebo/physics/simbody/simbody_inc.h
index 1dcdeae..b3859af 100644
--- a/gazebo/physics/simbody/simbody_inc.h
+++ b/gazebo/physics/simbody/simbody_inc.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/ApplyWrenchVisual.cc b/gazebo/rendering/ApplyWrenchVisual.cc
index 9f212e8..ffc127d 100644
--- a/gazebo/rendering/ApplyWrenchVisual.cc
+++ b/gazebo/rendering/ApplyWrenchVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/ApplyWrenchVisual.hh b/gazebo/rendering/ApplyWrenchVisual.hh
index 264707b..a22cc99 100644
--- a/gazebo/rendering/ApplyWrenchVisual.hh
+++ b/gazebo/rendering/ApplyWrenchVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/ApplyWrenchVisualPrivate.hh b/gazebo/rendering/ApplyWrenchVisualPrivate.hh
index 9ef8b56..44a91c0 100644
--- a/gazebo/rendering/ApplyWrenchVisualPrivate.hh
+++ b/gazebo/rendering/ApplyWrenchVisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/ArrowVisual.cc b/gazebo/rendering/ArrowVisual.cc
index 5bf79c8..6f14884 100644
--- a/gazebo/rendering/ArrowVisual.cc
+++ b/gazebo/rendering/ArrowVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/ArrowVisual.hh b/gazebo/rendering/ArrowVisual.hh
index 1359746..f884d54 100644
--- a/gazebo/rendering/ArrowVisual.hh
+++ b/gazebo/rendering/ArrowVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/ArrowVisualPrivate.hh b/gazebo/rendering/ArrowVisualPrivate.hh
index 7f39611..ea141cf 100644
--- a/gazebo/rendering/ArrowVisualPrivate.hh
+++ b/gazebo/rendering/ArrowVisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/AxisVisual.cc b/gazebo/rendering/AxisVisual.cc
index 7b1051f..e9b31b2 100644
--- a/gazebo/rendering/AxisVisual.cc
+++ b/gazebo/rendering/AxisVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/AxisVisual.hh b/gazebo/rendering/AxisVisual.hh
index 554639f..2992369 100644
--- a/gazebo/rendering/AxisVisual.hh
+++ b/gazebo/rendering/AxisVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/AxisVisualPrivate.hh b/gazebo/rendering/AxisVisualPrivate.hh
index 86584e8..ad44e62 100644
--- a/gazebo/rendering/AxisVisualPrivate.hh
+++ b/gazebo/rendering/AxisVisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/CMakeLists.txt b/gazebo/rendering/CMakeLists.txt
index b895510..4ec989d 100644
--- a/gazebo/rendering/CMakeLists.txt
+++ b/gazebo/rendering/CMakeLists.txt
@@ -152,6 +152,7 @@ gz_build_tests(${gtest_sources} EXTRA_LIBS gazebo_rendering)
set (gtest_sources_dri
COMVisual_TEST.cc
+ Distortion_TEST.cc
GpuLaser_TEST.cc
Heightmap_TEST.cc
InertiaVisual_TEST.cc
diff --git a/gazebo/rendering/COMVisual.cc b/gazebo/rendering/COMVisual.cc
index 02f44de..51dd084 100644
--- a/gazebo/rendering/COMVisual.cc
+++ b/gazebo/rendering/COMVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/COMVisual.hh b/gazebo/rendering/COMVisual.hh
index 028cc6d..5315d1c 100644
--- a/gazebo/rendering/COMVisual.hh
+++ b/gazebo/rendering/COMVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/COMVisualPrivate.hh b/gazebo/rendering/COMVisualPrivate.hh
index a8381b0..f22d2a2 100644
--- a/gazebo/rendering/COMVisualPrivate.hh
+++ b/gazebo/rendering/COMVisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/COMVisual_TEST.cc b/gazebo/rendering/COMVisual_TEST.cc
index 02089c1..e8d8b78 100644
--- a/gazebo/rendering/COMVisual_TEST.cc
+++ b/gazebo/rendering/COMVisual_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Camera.cc b/gazebo/rendering/Camera.cc
index cd88825..77a849f 100644
--- a/gazebo/rendering/Camera.cc
+++ b/gazebo/rendering/Camera.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -1527,7 +1527,7 @@ void Camera::CreateRenderTexture(const std::string &_textureName)
this->ImageWidth(),
this->ImageHeight(),
0,
- (Ogre::PixelFormat)this->imageFormat,
+ static_cast<Ogre::PixelFormat>(this->imageFormat),
Ogre::TU_RENDERTARGET,
0,
false,
diff --git a/gazebo/rendering/Camera.hh b/gazebo/rendering/Camera.hh
index b81e786..aa22f4d 100644
--- a/gazebo/rendering/Camera.hh
+++ b/gazebo/rendering/Camera.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/CameraLensPrivate.hh b/gazebo/rendering/CameraLensPrivate.hh
index 363df8f..a85f110 100644
--- a/gazebo/rendering/CameraLensPrivate.hh
+++ b/gazebo/rendering/CameraLensPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/CameraPrivate.hh b/gazebo/rendering/CameraPrivate.hh
index 57bccb2..c617646 100644
--- a/gazebo/rendering/CameraPrivate.hh
+++ b/gazebo/rendering/CameraPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/CameraVisual.cc b/gazebo/rendering/CameraVisual.cc
index 38060ed..1f9aec4 100644
--- a/gazebo/rendering/CameraVisual.cc
+++ b/gazebo/rendering/CameraVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/CameraVisual.hh b/gazebo/rendering/CameraVisual.hh
index 8f863a4..2a3285e 100644
--- a/gazebo/rendering/CameraVisual.hh
+++ b/gazebo/rendering/CameraVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/CameraVisualPrivate.hh b/gazebo/rendering/CameraVisualPrivate.hh
index 6c04bef..e01e0da 100644
--- a/gazebo/rendering/CameraVisualPrivate.hh
+++ b/gazebo/rendering/CameraVisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/ContactVisual.cc b/gazebo/rendering/ContactVisual.cc
index 8ed8872..d7c5fcc 100644
--- a/gazebo/rendering/ContactVisual.cc
+++ b/gazebo/rendering/ContactVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/ContactVisual.hh b/gazebo/rendering/ContactVisual.hh
index fc580d7..6e93616 100644
--- a/gazebo/rendering/ContactVisual.hh
+++ b/gazebo/rendering/ContactVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/ContactVisualPrivate.hh b/gazebo/rendering/ContactVisualPrivate.hh
index 7761f38..6142895 100644
--- a/gazebo/rendering/ContactVisualPrivate.hh
+++ b/gazebo/rendering/ContactVisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Conversions.cc b/gazebo/rendering/Conversions.cc
index 784fd91..ad68367 100644
--- a/gazebo/rendering/Conversions.cc
+++ b/gazebo/rendering/Conversions.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Conversions.hh b/gazebo/rendering/Conversions.hh
index 8d886b0..262bf28 100644
--- a/gazebo/rendering/Conversions.hh
+++ b/gazebo/rendering/Conversions.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/DepthCamera.cc b/gazebo/rendering/DepthCamera.cc
index ccb0688..de89723 100644
--- a/gazebo/rendering/DepthCamera.cc
+++ b/gazebo/rendering/DepthCamera.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/DepthCamera.hh b/gazebo/rendering/DepthCamera.hh
index 9fdb500..0bcf24a 100644
--- a/gazebo/rendering/DepthCamera.hh
+++ b/gazebo/rendering/DepthCamera.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/DepthCameraPrivate.hh b/gazebo/rendering/DepthCameraPrivate.hh
index 9eb37ff..89c7784 100644
--- a/gazebo/rendering/DepthCameraPrivate.hh
+++ b/gazebo/rendering/DepthCameraPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Distortion.cc b/gazebo/rendering/Distortion.cc
index 98d4740..8a4c76c 100644
--- a/gazebo/rendering/Distortion.cc
+++ b/gazebo/rendering/Distortion.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,6 +17,8 @@
#include <sdf/sdf.hh>
+#include <ignition/math/Helpers.hh>
+
#include "gazebo/common/Assert.hh"
#include "gazebo/rendering/ogre_gazebo.h"
#include "gazebo/rendering/Camera.hh"
@@ -35,8 +37,8 @@ Distortion::Distortion()
this->dataPtr->k3 = 0;
this->dataPtr->p1 = 0;
this->dataPtr->p2 = 0;
- this->dataPtr->lensCenter = math::Vector2d(0.5, 0.5);
- this->dataPtr->distortionScale = math::Vector2d(1.0, 1.0);
+ this->dataPtr->lensCenter = ignition::math::Vector2d(0.5, 0.5);
+ this->dataPtr->distortionScale = ignition::math::Vector2d(1.0, 1.0);
this->dataPtr->distortionCrop = true;
}
@@ -56,14 +58,24 @@ void Distortion::Load(sdf::ElementPtr _sdf)
this->dataPtr->k3 = this->sdf->Get<double>("k3");
this->dataPtr->p1 = this->sdf->Get<double>("p1");
this->dataPtr->p2 = this->sdf->Get<double>("p2");
- this->dataPtr->lensCenter = this->sdf->Get<math::Vector2d>("center");
+ this->dataPtr->lensCenter =
+ this->sdf->Get<ignition::math::Vector2d>("center");
+
+ this->dataPtr->distortionCrop = this->dataPtr->k1 < 0;
+}
- if (this->dataPtr->k1 >= 0)
+//////////////////////////////////////////////////
+ignition::math::Vector2d
+ Distortion::DistortionMapValueClamped(const int x, const int y) const
+{
+ if (x < 0 || x >= static_cast<int>(this->dataPtr->distortionTexWidth) ||
+ y < 0 || y >= static_cast<int>(this->dataPtr->distortionTexHeight))
{
- gzerr << "Pincushion model is currently not supported."
- << " Please use a negative k1 coefficient for barrel distortion"
- << std::endl;
+ return ignition::math::Vector2d(-1, -1);
}
+ ignition::math::Vector2d res =
+ this->dataPtr->distortionMap[y*this->dataPtr->distortionTexWidth+x];
+ return res;
}
//////////////////////////////////////////////////
@@ -75,213 +87,271 @@ void Distortion::SetCamera(CameraPtr _camera)
return;
}
- if (this->dataPtr->k1 >= 0)
+ // If no distortion is required, immediately return.
+ if (ignition::math::equal(this->dataPtr->k1, 0.0) &&
+ ignition::math::equal(this->dataPtr->k2, 0.0) &&
+ ignition::math::equal(this->dataPtr->k3, 0.0) &&
+ ignition::math::equal(this->dataPtr->p1, 0.0) &&
+ ignition::math::equal(this->dataPtr->p2, 0.0))
{
- gzerr << "Currently only Barrel Distortion is supported. "
- << "Distortion will not be applied." << std::endl;
return;
}
// seems to work best with a square distortion map texture
unsigned int texSide = _camera->ImageHeight() > _camera->ImageWidth() ?
_camera->ImageHeight() : _camera->ImageWidth();
- unsigned int texWidth = texSide;
- unsigned int texHeight = texSide;
- unsigned int imageSize = texWidth * texHeight;
-
+ this->dataPtr->distortionTexWidth = texSide - 1;
+ this->dataPtr->distortionTexHeight = texSide - 1;
+ unsigned int imageSize =
+ this->dataPtr->distortionTexWidth * this->dataPtr->distortionTexHeight;
+ double incrU = 1.0 / this->dataPtr->distortionTexWidth;
+ double incrV = 1.0 / this->dataPtr->distortionTexHeight;
+
+ // initialize distortion map
this->dataPtr->distortionMap.resize(imageSize);
for (unsigned int i = 0; i < this->dataPtr->distortionMap.size(); ++i)
+ {
this->dataPtr->distortionMap[i] = -1;
-
- double incrU = 1.0 / texWidth;
- double incrV = 1.0 / texHeight;
-
- // obtain bounds of the distorted image points.
- math::Vector2d boundA = this->Distort(math::Vector2d(0, 0),
- this->dataPtr->lensCenter,
- this->dataPtr->k1, this->dataPtr->k2, this->dataPtr->k3,
- this->dataPtr->p1, this->dataPtr->p2);
- math::Vector2d boundB = this->Distort(math::Vector2d(1, 1),
- this->dataPtr->lensCenter,
- this->dataPtr->k1, this->dataPtr->k2, this->dataPtr->k3,
- this->dataPtr->p1, this->dataPtr->p2);
-
- if (this->dataPtr->distortionCrop)
- this->dataPtr->distortionScale = boundB - boundA;
+ }
// fill the distortion map
- for (unsigned int i = 0; i < texHeight; ++i)
+ for (unsigned int i = 0; i < this->dataPtr->distortionTexHeight; ++i)
{
- double v = i*incrU;
- for (unsigned int j = 0; j < texWidth; ++j)
+ double v = i*incrV;
+ for (unsigned int j = 0; j < this->dataPtr->distortionTexWidth; ++j)
{
- double u = j*incrV;
- math::Vector2d uv(u, v);
- math::Vector2d out = this->Distort(uv, this->dataPtr->lensCenter,
+ double u = j*incrU;
+ ignition::math::Vector2d uv(u, v);
+ ignition::math::Vector2d out = this->Distort(
+ uv,
+ this->dataPtr->lensCenter,
this->dataPtr->k1, this->dataPtr->k2, this->dataPtr->k3,
- this->dataPtr->p1, this->dataPtr->p2);
+ this->dataPtr->p1, this->dataPtr->p2).Ign();
// compute the index in the distortion map
- unsigned int idxU = out.x * texWidth;
- unsigned int idxV = out.y * texHeight;
- unsigned int mapIdx = idxV * texWidth + idxU;
+ unsigned int idxU = out.X() * this->dataPtr->distortionTexWidth;
+ unsigned int idxV = out.Y() * this->dataPtr->distortionTexHeight;
- // this should not happen for barrel distortion as the normalized
- // distorted coordinate should be within (0, 0) and (1.0, 1.0).
- if (mapIdx >= imageSize)
+ if (idxU < this->dataPtr->distortionTexWidth &&
+ idxV < this->dataPtr->distortionTexHeight)
{
- gzlog << "Warning: Normalized distorted coordinate is out of range."
- << " Index: '" << mapIdx << "' vs Image Size: '" << imageSize << "'"
- << " This should not happen for barrel distortion" << std::endl;
- continue;
+ unsigned int mapIdx = idxV * this->dataPtr->distortionTexWidth + idxU;
+ this->dataPtr->distortionMap[mapIdx] = uv;
}
-
- this->dataPtr->distortionMap[mapIdx] = uv;
+ // else: pixel maps outside the image bounds.
+ // This is expected and normal to ensure
+ // no black borders; carry on
}
}
- // Apply interpolation to the resulting distortion map.
- // This is mostly needed for barrel distortion where the the center of the
- // distortion texture may contain a few black pixels.
- unsigned int boundAIdxU = boundA.x * texWidth;
- unsigned int boundAIdxV = boundA.y * texHeight;
- unsigned int boundBIdxU = boundB.x * texWidth;
- unsigned int boundBIdxV = boundB.y * texHeight;
- // limit interpolation to the boundary formed by the distorted image points.
- unsigned int roiWidth = boundBIdxU - boundAIdxU;
- unsigned int roiHeight = boundBIdxV - boundAIdxV;
- for (unsigned int i = 0 ; i < roiHeight; ++i)
+ // set up the distortion instance
+ this->dataPtr->distortionMaterial =
+ Ogre::MaterialManager::getSingleton().getByName(
+ "Gazebo/CameraDistortionMap");
+ this->dataPtr->distortionMaterial =
+ this->dataPtr->distortionMaterial->clone(
+ "Gazebo/" + _camera->Name() + "_CameraDistortionMap");
+
+ // create the distortion map texture for the distortion instance
+ std::string texName = _camera->Name() + "_distortionTex";
+ Ogre::TexturePtr renderTexture =
+ Ogre::TextureManager::getSingleton().createManual(
+ texName,
+ "General",
+ Ogre::TEX_TYPE_2D,
+ this->dataPtr->distortionTexWidth,
+ this->dataPtr->distortionTexHeight,
+ 0,
+ Ogre::PF_FLOAT32_RGB);
+ Ogre::HardwarePixelBufferSharedPtr pixelBuffer = renderTexture->getBuffer();
+
+ // fill the distortion map, while interpolating to fill dead pixels
+ pixelBuffer->lock(Ogre::HardwareBuffer::HBL_NORMAL);
+ const Ogre::PixelBox &pixelBox = pixelBuffer->getCurrentLock();
+ float *pDest = static_cast<float *>(pixelBox.data);
+ for (unsigned int i = 0; i < this->dataPtr->distortionTexHeight; ++i)
{
- for (unsigned int j = 0 ; j < roiWidth; ++j)
+ for (unsigned int j = 0; j < this->dataPtr->distortionTexWidth; ++j)
{
- unsigned int mapIdx = (boundAIdxV + i) * texWidth + boundAIdxU + j;
+ ignition::math::Vector2d vec =
+ this->dataPtr->distortionMap[i*this->dataPtr->distortionTexWidth+j];
+
+ // perform interpolation on-the-fly:
// check for empty mapping within the region and correct it by
- // interpolating four neighboring distortion map values.
- if (this->dataPtr->distortionMap[mapIdx] == math::Vector2d(-1, -1))
+ // interpolating the eight neighboring distortion map values.
+
+ if (vec.X() < -0.5 && vec.Y() < -0.5)
{
- math::Vector2d interpolate(0, 0);
- int sampleSize = 0;
- // left
- if ((boundAIdxU + j) != 0 &&
- !(this->dataPtr->distortionMap[mapIdx-1] == math::Vector2d(-1, -1)))
+ ignition::math::Vector2d left =
+ this->DistortionMapValueClamped(j-1, i);
+ ignition::math::Vector2d right =
+ this->DistortionMapValueClamped(j+1, i);
+ ignition::math::Vector2d bottom =
+ this->DistortionMapValueClamped(j, i+1);
+ ignition::math::Vector2d top =
+ this->DistortionMapValueClamped(j, i-1);
+
+ ignition::math::Vector2d topLeft =
+ this->DistortionMapValueClamped(j-1, i-1);
+ ignition::math::Vector2d topRight =
+ this->DistortionMapValueClamped(j+1, i-1);
+ ignition::math::Vector2d bottomLeft =
+ this->DistortionMapValueClamped(j-1, i+1);
+ ignition::math::Vector2d bottomRight =
+ this->DistortionMapValueClamped(j+1, i+1);
+
+
+ ignition::math::Vector2d interpolated;
+ double divisor = 0;
+ if (right.X() > -0.5)
+ {
+ divisor++;
+ interpolated += right;
+ }
+ if (left.X() > -0.5)
+ {
+ divisor++;
+ interpolated += left;
+ }
+ if (top.X() > -0.5)
{
- interpolate += this->dataPtr->distortionMap[mapIdx-1];
- sampleSize++;
+ divisor++;
+ interpolated += top;
}
- // right
- if ((boundAIdxU + j+1) < texWidth &&
- !(this->dataPtr->distortionMap[mapIdx+1] == math::Vector2d(-1, -1)))
+ if (bottom.X() > -0.5)
{
- interpolate += this->dataPtr->distortionMap[mapIdx+1];
- sampleSize++;
+ divisor++;
+ interpolated += bottom;
}
- // top
- if ((boundAIdxV + i) != 0)
+
+ if (bottomRight.X() > -0.5)
+ {
+ divisor += 0.707;
+ interpolated += bottomRight * 0.707;
+ }
+ if (bottomLeft.X() > -0.5)
{
- unsigned int topIdx =
- (boundAIdxV + i-1) * texWidth + boundAIdxU + j;
- if (!(this->dataPtr->distortionMap[topIdx]
- == math::Vector2d(-1, -1)))
- {
- interpolate += this->dataPtr->distortionMap[mapIdx-1];
- sampleSize++;
- }
+ divisor += 0.707;
+ interpolated += bottomLeft * 0.707;
}
- // bottom
- if ((boundAIdxV + i+1) < texHeight)
+ if (topRight.X() > -0.5)
{
- unsigned int bottomIdx =
- (boundAIdxV + i+1) * texWidth + boundAIdxU + j;
- if (!(this->dataPtr->distortionMap[bottomIdx]
- == math::Vector2d(-1, -1)))
- {
- interpolate += this->dataPtr->distortionMap[mapIdx+1];
- sampleSize++;
- }
+ divisor += 0.707;
+ interpolated += topRight * 0.707;
}
- interpolate.x = interpolate.x / sampleSize;
- interpolate.y = interpolate.y / sampleSize;
- this->dataPtr->distortionMap[mapIdx] = interpolate;
+ if (topLeft.X() > -0.5)
+ {
+ divisor += 0.707;
+ interpolated += topLeft * 0.707;
+ }
+
+ if (divisor > 0.5)
+ {
+ interpolated /= divisor;
+ }
+ *pDest++ = ignition::math::clamp(interpolated.X(), 0.0, 1.0);
+ *pDest++ = ignition::math::clamp(interpolated.Y(), 0.0, 1.0);
}
+ else
+ {
+ *pDest++ = vec.X();
+ *pDest++ = vec.Y();
+ }
+
+ // Z coordinate
+ *pDest++ = 0;
}
}
+ pixelBuffer->unlock();
+
+ // set up the distortion map texture to be used in the pixel shader.
+ this->dataPtr->distortionMaterial->getTechnique(0)->getPass(0)->
+ createTextureUnitState(texName, 1);
- // set up the compositor
- Ogre::MaterialPtr distMat =
- Ogre::MaterialManager::getSingleton().getByName(
- "Gazebo/CameraDistortionMap");
this->dataPtr->lensDistortionInstance =
Ogre::CompositorManager::getSingleton().addCompositor(
_camera->OgreViewport(), "CameraDistortionMap/Default");
- this->dataPtr->lensDistortionInstance->setEnabled(true);
+ this->dataPtr->lensDistortionInstance->getTechnique()->getOutputTargetPass()->
+ getPass(0)->setMaterial(this->dataPtr->distortionMaterial);
- // create the distortion map texture
- std::string texName = _camera->Name() + "_distortionTex";
- Ogre::TexturePtr renderTexture =
- Ogre::TextureManager::getSingleton().createManual(
- texName,
- "General",
- Ogre::TEX_TYPE_2D,
- texWidth,
- texHeight,
- 0,
- Ogre::PF_FLOAT32_RGB);
- Ogre::HardwarePixelBufferSharedPtr pixelBuffer = renderTexture->getBuffer();
+ this->CalculateAndApplyDistortionScale();
- // fill the distortion map
- pixelBuffer->lock(Ogre::HardwareBuffer::HBL_NORMAL);
- const Ogre::PixelBox &pixelBox = pixelBuffer->getCurrentLock();
- float *pDest = static_cast<float *>(pixelBox.data);
- for (unsigned int i = 0; i < texHeight; ++i)
+ this->dataPtr->lensDistortionInstance->setEnabled(true);
+}
+
+//////////////////////////////////////////////////
+void Distortion::CalculateAndApplyDistortionScale()
+{
+ if (!this->dataPtr->distortionMaterial.isNull())
{
- for (unsigned int j = 0; j < texWidth; ++j)
+ if (this->dataPtr->distortionCrop && this->dataPtr->k1 < 0)
{
- math::Vector2d vec =
- this->dataPtr->distortionMap[i*texWidth+j];
- *pDest++ = vec.x;
- *pDest++ = vec.y;
- *pDest++ = 0;
+ // I believe that if not used with a square distortion texture, this
+ // calculation will result in stretching of the final output image.
+ ignition::math::Vector2d boundA = this->Distort(
+ ignition::math::Vector2d(0, 0),
+ this->dataPtr->lensCenter,
+ this->dataPtr->k1, this->dataPtr->k2, this->dataPtr->k3,
+ this->dataPtr->p1, this->dataPtr->p2).Ign();
+ ignition::math::Vector2d boundB = this->Distort(
+ ignition::math::Vector2d(1, 1),
+ this->dataPtr->lensCenter,
+ this->dataPtr->k1, this->dataPtr->k2, this->dataPtr->k3,
+ this->dataPtr->p1, this->dataPtr->p2).Ign();
+ this->dataPtr->distortionScale = boundB - boundA;
+ }
+ else
+ {
+ this->dataPtr->distortionScale = ignition::math::Vector2d(1, 1);
}
- }
- pixelBuffer->unlock();
-
- // pass a scale param to the pixel shader for scaling the texture in order to
- // remove black border.
- Ogre::GpuProgramParametersSharedPtr params =
- distMat->getTechnique(0)->getPass(0)->getFragmentProgramParameters();
- params->setNamedConstant("scale",
- Ogre::Vector3(this->dataPtr->distortionScale.x,
- this->dataPtr->distortionScale.y, 1.0));
- // set up the distortion map texture to be used in the pixel shader.
- distMat->getTechnique(0)->getPass(0)->createTextureUnitState(texName, 1);
+ // Both invalid: scale very close to 0 OR negative scale
+ if (this->dataPtr->distortionScale.X() < 1e-7 ||
+ this->dataPtr->distortionScale.Y() < 1e-7)
+ {
+ gzerr << "Distortion model attempted to apply a scale parameter of ("
+ << this->dataPtr->distortionScale.X() << ", "
+ << this->dataPtr->distortionScale.Y() << ", which is invalid.\n";
+ }
+ else
+ {
+ Ogre::GpuProgramParametersSharedPtr params =
+ this->dataPtr->distortionMaterial->getTechnique(0)->getPass(0)->
+ getFragmentProgramParameters();
+ params->setNamedConstant("scale",
+ Ogre::Vector3(1.0/this->dataPtr->distortionScale.X(),
+ 1.0/this->dataPtr->distortionScale.Y(), 1.0));
+ }
+ }
}
//////////////////////////////////////////////////
-math::Vector2d Distortion::Distort(const math::Vector2d &_in,
+math::Vector2d Distortion::Distort(
+ const math::Vector2d &_in,
const math::Vector2d &_center, double _k1, double _k2, double _k3,
double _p1, double _p2)
{
// apply Brown's distortion model, see
// http://en.wikipedia.org/wiki/Distortion_%28optics%29#Software_correction
- math::Vector2d normalized2d = _in - _center;
- math::Vector3 normalized(normalized2d.x, normalized2d.y, 0);
- double rSq = normalized.x * normalized.x
- + normalized.y * normalized.y;
+ ignition::math::Vector2d normalized2d = (_in - _center).Ign();
+ ignition::math::Vector3d normalized(normalized2d.X(), normalized2d.Y(), 0);
+ double rSq = normalized.X() * normalized.X()
+ + normalized.Y() * normalized.Y();
// radial
- math::Vector3 dist = normalized * (1.0 +
+ ignition::math::Vector3d dist = normalized * (1.0 +
_k1 * rSq +
_k2 * rSq * rSq +
_k3 * rSq * rSq * rSq);
// tangential
- dist.x += _p2 * (rSq + 2 * (normalized.x*normalized.x)) +
- 2 * _p1 * normalized.x * normalized.y;
- dist.y += _p1 * (rSq + 2 * (normalized.y*normalized.y)) +
- 2 * _p2 * normalized.x * normalized.y;
- math::Vector2d out = _center + math::Vector2d(dist.x, dist.y);
+ dist.X() += _p2 * (rSq + 2 * (normalized.X()*normalized.X())) +
+ 2 * _p1 * normalized.X() * normalized.Y();
+ dist.Y() += _p1 * (rSq + 2 * (normalized.Y()*normalized.Y())) +
+ 2 * _p2 * normalized.X() * normalized.Y();
+ ignition::math::Vector2d out =
+ _center.Ign() + ignition::math::Vector2d(dist.X(), dist.Y());
return out;
}
@@ -289,7 +359,12 @@ math::Vector2d Distortion::Distort(const math::Vector2d &_in,
//////////////////////////////////////////////////
void Distortion::SetCrop(bool _crop)
{
- this->dataPtr->distortionCrop = _crop;
+ // Only update the distortion scale if the crop value is going to flip.
+ if (this->dataPtr->distortionCrop != _crop)
+ {
+ this->dataPtr->distortionCrop = _crop;
+ this->CalculateAndApplyDistortionScale();
+ }
}
//////////////////////////////////////////////////
@@ -323,6 +398,12 @@ double Distortion::GetP2() const
}
//////////////////////////////////////////////////
+bool Distortion::Crop() const
+{
+ return this->dataPtr->distortionCrop;
+}
+
+//////////////////////////////////////////////////
math::Vector2d Distortion::GetCenter() const
{
return this->dataPtr->lensCenter;
diff --git a/gazebo/rendering/Distortion.hh b/gazebo/rendering/Distortion.hh
index 872d90f..9e73842 100644
--- a/gazebo/rendering/Distortion.hh
+++ b/gazebo/rendering/Distortion.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,6 +19,7 @@
#define _GAZEBO_RENDERING_DISTORTION_HH_
#include <sdf/sdf.hh>
+#include <ignition/math.hh>
#include "gazebo/rendering/RenderTypes.hh"
#include "gazebo/util/system.hh"
@@ -34,8 +35,7 @@ namespace gazebo
/// \{
/// \class Distortion Distortion.hh rendering/rendering.hh
- /// \brief Camera distortion based on Brown's model. Note that the current
- /// implementation only supports barrel distortion.
+ /// \brief Camera distortion based on the Brown-Conrady model.
class GZ_RENDERING_VISIBLE Distortion
{
/// \brief Constructor
@@ -77,6 +77,11 @@ namespace gazebo
/// \return Distortion coefficient p2.
public: double GetP2() const;
+ /// \brief Get whether or not the camera is being cropped to
+ /// account for black borders created by barrel distortion.
+ /// \return Distortion crop value.
+ public: bool Crop() const;
+
/// \brief Get the distortion center.
/// \return Distortion center.
public: math::Vector2d GetCenter() const;
@@ -90,9 +95,22 @@ namespace gazebo
/// \param[in] _p1 Tangential distortion coefficient p1.
/// \param[in] _p2 Tangential distortion coefficient p2.
/// \return Distorted coordinate.
- public: static math::Vector2d Distort(const math::Vector2d &_in,
- const math::Vector2d &_center, double _k1, double _k2, double _k3,
- double _p1, double _p2);
+ public: static math::Vector2d Distort(
+ const math::Vector2d &_in,
+ const math::Vector2d &_center, double _k1, double _k2,
+ double _k3, double _p1, double _p2);
+
+ /// \brief get the distortion map value.
+ /// \return the distortion map value at the specified index,
+ /// or (-1, -1) if the index
+ /// is out of bounds.
+ protected: ignition::math::Vector2d
+ DistortionMapValueClamped(const int x, const int y) const;
+
+ /// \brief calculate the correct scale factor to "zoom" the render,
+ /// cutting off black borders caused by distortion (only if the crop
+ /// flag has been set).
+ protected: void CalculateAndApplyDistortionScale();
/// \brief Distortion SDF values.
protected: sdf::ElementPtr sdf;
diff --git a/gazebo/rendering/DistortionPrivate.hh b/gazebo/rendering/DistortionPrivate.hh
index fb3c53d..ec86141 100644
--- a/gazebo/rendering/DistortionPrivate.hh
+++ b/gazebo/rendering/DistortionPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -44,10 +44,10 @@ namespace gazebo
public: double p2;
/// \brief Lens center used for distortion
- public: math::Vector2d lensCenter;
+ public: ignition::math::Vector2d lensCenter;
/// \brief Scale applied to distorted image.
- public: math::Vector2d distortionScale;
+ public: ignition::math::Vector2d distortionScale;
/// \brief True if the distorted image will be cropped to remove the
/// black pixels at the corners of the image.
@@ -56,11 +56,20 @@ namespace gazebo
/// \brief Lens distortion compositor
public: Ogre::CompositorInstance *lensDistortionInstance;
+ /// \brief Ogre Material that contains the distortion shader
+ public: Ogre::MaterialPtr distortionMaterial;
+
/// \brief Connection for the pre render event.
public: event::ConnectionPtr preRenderConnection;
/// \brief Mapping of distorted to undistorted normalized pixels
- public: std::vector<math::Vector2d> distortionMap;
+ public: std::vector<ignition::math::Vector2d> distortionMap;
+
+ /// \brief Width of distortion texture map
+ public: unsigned int distortionTexWidth;
+
+ /// \brief Height of distortion texture map
+ public: unsigned int distortionTexHeight;
};
}
}
diff --git a/gazebo/rendering/Distortion_TEST.cc b/gazebo/rendering/Distortion_TEST.cc
new file mode 100644
index 0000000..313603a
--- /dev/null
+++ b/gazebo/rendering/Distortion_TEST.cc
@@ -0,0 +1,123 @@
+/*
+ * Copyright (C) 2017 Open Source Robotics Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+*/
+
+#include <gtest/gtest.h>
+#include <string>
+#include <stdlib.h>
+
+#include "gazebo/rendering/RenderingIface.hh"
+#include "gazebo/test/ServerFixture.hh"
+#include "gazebo/rendering/Distortion.hh"
+#include "gazebo/rendering/Camera.hh"
+
+#include "test/util.hh"
+
+
+using namespace gazebo;
+
+class Distortion_TEST : public RenderingFixture { };
+
+sdf::ElementPtr CreateDistortionSDFElement(double _k1, double _k2,
+ double _k3, double _p1, double _p2, double _cx, double _cy)
+{
+ std::ostringstream newModelStr;
+
+ newModelStr << "<sdf version='" << SDF_VERSION << "'>"
+ << "<model name ='distorted_cam'>"
+ << " <static>true</static>"
+ << " <pose>0 0 0 0 0 0</pose>"
+ << " <link name ='body'>"
+ << " <sensor name ='distorted_cam' type ='camera'>"
+ << " <always_on>1</always_on>"
+ << " <update_rate>30</update_rate>"
+ << " <visualize>true</visualize>"
+ << " <camera>"
+ << " <horizontal_fov>0.78539816339744828</horizontal_fov>"
+ << " <image>"
+ << " <width>100</width>"
+ << " <height>100</height>"
+ << " <format>R8G8B8</format>"
+ << " </image>"
+ << " <clip>"
+ << " <near>0.1</near><far>100</far>"
+ << " </clip>"
+ << " <distortion>"
+ << " <k1>" << _k1 << "</k1>"
+ << " <k2>" << _k2 << "</k2>"
+ << " <k3>" << _k3 << "</k3>"
+ << " <p1>" << _p1 << "</p1>"
+ << " <p2>" << _p2 << "</p2>"
+ << " <center>" << _cx << " " << _cy << "</center>"
+ << " </distortion>"
+ << " </camera>"
+ << " </sensor>"
+ << " </link>"
+ << "</model>"
+ << "</sdf>";
+
+ sdf::SDFPtr cameraSDF(new sdf::SDF);
+ cameraSDF->SetFromString(newModelStr.str());
+
+ sdf::ElementPtr elem = cameraSDF->Root()
+ ->GetElement("model")
+ ->GetElement("link")
+ ->GetElement("sensor")
+ ->GetElement("camera")
+ ->GetElement("distortion");
+ return elem;
+}
+
+/////////////////////////////////////////////////
+TEST_F(Distortion_TEST, DistortionModelBasics)
+{
+ Load("worlds/empty.world");
+
+ rendering::Distortion distortion;
+
+ // check the default crop behavior of the different distortion models
+ // undistorted
+ distortion.Load(CreateDistortionSDFElement(0, 0, 0, 0, 0, 0.5, 0.5));
+ EXPECT_EQ(distortion.Crop(), false);
+
+ // barrel distortion
+ distortion.Load(
+ CreateDistortionSDFElement(-0.1, -0.05, -0.01, 0, 0, 0.5, 0.5));
+ EXPECT_EQ(distortion.Crop(), true);
+
+ // pincushion distortion
+ distortion.Load(CreateDistortionSDFElement(0.1, 0.05, 0.01, 0, 0, 0.5, 0.5));
+ EXPECT_EQ(distortion.Crop(), false);
+
+ // getters and setters
+ distortion.SetCrop(false);
+ EXPECT_EQ(distortion.Crop(), false);
+ distortion.SetCrop(true);
+ EXPECT_EQ(distortion.Crop(), true);
+ EXPECT_DOUBLE_EQ(distortion.GetK1(), 0.1);
+ EXPECT_DOUBLE_EQ(distortion.GetK2(), 0.05);
+ EXPECT_DOUBLE_EQ(distortion.GetK3(), 0.01);
+ EXPECT_DOUBLE_EQ(distortion.GetP1(), 0.0);
+ EXPECT_DOUBLE_EQ(distortion.GetP2(), 0.0);
+ EXPECT_DOUBLE_EQ(distortion.GetCenter().Ign().X(), 0.5);
+ EXPECT_DOUBLE_EQ(distortion.GetCenter().Ign().Y(), 0.5);
+}
+
+int main(int argc, char **argv)
+{
+ ::testing::InitGoogleTest(&argc, argv);
+ return RUN_ALL_TESTS();
+}
diff --git a/gazebo/rendering/DynamicLines.cc b/gazebo/rendering/DynamicLines.cc
index 7f189a7..fef8e54 100644
--- a/gazebo/rendering/DynamicLines.cc
+++ b/gazebo/rendering/DynamicLines.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/DynamicLines.hh b/gazebo/rendering/DynamicLines.hh
index 5cf197c..eab8e97 100644
--- a/gazebo/rendering/DynamicLines.hh
+++ b/gazebo/rendering/DynamicLines.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/DynamicRenderable.cc b/gazebo/rendering/DynamicRenderable.cc
index cd60d73..fce7584 100644
--- a/gazebo/rendering/DynamicRenderable.cc
+++ b/gazebo/rendering/DynamicRenderable.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/DynamicRenderable.hh b/gazebo/rendering/DynamicRenderable.hh
index 8a5d2d9..0c10994 100644
--- a/gazebo/rendering/DynamicRenderable.hh
+++ b/gazebo/rendering/DynamicRenderable.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/FPSViewController.cc b/gazebo/rendering/FPSViewController.cc
index f62fb28..3441a12 100644
--- a/gazebo/rendering/FPSViewController.cc
+++ b/gazebo/rendering/FPSViewController.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/FPSViewController.hh b/gazebo/rendering/FPSViewController.hh
index 1059119..2c438d8 100644
--- a/gazebo/rendering/FPSViewController.hh
+++ b/gazebo/rendering/FPSViewController.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/GpuLaser.cc b/gazebo/rendering/GpuLaser.cc
index b925ee6..7591bd5 100644
--- a/gazebo/rendering/GpuLaser.cc
+++ b/gazebo/rendering/GpuLaser.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/GpuLaser.hh b/gazebo/rendering/GpuLaser.hh
index 043995c..5a7d85a 100644
--- a/gazebo/rendering/GpuLaser.hh
+++ b/gazebo/rendering/GpuLaser.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/GpuLaserPrivate.hh b/gazebo/rendering/GpuLaserPrivate.hh
index c5dd4bc..f6d54cf 100644
--- a/gazebo/rendering/GpuLaserPrivate.hh
+++ b/gazebo/rendering/GpuLaserPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/GpuLaser_TEST.cc b/gazebo/rendering/GpuLaser_TEST.cc
index cf67b1c..3fda161 100644
--- a/gazebo/rendering/GpuLaser_TEST.cc
+++ b/gazebo/rendering/GpuLaser_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Grid.cc b/gazebo/rendering/Grid.cc
index a99eb9f..42e624b 100644
--- a/gazebo/rendering/Grid.cc
+++ b/gazebo/rendering/Grid.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Grid.hh b/gazebo/rendering/Grid.hh
index 08c7ccb..f58423c 100644
--- a/gazebo/rendering/Grid.hh
+++ b/gazebo/rendering/Grid.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Heightmap.cc b/gazebo/rendering/Heightmap.cc
index 7a5edd1..a468b66 100644
--- a/gazebo/rendering/Heightmap.cc
+++ b/gazebo/rendering/Heightmap.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -50,7 +50,6 @@
using namespace gazebo;
using namespace rendering;
-const unsigned int HeightmapPrivate::numTerrainSubdivisions = 16;
const double HeightmapPrivate::loadRadiusFactor = 1.0;
const double HeightmapPrivate::holdRadiusFactor = 1.15;
const boost::filesystem::path HeightmapPrivate::pagingDirname = "paging";
@@ -159,7 +158,7 @@ void Heightmap::LoadFromMsg(ConstVisualPtr &_msg)
if (_msg->geometry().heightmap().has_sampling())
{
unsigned int s = _msg->geometry().heightmap().sampling();
- if (s == 0u || s & (s - 1u))
+ if (!ignition::math::isPowerOfTwo(s))
{
gzerr << "Heightmap sampling value must be a power of 2. "
<< "The default value of 2 will be used instead." << std::endl;
@@ -318,7 +317,7 @@ void Heightmap::UpdateTerrainHash(const std::string &_hash,
}
//////////////////////////////////////////////////
-bool Heightmap::PrepareTerrainPaging(
+bool Heightmap::PrepareTerrain(
const boost::filesystem::path &_terrainDirPath)
{
std::string heightmapHash;
@@ -394,6 +393,11 @@ void Heightmap::Load()
this->dataPtr->terrainGlobals->setUseVertexCompressionWhenAvailable(false);
#endif
+ // There is an issue with OGRE terrain LOD if heights are not relative to 0.
+ // So we move the heightmap so that its min elevation = 0 before feeding to
+ // ogre. It is later translated back by the setOrigin call.
+ double minElevation = 0.0;
+
// try loading heightmap data locally
if (!this->dataPtr->filename.empty())
{
@@ -417,6 +421,7 @@ void Heightmap::Load()
demData->GetWorldWidth(), demData->GetWorldHeight(),
heightmapSizeZ);
}
+ minElevation = demData->GetMinElevation();
}
#endif
@@ -445,7 +450,7 @@ void Heightmap::Load()
for (unsigned int x = 0; x < vertSize; ++x)
{
int index = (vertSize - y - 1) * vertSize + x;
- this->dataPtr->heights.push_back(lookup[index]);
+ this->dataPtr->heights.push_back(lookup[index] - minElevation);
}
}
@@ -487,6 +492,13 @@ void Heightmap::Load()
return;
}
+ if (!ignition::math::isPowerOfTwo(this->dataPtr->dataSize - 1))
+ {
+ gzerr << "Heightmap image size must be square, with a size of 2^n+1"
+ << std::endl;
+ return;
+ }
+
boost::filesystem::path imgPath;
boost::filesystem::path terrainName;
boost::filesystem::path terrainDirPath;
@@ -510,18 +522,31 @@ void Heightmap::Load()
}
}
- if (!ignition::math::isPowerOfTwo(this->dataPtr->dataSize - 1))
- gzthrow("Heightmap image size must be square, with a size of 2^n+1\n");
-
// If the paging is enabled we modify the number of subterrains
if (this->dataPtr->useTerrainPaging)
{
+ this->dataPtr->splitTerrain = true;
nTerrains = this->dataPtr->numTerrainSubdivisions;
prefix = terrainDirPath / "gazebo_terrain_cache";
}
else
{
- prefix = terrainDirPath / "gazebo_terrain_nocache";
+ // Note: ran into problems with LOD height glitches if heightmap size is
+ // larger than 4096 so split it into chunks
+ // Note: dataSize should be 2^n + 1
+ if (this->dataPtr->maxPixelError > 0 && this->dataPtr->dataSize > 4096u)
+ {
+ this->dataPtr->splitTerrain = true;
+ if (this->dataPtr->dataSize == 4097u)
+ this->dataPtr->numTerrainSubdivisions = 4u;
+ else
+ this->dataPtr->numTerrainSubdivisions = 16u;
+ nTerrains = this->dataPtr->numTerrainSubdivisions;
+
+ gzmsg << "Large heightmap used with LOD. It will be subdivided into " <<
+ this->dataPtr->numTerrainSubdivisions << " terrains." << std::endl;
+ }
+ prefix = terrainDirPath / "gazebo_terrain";
}
double sqrtN = sqrt(nTerrains);
@@ -546,14 +571,11 @@ void Heightmap::Load()
0.5 * this->dataPtr->terrainSize.X() / sqrtN,
orig.y -0.5 * this->dataPtr->terrainSize.X() +
0.5 * this->dataPtr->terrainSize.X() / sqrtN,
- orig.z);
+ orig.z + minElevation);
this->dataPtr->terrainGroup->setOrigin(Conversions::Convert(origin));
this->ConfigureTerrainDefaults();
- // use gazebo shaders
- this->CreateMaterial();
-
if (!this->dataPtr->heights.empty())
{
UserCameraPtr userCam = this->dataPtr->scene->GetUserCamera(0);
@@ -579,11 +601,10 @@ void Heightmap::Load()
}
}
+ this->dataPtr->terrainHashChanged = this->PrepareTerrain(terrainDirPath);
+
if (this->dataPtr->useTerrainPaging)
{
- this->dataPtr->terrainHashChanged =
- this->PrepareTerrainPaging(terrainDirPath);
-
if (this->dataPtr->terrainHashChanged)
{
// Split the terrain. Every subterrain will be saved on disk and paged
@@ -618,13 +639,23 @@ void Heightmap::Load()
0, 0, sqrtN - 1, sqrtN - 1);
}
+ gzmsg << "Loading heightmap: " << terrainName.string() << std::endl;
+ common::Time time = common::Time::GetWallTime();
+
for (int y = 0; y <= sqrtN - 1; ++y)
for (int x = 0; x <= sqrtN - 1; ++x)
this->DefineTerrain(x, y);
+ // use gazebo shaders
+ this->CreateMaterial();
+
// Sync load since we want everything in place when we start
this->dataPtr->terrainGroup->loadAllTerrains(true);
+ gzmsg << "Heightmap loaded. Process took: "
+ << (common::Time::GetWallTime() - time).Double()
+ << " seconds" << std::endl;
+
// Calculate blend maps
if (this->dataPtr->terrainsImported)
{
@@ -635,17 +666,41 @@ void Heightmap::Load()
Ogre::Terrain *t = ti.getNext()->instance;
this->InitBlendMaps(t);
}
-
- // saving an ogre terrain dat file can take quite some time for large dems.
- // so save only if doing terrain paging for now
- if (this->dataPtr->terrainHashChanged && this->dataPtr->useTerrainPaging)
- {
- // Save all subterrains using files.
- this->dataPtr->terrainGroup->saveAllTerrains(true);
- }
}
this->dataPtr->terrainGroup->freeTemporaryResources();
+
+ // save the terrain once its loaded
+ if (this->dataPtr->terrainsImported)
+ {
+ this->dataPtr->connections.push_back(
+ event::Events::ConnectPreRender(
+ std::bind(&Heightmap::SaveHeightmap, this)));
+ }
+}
+
+///////////////////////////////////////////////////
+void Heightmap::SaveHeightmap()
+{
+ // Calculate blend maps
+ if (this->dataPtr->terrainsImported &&
+ !this->dataPtr->terrainGroup->isDerivedDataUpdateInProgress())
+ {
+ // saving an ogre terrain data file can take quite some time for large dems.
+ gzmsg << "Saving heightmap cache data to " << (this->dataPtr->gzPagingDir /
+ boost::filesystem::path(this->dataPtr->filename).stem()).string()
+ << std::endl;
+ common::Time time = common::Time::GetWallTime();
+
+ this->dataPtr->terrainGroup->saveAllTerrains(true);
+
+ gzmsg << "Heightmap cache data saved. Process took: "
+ << (common::Time::GetWallTime() - time).Double() << " seconds."
+ << std::endl;
+
+ this->dataPtr->terrainsImported = false;
+ this->dataPtr->connections.clear();
+ }
}
///////////////////////////////////////////////////
@@ -656,7 +711,7 @@ void Heightmap::ConfigureTerrainDefaults()
// MaxPixelError: Decides how precise our terrain is going to be.
// A lower number will mean a more accurate terrain, at the cost of
// performance (because of more vertices)
- this->dataPtr->terrainGlobals->setMaxPixelError(0);
+ this->dataPtr->terrainGlobals->setMaxPixelError(this->dataPtr->maxPixelError);
// CompositeMapDistance: decides how far the Ogre terrain will render
// the lightmapped terrain.
@@ -738,27 +793,32 @@ void Heightmap::ConfigureTerrainDefaults()
/////////////////////////////////////////////////
void Heightmap::SetWireframe(const bool _show)
{
- Ogre::Terrain *terrain = this->dataPtr->terrainGroup->getTerrain(0, 0);
- GZ_ASSERT(terrain != nullptr, "Unable to get a valid terrain pointer");
-
- Ogre::Material *material = terrain->getMaterial().get();
+ Ogre::TerrainGroup::TerrainIterator ti =
+ this->dataPtr->terrainGroup->getTerrainIterator();
+ while (ti.hasMoreElements())
+ {
+ Ogre::Terrain *terrain = ti.getNext()->instance;
+ GZ_ASSERT(terrain != nullptr, "Unable to get a valid terrain pointer");
- unsigned int techniqueCount, passCount;
- Ogre::Technique *technique;
- Ogre::Pass *pass;
+ Ogre::Material *material = terrain->getMaterial().get();
- for (techniqueCount = 0; techniqueCount < material->getNumTechniques();
- techniqueCount++)
- {
- technique = material->getTechnique(techniqueCount);
+ unsigned int techniqueCount, passCount;
+ Ogre::Technique *technique;
+ Ogre::Pass *pass;
- for (passCount = 0; passCount < technique->getNumPasses(); passCount++)
+ for (techniqueCount = 0; techniqueCount < material->getNumTechniques();
+ ++techniqueCount)
{
- pass = technique->getPass(passCount);
- if (_show)
- pass->setPolygonMode(Ogre::PM_WIREFRAME);
- else
- pass->setPolygonMode(Ogre::PM_SOLID);
+ technique = material->getTechnique(techniqueCount);
+
+ for (passCount = 0; passCount < technique->getNumPasses(); ++passCount)
+ {
+ pass = technique->getPass(passCount);
+ if (_show)
+ pass->setPolygonMode(Ogre::PM_WIREFRAME);
+ else
+ pass->setPolygonMode(Ogre::PM_SOLID);
+ }
}
}
}
@@ -768,23 +828,38 @@ void Heightmap::DefineTerrain(const int _x, const int _y)
{
Ogre::String filename = this->dataPtr->terrainGroup->generateFilename(_x, _y);
- if (!this->dataPtr->useTerrainPaging)
- {
- this->dataPtr->terrainGroup->defineTerrain(_x, _y,
- &this->dataPtr->heights[0]);
- }
- else if ((Ogre::ResourceGroupManager::getSingleton().resourceExists(
- this->dataPtr->terrainGroup->getResourceGroup(), filename)) &&
- (!this->dataPtr->terrainHashChanged))
+ bool resourceExists =
+ Ogre::ResourceGroupManager::getSingleton().resourceExists(
+ this->dataPtr->terrainGroup->getResourceGroup(), filename);
+
+ if (resourceExists && !this->dataPtr->terrainHashChanged)
{
+ gzmsg << "Loading heightmap cache data: " << filename << std::endl;
+
this->dataPtr->terrainGroup->defineTerrain(_x, _y);
this->dataPtr->terrainsImported = false;
}
else
{
+ if (this->dataPtr->splitTerrain)
+ {
+ // generate the subterrains if needed
+ if (this->dataPtr->subTerrains.empty())
+ {
+ this->SplitHeights(this->dataPtr->heights,
+ this->dataPtr->numTerrainSubdivisions,
+ this->dataPtr->subTerrains);
+ }
+
this->dataPtr->terrainGroup->defineTerrain(_x, _y,
&this->dataPtr->subTerrains[this->dataPtr->terrainIdx][0]);
++this->dataPtr->terrainIdx;
+ }
+ else
+ {
+ this->dataPtr->terrainGroup->defineTerrain(_x, _y,
+ &this->dataPtr->heights[0]);
+ }
}
}
@@ -1155,6 +1230,23 @@ void Heightmap::SetupShadows(bool _enableShadows)
}
/////////////////////////////////////////////////
+void Heightmap::SetLOD(const unsigned int _value)
+{
+ this->dataPtr->maxPixelError = _value;
+ if (this->dataPtr->terrainGlobals)
+ {
+ this->dataPtr->terrainGlobals->setMaxPixelError(
+ this->dataPtr->maxPixelError);
+ }
+}
+
+/////////////////////////////////////////////////
+unsigned int Heightmap::LOD() const
+{
+ return static_cast<unsigned int>(this->dataPtr->maxPixelError);
+}
+
+/////////////////////////////////////////////////
void Heightmap::SetMaterial(const std::string &_materialName)
{
this->dataPtr->materialName = _materialName;
@@ -1177,6 +1269,8 @@ void Heightmap::CreateMaterial()
Ogre::TerrainMaterialGeneratorPtr terrainMaterialGenerator;
TerrainMaterial *terrainMaterial = OGRE_NEW TerrainMaterial(
this->dataPtr->materialName);
+ if (this->dataPtr->splitTerrain)
+ terrainMaterial->setGridSize(this->dataPtr->numTerrainSubdivisions);
terrainMaterialGenerator.bind(terrainMaterial);
this->dataPtr->terrainGlobals->setDefaultMaterialGenerator(
terrainMaterialGenerator);
@@ -2289,8 +2383,8 @@ GzTerrainMatGen::SM2Profile::ShaderHelperGLSL::generateFpDynamicShadowsParams(
for (Ogre::uint i = 0; i < numTextures; ++i)
{
- _outStream <<
- "varying vec4 lightSpacePos" << i << ";\n" <<
+ _outStream << fpInStr <<
+ " vec4 lightSpacePos" << i << ";\n" <<
"uniform sampler2D shadowMap" << i << ";\n";
*_sampler = *_sampler + 1;
@@ -3162,6 +3256,18 @@ void TerrainMaterial::setMaterialByName(const std::string &_materialname)
}
//////////////////////////////////////////////////
+void TerrainMaterial::setGridSize(const unsigned int _size)
+{
+ if (_size == 0)
+ {
+ gzerr << "Unable to set a grid size of zero" << std::endl;
+ return;
+ }
+
+ this->gridSize = _size;
+}
+
+//////////////////////////////////////////////////
TerrainMaterial::Profile::Profile(Ogre::TerrainMaterialGenerator *_parent,
const Ogre::String &_name, const Ogre::String &_desc)
: Ogre::TerrainMaterialGenerator::Profile(_parent, _name, _desc)
@@ -3190,9 +3296,67 @@ Ogre::MaterialPtr TerrainMaterial::Profile::generate(
if (!mat.isNull())
Ogre::MaterialManager::getSingleton().remove(matName);
+ TerrainMaterial *parent =
+ dynamic_cast<TerrainMaterial *>(getParent());
+
// Set Ogre material
- mat = Ogre::MaterialManager::getSingleton().getByName(
- (dynamic_cast<TerrainMaterial *>(getParent()))->materialName);
+ mat = Ogre::MaterialManager::getSingleton().getByName(parent->materialName);
+
+ // clone the material
+ mat = mat->clone(matName);
+ if (!mat->isLoaded())
+ mat->load();
+
+ // size of grid in one direction
+ unsigned int gridWidth =
+ static_cast<unsigned int>(std::sqrt(parent->gridSize));
+ // factor to be applied to uv transformation: scale and translation
+ double factor = 1.0 / gridWidth;
+ // static counter to keep track which terrain slot we are currently in
+ static int gridCount = 0;
+
+ for (unsigned int i = 0; i < mat->getNumTechniques(); ++i)
+ {
+ Ogre::Technique *tech = mat->getTechnique(i);
+ for (unsigned int j = 0; j < tech->getNumPasses(); ++j)
+ {
+ Ogre::Pass *pass = tech->getPass(j);
+
+ // check if there is a fragment shader
+ if (!pass->hasFragmentProgram())
+ continue;
+
+ Ogre::GpuProgramParametersSharedPtr params =
+ pass->getFragmentProgramParameters();
+ if (params.isNull())
+ continue;
+
+ // set up shadow split points in a way that is consistent with the
+ // default ogre terrain material generator
+ Ogre::PSSMShadowCameraSetup* pssm =
+ RTShaderSystem::Instance()->GetPSSMShadowCameraSetup();
+ unsigned int numTextures =
+ static_cast<unsigned int>(pssm->getSplitCount());
+ Ogre::Vector4 splitPoints;
+ const Ogre::PSSMShadowCameraSetup::SplitPointList& splitPointList =
+ pssm->getSplitPoints();
+ // populate from split point 1 not 0
+ for (unsigned int t = 1u; t < numTextures; ++t)
+ splitPoints[t-1] = splitPointList[t];
+ params->setNamedConstant("pssmSplitPoints", splitPoints);
+
+ // set up uv transform
+ double xTrans = static_cast<int>(gridCount / gridWidth) * factor;
+ double yTrans = (gridWidth - 1 - (gridCount % gridWidth)) * factor;
+ // explicitly set all matrix elements to avoid uninitialized values
+ Ogre::Matrix4 uvTransform(factor, 0.0, 0.0, xTrans,
+ 0.0, factor, 0.0, yTrans,
+ 0.0, 0.0, 1.0, 0.0,
+ 0.0, 0.0, 0.0, 1.0);
+ params->setNamedConstant("uvTransform", uvTransform);
+ }
+ }
+ gridCount++;
// Get default pass
Ogre::Pass *p = mat->getTechnique(0)->getPass(0);
@@ -3202,7 +3366,7 @@ Ogre::MaterialPtr TerrainMaterial::Profile::generate(
Ogre::TextureUnitState *tu = p->createTextureUnitState(matName+"/nm");
Ogre::TexturePtr nmtx = _terrain->getTerrainNormalMap();
- tu->_setTexturePtr(nmtx);
+ tu->_setTexturePtr(nmtx);
return mat;
}
diff --git a/gazebo/rendering/Heightmap.hh b/gazebo/rendering/Heightmap.hh
index c24e09a..2193e9c 100644
--- a/gazebo/rendering/Heightmap.hh
+++ b/gazebo/rendering/Heightmap.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -293,6 +293,19 @@ namespace gazebo
/// \return Custom material name.
public: std::string MaterialName() const;
+ /// \brief Set the Level Of Detail (LOD) for the heightmap.
+ /// \param[in] _value A render-engine specific value used to compute LOD.
+ /// In Ogre, this is the max pixel error that should be allowed when
+ /// rendering the heightmap. Default is 0, i.e. LOD is disabled.
+ /// Note: enabling LOD means that the rendering engine will be allowed to
+ /// morph mesh vertices, resulting in a simplified visual that may be
+ /// different from the collision.
+ public: void SetLOD(const unsigned int _value);
+
+ /// \brief Get the heightmap Level of Detail (LOD) value
+ /// \return Value used to compute LOD.
+ public: unsigned int LOD() const;
+
/// \brief Create terrain material generator. There are two types:
/// custom material generator that support user material scripts,
/// and a default material generator that uses our own glsl shader
@@ -336,14 +349,16 @@ namespace gazebo
private: void UpdateTerrainHash(const std::string &_hash,
const boost::filesystem::path &_terrainDir);
- /// \brief It checks if the terrain was previously loaded. In negative
- /// case, it splits the original terrain into pieces and creates a hash
- /// file.
+ /// \brief Checks if the terrain was previously loaded by comparing its
+ /// hash against the one stored in the terrain directory
/// \param[in] _terrainDirPath Path to the directory containing the
- /// terrain pages and hash.
+ /// terrain files and hash.
/// \return True if the terrain requires to regenerate the terrain files.
- private: bool PrepareTerrainPaging(
- const boost::filesystem::path &_terrainDirPath);
+ private: bool PrepareTerrain(
+ const boost::filesystem::path &_terrainDirPath);
+
+ /// \brief Save the heightmap tiles to disk
+ private: void SaveHeightmap();
/// \internal
/// \brief Pointer to private data.
diff --git a/gazebo/rendering/HeightmapPrivate.hh b/gazebo/rendering/HeightmapPrivate.hh
index 03d6226..6aaa586 100644
--- a/gazebo/rendering/HeightmapPrivate.hh
+++ b/gazebo/rendering/HeightmapPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -247,6 +247,12 @@ namespace gazebo
/// \param[in] _materialName Name of material
public: void setMaterialByName(const std::string &_materialname);
+ /// \brief Set the grid size of the terrain, i.e. Number of terrain slots.
+ /// This will be used to determined how the texture will be mapped to the
+ /// terrain
+ /// \param[in] _size Grid size of the terrain
+ public: void setGridSize(const unsigned int _size);
+
/// \brief Subclassed to provide profile-specific material generation
class Profile : public Ogre::TerrainMaterialGenerator::Profile
{
@@ -290,6 +296,9 @@ namespace gazebo
/// \brief Name of material
protected: std::string materialName;
+
+ /// \brief Size of grid
+ protected: unsigned int gridSize = 1u;
};
@@ -331,9 +340,6 @@ namespace gazebo
/// \brief Private data for the Heightmap class
class HeightmapPrivate
{
- /// \brief Number of pieces in which a terrain is subdivided for paging.
- public: static const unsigned int numTerrainSubdivisions;
-
/// \brief The terrain pages are loaded if the distance from the camera is
/// within the loadRadius. See Ogre::TerrainPaging::createWorldSection().
/// LoadRadiusFactor is a multiplier applied to the terrain size to create
@@ -439,6 +445,20 @@ namespace gazebo
/// \brief Number of samples per heightmap datum
public: unsigned int sampling = 2u;
+
+ /// \brief Max pixel error allowed for rendering the heightmap. This
+ /// affects the transitions between LOD levels.
+ public: double maxPixelError = 0.0;
+
+ /// \brief True if the terrain need to be split into subterrains
+ public: bool splitTerrain = false;
+
+ /// \brief Number of pieces in which a terrain is subdivided. Used
+ /// for paging and also when heighmap is too large for LOD to work.
+ public: unsigned int numTerrainSubdivisions = 16u;
+
+ /// \brief Event connections
+ public: std::vector<event::ConnectionPtr> connections;
};
}
}
diff --git a/gazebo/rendering/Heightmap_TEST.cc b/gazebo/rendering/Heightmap_TEST.cc
index e572386..fc3563a 100644
--- a/gazebo/rendering/Heightmap_TEST.cc
+++ b/gazebo/rendering/Heightmap_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -92,6 +92,28 @@ TEST_F(Heightmap_TEST, splitTerrain)
}
}
+/////////////////////////////////////////////////
+/// \brief Test terrain's level of detail API
+TEST_F(Heightmap_TEST, LOD)
+{
+ Load("worlds/empty.world");
+
+ gazebo::rendering::ScenePtr scene = gazebo::rendering::get_scene("default");
+ ASSERT_TRUE(scene != nullptr);
+
+ gazebo::rendering::Heightmap *heightmap =
+ new gazebo::rendering::Heightmap(scene);
+
+ // test basic API
+ EXPECT_EQ(heightmap->LOD(), 0u);
+ heightmap->SetLOD(3u);
+ EXPECT_EQ(heightmap->LOD(), 3u);
+
+ // try 0 LOD
+ heightmap->SetLOD(0u);
+ EXPECT_EQ(heightmap->LOD(), 0u);
+}
+
#ifdef HAVE_GDAL
/////////////////////////////////////////////////
/// \brief Test Loading a terrain from a DEM file
@@ -137,7 +159,7 @@ TEST_F(Heightmap_TEST, LoadDEM)
// and the actual elevation data (dem.GetElevation)
common::Dem dem;
EXPECT_EQ(dem.Load(path.string()), 0);
- EXPECT_DOUBLE_EQ(heightmap->Height(0, 0),
+ EXPECT_FLOAT_EQ(heightmap->Height(0, 0),
dem.GetElevation(dem.GetWidth()/2, dem.GetHeight()/2));
delete heightmap;
diff --git a/gazebo/rendering/InertiaVisual.cc b/gazebo/rendering/InertiaVisual.cc
index 2666405..c646fad 100644
--- a/gazebo/rendering/InertiaVisual.cc
+++ b/gazebo/rendering/InertiaVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/InertiaVisual.hh b/gazebo/rendering/InertiaVisual.hh
index c841a0c..dcc6ef1 100644
--- a/gazebo/rendering/InertiaVisual.hh
+++ b/gazebo/rendering/InertiaVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/InertiaVisualPrivate.hh b/gazebo/rendering/InertiaVisualPrivate.hh
index 2ecb1bd..6ed3db1 100644
--- a/gazebo/rendering/InertiaVisualPrivate.hh
+++ b/gazebo/rendering/InertiaVisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/JointVisual.cc b/gazebo/rendering/JointVisual.cc
index 3e046bc..c497b32 100644
--- a/gazebo/rendering/JointVisual.cc
+++ b/gazebo/rendering/JointVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/JointVisual.hh b/gazebo/rendering/JointVisual.hh
index ba66d35..082ad1d 100644
--- a/gazebo/rendering/JointVisual.hh
+++ b/gazebo/rendering/JointVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/JointVisualPrivate.hh b/gazebo/rendering/JointVisualPrivate.hh
index 0a1e044..c47ec82 100644
--- a/gazebo/rendering/JointVisualPrivate.hh
+++ b/gazebo/rendering/JointVisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/JointVisual_TEST.cc b/gazebo/rendering/JointVisual_TEST.cc
index a4c5dca..006c70f 100644
--- a/gazebo/rendering/JointVisual_TEST.cc
+++ b/gazebo/rendering/JointVisual_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/LaserVisual.cc b/gazebo/rendering/LaserVisual.cc
index 698c3bd..887598a 100644
--- a/gazebo/rendering/LaserVisual.cc
+++ b/gazebo/rendering/LaserVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -165,6 +165,11 @@ void LaserVisual::Update()
{
// Calculate the range of the ray
double r = dPtr->laserMsg->scan().ranges(j*count + i);
+ if (r < minRange)
+ {
+ // Less than min range, don't display a ray
+ r = minRange;
+ }
bool inf = std::isinf(r);
ignition::math::Quaterniond ray(
diff --git a/gazebo/rendering/LaserVisual.hh b/gazebo/rendering/LaserVisual.hh
index 7ec4102..5dc334e 100644
--- a/gazebo/rendering/LaserVisual.hh
+++ b/gazebo/rendering/LaserVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/LaserVisualPrivate.hh b/gazebo/rendering/LaserVisualPrivate.hh
index 10ef415..51cd097 100644
--- a/gazebo/rendering/LaserVisualPrivate.hh
+++ b/gazebo/rendering/LaserVisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Light.cc b/gazebo/rendering/Light.cc
index 7987b57..b037b51 100644
--- a/gazebo/rendering/Light.cc
+++ b/gazebo/rendering/Light.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Light.hh b/gazebo/rendering/Light.hh
index 6422c41..1d2b425 100644
--- a/gazebo/rendering/Light.hh
+++ b/gazebo/rendering/Light.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/LightPrivate.hh b/gazebo/rendering/LightPrivate.hh
index bd49426..e18d439 100644
--- a/gazebo/rendering/LightPrivate.hh
+++ b/gazebo/rendering/LightPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/LinkFrameVisual.cc b/gazebo/rendering/LinkFrameVisual.cc
index f5d6ca6..9a2935e 100644
--- a/gazebo/rendering/LinkFrameVisual.cc
+++ b/gazebo/rendering/LinkFrameVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/LinkFrameVisual.hh b/gazebo/rendering/LinkFrameVisual.hh
index 5a8c0b5..46975c5 100644
--- a/gazebo/rendering/LinkFrameVisual.hh
+++ b/gazebo/rendering/LinkFrameVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/LinkFrameVisualPrivate.hh b/gazebo/rendering/LinkFrameVisualPrivate.hh
index 3574303..e2c4038 100644
--- a/gazebo/rendering/LinkFrameVisualPrivate.hh
+++ b/gazebo/rendering/LinkFrameVisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/LinkFrameVisual_TEST.cc b/gazebo/rendering/LinkFrameVisual_TEST.cc
index 7518ea7..4c9528a 100644
--- a/gazebo/rendering/LinkFrameVisual_TEST.cc
+++ b/gazebo/rendering/LinkFrameVisual_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in axispliance with the License.
diff --git a/gazebo/rendering/LogicalCameraVisual.cc b/gazebo/rendering/LogicalCameraVisual.cc
index 0192e94..9a5feb4 100644
--- a/gazebo/rendering/LogicalCameraVisual.cc
+++ b/gazebo/rendering/LogicalCameraVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/LogicalCameraVisual.hh b/gazebo/rendering/LogicalCameraVisual.hh
index b5d2cf1..9a295dc 100644
--- a/gazebo/rendering/LogicalCameraVisual.hh
+++ b/gazebo/rendering/LogicalCameraVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Material.cc b/gazebo/rendering/Material.cc
index bc80d6a..84209b0 100644
--- a/gazebo/rendering/Material.cc
+++ b/gazebo/rendering/Material.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Material.hh b/gazebo/rendering/Material.hh
index 2bc180a..3348947 100644
--- a/gazebo/rendering/Material.hh
+++ b/gazebo/rendering/Material.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/MovableText.cc b/gazebo/rendering/MovableText.cc
index b81d71c..ce62dfb 100644
--- a/gazebo/rendering/MovableText.cc
+++ b/gazebo/rendering/MovableText.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/MovableText.hh b/gazebo/rendering/MovableText.hh
index af27854..b790fb0 100644
--- a/gazebo/rendering/MovableText.hh
+++ b/gazebo/rendering/MovableText.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/OculusCamera.cc b/gazebo/rendering/OculusCamera.cc
index 0ee1619..a02bf12 100644
--- a/gazebo/rendering/OculusCamera.cc
+++ b/gazebo/rendering/OculusCamera.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/OculusCamera.hh b/gazebo/rendering/OculusCamera.hh
index 68248f0..2d9678f 100644
--- a/gazebo/rendering/OculusCamera.hh
+++ b/gazebo/rendering/OculusCamera.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/OculusCameraPrivate.hh b/gazebo/rendering/OculusCameraPrivate.hh
index 0774d5a..c420e15 100644
--- a/gazebo/rendering/OculusCameraPrivate.hh
+++ b/gazebo/rendering/OculusCameraPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/OrbitViewController.cc b/gazebo/rendering/OrbitViewController.cc
index 98654da..fcb5909 100644
--- a/gazebo/rendering/OrbitViewController.cc
+++ b/gazebo/rendering/OrbitViewController.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/OrbitViewController.hh b/gazebo/rendering/OrbitViewController.hh
index e08aa8b..cb3bf41 100644
--- a/gazebo/rendering/OrbitViewController.hh
+++ b/gazebo/rendering/OrbitViewController.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/OriginVisual.cc b/gazebo/rendering/OriginVisual.cc
index a919c5f..4e45c30 100644
--- a/gazebo/rendering/OriginVisual.cc
+++ b/gazebo/rendering/OriginVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/OriginVisual.hh b/gazebo/rendering/OriginVisual.hh
index 3d7661f..6a695a7 100644
--- a/gazebo/rendering/OriginVisual.hh
+++ b/gazebo/rendering/OriginVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/OriginVisualPrivate.hh b/gazebo/rendering/OriginVisualPrivate.hh
index 6bee053..7ad716d 100644
--- a/gazebo/rendering/OriginVisualPrivate.hh
+++ b/gazebo/rendering/OriginVisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/OriginVisual_TEST.cc b/gazebo/rendering/OriginVisual_TEST.cc
index 7866cfc..b036e4f 100644
--- a/gazebo/rendering/OriginVisual_TEST.cc
+++ b/gazebo/rendering/OriginVisual_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/OrthoViewController.cc b/gazebo/rendering/OrthoViewController.cc
index 65f99de..7dc9b5f 100644
--- a/gazebo/rendering/OrthoViewController.cc
+++ b/gazebo/rendering/OrthoViewController.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/OrthoViewController.hh b/gazebo/rendering/OrthoViewController.hh
index cfc28aa..e10cdee 100644
--- a/gazebo/rendering/OrthoViewController.hh
+++ b/gazebo/rendering/OrthoViewController.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/OrthoViewControllerPrivate.hh b/gazebo/rendering/OrthoViewControllerPrivate.hh
index eb1e110..5b49185 100644
--- a/gazebo/rendering/OrthoViewControllerPrivate.hh
+++ b/gazebo/rendering/OrthoViewControllerPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Projector.cc b/gazebo/rendering/Projector.cc
index ee235b6..c0f762e 100644
--- a/gazebo/rendering/Projector.cc
+++ b/gazebo/rendering/Projector.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Projector.hh b/gazebo/rendering/Projector.hh
index f579cdf..78967a0 100644
--- a/gazebo/rendering/Projector.hh
+++ b/gazebo/rendering/Projector.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RFIDTagVisual.cc b/gazebo/rendering/RFIDTagVisual.cc
index 74e068e..43e917e 100644
--- a/gazebo/rendering/RFIDTagVisual.cc
+++ b/gazebo/rendering/RFIDTagVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RFIDTagVisual.hh b/gazebo/rendering/RFIDTagVisual.hh
index 00c528d..8299223 100644
--- a/gazebo/rendering/RFIDTagVisual.hh
+++ b/gazebo/rendering/RFIDTagVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RFIDTagVisualPrivate.hh b/gazebo/rendering/RFIDTagVisualPrivate.hh
index 4743a2f..2b81bc7 100644
--- a/gazebo/rendering/RFIDTagVisualPrivate.hh
+++ b/gazebo/rendering/RFIDTagVisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RFIDVisual.cc b/gazebo/rendering/RFIDVisual.cc
index ad5cc65..07b7b8c 100644
--- a/gazebo/rendering/RFIDVisual.cc
+++ b/gazebo/rendering/RFIDVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RFIDVisual.hh b/gazebo/rendering/RFIDVisual.hh
index 155f818..67a847c 100644
--- a/gazebo/rendering/RFIDVisual.hh
+++ b/gazebo/rendering/RFIDVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RFIDVisualPrivate.hh b/gazebo/rendering/RFIDVisualPrivate.hh
index c01e862..c693b09 100644
--- a/gazebo/rendering/RFIDVisualPrivate.hh
+++ b/gazebo/rendering/RFIDVisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RTShaderSystem.cc b/gazebo/rendering/RTShaderSystem.cc
index 098177c..c1b252e 100644
--- a/gazebo/rendering/RTShaderSystem.cc
+++ b/gazebo/rendering/RTShaderSystem.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -114,6 +114,7 @@ void RTShaderSystem::Fini()
this->dataPtr->pssmSetup.setNull();
this->dataPtr->scenes.clear();
+ this->dataPtr->shadowsApplied = false;
this->dataPtr->initialized = false;
}
@@ -491,9 +492,16 @@ void RTShaderSystem::ApplyShadows(ScenePtr _scene)
sceneMgr->setShadowTextureCountPerLightType(Ogre::Light::LT_POINT, 0);
sceneMgr->setShadowTextureCountPerLightType(Ogre::Light::LT_SPOTLIGHT, 0);
sceneMgr->setShadowTextureCount(3);
- sceneMgr->setShadowTextureConfig(0, 1024, 1024, Ogre::PF_FLOAT32_R);
- sceneMgr->setShadowTextureConfig(1, 512, 512, Ogre::PF_FLOAT32_R);
- sceneMgr->setShadowTextureConfig(2, 512, 512, Ogre::PF_FLOAT32_R);
+ sceneMgr->setShadowTextureConfig(0,
+ this->dataPtr->shadowTextureSize, this->dataPtr->shadowTextureSize,
+ Ogre::PF_FLOAT32_R);
+ sceneMgr->setShadowTextureConfig(1,
+ this->dataPtr->shadowTextureSize/2, this->dataPtr->shadowTextureSize/2,
+ Ogre::PF_FLOAT32_R);
+ sceneMgr->setShadowTextureConfig(2,
+ this->dataPtr->shadowTextureSize/2, this->dataPtr->shadowTextureSize/2,
+ Ogre::PF_FLOAT32_R);
+
sceneMgr->setShadowTextureSelfShadow(false);
sceneMgr->setShadowCasterRenderBackFaces(true);
@@ -590,3 +598,23 @@ void RTShaderSystem::Update()
}
this->dataPtr->updateShaders = false;
}
+
+/////////////////////////////////////////////////
+bool RTShaderSystem::SetShadowTextureSize(const unsigned int _size)
+{
+ // check if texture size is a power of 2
+ if (!ignition::math::isPowerOfTwo(_size))
+ {
+ gzerr << "Shadow texture size must be a power of 2" << std::endl;
+ return false;
+ }
+
+ this->dataPtr->shadowTextureSize = _size;
+ return true;
+}
+
+/////////////////////////////////////////////////
+unsigned int RTShaderSystem::ShadowTextureSize() const
+{
+ return this->dataPtr->shadowTextureSize;
+}
diff --git a/gazebo/rendering/RTShaderSystem.hh b/gazebo/rendering/RTShaderSystem.hh
index 35e07dc..433fbac 100644
--- a/gazebo/rendering/RTShaderSystem.hh
+++ b/gazebo/rendering/RTShaderSystem.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -143,6 +143,16 @@ namespace gazebo
/// \brief Update the RT shaders. This should not be called frequently.
public: void Update();
+ /// \brief Set the shadow texture size.
+ /// \param[in] _size Size of shadow texture to set to. This must be a
+ /// power of 2. The default size is 1024.
+ /// \return True if size is set successfully, false otherwise.
+ public: bool SetShadowTextureSize(const unsigned int _size);
+
+ /// \brief Get the shadow texture size.
+ /// \return Size of the shadow texture. The default size is 1024.
+ public: unsigned int ShadowTextureSize() const;
+
/// \brief Get paths for the shader system
/// \param[out] _coreLibsPath Path to the core libraries.
/// \param[out] _cachePath Path to where the generated shaders are
diff --git a/gazebo/rendering/RTShaderSystemPrivate.hh b/gazebo/rendering/RTShaderSystemPrivate.hh
index 1d262d6..8547ba5 100644
--- a/gazebo/rendering/RTShaderSystemPrivate.hh
+++ b/gazebo/rendering/RTShaderSystemPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -53,6 +53,10 @@ namespace gazebo
/// \brief Flag to indicate that shaders need to be updated.
public: bool updateShaders;
+
+ /// \brief Size of the Parallel Split Shadow Map (PSSM) shadow texture
+ /// at closest layer.
+ public: unsigned int shadowTextureSize = 1024u;
};
}
}
diff --git a/gazebo/rendering/RayQuery.cc b/gazebo/rendering/RayQuery.cc
index 7fcee63..d28bda0 100644
--- a/gazebo/rendering/RayQuery.cc
+++ b/gazebo/rendering/RayQuery.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RayQuery.hh b/gazebo/rendering/RayQuery.hh
index 411c428..8b5de95 100644
--- a/gazebo/rendering/RayQuery.hh
+++ b/gazebo/rendering/RayQuery.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RayQueryPrivate.hh b/gazebo/rendering/RayQueryPrivate.hh
index cfdf87c..c1bc909 100644
--- a/gazebo/rendering/RayQueryPrivate.hh
+++ b/gazebo/rendering/RayQueryPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RenderEngine.cc b/gazebo/rendering/RenderEngine.cc
index a4d8d60..0ad5965 100644
--- a/gazebo/rendering/RenderEngine.cc
+++ b/gazebo/rendering/RenderEngine.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RenderEngine.hh b/gazebo/rendering/RenderEngine.hh
index a578e1b..39738b5 100644
--- a/gazebo/rendering/RenderEngine.hh
+++ b/gazebo/rendering/RenderEngine.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RenderEnginePrivate.hh b/gazebo/rendering/RenderEnginePrivate.hh
index 3e915e5..7c3972f 100644
--- a/gazebo/rendering/RenderEnginePrivate.hh
+++ b/gazebo/rendering/RenderEnginePrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RenderEvents.cc b/gazebo/rendering/RenderEvents.cc
index 9b9cd50..0a521a0 100644
--- a/gazebo/rendering/RenderEvents.cc
+++ b/gazebo/rendering/RenderEvents.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RenderEvents.hh b/gazebo/rendering/RenderEvents.hh
index c312316..40243a0 100644
--- a/gazebo/rendering/RenderEvents.hh
+++ b/gazebo/rendering/RenderEvents.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RenderTypes.hh b/gazebo/rendering/RenderTypes.hh
index cf91787..b9eaad9 100644
--- a/gazebo/rendering/RenderTypes.hh
+++ b/gazebo/rendering/RenderTypes.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RenderingConversions_TEST.cc b/gazebo/rendering/RenderingConversions_TEST.cc
index 908f497..f572325 100644
--- a/gazebo/rendering/RenderingConversions_TEST.cc
+++ b/gazebo/rendering/RenderingConversions_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RenderingIface.cc b/gazebo/rendering/RenderingIface.cc
index f2ad67e..7e6f7a0 100644
--- a/gazebo/rendering/RenderingIface.cc
+++ b/gazebo/rendering/RenderingIface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/RenderingIface.hh b/gazebo/rendering/RenderingIface.hh
index 5e86e04..4291f58 100644
--- a/gazebo/rendering/RenderingIface.hh
+++ b/gazebo/rendering/RenderingIface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Road2d.cc b/gazebo/rendering/Road2d.cc
index b001514..be34226 100644
--- a/gazebo/rendering/Road2d.cc
+++ b/gazebo/rendering/Road2d.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Road2d.hh b/gazebo/rendering/Road2d.hh
index 89a19f7..90e012c 100644
--- a/gazebo/rendering/Road2d.hh
+++ b/gazebo/rendering/Road2d.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Scene.cc b/gazebo/rendering/Scene.cc
index 0a36da5..479bc5c 100644
--- a/gazebo/rendering/Scene.cc
+++ b/gazebo/rendering/Scene.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -1544,8 +1544,7 @@ void Scene::MeshInformation(const Ogre::Mesh *_mesh,
Ogre::VertexData* vertex_data = submesh->useSharedVertices ?
_mesh->sharedVertexData : submesh->vertexData;
- if ((!submesh->useSharedVertices) ||
- (submesh->useSharedVertices && !added_shared))
+ if (!submesh->useSharedVertices || !added_shared)
{
if (submesh->useSharedVertices)
{
@@ -2251,6 +2250,12 @@ bool Scene::ProcessSensorMsg(ConstSensorPtr &_msg)
std::string wrenchVisualName = _msg->parent() + "::" + _msg->name();
if (this->dataPtr->visuals.find(_msg->id()) == this->dataPtr->visuals.end())
{
+ if (this->dataPtr->joints.find(_msg->parent()) ==
+ this->dataPtr->joints.end())
+ {
+ return false;
+ }
+
ConstJointPtr jointMsg = this->dataPtr->joints[_msg->parent()];
if (!jointMsg)
@@ -2435,6 +2440,9 @@ bool Scene::ProcessJointMsg(ConstJointPtr &_msg)
// the childVis link have been loaded
// childVis->ShowJoints(this->dataPtr->showJoints);
+ ConstJointPtr msgCopy(_msg);
+ this->dataPtr->joints[_msg->name()] = msgCopy;
+
return true;
}
@@ -2750,27 +2758,35 @@ bool Scene::ProcessVisualMsg(ConstVisualPtr &_msg, Visual::VisualType _type)
}
else
{
- if (!this->dataPtr->terrain)
+ if (!this->dataPtr->terrain)
+ {
+ // create a dummy visual for loading heightmap visual plugin
+ // TODO make heightmap a visual to avoid special treatment here?
+ VisualPtr visual(new Visual(_msg->name(), this->dataPtr->worldVisual));
+ auto m = *_msg.get();
+ m.clear_material();
+ visual->Load(msgs::VisualToSDF(m));
+
+ this->dataPtr->terrain = new Heightmap(shared_from_this());
+ // check the material fields and set material if it is specified
+ if (_msg->has_material())
{
- this->dataPtr->terrain = new Heightmap(shared_from_this());
- // check the material fields and set material if it is specified
- if (_msg->has_material())
+ auto matMsg = _msg->material();
+ if (matMsg.has_script())
{
- auto matMsg = _msg->material();
- if (matMsg.has_script())
+ auto scriptMsg = matMsg.script();
+ for (auto const uri : scriptMsg.uri())
{
- auto scriptMsg = matMsg.script();
- for (auto const uri : scriptMsg.uri())
- {
- if (!uri.empty())
- RenderEngine::Instance()->AddResourcePath(uri);
- }
- std::string matName = scriptMsg.name();
- this->dataPtr->terrain->SetMaterial(matName);
+ if (!uri.empty())
+ RenderEngine::Instance()->AddResourcePath(uri);
}
+ std::string matName = scriptMsg.name();
+ this->dataPtr->terrain->SetMaterial(matName);
}
- this->dataPtr->terrain->LoadFromMsg(_msg);
}
+ this->dataPtr->terrain->SetLOD(this->dataPtr->heightmapLOD);
+ this->dataPtr->terrain->LoadFromMsg(_msg);
+ }
}
return true;
}
@@ -2938,8 +2954,11 @@ bool Scene::ProcessLightModifyMsg(ConstLightPtr &_msg)
if (iter == this->dataPtr->lights.end())
{
- gzerr << "Light [" << _msg->name() << "] not found."
- << " Use topic ~/factory/light to spawn a new light." << std::endl;
+ // commented out for now as sometimes physics light messages could arrive
+ // before the rendering light is created, e.g. light pose updates.
+ // See issue #1778
+ // gzerr << "Light [" << _msg->name() << "] not found."
+ // << " Use topic ~/factory/light to spawn a new light." << std::endl;
return false;
}
else
@@ -3137,7 +3156,8 @@ void Scene::SetShadowsEnabled(bool _value)
this->dataPtr->manager->setShadowFarDistance(150);
// Use a value of "2" to use a different depth buffer pool and
// avoid sharing this with the Backbuffer's
- this->dataPtr->manager->setShadowTextureConfig(0, 1024, 1024,
+ this->dataPtr->manager->setShadowTextureConfig(0,
+ this->dataPtr->shadowTextureSize, this->dataPtr->shadowTextureSize,
Ogre::PF_FLOAT32_RGBA, 0, 2);
this->dataPtr->manager->setShadowDirectionalLightExtrusionDistance(75);
this->dataPtr->manager->setShadowCasterRenderBackFaces(false);
@@ -3157,7 +3177,8 @@ void Scene::SetShadowsEnabled(bool _value)
else
{
this->dataPtr->manager->setShadowCasterRenderBackFaces(false);
- this->dataPtr->manager->setShadowTextureSize(512);
+ this->dataPtr->manager->setShadowTextureSize(
+ this->dataPtr->shadowTextureSize);
// The default shadows.
if (_value && this->dataPtr->manager->getShadowTechnique()
@@ -3174,10 +3195,59 @@ void Scene::SetShadowsEnabled(bool _value)
/////////////////////////////////////////////////
bool Scene::GetShadowsEnabled() const
{
+ return ShadowsEnabled();
+}
+
+/////////////////////////////////////////////////
+bool Scene::ShadowsEnabled() const
+{
return this->dataPtr->sdf->Get<bool>("shadows");
}
/////////////////////////////////////////////////
+bool Scene::SetShadowTextureSize(const unsigned int _size)
+{
+ // check if texture size is a power of 2
+ if (!ignition::math::isPowerOfTwo(_size))
+ {
+ gzerr << "Shadow texture size must be a power of 2" << std::endl;
+ return false;
+ }
+ this->dataPtr->shadowTextureSize = _size;
+
+ if (RenderEngine::Instance()->GetRenderPathType() ==
+ RenderEngine::FORWARD)
+ {
+ // RT Shader shadows
+ if (!RTShaderSystem::Instance()->SetShadowTextureSize(_size))
+ return false;
+
+ if (this->ShadowsEnabled())
+ {
+ // re-enable the shadows to take effect
+ this->SetShadowsEnabled(false);
+ this->SetShadowsEnabled(true);
+ }
+ }
+ else
+ {
+ this->dataPtr->manager->setShadowTextureSize(
+ this->dataPtr->shadowTextureSize);
+ }
+ return true;
+}
+
+/////////////////////////////////////////////////
+unsigned int Scene::ShadowTextureSize() const
+{
+ if (RenderEngine::Instance()->GetRenderPathType() ==
+ RenderEngine::FORWARD)
+ return RTShaderSystem::Instance()->ShadowTextureSize();
+ else
+ return this->dataPtr->shadowTextureSize;
+}
+
+/////////////////////////////////////////////////
void Scene::AddVisual(VisualPtr _vis)
{
if (this->dataPtr->visuals.find(_vis->GetId()) !=
@@ -3310,6 +3380,23 @@ Heightmap *Scene::GetHeightmap() const
}
/////////////////////////////////////////////////
+void Scene::SetHeightmapLOD(const unsigned int _value)
+{
+ this->dataPtr->heightmapLOD = _value;
+ if (this->dataPtr->terrain)
+ this->dataPtr->terrain->SetLOD(this->dataPtr->heightmapLOD);
+}
+
+/////////////////////////////////////////////////
+unsigned int Scene::HeightmapLOD() const
+{
+ if (this->dataPtr->terrain)
+ return this->dataPtr->terrain->LOD();
+
+ return this->dataPtr->heightmapLOD;
+}
+
+/////////////////////////////////////////////////
void Scene::CreateCOMVisual(ConstLinkPtr &_msg, VisualPtr _linkVisual)
{
COMVisualPtr comVis(new COMVisual(_linkVisual->GetName() + "_COM_VISUAL__",
@@ -3572,3 +3659,15 @@ void Scene::ToggleLayer(const int32_t _layer)
visual.second->ToggleLayer(_layer);
}
}
+
+/////////////////////////////////////////////////
+void Scene::EnableVisualizations(const bool _enable)
+{
+ this->dataPtr->enableVisualizations = _enable;
+}
+
+/////////////////////////////////////////////////
+bool Scene::EnableVisualizations() const
+{
+ return this->dataPtr->enableVisualizations;
+}
diff --git a/gazebo/rendering/Scene.hh b/gazebo/rendering/Scene.hh
index a1801f3..8409395 100644
--- a/gazebo/rendering/Scene.hh
+++ b/gazebo/rendering/Scene.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -499,6 +499,16 @@ namespace gazebo
/// \return True if shadows are enabled.
public: bool ShadowsEnabled() const;
+ /// \brief Set the shadow texture size
+ /// \param[in] _size Size to set the shadow texture to. This must be a
+ /// power of 2. The default size is 1024.
+ /// \return True if size is set successfully, false otherwise.
+ public: bool SetShadowTextureSize(const unsigned int _size);
+
+ /// \brief Get the shadow texture size
+ /// \return Size of the shadow texture. The default size is 1024.
+ public: unsigned int ShadowTextureSize() const;
+
/// \brief Add a visual to the scene
/// \param[in] _vis Visual to add.
public: void AddVisual(VisualPtr _vis);
@@ -552,6 +562,16 @@ namespace gazebo
/// \return Pointer to the heightmap, NULL if no heightmap.
public: Heightmap *GetHeightmap() const;
+ /// \brief Set the Level Of Detail (LOD) value for the heightmap.
+ /// \param[in] _value A render-engine specific value used to compute LOD.
+ /// \sa Heightmap::SetLOD
+ public: void SetHeightmapLOD(const unsigned int _value);
+
+ /// \brief Get the Level Of Detail (LOD) value for the heightmap.
+ /// \return A render-engine specific value that is used to compute LOD.
+ /// \sa Heightmap::LOD
+ public: unsigned int HeightmapLOD() const;
+
/// \brief Clear rendering::Scene
public: void Clear();
@@ -667,6 +687,17 @@ namespace gazebo
/// \param[in] _layer Index of the layer to toggle.
public: void ToggleLayer(const int32_t _layer);
+ /// \brief Enable visualizations, currently only applies to sensor
+ /// visuals.
+ /// \param[in] _enable True to enable, false to disable.
+ /// \sa EnableVisualizations()
+ public: void EnableVisualizations(const bool _enable);
+
+ /// \brief Check whether visualizations are enabled or not.
+ /// \return True if enabled.
+ /// \sa EnableVisualizations(bool)
+ public: bool EnableVisualizations() const;
+
/// \brief Helper function to setup the sky.
private: void SetSky();
diff --git a/gazebo/rendering/ScenePrivate.hh b/gazebo/rendering/ScenePrivate.hh
index 9e613d7..fd623b8 100644
--- a/gazebo/rendering/ScenePrivate.hh
+++ b/gazebo/rendering/ScenePrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -280,6 +280,9 @@ namespace gazebo
/// \brief The heightmap, if any.
public: Heightmap *terrain;
+ /// \brief The heightmap level of detail
+ public: unsigned int heightmapLOD = 0u;
+
/// \brief All the projectors.
public: std::map<std::string, Projector *> projectors;
@@ -326,6 +329,9 @@ namespace gazebo
/// \brief Keep track of data of joints.
public: JointMsgs_M joints;
+
+ /// \brief Size of shadow texture
+ public: unsigned int shadowTextureSize = 1024u;
};
}
}
diff --git a/gazebo/rendering/Scene_TEST.cc b/gazebo/rendering/Scene_TEST.cc
index 44f76b4..ec21ef5 100644
--- a/gazebo/rendering/Scene_TEST.cc
+++ b/gazebo/rendering/Scene_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -105,12 +105,6 @@ TEST_F(Scene_TEST, RemoveModelVisual)
// Load a world containing 3 simple shapes
Load("worlds/shapes.world");
- // FIXME need a camera otherwise test produces a gl vertex buffer error
- math::Pose cameraStartPose(0, 0, 0, 0, 0, 0);
- std::string cameraName = "test_camera";
- SpawnCamera("test_camera_model", cameraName,
- cameraStartPose.pos, cameraStartPose.rot.GetAsEuler());
-
// Get the scene
gazebo::rendering::ScenePtr scene = gazebo::rendering::get_scene();
ASSERT_TRUE(scene != nullptr);
@@ -121,6 +115,10 @@ TEST_F(Scene_TEST, RemoveModelVisual)
rendering::VisualPtr box, sphere, cylinder;
while ((!box || !sphere || !cylinder) && sleep < maxSleep)
{
+ event::Events::preRender();
+ event::Events::render();
+ event::Events::postRender();
+
box = scene->GetVisual("box");
cylinder = scene->GetVisual("cylinder");
sphere = scene->GetVisual("sphere");
@@ -185,6 +183,10 @@ TEST_F(Scene_TEST, RemoveModelVisual)
sleep = 0;
while (box && sleep < maxSleep)
{
+ event::Events::preRender();
+ event::Events::render();
+ event::Events::postRender();
+
box = scene->GetVisual("box");
common::Time::MSleep(1000);
sleep++;
@@ -204,12 +206,6 @@ TEST_F(Scene_TEST, VisualType)
// Load a world containing 3 simple shapes
Load("worlds/shapes.world");
- // FIXME need a camera otherwise test produces a gl vertex buffer error
- math::Pose cameraStartPose(0, 0, 0, 0, 0, 0);
- std::string cameraName = "test_camera";
- SpawnCamera("test_camera_model", cameraName,
- cameraStartPose.pos, cameraStartPose.rot.GetAsEuler());
-
// Get the scene
gazebo::rendering::ScenePtr scene = gazebo::rendering::get_scene();
ASSERT_TRUE(scene != nullptr);
@@ -225,6 +221,10 @@ TEST_F(Scene_TEST, VisualType)
rendering::VisualPtr box, sphere, cylinder, newBox;
while ((!box || !sphere || !cylinder || !newBox) && sleep < maxSleep)
{
+ event::Events::preRender();
+ event::Events::render();
+ event::Events::postRender();
+
box = scene->GetVisual("box");
cylinder = scene->GetVisual("cylinder");
sphere = scene->GetVisual("sphere");
@@ -332,6 +332,37 @@ TEST_F(Scene_TEST, VisualType)
}
/////////////////////////////////////////////////
+TEST_F(Scene_TEST, Shadows)
+{
+ Load("worlds/shapes.world");
+
+ // Get the scene
+ gazebo::rendering::ScenePtr scene = gazebo::rendering::get_scene();
+ ASSERT_TRUE(scene != nullptr);
+
+ // Test API for enabling and disabling shadows
+ EXPECT_TRUE(scene->ShadowsEnabled());
+
+ scene->SetShadowsEnabled(false);
+ EXPECT_FALSE(scene->ShadowsEnabled());
+
+ scene->SetShadowsEnabled(true);
+ EXPECT_TRUE(scene->ShadowsEnabled());
+
+ // Test API for updating shadow texture size
+ EXPECT_GT(scene->ShadowTextureSize(), 0u);
+
+ EXPECT_TRUE(scene->SetShadowTextureSize(256u));
+ EXPECT_EQ(256u, scene->ShadowTextureSize());
+ EXPECT_TRUE(scene->ShadowsEnabled());
+
+ // setting a shadow texture size of 0 should not work
+ EXPECT_FALSE(scene->SetShadowTextureSize(0u));
+ EXPECT_EQ(256u, scene->ShadowTextureSize());
+ EXPECT_TRUE(scene->ShadowsEnabled());
+}
+
+/////////////////////////////////////////////////
int main(int argc, char **argv)
{
::testing::InitGoogleTest(&argc, argv);
diff --git a/gazebo/rendering/SelectionObj.cc b/gazebo/rendering/SelectionObj.cc
index 268b6aa..f7086ba 100644
--- a/gazebo/rendering/SelectionObj.cc
+++ b/gazebo/rendering/SelectionObj.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/SelectionObj.hh b/gazebo/rendering/SelectionObj.hh
index a790840..5c1c821 100644
--- a/gazebo/rendering/SelectionObj.hh
+++ b/gazebo/rendering/SelectionObj.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/SelectionObjPrivate.hh b/gazebo/rendering/SelectionObjPrivate.hh
index 6ec5cba..38aa1f0 100644
--- a/gazebo/rendering/SelectionObjPrivate.hh
+++ b/gazebo/rendering/SelectionObjPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/SelectionObj_TEST.cc b/gazebo/rendering/SelectionObj_TEST.cc
index b13fda7..80b2ed2 100644
--- a/gazebo/rendering/SelectionObj_TEST.cc
+++ b/gazebo/rendering/SelectionObj_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/SonarVisual.cc b/gazebo/rendering/SonarVisual.cc
index 5708cb0..a99b194 100644
--- a/gazebo/rendering/SonarVisual.cc
+++ b/gazebo/rendering/SonarVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/SonarVisual.hh b/gazebo/rendering/SonarVisual.hh
index 6f56bd0..924d179 100644
--- a/gazebo/rendering/SonarVisual.hh
+++ b/gazebo/rendering/SonarVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/SonarVisualPrivate.hh b/gazebo/rendering/SonarVisualPrivate.hh
index aa3ad71..111b75e 100644
--- a/gazebo/rendering/SonarVisualPrivate.hh
+++ b/gazebo/rendering/SonarVisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/SonarVisual_TEST.cc b/gazebo/rendering/SonarVisual_TEST.cc
index 00b3306..360efb6 100644
--- a/gazebo/rendering/SonarVisual_TEST.cc
+++ b/gazebo/rendering/SonarVisual_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/TransmitterVisual.cc b/gazebo/rendering/TransmitterVisual.cc
index 5e20133..5410bea 100644
--- a/gazebo/rendering/TransmitterVisual.cc
+++ b/gazebo/rendering/TransmitterVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/TransmitterVisual.hh b/gazebo/rendering/TransmitterVisual.hh
index 5b8ce85..857544d 100644
--- a/gazebo/rendering/TransmitterVisual.hh
+++ b/gazebo/rendering/TransmitterVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/TransmitterVisualPrivate.hh b/gazebo/rendering/TransmitterVisualPrivate.hh
index b79c8c6..89a2de0 100644
--- a/gazebo/rendering/TransmitterVisualPrivate.hh
+++ b/gazebo/rendering/TransmitterVisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/TransmitterVisual_TEST.cc b/gazebo/rendering/TransmitterVisual_TEST.cc
index 1eadfa1..cb6ea48 100644
--- a/gazebo/rendering/TransmitterVisual_TEST.cc
+++ b/gazebo/rendering/TransmitterVisual_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/UserCamera.cc b/gazebo/rendering/UserCamera.cc
index 02141a0..1673fa2 100644
--- a/gazebo/rendering/UserCamera.cc
+++ b/gazebo/rendering/UserCamera.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/UserCamera.hh b/gazebo/rendering/UserCamera.hh
index 49a1641..ebd618d 100644
--- a/gazebo/rendering/UserCamera.hh
+++ b/gazebo/rendering/UserCamera.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/UserCameraPrivate.hh b/gazebo/rendering/UserCameraPrivate.hh
index 19450b6..07fd28a 100644
--- a/gazebo/rendering/UserCameraPrivate.hh
+++ b/gazebo/rendering/UserCameraPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/VideoVisual.cc b/gazebo/rendering/VideoVisual.cc
index 9cb0beb..2070520 100644
--- a/gazebo/rendering/VideoVisual.cc
+++ b/gazebo/rendering/VideoVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/VideoVisual.hh b/gazebo/rendering/VideoVisual.hh
index 6712932..9bda26e 100644
--- a/gazebo/rendering/VideoVisual.hh
+++ b/gazebo/rendering/VideoVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/VideoVisualPrivate.hh b/gazebo/rendering/VideoVisualPrivate.hh
index 7bb0809..98a8f0c 100644
--- a/gazebo/rendering/VideoVisualPrivate.hh
+++ b/gazebo/rendering/VideoVisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/ViewController.cc b/gazebo/rendering/ViewController.cc
index 3624cd5..ad5dd87 100644
--- a/gazebo/rendering/ViewController.cc
+++ b/gazebo/rendering/ViewController.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/ViewController.hh b/gazebo/rendering/ViewController.hh
index 78686a6..83a7594 100644
--- a/gazebo/rendering/ViewController.hh
+++ b/gazebo/rendering/ViewController.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Visual.cc b/gazebo/rendering/Visual.cc
index 723296d..9854cb1 100644
--- a/gazebo/rendering/Visual.cc
+++ b/gazebo/rendering/Visual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Visual.hh b/gazebo/rendering/Visual.hh
index 73d6994..c6ecace 100644
--- a/gazebo/rendering/Visual.hh
+++ b/gazebo/rendering/Visual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/VisualPrivate.hh b/gazebo/rendering/VisualPrivate.hh
index 95e05aa..66c3055 100644
--- a/gazebo/rendering/VisualPrivate.hh
+++ b/gazebo/rendering/VisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/Visual_TEST.cc b/gazebo/rendering/Visual_TEST.cc
index dadd0f5..1b57eb4 100644
--- a/gazebo/rendering/Visual_TEST.cc
+++ b/gazebo/rendering/Visual_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/WideAngleCamera.cc b/gazebo/rendering/WideAngleCamera.cc
index 3d601f8..8bcca40 100644
--- a/gazebo/rendering/WideAngleCamera.cc
+++ b/gazebo/rendering/WideAngleCamera.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -35,6 +35,7 @@
#include "gazebo/rendering/WideAngleCameraPrivate.hh"
#include "gazebo/rendering/skyx/include/SkyX.h"
+#include "gazebo/rendering/RenderEngine.hh"
#include "gazebo/rendering/RTShaderSystem.hh"
#include "gazebo/rendering/Conversions.hh"
#include "gazebo/rendering/Scene.hh"
@@ -636,11 +637,14 @@ bool WideAngleCamera::SetBackgroundColor(const common::Color &_color)
//////////////////////////////////////////////////
void WideAngleCamera::CreateEnvRenderTexture(const std::string &_textureName)
{
- int fsaa = 4;
-
-#if OGRE_VERSION_MAJOR == 1 && OGRE_VERSION_MINOR < 8
- fsaa = 0;
-#endif
+ unsigned int fsaa = 0;
+ std::vector<unsigned int> fsaaLevels =
+ RenderEngine::Instance()->FSAALevels();
+ // check if target fsaa is supported
+ unsigned int targetFSAA = 4;
+ auto const it = std::find(fsaaLevels.begin(), fsaaLevels.end(), targetFSAA);
+ if (it != fsaaLevels.end())
+ fsaa = targetFSAA;
this->dataPtr->envCubeMapTexture =
Ogre::TextureManager::getSingleton().createManual(
@@ -650,7 +654,7 @@ void WideAngleCamera::CreateEnvRenderTexture(const std::string &_textureName)
this->dataPtr->envTextureSize,
this->dataPtr->envTextureSize,
0,
- Ogre::PF_A8R8G8B8,
+ static_cast<Ogre::PixelFormat>(this->imageFormat),
Ogre::TU_RENDERTARGET,
0,
false,
diff --git a/gazebo/rendering/WideAngleCamera.hh b/gazebo/rendering/WideAngleCamera.hh
index 222f2fe..ab65a70 100644
--- a/gazebo/rendering/WideAngleCamera.hh
+++ b/gazebo/rendering/WideAngleCamera.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/WideAngleCameraPrivate.hh b/gazebo/rendering/WideAngleCameraPrivate.hh
index 04f2f21..cbf21c4 100644
--- a/gazebo/rendering/WideAngleCameraPrivate.hh
+++ b/gazebo/rendering/WideAngleCameraPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/WindowManager.cc b/gazebo/rendering/WindowManager.cc
index ccfed5e..9694097 100644
--- a/gazebo/rendering/WindowManager.cc
+++ b/gazebo/rendering/WindowManager.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/WindowManager.hh b/gazebo/rendering/WindowManager.hh
index 9454e90..0c45057 100644
--- a/gazebo/rendering/WindowManager.hh
+++ b/gazebo/rendering/WindowManager.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/WindowManagerPrivate.hh b/gazebo/rendering/WindowManagerPrivate.hh
index 90eed33..a136345 100644
--- a/gazebo/rendering/WindowManagerPrivate.hh
+++ b/gazebo/rendering/WindowManagerPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/WireBox.cc b/gazebo/rendering/WireBox.cc
index d92fc4b..4f2ca5a 100644
--- a/gazebo/rendering/WireBox.cc
+++ b/gazebo/rendering/WireBox.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/WireBox.hh b/gazebo/rendering/WireBox.hh
index 276ec52..4d5f69f 100644
--- a/gazebo/rendering/WireBox.hh
+++ b/gazebo/rendering/WireBox.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/WireBoxPrivate.hh b/gazebo/rendering/WireBoxPrivate.hh
index 9086839..a611090 100644
--- a/gazebo/rendering/WireBoxPrivate.hh
+++ b/gazebo/rendering/WireBoxPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/WrenchVisual.cc b/gazebo/rendering/WrenchVisual.cc
index df6f3b5..02ec017 100644
--- a/gazebo/rendering/WrenchVisual.cc
+++ b/gazebo/rendering/WrenchVisual.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -47,14 +47,64 @@ WrenchVisual::WrenchVisual(const std::string &_name, VisualPtr _vis,
dPtr->enabled = true;
dPtr->receivedMsg = false;
+ // Transport
dPtr->node = transport::NodePtr(new transport::Node());
dPtr->node->Init(dPtr->scene->Name());
dPtr->wrenchSub = dPtr->node->Subscribe(_topicName,
&WrenchVisual::OnMsg, this, true);
+ dPtr->connections.push_back(
+ event::Events::ConnectPreRender(
+ std::bind(&WrenchVisual::Update, this)));
+}
+
+/////////////////////////////////////////////////
+WrenchVisual::~WrenchVisual()
+{
+ this->Fini();
+}
+
+/////////////////////////////////////////////////
+// Note to carefully test this when merging forward to Gazebo8
+void WrenchVisual::Fini()
+{
+ WrenchVisualPrivate *dPtr =
+ reinterpret_cast<WrenchVisualPrivate *>(this->dataPtr);
+
+ dPtr->wrenchSub.reset();
+ if (dPtr->node)
+ dPtr->node->Fini();
+ dPtr->node.reset();
+ dPtr->connections.clear();
+
+ dPtr->wrenchMsg.reset();
+
+ // Remove force visual and line
+ if (dPtr->forceVisual && dPtr->forceLine)
+ dPtr->forceVisual->DeleteDynamicLine(dPtr->forceLine);
+
+ if (dPtr->scene && dPtr->forceVisual &&
+ dPtr->scene->GetVisual(dPtr->forceVisual->GetName()))
+ {
+ dPtr->scene->RemoveVisual(dPtr->forceVisual);
+ }
+ dPtr->forceVisual.reset();
+}
+
+/////////////////////////////////////////////////
+void WrenchVisual::Load(ConstJointPtr &_msg)
+{
+ WrenchVisualPrivate *dPtr =
+ reinterpret_cast<WrenchVisualPrivate *>(this->dataPtr);
+
// Make sure the meshes are in Ogre
this->InsertMesh("unit_cone");
+
+ // Initialize visuals on Load because we can't use shared_from_this in the
+ // constructor
+
+ // Torque visual
Ogre::MovableObject *coneXObj =
(Ogre::MovableObject*)(dPtr->scene->OgreSceneManager()->createEntity(
this->GetName()+"__WRENCH_X_CONE__", "unit_cone"));
@@ -70,64 +120,41 @@ WrenchVisual::WrenchVisual(const std::string &_name, VisualPtr _vis,
this->GetName()+"__WRENCH_Z_CONE__", "unit_cone"));
((Ogre::Entity*)coneZObj)->setMaterialName("__GAZEBO_TRANS_BLUE_MATERIAL__");
- math::Quaternion q;
+ ignition::math::Quaterniond q;
dPtr->coneXNode =
dPtr->sceneNode->createChildSceneNode(this->GetName() + "_WRENCH_X_CONE");
dPtr->coneXNode->attachObject(coneXObj);
- q.SetFromAxis(0, 1, 0, GZ_DTOR(-90));
- dPtr->coneXNode->setOrientation(q.w, q.x, q.y, q.z);
+ q.Axis(0, 1, 0, IGN_DTOR(-90));
+ dPtr->coneXNode->setOrientation(q.W(), q.X(), q.Y(), q.Z());
dPtr->coneXNode->setScale(0.02, 0.02, 0.02);
dPtr->coneYNode =
dPtr->sceneNode->createChildSceneNode(this->GetName() + "_WRENCH_Y_CONE");
dPtr->coneYNode->attachObject(coneYObj);
- q.SetFromAxis(1, 0, 0, GZ_DTOR(90));
- dPtr->coneYNode->setOrientation(q.w, q.x, q.y, q.z);
+ q.Axis(1, 0, 0, IGN_DTOR(90));
+ dPtr->coneYNode->setOrientation(q.W(), q.X(), q.Y(), q.Z());
dPtr->coneYNode->setScale(0.02, 0.02, 0.02);
dPtr->coneZNode =
dPtr->sceneNode->createChildSceneNode(this->GetName() + "_WRENCH_Z_CONE");
dPtr->coneZNode->attachObject(coneZObj);
- q.SetFromAxis(1, 0, 0, GZ_DTOR(180));
- dPtr->coneZNode->setOrientation(q.w, q.x, q.y, q.z);
+ q.Axis(1, 0, 0, IGN_DTOR(180));
+ dPtr->coneZNode->setOrientation(q.W(), q.X(), q.Y(), q.Z());
dPtr->coneZNode->setScale(0.02, 0.02, 0.02);
- dPtr->forceLine = new DynamicLines(RENDERING_LINE_LIST);
- dPtr->forceLine->AddPoint(ignition::math::Vector3d(0, 0, 0));
- dPtr->forceLine->AddPoint(ignition::math::Vector3d(0, 0, 0));
- dPtr->forceLine->setMaterial("__GAZEBO_TRANS_PURPLE_MATERIAL__");
+ // Force visual
+ dPtr->forceVisual.reset(new rendering::Visual(
+ this->GetName() + "_FORCE_VISUAL_", shared_from_this()));
+ dPtr->forceVisual->Load();
- dPtr->forceNode = dPtr->sceneNode->createChildSceneNode(this->GetName() +
- "_WRENCH_FORCE_NODE_");
- dPtr->forceNode->attachObject(dPtr->forceLine);
+ dPtr->forceLine = dPtr->forceVisual->CreateDynamicLine(RENDERING_LINE_LIST);
+ dPtr->forceLine->setMaterial("__GAZEBO_TRANS_PURPLE_MATERIAL__");
+ dPtr->forceLine->AddPoint(ignition::math::Vector3d::Zero);
+ dPtr->forceLine->AddPoint(ignition::math::Vector3d(0, 0, 0.1));
this->SetVisibilityFlags(GZ_VISIBILITY_GUI);
- dPtr->connections.push_back(
- event::Events::ConnectPreRender(
- boost::bind(&WrenchVisual::Update, this)));
-}
-
-/////////////////////////////////////////////////
-WrenchVisual::~WrenchVisual()
-{
- WrenchVisualPrivate *dPtr =
- reinterpret_cast<WrenchVisualPrivate *>(this->dataPtr);
-
- dPtr->node.reset();
- dPtr->connections.clear();
-
- delete dPtr->forceLine;
- dPtr->forceLine = NULL;
-
- delete dPtr->forceNode;
- dPtr->forceNode = NULL;
-}
-
-/////////////////////////////////////////////////
-void WrenchVisual::Load(ConstJointPtr &_msg)
-{
Visual::Load();
this->SetPosition(msgs::ConvertIgn(_msg->pose().position()));
this->SetRotation(msgs::ConvertIgn(_msg->pose().orientation()));
diff --git a/gazebo/rendering/WrenchVisual.hh b/gazebo/rendering/WrenchVisual.hh
index 5730b21..e7e18c4 100644
--- a/gazebo/rendering/WrenchVisual.hh
+++ b/gazebo/rendering/WrenchVisual.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,8 +15,8 @@
*
*/
-#ifndef _WRENCHVISUAL_HH_
-#define _WRENCHVISUAL_HH_
+#ifndef GAZEBO_RENDERING_WRENCHVISUAL_HH_
+#define GAZEBO_RENDERING_WRENCHVISUAL_HH_
#include <string>
@@ -32,7 +32,9 @@ namespace gazebo
/// \{
/// \class WrenchVisual WrenchVisual.hh rendering/rendering.hh
- /// \brief Visualization for sonar data.
+ /// \brief Visualization for wrench data. It consists of a purple line
+ /// pointing at the force direction and 3 RGB cones representing the torque
+ /// about the XYZ directions.
class GZ_RENDERING_VISIBLE WrenchVisual : public Visual
{
/// \brief Constructor.
@@ -50,6 +52,9 @@ namespace gazebo
public: void Load(ConstJointPtr &_msg);
using Visual::Load;
+ // Documentation inherited
+ public: void Fini();
+
/// \brief Set to true to enable wrench visualization.
/// \param[in] _enabled True to show wrenches, false to hide.
public: void SetEnabled(bool _enabled);
diff --git a/gazebo/rendering/WrenchVisualPrivate.hh b/gazebo/rendering/WrenchVisualPrivate.hh
index 4310a49..ff11a82 100644
--- a/gazebo/rendering/WrenchVisualPrivate.hh
+++ b/gazebo/rendering/WrenchVisualPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,8 +15,8 @@
*
*/
-#ifndef _WRENCHVISUAL_PRIVATE_HH_
-#define _WRENCHVISUAL_PRIVATE_HH_
+#ifndef GAZEBO_RENDERING_WRENCHVISUALPRIVATE_HH_
+#define GAZEBO_RENDERING_WRENCHVISUALPRIVATE_HH_
#include <vector>
@@ -48,8 +48,8 @@ namespace gazebo
/// \brief Scene node for Z torque visualization.
public: Ogre::SceneNode *coneZNode;
- /// \brief Scene node for force visualization.
- public: Ogre::SceneNode *forceNode;
+ /// \brief Visual for force visualization.
+ public: VisualPtr forceVisual;
/// \brief Line to visualize force
public: DynamicLines *forceLine;
diff --git a/gazebo/rendering/deferred_shading/AmbientLight.hh b/gazebo/rendering/deferred_shading/AmbientLight.hh
index 66d7a76..3ecc74d 100644
--- a/gazebo/rendering/deferred_shading/AmbientLight.hh
+++ b/gazebo/rendering/deferred_shading/AmbientLight.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/DeferredLight.cc b/gazebo/rendering/deferred_shading/DeferredLight.cc
index f8a6364..2b01048 100644
--- a/gazebo/rendering/deferred_shading/DeferredLight.cc
+++ b/gazebo/rendering/deferred_shading/DeferredLight.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/DeferredLight.hh b/gazebo/rendering/deferred_shading/DeferredLight.hh
index 466d936..ac48e7a 100644
--- a/gazebo/rendering/deferred_shading/DeferredLight.hh
+++ b/gazebo/rendering/deferred_shading/DeferredLight.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/DeferredLightCP.hh b/gazebo/rendering/deferred_shading/DeferredLightCP.hh
index bc32cc5..ed54e3e 100644
--- a/gazebo/rendering/deferred_shading/DeferredLightCP.hh
+++ b/gazebo/rendering/deferred_shading/DeferredLightCP.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/GBufferMaterialGenerator.cc b/gazebo/rendering/deferred_shading/GBufferMaterialGenerator.cc
index f3435d4..5d745af 100644
--- a/gazebo/rendering/deferred_shading/GBufferMaterialGenerator.cc
+++ b/gazebo/rendering/deferred_shading/GBufferMaterialGenerator.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/GBufferMaterialGenerator.hh b/gazebo/rendering/deferred_shading/GBufferMaterialGenerator.hh
index 580cd0b..a35b59f 100644
--- a/gazebo/rendering/deferred_shading/GBufferMaterialGenerator.hh
+++ b/gazebo/rendering/deferred_shading/GBufferMaterialGenerator.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/GBufferSchemeHandler.cc b/gazebo/rendering/deferred_shading/GBufferSchemeHandler.cc
index 44c1500..a2b67fc 100644
--- a/gazebo/rendering/deferred_shading/GBufferSchemeHandler.cc
+++ b/gazebo/rendering/deferred_shading/GBufferSchemeHandler.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/GBufferSchemeHandler.hh b/gazebo/rendering/deferred_shading/GBufferSchemeHandler.hh
index e918986..b072585 100644
--- a/gazebo/rendering/deferred_shading/GBufferSchemeHandler.hh
+++ b/gazebo/rendering/deferred_shading/GBufferSchemeHandler.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/GeomUtils.cc b/gazebo/rendering/deferred_shading/GeomUtils.cc
index 7925ab1..fcbbc09 100644
--- a/gazebo/rendering/deferred_shading/GeomUtils.cc
+++ b/gazebo/rendering/deferred_shading/GeomUtils.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/GeomUtils.hh b/gazebo/rendering/deferred_shading/GeomUtils.hh
index 67ad94b..27672b3 100644
--- a/gazebo/rendering/deferred_shading/GeomUtils.hh
+++ b/gazebo/rendering/deferred_shading/GeomUtils.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/LightMaterialGenerator.hh b/gazebo/rendering/deferred_shading/LightMaterialGenerator.hh
index f77e030..66b9f26 100644
--- a/gazebo/rendering/deferred_shading/LightMaterialGenerator.hh
+++ b/gazebo/rendering/deferred_shading/LightMaterialGenerator.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/ListenerFactoryLogic.hh b/gazebo/rendering/deferred_shading/ListenerFactoryLogic.hh
index 6aeff5e..d9d3f78 100644
--- a/gazebo/rendering/deferred_shading/ListenerFactoryLogic.hh
+++ b/gazebo/rendering/deferred_shading/ListenerFactoryLogic.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/MaterialGenerator.cc b/gazebo/rendering/deferred_shading/MaterialGenerator.cc
index 9abc40c..f4835f3 100644
--- a/gazebo/rendering/deferred_shading/MaterialGenerator.cc
+++ b/gazebo/rendering/deferred_shading/MaterialGenerator.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/MaterialGenerator.hh b/gazebo/rendering/deferred_shading/MaterialGenerator.hh
index 045bb3b..6e534a4 100644
--- a/gazebo/rendering/deferred_shading/MaterialGenerator.hh
+++ b/gazebo/rendering/deferred_shading/MaterialGenerator.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/MergeCP.hh b/gazebo/rendering/deferred_shading/MergeCP.hh
index a235c8d..d0f6867 100644
--- a/gazebo/rendering/deferred_shading/MergeCP.hh
+++ b/gazebo/rendering/deferred_shading/MergeCP.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/MergeMaterialGenerator.cc b/gazebo/rendering/deferred_shading/MergeMaterialGenerator.cc
index c17a41f..14dcdc5 100644
--- a/gazebo/rendering/deferred_shading/MergeMaterialGenerator.cc
+++ b/gazebo/rendering/deferred_shading/MergeMaterialGenerator.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/MergeMaterialGenerator.hh b/gazebo/rendering/deferred_shading/MergeMaterialGenerator.hh
index 8450ce7..f0aca30 100644
--- a/gazebo/rendering/deferred_shading/MergeMaterialGenerator.hh
+++ b/gazebo/rendering/deferred_shading/MergeMaterialGenerator.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/MergeSchemeHandler.cc b/gazebo/rendering/deferred_shading/MergeSchemeHandler.cc
index ce5a128..9c7b969 100644
--- a/gazebo/rendering/deferred_shading/MergeSchemeHandler.cc
+++ b/gazebo/rendering/deferred_shading/MergeSchemeHandler.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/MergeSchemeHandler.hh b/gazebo/rendering/deferred_shading/MergeSchemeHandler.hh
index 937f79f..716a83c 100644
--- a/gazebo/rendering/deferred_shading/MergeSchemeHandler.hh
+++ b/gazebo/rendering/deferred_shading/MergeSchemeHandler.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/NullSchemeHandler.hh b/gazebo/rendering/deferred_shading/NullSchemeHandler.hh
index 77a184b..adc7fc8 100644
--- a/gazebo/rendering/deferred_shading/NullSchemeHandler.hh
+++ b/gazebo/rendering/deferred_shading/NullSchemeHandler.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/SSAOLogic.cc b/gazebo/rendering/deferred_shading/SSAOLogic.cc
index 9ceeff0..98b7776 100644
--- a/gazebo/rendering/deferred_shading/SSAOLogic.cc
+++ b/gazebo/rendering/deferred_shading/SSAOLogic.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/SSAOLogic.hh b/gazebo/rendering/deferred_shading/SSAOLogic.hh
index d1e898b..b1d8050 100644
--- a/gazebo/rendering/deferred_shading/SSAOLogic.hh
+++ b/gazebo/rendering/deferred_shading/SSAOLogic.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/deferred_shading/TechniqueDefinitions.hh b/gazebo/rendering/deferred_shading/TechniqueDefinitions.hh
index 07b711f..1cee652 100644
--- a/gazebo/rendering/deferred_shading/TechniqueDefinitions.hh
+++ b/gazebo/rendering/deferred_shading/TechniqueDefinitions.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/ogre_gazebo.h b/gazebo/rendering/ogre_gazebo.h
index 9347025..ce73f46 100644
--- a/gazebo/rendering/ogre_gazebo.h
+++ b/gazebo/rendering/ogre_gazebo.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/selection_buffer/MaterialSwitcher.cc b/gazebo/rendering/selection_buffer/MaterialSwitcher.cc
index 096dead..f81b452 100644
--- a/gazebo/rendering/selection_buffer/MaterialSwitcher.cc
+++ b/gazebo/rendering/selection_buffer/MaterialSwitcher.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/selection_buffer/MaterialSwitcher.hh b/gazebo/rendering/selection_buffer/MaterialSwitcher.hh
index 76af0b3..5f0f16b 100644
--- a/gazebo/rendering/selection_buffer/MaterialSwitcher.hh
+++ b/gazebo/rendering/selection_buffer/MaterialSwitcher.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/selection_buffer/SelectionBuffer.cc b/gazebo/rendering/selection_buffer/SelectionBuffer.cc
index 04cea27..7b64ef0 100644
--- a/gazebo/rendering/selection_buffer/SelectionBuffer.cc
+++ b/gazebo/rendering/selection_buffer/SelectionBuffer.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/selection_buffer/SelectionBuffer.hh b/gazebo/rendering/selection_buffer/SelectionBuffer.hh
index 326f6fa..5cf0062 100644
--- a/gazebo/rendering/selection_buffer/SelectionBuffer.hh
+++ b/gazebo/rendering/selection_buffer/SelectionBuffer.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/selection_buffer/SelectionRenderListener.cc b/gazebo/rendering/selection_buffer/SelectionRenderListener.cc
index f4de900..fc83c04 100644
--- a/gazebo/rendering/selection_buffer/SelectionRenderListener.cc
+++ b/gazebo/rendering/selection_buffer/SelectionRenderListener.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/rendering/selection_buffer/SelectionRenderListener.hh b/gazebo/rendering/selection_buffer/SelectionRenderListener.hh
index 6b18d70..7123685 100644
--- a/gazebo/rendering/selection_buffer/SelectionRenderListener.hh
+++ b/gazebo/rendering/selection_buffer/SelectionRenderListener.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/AltimeterSensor.cc b/gazebo/sensors/AltimeterSensor.cc
index 6e7cff1..dc7f0ff 100644
--- a/gazebo/sensors/AltimeterSensor.cc
+++ b/gazebo/sensors/AltimeterSensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/AltimeterSensor.hh b/gazebo/sensors/AltimeterSensor.hh
index bea115a..4187200 100644
--- a/gazebo/sensors/AltimeterSensor.hh
+++ b/gazebo/sensors/AltimeterSensor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/AltimeterSensorPrivate.hh b/gazebo/sensors/AltimeterSensorPrivate.hh
index c9a0634..e35e429 100644
--- a/gazebo/sensors/AltimeterSensorPrivate.hh
+++ b/gazebo/sensors/AltimeterSensorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/AltimeterSensor_TEST.cc b/gazebo/sensors/AltimeterSensor_TEST.cc
index a23e980..d8d22b4 100644
--- a/gazebo/sensors/AltimeterSensor_TEST.cc
+++ b/gazebo/sensors/AltimeterSensor_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/CameraSensor.cc b/gazebo/sensors/CameraSensor.cc
index ad5dd2b..3af9ab2 100644
--- a/gazebo/sensors/CameraSensor.cc
+++ b/gazebo/sensors/CameraSensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/CameraSensor.hh b/gazebo/sensors/CameraSensor.hh
index 3bd64e0..dcfce96 100644
--- a/gazebo/sensors/CameraSensor.hh
+++ b/gazebo/sensors/CameraSensor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/CameraSensorPrivate.hh b/gazebo/sensors/CameraSensorPrivate.hh
index b427e68..4359a6b 100644
--- a/gazebo/sensors/CameraSensorPrivate.hh
+++ b/gazebo/sensors/CameraSensorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/CameraSensor_TEST.cc b/gazebo/sensors/CameraSensor_TEST.cc
index 5d157d9..f36ff65 100644
--- a/gazebo/sensors/CameraSensor_TEST.cc
+++ b/gazebo/sensors/CameraSensor_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/ContactSensor.cc b/gazebo/sensors/ContactSensor.cc
index 342e39a..e5e723c 100644
--- a/gazebo/sensors/ContactSensor.cc
+++ b/gazebo/sensors/ContactSensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/ContactSensor.hh b/gazebo/sensors/ContactSensor.hh
index dbb46f8..ad9797f 100644
--- a/gazebo/sensors/ContactSensor.hh
+++ b/gazebo/sensors/ContactSensor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/ContactSensorPrivate.hh b/gazebo/sensors/ContactSensorPrivate.hh
index 75efdd2..44b5ab6 100644
--- a/gazebo/sensors/ContactSensorPrivate.hh
+++ b/gazebo/sensors/ContactSensorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/DepthCameraSensor.cc b/gazebo/sensors/DepthCameraSensor.cc
index 8d31363..a1a69e0 100644
--- a/gazebo/sensors/DepthCameraSensor.cc
+++ b/gazebo/sensors/DepthCameraSensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/DepthCameraSensor.hh b/gazebo/sensors/DepthCameraSensor.hh
index 7782ae6..0784d54 100644
--- a/gazebo/sensors/DepthCameraSensor.hh
+++ b/gazebo/sensors/DepthCameraSensor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/DepthCameraSensorPrivate.hh b/gazebo/sensors/DepthCameraSensorPrivate.hh
index 33ee357..54ec298 100644
--- a/gazebo/sensors/DepthCameraSensorPrivate.hh
+++ b/gazebo/sensors/DepthCameraSensorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/ForceTorqueSensor.cc b/gazebo/sensors/ForceTorqueSensor.cc
index 0df0af7..59f1fcc 100644
--- a/gazebo/sensors/ForceTorqueSensor.cc
+++ b/gazebo/sensors/ForceTorqueSensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/ForceTorqueSensor.hh b/gazebo/sensors/ForceTorqueSensor.hh
index f1f1873..5c3d97b 100644
--- a/gazebo/sensors/ForceTorqueSensor.hh
+++ b/gazebo/sensors/ForceTorqueSensor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/ForceTorqueSensorPrivate.hh b/gazebo/sensors/ForceTorqueSensorPrivate.hh
index a1c1154..d4b1323 100644
--- a/gazebo/sensors/ForceTorqueSensorPrivate.hh
+++ b/gazebo/sensors/ForceTorqueSensorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/ForceTorqueSensor_TEST.cc b/gazebo/sensors/ForceTorqueSensor_TEST.cc
index f6d4804..d215c5d 100644
--- a/gazebo/sensors/ForceTorqueSensor_TEST.cc
+++ b/gazebo/sensors/ForceTorqueSensor_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/GaussianNoiseModel.cc b/gazebo/sensors/GaussianNoiseModel.cc
index 6c10c32..8389cf3 100644
--- a/gazebo/sensors/GaussianNoiseModel.cc
+++ b/gazebo/sensors/GaussianNoiseModel.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/GaussianNoiseModel.hh b/gazebo/sensors/GaussianNoiseModel.hh
index 3796771..31d8a84 100644
--- a/gazebo/sensors/GaussianNoiseModel.hh
+++ b/gazebo/sensors/GaussianNoiseModel.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/GpsSensor.cc b/gazebo/sensors/GpsSensor.cc
index 7330fec..433e750 100644
--- a/gazebo/sensors/GpsSensor.cc
+++ b/gazebo/sensors/GpsSensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/GpsSensor.hh b/gazebo/sensors/GpsSensor.hh
index 7784473..c331d7d 100644
--- a/gazebo/sensors/GpsSensor.hh
+++ b/gazebo/sensors/GpsSensor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/GpsSensorPrivate.hh b/gazebo/sensors/GpsSensorPrivate.hh
index 2e54d5c..b6a5b22 100644
--- a/gazebo/sensors/GpsSensorPrivate.hh
+++ b/gazebo/sensors/GpsSensorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/GpsSensor_TEST.cc b/gazebo/sensors/GpsSensor_TEST.cc
index 4abac73..6297d71 100644
--- a/gazebo/sensors/GpsSensor_TEST.cc
+++ b/gazebo/sensors/GpsSensor_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/GpuRaySensor.cc b/gazebo/sensors/GpuRaySensor.cc
index 12c82b5..c96d886 100644
--- a/gazebo/sensors/GpuRaySensor.cc
+++ b/gazebo/sensors/GpuRaySensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/GpuRaySensor.hh b/gazebo/sensors/GpuRaySensor.hh
index 4418b44..dbba241 100644
--- a/gazebo/sensors/GpuRaySensor.hh
+++ b/gazebo/sensors/GpuRaySensor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/GpuRaySensorPrivate.hh b/gazebo/sensors/GpuRaySensorPrivate.hh
index a94c6d7..96a9b5e 100644
--- a/gazebo/sensors/GpuRaySensorPrivate.hh
+++ b/gazebo/sensors/GpuRaySensorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/GpuRaySensor_TEST.cc b/gazebo/sensors/GpuRaySensor_TEST.cc
index 4669aae..88bb641 100644
--- a/gazebo/sensors/GpuRaySensor_TEST.cc
+++ b/gazebo/sensors/GpuRaySensor_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/ImuSensor.cc b/gazebo/sensors/ImuSensor.cc
index 3724838..19f0e41 100644
--- a/gazebo/sensors/ImuSensor.cc
+++ b/gazebo/sensors/ImuSensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/ImuSensor.hh b/gazebo/sensors/ImuSensor.hh
index 364b1d7..11918a0 100644
--- a/gazebo/sensors/ImuSensor.hh
+++ b/gazebo/sensors/ImuSensor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/ImuSensorPrivate.hh b/gazebo/sensors/ImuSensorPrivate.hh
index be2d9c1..740588e 100644
--- a/gazebo/sensors/ImuSensorPrivate.hh
+++ b/gazebo/sensors/ImuSensorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/ImuSensor_TEST.cc b/gazebo/sensors/ImuSensor_TEST.cc
index 06f0d08..2636c1f 100644
--- a/gazebo/sensors/ImuSensor_TEST.cc
+++ b/gazebo/sensors/ImuSensor_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/LogicalCameraSensor.cc b/gazebo/sensors/LogicalCameraSensor.cc
index 91e48b2..57cd3d2 100644
--- a/gazebo/sensors/LogicalCameraSensor.cc
+++ b/gazebo/sensors/LogicalCameraSensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/LogicalCameraSensor.hh b/gazebo/sensors/LogicalCameraSensor.hh
index 2e8f01b..14b94a1 100644
--- a/gazebo/sensors/LogicalCameraSensor.hh
+++ b/gazebo/sensors/LogicalCameraSensor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/LogicalCameraSensorPrivate.hh b/gazebo/sensors/LogicalCameraSensorPrivate.hh
index 57d327b..9ac4133 100644
--- a/gazebo/sensors/LogicalCameraSensorPrivate.hh
+++ b/gazebo/sensors/LogicalCameraSensorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/MagnetometerSensor.cc b/gazebo/sensors/MagnetometerSensor.cc
index eab5b3d..24a94db 100644
--- a/gazebo/sensors/MagnetometerSensor.cc
+++ b/gazebo/sensors/MagnetometerSensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/MagnetometerSensor.hh b/gazebo/sensors/MagnetometerSensor.hh
index 3002090..381c3df 100644
--- a/gazebo/sensors/MagnetometerSensor.hh
+++ b/gazebo/sensors/MagnetometerSensor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/MagnetometerSensorPrivate.hh b/gazebo/sensors/MagnetometerSensorPrivate.hh
index 1e60d1f..93d0320 100644
--- a/gazebo/sensors/MagnetometerSensorPrivate.hh
+++ b/gazebo/sensors/MagnetometerSensorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/MagnetometerSensor_TEST.cc b/gazebo/sensors/MagnetometerSensor_TEST.cc
index 71cf092..782cb10 100644
--- a/gazebo/sensors/MagnetometerSensor_TEST.cc
+++ b/gazebo/sensors/MagnetometerSensor_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/MultiCameraSensor.cc b/gazebo/sensors/MultiCameraSensor.cc
index a12bed3..cc0fe03 100644
--- a/gazebo/sensors/MultiCameraSensor.cc
+++ b/gazebo/sensors/MultiCameraSensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/MultiCameraSensor.hh b/gazebo/sensors/MultiCameraSensor.hh
index 806eec7..eb1f509 100644
--- a/gazebo/sensors/MultiCameraSensor.hh
+++ b/gazebo/sensors/MultiCameraSensor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/MultiCameraSensorPrivate.hh b/gazebo/sensors/MultiCameraSensorPrivate.hh
index 7c6888b..4f6d5df 100644
--- a/gazebo/sensors/MultiCameraSensorPrivate.hh
+++ b/gazebo/sensors/MultiCameraSensorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/Noise.cc b/gazebo/sensors/Noise.cc
index 58a0f35..8197ff7 100644
--- a/gazebo/sensors/Noise.cc
+++ b/gazebo/sensors/Noise.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/Noise.hh b/gazebo/sensors/Noise.hh
index 8abbd7c..9b954aa 100644
--- a/gazebo/sensors/Noise.hh
+++ b/gazebo/sensors/Noise.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/Noise_TEST.cc b/gazebo/sensors/Noise_TEST.cc
index 93baf04..765dd74 100644
--- a/gazebo/sensors/Noise_TEST.cc
+++ b/gazebo/sensors/Noise_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/RFIDSensor.cc b/gazebo/sensors/RFIDSensor.cc
index 6a07500..579baad 100644
--- a/gazebo/sensors/RFIDSensor.cc
+++ b/gazebo/sensors/RFIDSensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/RFIDSensor.hh b/gazebo/sensors/RFIDSensor.hh
index 8d86088..667a750 100644
--- a/gazebo/sensors/RFIDSensor.hh
+++ b/gazebo/sensors/RFIDSensor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/RFIDSensorPrivate.hh b/gazebo/sensors/RFIDSensorPrivate.hh
index 7090892..9dca5e3 100644
--- a/gazebo/sensors/RFIDSensorPrivate.hh
+++ b/gazebo/sensors/RFIDSensorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/RFIDTag.cc b/gazebo/sensors/RFIDTag.cc
index 20efbce..f2005b0 100644
--- a/gazebo/sensors/RFIDTag.cc
+++ b/gazebo/sensors/RFIDTag.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/RFIDTag.hh b/gazebo/sensors/RFIDTag.hh
index 70d89cf..9bc705c 100644
--- a/gazebo/sensors/RFIDTag.hh
+++ b/gazebo/sensors/RFIDTag.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/RFIDTagPrivate.hh b/gazebo/sensors/RFIDTagPrivate.hh
index ac51741..4b239c6 100644
--- a/gazebo/sensors/RFIDTagPrivate.hh
+++ b/gazebo/sensors/RFIDTagPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/RaySensor.cc b/gazebo/sensors/RaySensor.cc
index 0a3c616..091065b 100644
--- a/gazebo/sensors/RaySensor.cc
+++ b/gazebo/sensors/RaySensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/RaySensor.hh b/gazebo/sensors/RaySensor.hh
index 4853981..a31a559 100644
--- a/gazebo/sensors/RaySensor.hh
+++ b/gazebo/sensors/RaySensor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/RaySensorPrivate.hh b/gazebo/sensors/RaySensorPrivate.hh
index ac414b3..4f60588 100644
--- a/gazebo/sensors/RaySensorPrivate.hh
+++ b/gazebo/sensors/RaySensorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/RaySensor_TEST.cc b/gazebo/sensors/RaySensor_TEST.cc
index 075d371..21ad4da 100644
--- a/gazebo/sensors/RaySensor_TEST.cc
+++ b/gazebo/sensors/RaySensor_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/Sensor.cc b/gazebo/sensors/Sensor.cc
index 0e09ed8..6828fd8 100644
--- a/gazebo/sensors/Sensor.cc
+++ b/gazebo/sensors/Sensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -495,8 +495,8 @@ void Sensor::FillMsg(msgs::Sensor &_msg)
distortionMsg->set_k3(distortion->GetK3());
distortionMsg->set_p1(distortion->GetP1());
distortionMsg->set_p2(distortion->GetP2());
- distortionMsg->mutable_center()->set_x(distortion->GetCenter().x);
- distortionMsg->mutable_center()->set_y(distortion->GetCenter().y);
+ distortionMsg->mutable_center()->set_x(distortion->GetCenter().Ign().X());
+ distortionMsg->mutable_center()->set_y(distortion->GetCenter().Ign().Y());
}
}
}
diff --git a/gazebo/sensors/Sensor.hh b/gazebo/sensors/Sensor.hh
index db38ffc..71d5405 100644
--- a/gazebo/sensors/Sensor.hh
+++ b/gazebo/sensors/Sensor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/SensorFactory.cc b/gazebo/sensors/SensorFactory.cc
index bb4f0c2..bcecb3c 100644
--- a/gazebo/sensors/SensorFactory.cc
+++ b/gazebo/sensors/SensorFactory.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/SensorFactory.hh b/gazebo/sensors/SensorFactory.hh
index c077a45..d128e41 100644
--- a/gazebo/sensors/SensorFactory.hh
+++ b/gazebo/sensors/SensorFactory.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/SensorManager.cc b/gazebo/sensors/SensorManager.cc
index a0f1242..6f031cb 100644
--- a/gazebo/sensors/SensorManager.cc
+++ b/gazebo/sensors/SensorManager.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/SensorManager.hh b/gazebo/sensors/SensorManager.hh
index 6a3dddf..e243720 100644
--- a/gazebo/sensors/SensorManager.hh
+++ b/gazebo/sensors/SensorManager.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/SensorManager_TEST.cc b/gazebo/sensors/SensorManager_TEST.cc
index 716af77..65b43ca 100644
--- a/gazebo/sensors/SensorManager_TEST.cc
+++ b/gazebo/sensors/SensorManager_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/SensorPrivate.hh b/gazebo/sensors/SensorPrivate.hh
index e51dc37..b405fdb 100644
--- a/gazebo/sensors/SensorPrivate.hh
+++ b/gazebo/sensors/SensorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/SensorTypes.cc b/gazebo/sensors/SensorTypes.cc
index d6c55a6..6c3c986 100644
--- a/gazebo/sensors/SensorTypes.cc
+++ b/gazebo/sensors/SensorTypes.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/SensorTypes.hh b/gazebo/sensors/SensorTypes.hh
index 2b79e2f..7bd551b 100644
--- a/gazebo/sensors/SensorTypes.hh
+++ b/gazebo/sensors/SensorTypes.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/Sensor_TEST.cc b/gazebo/sensors/Sensor_TEST.cc
index 1baccd5..a89f8e9 100644
--- a/gazebo/sensors/Sensor_TEST.cc
+++ b/gazebo/sensors/Sensor_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/SensorsIface.cc b/gazebo/sensors/SensorsIface.cc
index 99b243f..d348a08 100644
--- a/gazebo/sensors/SensorsIface.cc
+++ b/gazebo/sensors/SensorsIface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/SensorsIface.hh b/gazebo/sensors/SensorsIface.hh
index 9b9c236..955fa8c 100644
--- a/gazebo/sensors/SensorsIface.hh
+++ b/gazebo/sensors/SensorsIface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/SonarSensor.cc b/gazebo/sensors/SonarSensor.cc
index addc836..072698f 100644
--- a/gazebo/sensors/SonarSensor.cc
+++ b/gazebo/sensors/SonarSensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/SonarSensor.hh b/gazebo/sensors/SonarSensor.hh
index 3df63d7..af37fc9 100644
--- a/gazebo/sensors/SonarSensor.hh
+++ b/gazebo/sensors/SonarSensor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/SonarSensorPrivate.hh b/gazebo/sensors/SonarSensorPrivate.hh
index 64ae67f..bfe1299 100644
--- a/gazebo/sensors/SonarSensorPrivate.hh
+++ b/gazebo/sensors/SonarSensorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/SonarSensor_TEST.cc b/gazebo/sensors/SonarSensor_TEST.cc
index 5de6789..5d8c8c9 100644
--- a/gazebo/sensors/SonarSensor_TEST.cc
+++ b/gazebo/sensors/SonarSensor_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/WideAngleCameraSensor.cc b/gazebo/sensors/WideAngleCameraSensor.cc
index 688490b..a229648 100644
--- a/gazebo/sensors/WideAngleCameraSensor.cc
+++ b/gazebo/sensors/WideAngleCameraSensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/WideAngleCameraSensor.hh b/gazebo/sensors/WideAngleCameraSensor.hh
index fce32c1..2d97a64 100644
--- a/gazebo/sensors/WideAngleCameraSensor.hh
+++ b/gazebo/sensors/WideAngleCameraSensor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/WideAngleCameraSensorPrivate.hh b/gazebo/sensors/WideAngleCameraSensorPrivate.hh
index a5fccdc..59b714e 100644
--- a/gazebo/sensors/WideAngleCameraSensorPrivate.hh
+++ b/gazebo/sensors/WideAngleCameraSensorPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/WirelessReceiver.cc b/gazebo/sensors/WirelessReceiver.cc
index 31fb25d..87fb661 100644
--- a/gazebo/sensors/WirelessReceiver.cc
+++ b/gazebo/sensors/WirelessReceiver.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/WirelessReceiver.hh b/gazebo/sensors/WirelessReceiver.hh
index a622f8b..73fab4b 100644
--- a/gazebo/sensors/WirelessReceiver.hh
+++ b/gazebo/sensors/WirelessReceiver.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/WirelessReceiverPrivate.hh b/gazebo/sensors/WirelessReceiverPrivate.hh
index 38ae05d..6defd9f 100644
--- a/gazebo/sensors/WirelessReceiverPrivate.hh
+++ b/gazebo/sensors/WirelessReceiverPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/WirelessReceiver_TEST.cc b/gazebo/sensors/WirelessReceiver_TEST.cc
index a662609..a037bc5 100644
--- a/gazebo/sensors/WirelessReceiver_TEST.cc
+++ b/gazebo/sensors/WirelessReceiver_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/WirelessTransceiver.cc b/gazebo/sensors/WirelessTransceiver.cc
index 2e2f7e1..2294363 100644
--- a/gazebo/sensors/WirelessTransceiver.cc
+++ b/gazebo/sensors/WirelessTransceiver.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/WirelessTransceiver.hh b/gazebo/sensors/WirelessTransceiver.hh
index 136ff69..0f72f41 100644
--- a/gazebo/sensors/WirelessTransceiver.hh
+++ b/gazebo/sensors/WirelessTransceiver.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/WirelessTransmitter.cc b/gazebo/sensors/WirelessTransmitter.cc
index e5437f2..0f34797 100644
--- a/gazebo/sensors/WirelessTransmitter.cc
+++ b/gazebo/sensors/WirelessTransmitter.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/WirelessTransmitter.hh b/gazebo/sensors/WirelessTransmitter.hh
index 3a2520d..3952272 100644
--- a/gazebo/sensors/WirelessTransmitter.hh
+++ b/gazebo/sensors/WirelessTransmitter.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/WirelessTransmitterPrivate.hh b/gazebo/sensors/WirelessTransmitterPrivate.hh
index ab03611..e0d04e4 100644
--- a/gazebo/sensors/WirelessTransmitterPrivate.hh
+++ b/gazebo/sensors/WirelessTransmitterPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/sensors/WirelessTransmitter_TEST.cc b/gazebo/sensors/WirelessTransmitter_TEST.cc
index 4fc8e00..1810a7d 100644
--- a/gazebo/sensors/WirelessTransmitter_TEST.cc
+++ b/gazebo/sensors/WirelessTransmitter_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/server_main.cc b/gazebo/server_main.cc
index 3f9a7fa..6115982 100644
--- a/gazebo/server_main.cc
+++ b/gazebo/server_main.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/test/ServerFixture.cc b/gazebo/test/ServerFixture.cc
index 043456b..c177577 100644
--- a/gazebo/test/ServerFixture.cc
+++ b/gazebo/test/ServerFixture.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/test/ServerFixture.hh b/gazebo/test/ServerFixture.hh
index dc8871f..59466cd 100644
--- a/gazebo/test/ServerFixture.hh
+++ b/gazebo/test/ServerFixture.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/test/ServerFixtureRecord.cc b/gazebo/test/ServerFixtureRecord.cc
index 5253f10..dba4a4f 100644
--- a/gazebo/test/ServerFixtureRecord.cc
+++ b/gazebo/test/ServerFixtureRecord.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/test/helper_physics_generator.hh b/gazebo/test/helper_physics_generator.hh
index 5179fca..c04ef27 100644
--- a/gazebo/test/helper_physics_generator.hh
+++ b/gazebo/test/helper_physics_generator.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/CallbackHelper.cc b/gazebo/transport/CallbackHelper.cc
index e6f06d5..b0f1516 100644
--- a/gazebo/transport/CallbackHelper.cc
+++ b/gazebo/transport/CallbackHelper.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/CallbackHelper.hh b/gazebo/transport/CallbackHelper.hh
index 75d6c26..37fc7a3 100644
--- a/gazebo/transport/CallbackHelper.hh
+++ b/gazebo/transport/CallbackHelper.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/Connection.cc b/gazebo/transport/Connection.cc
index 4a229c4..11f3968 100644
--- a/gazebo/transport/Connection.cc
+++ b/gazebo/transport/Connection.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/Connection.hh b/gazebo/transport/Connection.hh
index 39f8f2c..f65a796 100644
--- a/gazebo/transport/Connection.hh
+++ b/gazebo/transport/Connection.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/ConnectionManager.cc b/gazebo/transport/ConnectionManager.cc
index 2fe1418..fc0831d 100644
--- a/gazebo/transport/ConnectionManager.cc
+++ b/gazebo/transport/ConnectionManager.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/ConnectionManager.hh b/gazebo/transport/ConnectionManager.hh
index c3e1187..2c165bb 100644
--- a/gazebo/transport/ConnectionManager.hh
+++ b/gazebo/transport/ConnectionManager.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/Connection_TEST.cc b/gazebo/transport/Connection_TEST.cc
index 4a6f4d0..a743319 100644
--- a/gazebo/transport/Connection_TEST.cc
+++ b/gazebo/transport/Connection_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/IOManager.cc b/gazebo/transport/IOManager.cc
index 8bb3f68..952a3c0 100644
--- a/gazebo/transport/IOManager.cc
+++ b/gazebo/transport/IOManager.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/IOManager.hh b/gazebo/transport/IOManager.hh
index 24ae40e..ca41f64 100644
--- a/gazebo/transport/IOManager.hh
+++ b/gazebo/transport/IOManager.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/Node.cc b/gazebo/transport/Node.cc
index 7e4b269..96d8c23 100644
--- a/gazebo/transport/Node.cc
+++ b/gazebo/transport/Node.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/Node.hh b/gazebo/transport/Node.hh
index 0a0eb6d..9fec8d9 100644
--- a/gazebo/transport/Node.hh
+++ b/gazebo/transport/Node.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/Publication.cc b/gazebo/transport/Publication.cc
index bbe0b6b..54d4023 100644
--- a/gazebo/transport/Publication.cc
+++ b/gazebo/transport/Publication.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/Publication.hh b/gazebo/transport/Publication.hh
index e463353..7c7fec5 100644
--- a/gazebo/transport/Publication.hh
+++ b/gazebo/transport/Publication.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/PublicationTransport.cc b/gazebo/transport/PublicationTransport.cc
index 37741a9..ebb11e2 100644
--- a/gazebo/transport/PublicationTransport.cc
+++ b/gazebo/transport/PublicationTransport.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/PublicationTransport.hh b/gazebo/transport/PublicationTransport.hh
index 84d66e7..d2a0f16 100644
--- a/gazebo/transport/PublicationTransport.hh
+++ b/gazebo/transport/PublicationTransport.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/Publisher.cc b/gazebo/transport/Publisher.cc
index f723e30..cf843c7 100644
--- a/gazebo/transport/Publisher.cc
+++ b/gazebo/transport/Publisher.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/Publisher.hh b/gazebo/transport/Publisher.hh
index a9d1c35..d3d8987 100644
--- a/gazebo/transport/Publisher.hh
+++ b/gazebo/transport/Publisher.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/SubscribeOptions.hh b/gazebo/transport/SubscribeOptions.hh
index ca07623..907641d 100644
--- a/gazebo/transport/SubscribeOptions.hh
+++ b/gazebo/transport/SubscribeOptions.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/Subscriber.cc b/gazebo/transport/Subscriber.cc
index f47da8a..c19e7af 100644
--- a/gazebo/transport/Subscriber.cc
+++ b/gazebo/transport/Subscriber.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/Subscriber.hh b/gazebo/transport/Subscriber.hh
index 7101bf7..83cc5c1 100644
--- a/gazebo/transport/Subscriber.hh
+++ b/gazebo/transport/Subscriber.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/SubscriptionTransport.cc b/gazebo/transport/SubscriptionTransport.cc
index 2e4a0999..f3e494c 100644
--- a/gazebo/transport/SubscriptionTransport.cc
+++ b/gazebo/transport/SubscriptionTransport.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/SubscriptionTransport.hh b/gazebo/transport/SubscriptionTransport.hh
index d176dc7..176939f 100644
--- a/gazebo/transport/SubscriptionTransport.hh
+++ b/gazebo/transport/SubscriptionTransport.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/TopicManager.cc b/gazebo/transport/TopicManager.cc
index 6c85c39..aad153a 100644
--- a/gazebo/transport/TopicManager.cc
+++ b/gazebo/transport/TopicManager.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/TopicManager.hh b/gazebo/transport/TopicManager.hh
index 40e5270..7fc2225 100644
--- a/gazebo/transport/TopicManager.hh
+++ b/gazebo/transport/TopicManager.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/TransportIface.cc b/gazebo/transport/TransportIface.cc
index 2a541a5..b2f0b51 100644
--- a/gazebo/transport/TransportIface.cc
+++ b/gazebo/transport/TransportIface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/TransportIface.hh b/gazebo/transport/TransportIface.hh
index 49247e6..4999a12 100644
--- a/gazebo/transport/TransportIface.hh
+++ b/gazebo/transport/TransportIface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/transport/TransportTypes.hh b/gazebo/transport/TransportTypes.hh
index 8e1e6c7..4ab36d9 100644
--- a/gazebo/transport/TransportTypes.hh
+++ b/gazebo/transport/TransportTypes.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/util/Diagnostics.cc b/gazebo/util/Diagnostics.cc
index c0ac9b8..59d6b25 100644
--- a/gazebo/util/Diagnostics.cc
+++ b/gazebo/util/Diagnostics.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/util/Diagnostics.hh b/gazebo/util/Diagnostics.hh
index d3f5183..ff0f51d 100644
--- a/gazebo/util/Diagnostics.hh
+++ b/gazebo/util/Diagnostics.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/util/DiagnosticsPrivate.hh b/gazebo/util/DiagnosticsPrivate.hh
index b747ff9..66d422e 100644
--- a/gazebo/util/DiagnosticsPrivate.hh
+++ b/gazebo/util/DiagnosticsPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/util/Diagnostics_TEST.cc b/gazebo/util/Diagnostics_TEST.cc
index 24e2a65..12da503 100644
--- a/gazebo/util/Diagnostics_TEST.cc
+++ b/gazebo/util/Diagnostics_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/util/LogPlay.cc b/gazebo/util/LogPlay.cc
index 774774a..0b7ae8a 100644
--- a/gazebo/util/LogPlay.cc
+++ b/gazebo/util/LogPlay.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/util/LogPlay.hh b/gazebo/util/LogPlay.hh
index f2f2adb..d6d2e03 100644
--- a/gazebo/util/LogPlay.hh
+++ b/gazebo/util/LogPlay.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/util/LogPlayPrivate.hh b/gazebo/util/LogPlayPrivate.hh
index c1ab371..fbc1765 100644
--- a/gazebo/util/LogPlayPrivate.hh
+++ b/gazebo/util/LogPlayPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/util/LogPlay_TEST.cc b/gazebo/util/LogPlay_TEST.cc
index 1831102..c0b1465 100644
--- a/gazebo/util/LogPlay_TEST.cc
+++ b/gazebo/util/LogPlay_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/util/LogRecord.cc b/gazebo/util/LogRecord.cc
index 35903cb..42968d1 100644
--- a/gazebo/util/LogRecord.cc
+++ b/gazebo/util/LogRecord.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -137,6 +137,14 @@ bool LogRecord::Init(const std::string &_subdir)
}
//////////////////////////////////////////////////
+bool LogRecord::Start(const LogRecordParams &_params)
+{
+ this->dataPtr->period = _params.period;
+ this->dataPtr->filter = _params.filter;
+ return this->Start(_params.encoding, _params.path);
+}
+
+//////////////////////////////////////////////////
bool LogRecord::Start(const std::string &_encoding, const std::string &_path)
{
std::unique_lock<std::mutex> lock(this->dataPtr->controlMutex);
@@ -308,6 +316,30 @@ bool LogRecord::Paused() const
}
//////////////////////////////////////////////////
+double LogRecord::Period() const
+{
+ return this->dataPtr->period;
+}
+
+//////////////////////////////////////////////////
+void LogRecord::SetPeriod(const double _period)
+{
+ this->dataPtr->period = _period;
+}
+
+//////////////////////////////////////////////////
+std::string LogRecord::Filter() const
+{
+ return this->dataPtr->filter;
+}
+
+//////////////////////////////////////////////////
+void LogRecord::SetFilter(const std::string &_filter)
+{
+ this->dataPtr->filter = _filter;
+}
+
+//////////////////////////////////////////////////
bool LogRecord::GetRunning() const
{
return this->Running();
diff --git a/gazebo/util/LogRecord.hh b/gazebo/util/LogRecord.hh
index 7954792..c70733e 100644
--- a/gazebo/util/LogRecord.hh
+++ b/gazebo/util/LogRecord.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -30,6 +30,24 @@ namespace gazebo
{
namespace util
{
+ /// \brief Log recording parameters.
+ /// \sa LogRecord::Start
+ class LogRecordParams
+ {
+ /// \brief The type of encoding (txt, zlib, or bz2).
+ public: std::string encoding = "zlib";
+
+ /// \brief Path in which to store log files.
+ public: std::string path;
+
+ /// \brief Recording period. A value < 0 indicates that every
+ /// iteration should be recorded.
+ public: double period = -1;
+
+ /// \brief Log filter string
+ public: std::string filter;
+ };
+
// Forward declare private data class
class LogRecordPrivate;
@@ -117,6 +135,22 @@ namespace gazebo
/// \sa LogRecord::SetPaused
public: bool Paused() const;
+ /// \brief Get the log recording period.
+ /// \return Log recording period in seconds.
+ public: double Period() const;
+
+ /// \brief Set the log recording period.
+ /// \param[in] _period New log recording period in seconds.
+ public: void SetPeriod(const double _period);
+
+ /// \brief Get the log recording filter string.
+ /// \return Log recording filter string.
+ public: std::string Filter() const;
+
+ /// \brief Set the log recording filter string.
+ /// \param[in] _filter New log record filter regex string
+ public: void SetFilter(const std::string &_filter);
+
/// \brief Get whether the logger is ready to start, which implies
/// that any previous runs have finished.
// \return True if logger is ready to start.
@@ -132,6 +166,10 @@ namespace gazebo
public: bool Running() const;
/// \brief Start the logger.
+ /// \params[in] _params Log recording parameters.
+ public: bool Start(const LogRecordParams &_params);
+
+ /// \brief Start the logger.
/// \param[in] _encoding The type of encoding (txt, zlib, or bz2).
/// \param[in] _path Path in which to store log files.
public: bool Start(const std::string &_encoding="zlib",
diff --git a/gazebo/util/LogRecordPrivate.hh b/gazebo/util/LogRecordPrivate.hh
index e77f499..6a6df27 100644
--- a/gazebo/util/LogRecordPrivate.hh
+++ b/gazebo/util/LogRecordPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -200,6 +200,12 @@ namespace gazebo
/// \brief True if the logger is ready to start, and the previous run
/// has finished.
public: bool readyToStart;
+
+ /// \brief Record period.
+ public: double period = -1.0;
+
+ /// \brief Record filter string.
+ public: std::string filter = "";
};
/// \}
}
diff --git a/gazebo/util/LogRecord_TEST.cc b/gazebo/util/LogRecord_TEST.cc
index 6164a0b..6d81cae 100644
--- a/gazebo/util/LogRecord_TEST.cc
+++ b/gazebo/util/LogRecord_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -185,6 +185,32 @@ TEST_F(LogRecord_TEST, Start_zlib)
}
/////////////////////////////////////////////////
+/// \brief Test LogRecord filter
+TEST_F(LogRecord_TEST, Filter)
+{
+ gazebo::util::LogRecord *recorder = gazebo::util::LogRecord::Instance();
+
+ // check default values
+ EXPECT_DOUBLE_EQ(recorder->Period(), -1);
+ EXPECT_EQ(recorder->Filter(), std::string());
+
+ // filter by period
+ recorder->SetPeriod(0.02);
+ EXPECT_DOUBLE_EQ(recorder->Period(), 0.02);
+
+ recorder->SetPeriod(0);
+ EXPECT_DOUBLE_EQ(recorder->Period(), 0);
+
+
+ // filter by regex string
+ recorder->SetFilter("robot*");
+ EXPECT_EQ(recorder->Filter(), "robot*");
+
+ recorder->SetFilter("");
+ EXPECT_EQ(recorder->Filter(), "");
+}
+
+/////////////////////////////////////////////////
int main(int argc, char **argv)
{
::testing::InitGoogleTest(&argc, argv);
diff --git a/gazebo/util/OpenAL.cc b/gazebo/util/OpenAL.cc
index 94d920e..265c853 100644
--- a/gazebo/util/OpenAL.cc
+++ b/gazebo/util/OpenAL.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/util/OpenAL.hh b/gazebo/util/OpenAL.hh
index 23ccf4f..cb59a9c 100644
--- a/gazebo/util/OpenAL.hh
+++ b/gazebo/util/OpenAL.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/util/OpenALPrivate.hh b/gazebo/util/OpenALPrivate.hh
index 0dcbed2..b69c728 100644
--- a/gazebo/util/OpenALPrivate.hh
+++ b/gazebo/util/OpenALPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/util/OpenAL_TEST.cc b/gazebo/util/OpenAL_TEST.cc
index 6bb2c16..5056d65 100644
--- a/gazebo/util/OpenAL_TEST.cc
+++ b/gazebo/util/OpenAL_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/util/UtilTypes.hh b/gazebo/util/UtilTypes.hh
index 946600b..4477e89 100644
--- a/gazebo/util/UtilTypes.hh
+++ b/gazebo/util/UtilTypes.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/gazebo/util/system.hh b/gazebo/util/system.hh
index 415d2e0..fb3e4b9 100644
--- a/gazebo/util/system.hh
+++ b/gazebo/util/system.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/ActarrayInterface.cc b/interfaces/player/ActarrayInterface.cc
index 15f22f2..6628da9 100644
--- a/interfaces/player/ActarrayInterface.cc
+++ b/interfaces/player/ActarrayInterface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/ActarrayInterface.hh b/interfaces/player/ActarrayInterface.hh
index dded987..252dabf 100644
--- a/interfaces/player/ActarrayInterface.hh
+++ b/interfaces/player/ActarrayInterface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/BumperInterface.cc b/interfaces/player/BumperInterface.cc
index 677f541..92b5360 100644
--- a/interfaces/player/BumperInterface.cc
+++ b/interfaces/player/BumperInterface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/BumperInterface.hh b/interfaces/player/BumperInterface.hh
index 4cb9b65..163e095 100644
--- a/interfaces/player/BumperInterface.hh
+++ b/interfaces/player/BumperInterface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/CameraInterface.cc b/interfaces/player/CameraInterface.cc
index 4d4f2a9..e36d89f 100644
--- a/interfaces/player/CameraInterface.cc
+++ b/interfaces/player/CameraInterface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/CameraInterface.hh b/interfaces/player/CameraInterface.hh
index bcc6cd8..68e855b 100644
--- a/interfaces/player/CameraInterface.hh
+++ b/interfaces/player/CameraInterface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/FiducialInterface.cc b/interfaces/player/FiducialInterface.cc
index 0d30f26..4e225be 100644
--- a/interfaces/player/FiducialInterface.cc
+++ b/interfaces/player/FiducialInterface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/FiducialInterface.hh b/interfaces/player/FiducialInterface.hh
index 89c4bbc..20cc067 100644
--- a/interfaces/player/FiducialInterface.hh
+++ b/interfaces/player/FiducialInterface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/GazeboClient.cc b/interfaces/player/GazeboClient.cc
index 3fea286..1581daa 100644
--- a/interfaces/player/GazeboClient.cc
+++ b/interfaces/player/GazeboClient.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/GazeboClient.hh b/interfaces/player/GazeboClient.hh
index 08e09a5..b8a9f5c 100644
--- a/interfaces/player/GazeboClient.hh
+++ b/interfaces/player/GazeboClient.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/GazeboDriver.cc b/interfaces/player/GazeboDriver.cc
index 8a59b1d..5fc1061 100644
--- a/interfaces/player/GazeboDriver.cc
+++ b/interfaces/player/GazeboDriver.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/GazeboDriver.hh b/interfaces/player/GazeboDriver.hh
index 1bb64ed..20d6b04 100644
--- a/interfaces/player/GazeboDriver.hh
+++ b/interfaces/player/GazeboDriver.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/GazeboInterface.cc b/interfaces/player/GazeboInterface.cc
index d4ee0c4..79569dd 100644
--- a/interfaces/player/GazeboInterface.cc
+++ b/interfaces/player/GazeboInterface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/GazeboInterface.hh b/interfaces/player/GazeboInterface.hh
index 33f96c5..d88f766 100644
--- a/interfaces/player/GazeboInterface.hh
+++ b/interfaces/player/GazeboInterface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/GazeboTime.cc b/interfaces/player/GazeboTime.cc
index eec3e8d..b2c813e 100644
--- a/interfaces/player/GazeboTime.cc
+++ b/interfaces/player/GazeboTime.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/GazeboTime.hh b/interfaces/player/GazeboTime.hh
index 746a33f..5f34194 100644
--- a/interfaces/player/GazeboTime.hh
+++ b/interfaces/player/GazeboTime.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/GpsInterface.cc b/interfaces/player/GpsInterface.cc
index 85c249a..11773e4 100644
--- a/interfaces/player/GpsInterface.cc
+++ b/interfaces/player/GpsInterface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/GpsInterface.hh b/interfaces/player/GpsInterface.hh
index 2cf5dfa..991f9d8 100644
--- a/interfaces/player/GpsInterface.hh
+++ b/interfaces/player/GpsInterface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/Graphics3dInterface.cc b/interfaces/player/Graphics3dInterface.cc
index 8c57c71..0562352 100644
--- a/interfaces/player/Graphics3dInterface.cc
+++ b/interfaces/player/Graphics3dInterface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/Graphics3dInterface.hh b/interfaces/player/Graphics3dInterface.hh
index 68d3505..c27b2f1 100644
--- a/interfaces/player/Graphics3dInterface.hh
+++ b/interfaces/player/Graphics3dInterface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/GripperInterface.cc b/interfaces/player/GripperInterface.cc
index 4cdf138..3b7a375 100644
--- a/interfaces/player/GripperInterface.cc
+++ b/interfaces/player/GripperInterface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/GripperInterface.hh b/interfaces/player/GripperInterface.hh
index 49a5816..bacbdb1 100644
--- a/interfaces/player/GripperInterface.hh
+++ b/interfaces/player/GripperInterface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/IRInterface.cc b/interfaces/player/IRInterface.cc
index 6bfeec7..8853c89 100644
--- a/interfaces/player/IRInterface.cc
+++ b/interfaces/player/IRInterface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/IRInterface.hh b/interfaces/player/IRInterface.hh
index c17783f..5ceb5af 100644
--- a/interfaces/player/IRInterface.hh
+++ b/interfaces/player/IRInterface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/LaserInterface.cc b/interfaces/player/LaserInterface.cc
index ec4b532..7c92434 100644
--- a/interfaces/player/LaserInterface.cc
+++ b/interfaces/player/LaserInterface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/LaserInterface.hh b/interfaces/player/LaserInterface.hh
index 619de8b..6e44e30 100644
--- a/interfaces/player/LaserInterface.hh
+++ b/interfaces/player/LaserInterface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/OpaqueInterface.cc b/interfaces/player/OpaqueInterface.cc
index 0f9cfde..791c166 100644
--- a/interfaces/player/OpaqueInterface.cc
+++ b/interfaces/player/OpaqueInterface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/OpaqueInterface.hh b/interfaces/player/OpaqueInterface.hh
index d34cf3a..a6fd827 100644
--- a/interfaces/player/OpaqueInterface.hh
+++ b/interfaces/player/OpaqueInterface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/PTZInterface.cc b/interfaces/player/PTZInterface.cc
index 874ad8b..f8b3f4e 100644
--- a/interfaces/player/PTZInterface.cc
+++ b/interfaces/player/PTZInterface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/PTZInterface.hh b/interfaces/player/PTZInterface.hh
index 23b1c3e..1ef5e38 100644
--- a/interfaces/player/PTZInterface.hh
+++ b/interfaces/player/PTZInterface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/Position2dInterface.cc b/interfaces/player/Position2dInterface.cc
index e27a269..ea348ce 100644
--- a/interfaces/player/Position2dInterface.cc
+++ b/interfaces/player/Position2dInterface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/Position2dInterface.hh b/interfaces/player/Position2dInterface.hh
index a8cc669..1151403 100644
--- a/interfaces/player/Position2dInterface.hh
+++ b/interfaces/player/Position2dInterface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/Position3dInterface.cc b/interfaces/player/Position3dInterface.cc
index 4db08e5..ed6b884 100644
--- a/interfaces/player/Position3dInterface.cc
+++ b/interfaces/player/Position3dInterface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/Position3dInterface.hh b/interfaces/player/Position3dInterface.hh
index f5dcd39..7fdbcd8 100644
--- a/interfaces/player/Position3dInterface.hh
+++ b/interfaces/player/Position3dInterface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/PowerInterface.cc b/interfaces/player/PowerInterface.cc
index 6685c2a..9c6cc05 100644
--- a/interfaces/player/PowerInterface.cc
+++ b/interfaces/player/PowerInterface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/PowerInterface.hh b/interfaces/player/PowerInterface.hh
index 1321939..993dfa1 100644
--- a/interfaces/player/PowerInterface.hh
+++ b/interfaces/player/PowerInterface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/SimulationInterface.cc b/interfaces/player/SimulationInterface.cc
index ea0e0a7..5b6c3cb 100644
--- a/interfaces/player/SimulationInterface.cc
+++ b/interfaces/player/SimulationInterface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/SimulationInterface.hh b/interfaces/player/SimulationInterface.hh
index c687ecb..4611724 100644
--- a/interfaces/player/SimulationInterface.hh
+++ b/interfaces/player/SimulationInterface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/SonarInterface.cc b/interfaces/player/SonarInterface.cc
index 6b8f9ae..905caf7 100644
--- a/interfaces/player/SonarInterface.cc
+++ b/interfaces/player/SonarInterface.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/SonarInterface.hh b/interfaces/player/SonarInterface.hh
index c6c1167..e64240f 100644
--- a/interfaces/player/SonarInterface.hh
+++ b/interfaces/player/SonarInterface.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/interfaces/player/player.h b/interfaces/player/player.h
index 1dc209e..d74407d 100644
--- a/interfaces/player/player.h
+++ b/interfaces/player/player.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/media/materials/programs/camera_distortion_map_fs.glsl b/media/materials/programs/camera_distortion_map_fs.glsl
index 1c962a0..5f5fa33 100644
--- a/media/materials/programs/camera_distortion_map_fs.glsl
+++ b/media/materials/programs/camera_distortion_map_fs.glsl
@@ -10,7 +10,7 @@ uniform vec3 scale;
void main()
{
vec2 scaleCenter = vec2(0.5, 0.5);
- vec2 inputUV = (gl_TexCoord[0].xy - scaleCenter) * scale.xy + scaleCenter;
+ vec2 inputUV = (gl_TexCoord[0].xy - scaleCenter) / scale.xy + scaleCenter;
vec4 mapUV = texture2D(distortionMap, inputUV);
if (mapUV.x < 0.0 || mapUV.y < 0.0)
diff --git a/media/materials/programs/wide_lens_map_fp.glsl b/media/materials/programs/wide_lens_map_fp.glsl
index 972986a..00c5c54 100644
--- a/media/materials/programs/wide_lens_map_fp.glsl
+++ b/media/materials/programs/wide_lens_map_fp.glsl
@@ -1,4 +1,4 @@
-#version 130
+#version 120
uniform samplerCube envMap;
diff --git a/media/materials/programs/wide_lens_map_vs.glsl b/media/materials/programs/wide_lens_map_vs.glsl
index 1d5cf7a..7ac01bf 100644
--- a/media/materials/programs/wide_lens_map_vs.glsl
+++ b/media/materials/programs/wide_lens_map_vs.glsl
@@ -1,4 +1,4 @@
-#version 130
+#version 120
// aspect ratio
uniform float ratio;
diff --git a/plugins/ActuatorPlugin.cc b/plugins/ActuatorPlugin.cc
index 136f9e5..bb6863a 100644
--- a/plugins/ActuatorPlugin.cc
+++ b/plugins/ActuatorPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/ActuatorPlugin.hh b/plugins/ActuatorPlugin.hh
index 97e412f..90a88f0 100644
--- a/plugins/ActuatorPlugin.hh
+++ b/plugins/ActuatorPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/ArrangePlugin.cc b/plugins/ArrangePlugin.cc
index eac3c3f..98ee8ba 100644
--- a/plugins/ArrangePlugin.cc
+++ b/plugins/ArrangePlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/ArrangePlugin.hh b/plugins/ArrangePlugin.hh
index 68eb87a..9f8bb6c 100644
--- a/plugins/ArrangePlugin.hh
+++ b/plugins/ArrangePlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/AttachLightPlugin.cc b/plugins/AttachLightPlugin.cc
new file mode 100644
index 0000000..0285813
--- /dev/null
+++ b/plugins/AttachLightPlugin.cc
@@ -0,0 +1,137 @@
+/*
+ * Copyright (C) 2017 Open Source Robotics Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+*/
+
+#include <map>
+#include <vector>
+#include <ignition/math/Pose3.hh>
+
+#include "gazebo/physics/physics.hh"
+#include "plugins/AttachLightPlugin.hh"
+
+
+namespace gazebo
+{
+ /// \brief Private data class for the AttachLightPlugin class
+ class AttachLightPluginPrivate
+ {
+ /// \brief Event connections
+ public: std::vector<event::ConnectionPtr> connections;
+
+ /// \brief Pointer to parent model
+ public: physics::ModelPtr model;
+
+ /// \brief Pointer to the world
+ public: physics::WorldPtr world;
+
+ /// \brief List of link and light pointers and the light pose offset
+ public: std::map<physics::LinkPtr, std::map<physics::LightPtr,
+ ignition::math::Pose3d>> linkLights;
+ };
+}
+
+using namespace gazebo;
+GZ_REGISTER_MODEL_PLUGIN(AttachLightPlugin)
+
+/////////////////////////////////////////////////
+AttachLightPlugin::AttachLightPlugin()
+ : dataPtr(new AttachLightPluginPrivate)
+{
+}
+
+/////////////////////////////////////////////////
+void AttachLightPlugin::Load(physics::ModelPtr _model, sdf::ElementPtr _sdf)
+{
+ this->dataPtr->model = _model;
+ this->dataPtr->world = _model->GetWorld();
+
+ if (!_sdf->HasElement("link"))
+ {
+ gzerr << "No <link> sdf elements found." << std::endl;
+ return;
+ }
+
+ // load links
+ sdf::ElementPtr linkElem = _sdf->GetElement("link");
+ while (linkElem)
+ {
+ std::string linkName;
+ if (linkElem->HasElement("link_name"))
+ {
+ linkName = linkElem->Get<std::string>("link_name");
+
+ physics::LinkPtr link = this->dataPtr->model->GetLink(linkName);
+ if (!link)
+ {
+ gzerr << "Link: '" << linkName << "' not found." << std::endl;
+ }
+ else
+ {
+ // load lights
+ if (linkElem->HasElement("light"))
+ {
+ sdf::ElementPtr lightElem = linkElem->GetElement("light");
+ while (lightElem)
+ {
+ std::string lightName = lightElem->Get<std::string>("light_name");
+ physics::LightPtr light = this->dataPtr->world->Light(lightName);
+
+ // lights are loaded before models so we should be able to find them
+ if (!light)
+ {
+ gzerr << "Light: '" << lightName << "' not found." << std::endl;
+ }
+ else
+ {
+ // pose is optional
+ ignition::math::Pose3d pose;
+ if (lightElem->HasElement("pose"))
+ pose = lightElem->Get<ignition::math::Pose3d>("pose");
+
+ auto &lights = this->dataPtr->linkLights[link];
+ lights[light] = pose;
+ }
+ lightElem = lightElem->GetNextElement("light");
+ }
+ }
+ }
+ }
+ linkElem = linkElem->GetNextElement("link");
+ }
+
+ if (this->dataPtr->linkLights.empty())
+ return;
+
+ this->dataPtr->connections.push_back(event::Events::ConnectWorldUpdateEnd(
+ std::bind(&AttachLightPlugin::OnUpdate, this)));
+}
+
+/////////////////////////////////////////////////
+void AttachLightPlugin::OnUpdate()
+{
+ // update light pose based on link pose
+ for (auto &it : this->dataPtr->linkLights)
+ {
+ physics::LinkPtr link = it.first;
+ std::map<physics::LightPtr, ignition::math::Pose3d> &lights = it.second;
+ for (auto &lightIt : lights)
+ {
+ physics::LightPtr light = lightIt.first;
+ ignition::math::Pose3d pose = lightIt.second;
+ light->SetWorldPose(pose + link->GetWorldPose().Ign());
+ }
+ }
+}
diff --git a/plugins/AttachLightPlugin.hh b/plugins/AttachLightPlugin.hh
new file mode 100644
index 0000000..10a2455
--- /dev/null
+++ b/plugins/AttachLightPlugin.hh
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2017 Open Source Robotics Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+*/
+
+#ifndef GAZEBO_PLUGINS_ATTACHLIGHTPLUGIN_HH_
+#define GAZEBO_PLUGINS_ATTACHLIGHTPLUGIN_HH_
+
+#include <memory>
+
+#include "gazebo/common/Plugin.hh"
+#include "gazebo/util/system.hh"
+
+namespace gazebo
+{
+ // forward declarations
+ class AttachLightPluginPrivate;
+
+ /// \brief A model plugin that enables multiple lights in the world to be
+ /// attached to links within the model.
+ ///
+ /// The plugin has the following SDF description:
+ /// <link> SDF element. More than one <link> can be defined.
+ /// <link_name> Name of the link in the model.
+ /// <light> SDF element. More than one <light> can be attached.
+ /// <pose> Offset pose of the light in the link frame.
+ /// <light_name> Name of the light in the world.
+ class GAZEBO_VISIBLE AttachLightPlugin : public ModelPlugin
+ {
+ /// \brief Constructor
+ public: AttachLightPlugin();
+
+ // Documentation inherited
+ public: virtual void Load(physics::ModelPtr _model, sdf::ElementPtr _sdf);
+
+ /// \brief Main loop to update the pose of lights
+ private: void OnUpdate();
+
+ /// \brief Pointer to private data
+ private: std::unique_ptr<AttachLightPluginPrivate> dataPtr;
+ };
+}
+#endif
diff --git a/plugins/BreakableJointPlugin.cc b/plugins/BreakableJointPlugin.cc
index 6c71c1d..3067ab0 100644
--- a/plugins/BreakableJointPlugin.cc
+++ b/plugins/BreakableJointPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/BreakableJointPlugin.hh b/plugins/BreakableJointPlugin.hh
index 6e790d9..4e41c36 100644
--- a/plugins/BreakableJointPlugin.hh
+++ b/plugins/BreakableJointPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/BuoyancyPlugin.cc b/plugins/BuoyancyPlugin.cc
index 2c14728..ade7814 100644
--- a/plugins/BuoyancyPlugin.cc
+++ b/plugins/BuoyancyPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/BuoyancyPlugin.hh b/plugins/BuoyancyPlugin.hh
index 53c6f16..00b8536 100644
--- a/plugins/BuoyancyPlugin.hh
+++ b/plugins/BuoyancyPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt
index cd2c66a..b67379f 100644
--- a/plugins/CMakeLists.txt
+++ b/plugins/CMakeLists.txt
@@ -39,6 +39,7 @@ endif()
set (plugins_single_header
ActuatorPlugin
ArrangePlugin
+ AttachLightPlugin
BlinkVisualPlugin
BreakableJointPlugin
BuoyancyPlugin
@@ -52,6 +53,7 @@ set (plugins_single_header
ForceTorquePlugin
GpuRayPlugin
HarnessPlugin
+ HeightmapLODPlugin
ImuSensorPlugin
InitialVelocityPlugin
JointTrajectoryPlugin
@@ -68,6 +70,7 @@ set (plugins_single_header
SkidSteerDrivePlugin
SonarPlugin
SphereAtlasDemoPlugin
+ TouchPlugin
VehiclePlugin)
set (plugins_private_header
diff --git a/plugins/CameraPlugin.cc b/plugins/CameraPlugin.cc
index 3806f7b..d60cbcc 100644
--- a/plugins/CameraPlugin.cc
+++ b/plugins/CameraPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/CameraPlugin.hh b/plugins/CameraPlugin.hh
index 80935d8..dd0d228 100644
--- a/plugins/CameraPlugin.hh
+++ b/plugins/CameraPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/CartDemoPlugin.cc b/plugins/CartDemoPlugin.cc
index 13684af..e5f97ce 100644
--- a/plugins/CartDemoPlugin.cc
+++ b/plugins/CartDemoPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/CartDemoPlugin.hh b/plugins/CartDemoPlugin.hh
index e639030..55014a7 100644
--- a/plugins/CartDemoPlugin.hh
+++ b/plugins/CartDemoPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/CessnaGUIPlugin.cc b/plugins/CessnaGUIPlugin.cc
index b762836..91a5f01 100644
--- a/plugins/CessnaGUIPlugin.cc
+++ b/plugins/CessnaGUIPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/CessnaGUIPlugin.hh b/plugins/CessnaGUIPlugin.hh
index c29e013..f41e3ae 100644
--- a/plugins/CessnaGUIPlugin.hh
+++ b/plugins/CessnaGUIPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/CessnaPlugin.cc b/plugins/CessnaPlugin.cc
index 5c4b9c7..397f1f7 100644
--- a/plugins/CessnaPlugin.cc
+++ b/plugins/CessnaPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/CessnaPlugin.hh b/plugins/CessnaPlugin.hh
index a105dbe..3cc3961 100644
--- a/plugins/CessnaPlugin.hh
+++ b/plugins/CessnaPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/ContactPlugin.cc b/plugins/ContactPlugin.cc
index fc148c5..7fde72b 100644
--- a/plugins/ContactPlugin.cc
+++ b/plugins/ContactPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/ContactPlugin.hh b/plugins/ContactPlugin.hh
index 60d5071..dfcaccf 100644
--- a/plugins/ContactPlugin.hh
+++ b/plugins/ContactPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/DepthCameraPlugin.cc b/plugins/DepthCameraPlugin.cc
index 451c05d..8098e73 100644
--- a/plugins/DepthCameraPlugin.cc
+++ b/plugins/DepthCameraPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/DepthCameraPlugin.hh b/plugins/DepthCameraPlugin.hh
index 98355f4..2a72225 100644
--- a/plugins/DepthCameraPlugin.hh
+++ b/plugins/DepthCameraPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/DiffDrivePlugin.cc b/plugins/DiffDrivePlugin.cc
index 8e41160..116ac80 100644
--- a/plugins/DiffDrivePlugin.cc
+++ b/plugins/DiffDrivePlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/DiffDrivePlugin.hh b/plugins/DiffDrivePlugin.hh
index d2a234a..491481f 100644
--- a/plugins/DiffDrivePlugin.hh
+++ b/plugins/DiffDrivePlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/ElevatorPlugin.cc b/plugins/ElevatorPlugin.cc
index 003c63c..4530b5f 100644
--- a/plugins/ElevatorPlugin.cc
+++ b/plugins/ElevatorPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/ElevatorPlugin.hh b/plugins/ElevatorPlugin.hh
index 5ddf27e..8c7dd77 100644
--- a/plugins/ElevatorPlugin.hh
+++ b/plugins/ElevatorPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/ElevatorPluginPrivate.hh b/plugins/ElevatorPluginPrivate.hh
index 348a386..a954585 100644
--- a/plugins/ElevatorPluginPrivate.hh
+++ b/plugins/ElevatorPluginPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/ForceTorquePlugin.cc b/plugins/ForceTorquePlugin.cc
index 0b60ca6..0fd9f9c 100644
--- a/plugins/ForceTorquePlugin.cc
+++ b/plugins/ForceTorquePlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/ForceTorquePlugin.hh b/plugins/ForceTorquePlugin.hh
index e226195..993959a 100644
--- a/plugins/ForceTorquePlugin.hh
+++ b/plugins/ForceTorquePlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/GpuRayPlugin.cc b/plugins/GpuRayPlugin.cc
index 95ef549..95aa003 100644
--- a/plugins/GpuRayPlugin.cc
+++ b/plugins/GpuRayPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/GpuRayPlugin.hh b/plugins/GpuRayPlugin.hh
index 935a01b..1ef053c 100644
--- a/plugins/GpuRayPlugin.hh
+++ b/plugins/GpuRayPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/HarnessPlugin.cc b/plugins/HarnessPlugin.cc
index 7ff2f31..84532b5 100644
--- a/plugins/HarnessPlugin.cc
+++ b/plugins/HarnessPlugin.cc
@@ -224,8 +224,10 @@ void HarnessPlugin::OnUpdate(const common::UpdateInfo &_info)
}
common::Time dt = _info.simTime - this->prevSimTime;
- if (this->winchIndex < 0 ||
- this->winchIndex >= static_cast<int>(this->joints.size()))
+ // store winchIndex in local variable since it can change in callback
+ int tmpWinchIndex = this->winchIndex;
+ if (tmpWinchIndex < 0 ||
+ tmpWinchIndex >= static_cast<int>(this->joints.size()))
{
if (this->detachIndex >= 0 &&
this->detachIndex < static_cast<int>(this->joints.size()))
@@ -241,12 +243,12 @@ void HarnessPlugin::OnUpdate(const common::UpdateInfo &_info)
if (ignition::math::equal(this->winchTargetVel, 0.0f))
{
// Calculate the position error if vel target is 0
- pError = this->joints[this->winchIndex]->GetAngle(0).Radian() -
+ pError = this->joints[tmpWinchIndex]->GetAngle(0).Radian() -
this->winchTargetPos;
}
// Calculate the velocity error
- double vError = this->joints[this->winchIndex]->GetVelocity(0) -
+ double vError = this->joints[tmpWinchIndex]->GetVelocity(0) -
this->winchTargetVel;
@@ -259,7 +261,7 @@ void HarnessPlugin::OnUpdate(const common::UpdateInfo &_info)
winchVelForce = winchVelForce > 0? winchVelForce : 0.0;
// Apply the joint force
- this->joints[this->winchIndex]->SetForce(0, winchVelForce + winchPosForce);
+ this->joints[tmpWinchIndex]->SetForce(0, winchVelForce + winchPosForce);
this->prevSimTime = _info.simTime;
}
@@ -297,14 +299,24 @@ void HarnessPlugin::Detach()
/////////////////////////////////////////////////
double HarnessPlugin::WinchVelocity() const
{
- return this->joints[this->winchIndex]->GetVelocity(0);
+ // store winchIndex in local variable since it can change in callback
+ int tmpWinchIndex = this->winchIndex;
+ if (tmpWinchIndex < 0 ||
+ tmpWinchIndex >= static_cast<int>(this->joints.size()))
+ {
+ gzerr << "No known winch joint to get velocity" << std::endl;
+ return 0;
+ }
+ return this->joints[tmpWinchIndex]->GetVelocity(0);
}
/////////////////////////////////////////////////
void HarnessPlugin::SetWinchVelocity(const float _value)
{
- if (this->winchIndex < 0 ||
- this->winchIndex >= static_cast<int>(this->joints.size()))
+ // store winchIndex in local variable since it can change in callback
+ int tmpWinchIndex = this->winchIndex;
+ if (tmpWinchIndex < 0 ||
+ tmpWinchIndex >= static_cast<int>(this->joints.size()))
{
gzerr << "No known winch joint to set velocity" << std::endl;
return;
@@ -314,7 +326,7 @@ void HarnessPlugin::SetWinchVelocity(const float _value)
if (ignition::math::equal(_value, 0.0f))
{
// if zero velocity is commanded, hold position
- this->winchTargetPos = this->joints[this->winchIndex]->GetAngle(0).Radian();
+ this->winchTargetPos = this->joints[tmpWinchIndex]->GetAngle(0).Radian();
this->winchPosPID.Reset();
}
}
@@ -322,7 +334,7 @@ void HarnessPlugin::SetWinchVelocity(const float _value)
/////////////////////////////////////////////////
int HarnessPlugin::JointIndex(const std::string &_name) const
{
- // Find the winch joint in our list of joints
+ // Find the given joint in our list of joints
for (size_t i = 0; i < this->joints.size(); ++i)
{
if (this->joints[i]->GetName() == _name)
diff --git a/plugins/HarnessPlugin.hh b/plugins/HarnessPlugin.hh
index 8f9a9a7..3cad15a 100644
--- a/plugins/HarnessPlugin.hh
+++ b/plugins/HarnessPlugin.hh
@@ -79,11 +79,11 @@ namespace gazebo
private: void OnUpdate(const common::UpdateInfo &_info);
/// \brief Velocity control callback.
- /// \param[in] _msg Message data, interpretted as a float
+ /// \param[in] _msg Message data, interpreted as a float
private: void OnVelocity(ConstGzStringPtr &_msg);
/// \brief Detach control callback.
- /// \param[in] _msg Message data, interpretted as a bool
+ /// \param[in] _msg Message data, interpreted as a bool
private: void OnDetach(ConstGzStringPtr &_msg);
/// \brief Get the index of a joint with the given name.
diff --git a/plugins/HeightmapLODPlugin.cc b/plugins/HeightmapLODPlugin.cc
new file mode 100644
index 0000000..ffd7ad8
--- /dev/null
+++ b/plugins/HeightmapLODPlugin.cc
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2017 Open Source Robotics Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+*/
+
+#include <gazebo/rendering/RenderingIface.hh>
+#include <gazebo/rendering/Scene.hh>
+#include <gazebo/rendering/Visual.hh>
+
+#include "HeightmapLODPlugin.hh"
+
+namespace gazebo
+{
+ /// \internal
+ /// \class HeightmapLODPlugin HeightmapLODPlugin.hh
+ /// \brief Private data for the HeightmapLODPlugin class.
+ class HeightmapLODPluginPrivate
+ {
+ /// \brief Parent visual
+ public: rendering::VisualPtr viusal;
+
+ /// \brief Default LOD value to set to.
+ public: unsigned int lod = 3u;
+ };
+}
+
+using namespace gazebo;
+
+GZ_REGISTER_VISUAL_PLUGIN(HeightmapLODPlugin)
+
+/////////////////////////////////////////////////
+HeightmapLODPlugin::HeightmapLODPlugin()
+ : dataPtr(new HeightmapLODPluginPrivate)
+{
+}
+
+/////////////////////////////////////////////////
+void HeightmapLODPlugin::Load(rendering::VisualPtr _visual,
+ sdf::ElementPtr _sdf)
+{
+ if (!_visual || !_sdf)
+ {
+ gzerr << "No visual or SDF element specified. Plugin won't load." <<
+ std::endl;
+ return;
+ }
+
+ if (_sdf->HasElement("lod"))
+ this->dataPtr->lod = _sdf->Get<unsigned int>("lod");
+
+ _visual->GetScene()->SetHeightmapLOD(this->dataPtr->lod);
+}
diff --git a/plugins/HeightmapLODPlugin.hh b/plugins/HeightmapLODPlugin.hh
new file mode 100644
index 0000000..b5eebe9
--- /dev/null
+++ b/plugins/HeightmapLODPlugin.hh
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2017 Open Source Robotics Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+*/
+#ifndef GAZEBO_PLUGINS_HEIGHTMAPLODPLUGIN_HH_
+#define GAZEBO_PLUGINS_HEIGHTMAPLODPLUGIN_HH_
+
+#include <memory>
+#include <gazebo/common/Plugin.hh>
+
+namespace gazebo
+{
+ // Forward declare private data class.
+ class HeightmapLODPluginPrivate;
+
+ /// \brief Plugin that sets the heightmap LOD
+ class GAZEBO_VISIBLE HeightmapLODPlugin : public VisualPlugin
+ {
+ /// \brief Constructor.
+ public: HeightmapLODPlugin();
+
+ /// \brief Destructor.
+ public: ~HeightmapLODPlugin() = default;
+
+ // Documentation inherited
+ public: virtual void Load(rendering::VisualPtr _visual,
+ sdf::ElementPtr _sdf);
+
+ /// \internal
+ /// \brief Private data pointer
+ private: std::unique_ptr<HeightmapLODPluginPrivate> dataPtr;
+ };
+}
+#endif
diff --git a/plugins/HydraDemoPlugin.cc b/plugins/HydraDemoPlugin.cc
index 11b7798..54cba11 100644
--- a/plugins/HydraDemoPlugin.cc
+++ b/plugins/HydraDemoPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/HydraDemoPlugin.hh b/plugins/HydraDemoPlugin.hh
index d045810..b70f7ac 100644
--- a/plugins/HydraDemoPlugin.hh
+++ b/plugins/HydraDemoPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/HydraPlugin.cc b/plugins/HydraPlugin.cc
index f0516a3..8fa0adc 100644
--- a/plugins/HydraPlugin.cc
+++ b/plugins/HydraPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/HydraPlugin.hh b/plugins/HydraPlugin.hh
index d2ecac4..7e0a396 100644
--- a/plugins/HydraPlugin.hh
+++ b/plugins/HydraPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/ImuSensorPlugin.cc b/plugins/ImuSensorPlugin.cc
index fe8ec7f..d947dc7 100644
--- a/plugins/ImuSensorPlugin.cc
+++ b/plugins/ImuSensorPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/ImuSensorPlugin.hh b/plugins/ImuSensorPlugin.hh
index c459c86..1333e01 100644
--- a/plugins/ImuSensorPlugin.hh
+++ b/plugins/ImuSensorPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/InitialVelocityPlugin.cc b/plugins/InitialVelocityPlugin.cc
index c9daa1a..15de73f 100644
--- a/plugins/InitialVelocityPlugin.cc
+++ b/plugins/InitialVelocityPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/InitialVelocityPlugin.hh b/plugins/InitialVelocityPlugin.hh
index 539a7d1..11629cf 100644
--- a/plugins/InitialVelocityPlugin.hh
+++ b/plugins/InitialVelocityPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/JointTrajectoryPlugin.cc b/plugins/JointTrajectoryPlugin.cc
index 0e63871..312521e 100644
--- a/plugins/JointTrajectoryPlugin.cc
+++ b/plugins/JointTrajectoryPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/JointTrajectoryPlugin.hh b/plugins/JointTrajectoryPlugin.hh
index 5c6e455..1585d31 100644
--- a/plugins/JointTrajectoryPlugin.hh
+++ b/plugins/JointTrajectoryPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/LiftDragPlugin.cc b/plugins/LiftDragPlugin.cc
index d34d974..1475b70 100644
--- a/plugins/LiftDragPlugin.cc
+++ b/plugins/LiftDragPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/LiftDragPlugin.hh b/plugins/LiftDragPlugin.hh
index ca97e50..8b7cfca 100644
--- a/plugins/LiftDragPlugin.hh
+++ b/plugins/LiftDragPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/LinearBatteryConsumerPlugin.cc b/plugins/LinearBatteryConsumerPlugin.cc
index 695d628..84d0b69 100644
--- a/plugins/LinearBatteryConsumerPlugin.cc
+++ b/plugins/LinearBatteryConsumerPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/LinearBatteryConsumerPlugin.hh b/plugins/LinearBatteryConsumerPlugin.hh
index 73e4ed2..c3e66d9 100644
--- a/plugins/LinearBatteryConsumerPlugin.hh
+++ b/plugins/LinearBatteryConsumerPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/LinearBatteryPlugin.cc b/plugins/LinearBatteryPlugin.cc
index 9830e96..31a432b 100644
--- a/plugins/LinearBatteryPlugin.cc
+++ b/plugins/LinearBatteryPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/LinearBatteryPlugin.hh b/plugins/LinearBatteryPlugin.hh
index 3bab15c..4edb436 100644
--- a/plugins/LinearBatteryPlugin.hh
+++ b/plugins/LinearBatteryPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/ModelPropShop.cc b/plugins/ModelPropShop.cc
index c60895c..999ed6a 100644
--- a/plugins/ModelPropShop.cc
+++ b/plugins/ModelPropShop.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/ModelPropShop.hh b/plugins/ModelPropShop.hh
index a0a37a6..aa8ab15 100644
--- a/plugins/ModelPropShop.hh
+++ b/plugins/ModelPropShop.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/MudPlugin.cc b/plugins/MudPlugin.cc
index 0d5e68e..5125d1a 100644
--- a/plugins/MudPlugin.cc
+++ b/plugins/MudPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/MudPlugin.hh b/plugins/MudPlugin.hh
index 5d43d2a..d15e9c2 100644
--- a/plugins/MudPlugin.hh
+++ b/plugins/MudPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/PressurePlugin.cc b/plugins/PressurePlugin.cc
index 5dabb68..ad91621 100644
--- a/plugins/PressurePlugin.cc
+++ b/plugins/PressurePlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/PressurePlugin.hh b/plugins/PressurePlugin.hh
index cd22924..f218a7b 100644
--- a/plugins/PressurePlugin.hh
+++ b/plugins/PressurePlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/RandomVelocityPlugin.cc b/plugins/RandomVelocityPlugin.cc
index 54ab4eb..c340b89 100644
--- a/plugins/RandomVelocityPlugin.cc
+++ b/plugins/RandomVelocityPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/RandomVelocityPlugin.hh b/plugins/RandomVelocityPlugin.hh
index b7119e1..2a0f6b9 100644
--- a/plugins/RandomVelocityPlugin.hh
+++ b/plugins/RandomVelocityPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/RandomVelocityPluginPrivate.hh b/plugins/RandomVelocityPluginPrivate.hh
index b388060..991e765 100644
--- a/plugins/RandomVelocityPluginPrivate.hh
+++ b/plugins/RandomVelocityPluginPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/RayPlugin.cc b/plugins/RayPlugin.cc
index af97e1e..468ffdd 100644
--- a/plugins/RayPlugin.cc
+++ b/plugins/RayPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/RayPlugin.hh b/plugins/RayPlugin.hh
index 4b2946e..9d63903 100644
--- a/plugins/RayPlugin.hh
+++ b/plugins/RayPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/RaySensorNoisePlugin.cc b/plugins/RaySensorNoisePlugin.cc
index bb2b007..3204fbb 100644
--- a/plugins/RaySensorNoisePlugin.cc
+++ b/plugins/RaySensorNoisePlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/RaySensorNoisePlugin.hh b/plugins/RaySensorNoisePlugin.hh
index cc168e4..305674f 100644
--- a/plugins/RaySensorNoisePlugin.hh
+++ b/plugins/RaySensorNoisePlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/RubblePlugin.cc b/plugins/RubblePlugin.cc
index a47255d..685cbc8 100644
--- a/plugins/RubblePlugin.cc
+++ b/plugins/RubblePlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/RubblePlugin.hh b/plugins/RubblePlugin.hh
index 59b0aef..83c0a90 100644
--- a/plugins/RubblePlugin.hh
+++ b/plugins/RubblePlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/SkidSteerDrivePlugin.cc b/plugins/SkidSteerDrivePlugin.cc
index da6cc52..c7da758 100644
--- a/plugins/SkidSteerDrivePlugin.cc
+++ b/plugins/SkidSteerDrivePlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/SkidSteerDrivePlugin.hh b/plugins/SkidSteerDrivePlugin.hh
index bcda1ae..2eff190 100644
--- a/plugins/SkidSteerDrivePlugin.hh
+++ b/plugins/SkidSteerDrivePlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/SonarPlugin.cc b/plugins/SonarPlugin.cc
index 8d337c9..30519fa 100644
--- a/plugins/SonarPlugin.cc
+++ b/plugins/SonarPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/SonarPlugin.hh b/plugins/SonarPlugin.hh
index 0dd540c..c5cce4e 100644
--- a/plugins/SonarPlugin.hh
+++ b/plugins/SonarPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/SphereAtlasDemoPlugin.cc b/plugins/SphereAtlasDemoPlugin.cc
index f85bc9f..d855770 100644
--- a/plugins/SphereAtlasDemoPlugin.cc
+++ b/plugins/SphereAtlasDemoPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/SphereAtlasDemoPlugin.hh b/plugins/SphereAtlasDemoPlugin.hh
index 61a6c4b..52ae5a9 100644
--- a/plugins/SphereAtlasDemoPlugin.hh
+++ b/plugins/SphereAtlasDemoPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/TimerGUIPlugin.cc b/plugins/TimerGUIPlugin.cc
index d73523a..ac5c2f9 100644
--- a/plugins/TimerGUIPlugin.cc
+++ b/plugins/TimerGUIPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/TimerGUIPlugin.hh b/plugins/TimerGUIPlugin.hh
index c36ba2e..c8e4890 100644
--- a/plugins/TimerGUIPlugin.hh
+++ b/plugins/TimerGUIPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/TouchPlugin.cc b/plugins/TouchPlugin.cc
new file mode 100644
index 0000000..4cb50e1
--- /dev/null
+++ b/plugins/TouchPlugin.cc
@@ -0,0 +1,235 @@
+/*
+ * Copyright (C) 2017 Open Source Robotics Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+*/
+
+#include <functional>
+#include <string>
+#include <gazebo/common/Assert.hh>
+#include <gazebo/physics/Model.hh>
+#include <gazebo/sensors/SensorManager.hh>
+#include <sdf/sdf.hh>
+
+#include "TouchPlugin.hh"
+
+using namespace gazebo;
+
+GZ_REGISTER_MODEL_PLUGIN(TouchPlugin)
+
+/////////////////////////////////////////////////
+TouchPlugin::TouchPlugin()
+{
+}
+
+/////////////////////////////////////////////////
+void TouchPlugin::Load(physics::ModelPtr _model, sdf::ElementPtr _sdf)
+{
+ GZ_ASSERT(_model, "Model pointer is null");
+ GZ_ASSERT(_sdf, "SDF pointer is null");
+
+ // Get sensors
+ if (_sdf->HasElement("sensor"))
+ {
+ auto elem = _sdf->GetElement("sensor");
+ while (elem)
+ {
+ auto sensorName = elem->Get<std::string>();
+
+ auto sensor = std::dynamic_pointer_cast<sensors::ContactSensor>(
+ sensors::SensorManager::Instance()->GetSensor(sensorName));
+
+ if (!sensor)
+ {
+ gzerr << "Couldn't find sensor [" << sensorName << "]" << std::endl;
+ return;
+ }
+
+ this->contactSensors.push_back(sensor);
+
+ elem = elem->GetNextElement("sensor");
+ }
+ }
+ else
+ {
+ gzerr << "Missing required parameter <sensor>." << std::endl;
+ return;
+ }
+
+ // Get target substring
+ if (!_sdf->HasElement("target"))
+ {
+ gzerr << "Missing required parameter <target>." << std::endl;
+ return;
+ }
+ this->target = _sdf->GetElement("target")->Get<std::string>();
+ this->modelName = _model->GetName();
+
+ // Namespace
+ if (!_sdf->HasElement("namespace"))
+ {
+ gzerr << "Missing required parameter <namespace>" << std::endl;
+ return;
+ }
+ this->ns = _sdf->Get<std::string>("namespace");
+
+ // Target time
+ if (!_sdf->HasElement("time"))
+ {
+ gzerr << "Missing required parameter <time>" << std::endl;
+ return;
+ }
+ this->targetTime = common::Time(_sdf->Get<double>("time"));
+
+ // Start/stop "service"
+ this->gzNode = transport::NodePtr(new transport::Node());
+ this->gzNode->Init();
+ this->enableSub = this->gzNode->Subscribe("/" + this->ns + "/enable",
+ &TouchPlugin::Enable, this);
+
+ // Start enabled or not
+ auto enabled = _sdf->HasElement("enabled") && _sdf->Get<bool>("enabled");
+ if (enabled)
+ {
+ boost::shared_ptr<msgs::Int> msg(new msgs::Int());
+ msg->set_data(1);
+ this->Enable(msg);
+ }
+}
+
+//////////////////////////////////////////////////
+void TouchPlugin::Enable(ConstIntPtr &_msg)
+{
+ // Start
+ if (_msg->data() == 1 && !this->touchedPub)
+ {
+ // Start update
+ this->updateConnection = event::Events::ConnectWorldUpdateBegin(
+ std::bind(&TouchPlugin::OnUpdate, this, std::placeholders::_1));
+
+ this->touchedPub = this->gzNode->Advertise<msgs::Int>(
+ "/" + this->ns + "/touched");
+
+ for (auto s : this->contactSensors)
+ s->SetActive(true);
+
+ this->touchStart = common::Time::Zero;
+
+ gzmsg << "Started touch plugin [" << this->ns << "]" << std::endl;
+ }
+ // Stop
+ else if (_msg->data() == 0 && this->touchedPub)
+ {
+ this->updateConnection.reset();
+ this->touchedPub->Fini();
+ this->touchedPub.reset();
+
+ for (auto s : this->contactSensors)
+ s->SetActive(false);
+
+ gzmsg << "Stopped touch plugin [" << this->ns << "]" << std::endl;
+ }
+ // Do nothing if not changing state
+}
+
+/////////////////////////////////////////////////
+void TouchPlugin::OnUpdate(const common::UpdateInfo &_info)
+{
+ // Get all contacts across all sensors
+ msgs::Contacts contacts;
+
+ for (const auto &s : this->contactSensors)
+ contacts.MergeFrom(s->Contacts());
+
+ bool touching = false;
+
+ for (int i = 0; i < contacts.contact_size(); ++i)
+ {
+ // Check for the target
+ bool col1Target = contacts.contact(i).collision1().find(this->target) !=
+ std::string::npos;
+ bool col2Target = contacts.contact(i).collision2().find(this->target) !=
+ std::string::npos;
+
+ if (col1Target || col2Target)
+ touching = true;
+
+ // Check for this model
+ bool col1Model = contacts.contact(i).collision1().find(this->modelName) !=
+ std::string::npos;
+ bool col2Model = contacts.contact(i).collision2().find(this->modelName) !=
+ std::string::npos;
+
+ // If the collisions are not target-model or model-target, we're touching
+ // something else
+ if (!((col1Target && col2Model) || (col1Model && col2Target)))
+ {
+ if (touchStart != common::Time::Zero)
+ {
+ gzmsg << "Touched something besides [" << this->target << "]"
+ << std::endl;
+ }
+ this->touchStart = common::Time::Zero;
+ return;
+ }
+ }
+
+ // Free-fall is not touching
+ if (!touching)
+ {
+ // Sanity check
+ if (contacts.contact_size() > 0)
+ {
+ gzerr << "Not touching target, but touching something? "
+ << "We shouldn't reach this point!" << std::endl;
+ }
+
+ if (this->touchStart != common::Time::Zero)
+ {
+ gzmsg << "Not touching anything" << std::endl;
+ }
+ this->touchStart = common::Time::Zero;
+ return;
+ }
+
+ // Start touching
+ if (this->touchStart == common::Time::Zero)
+ {
+ this->touchStart = _info.simTime;
+ gzmsg << "Model [" << this->modelName << "] started touching ["
+ << this->target << "] at " << this->touchStart << " seconds"
+ << std::endl;
+ }
+
+ // Check if it has been touched for long enough
+ auto completed = _info.simTime - this->touchStart > this->targetTime;
+
+ // This is a single-use plugin. After touched, publish a message
+ // and stop updating
+ if (completed)
+ {
+ gzmsg << "Model [" << this->modelName << "] touched [" << this->target
+ << "] exclusively for " << this->targetTime << " seconds"<< std::endl;
+
+ gazebo::msgs::Int msg;
+ msg.set_data(1);
+ this->touchedPub->Publish(msg);
+
+ // Disable
+ boost::shared_ptr<msgs::Int> m(new msgs::Int());
+ m->set_data(0);
+ this->Enable(m);
+ }
+}
+
diff --git a/plugins/TouchPlugin.hh b/plugins/TouchPlugin.hh
new file mode 100644
index 0000000..7f788fd
--- /dev/null
+++ b/plugins/TouchPlugin.hh
@@ -0,0 +1,110 @@
+/*
+ * Copyright (C) 2017 Open Source Robotics Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+*/
+#ifndef GAZEBO_PLUGINS_TOUCHPLUGIN_HH_
+#define GAZEBO_PLUGINS_TOUCHPLUGIN_HH_
+
+#include <string>
+#include <vector>
+#include <gazebo/common/Events.hh>
+#include <gazebo/common/Plugin.hh>
+#include <gazebo/sensors/ContactSensor.hh>
+#include <gazebo/transport/Node.hh>
+#include <sdf/sdf.hh>
+
+namespace gazebo
+{
+ /// \brief Plugin which checks if this model has touched some specific target
+ /// for a given time continuously and exclusively. After the touch is
+ /// completed, the plugin is disabled. It can be re-enabled through a Gazebo
+ /// transport topic.
+ ///
+ /// It requires that contact sensors be placed in at least one link on this
+ /// model.
+ ///
+ /// Parameters:
+ ///
+ /// <sensor> Name of contact sensor attached to one of this model's links.
+ /// There can be multiple sensor elements in case many links are
+ /// checked.
+ ///
+ /// <target> Scoped name of collision which we want to be touching. This can
+ /// be a substring of the desired collision name so we match more
+ /// than one collision. For example, using the name of a model will
+ /// match all its collisions.
+ ///
+ /// <time> Target time in seconds to maintain contact.
+ ///
+ /// <namespace> Namespace for transport topics:
+ /// /<namespace>/enable : Topic used to enable and disable the
+ /// plugin.
+ /// /<namespace>/touched : Topic where a message is published once
+ /// the touch is complete.
+ ///
+ /// <enabled> Set this to true so the plugin works from the start and doesn't
+ /// need to be enabled.
+ ///
+ class GAZEBO_VISIBLE TouchPlugin : public ModelPlugin
+ {
+ /// \brief Constructor
+ public: TouchPlugin();
+
+ // Documentation inherited
+ public: virtual void Load(physics::ModelPtr _model, sdf::ElementPtr _sdf);
+
+ /// \brief Callback for enable "service".
+ /// \param[in] _msg Message with 0 to disable and 1 to enable the plugin.
+ public: void Enable(ConstIntPtr &_msg);
+
+ /// \brief Update plugin's function.
+ /// \_param[in] _info Information about world.
+ private: void OnUpdate(const common::UpdateInfo &_info);
+
+ /// \brief Contact sensors attached to links in the model
+ private: std::vector<sensors::ContactSensorPtr> contactSensors;
+
+ /// \brief Name of this model, to be used to check collisions against
+ private: std::string modelName;
+
+ /// \brief Target collisions which this model should be touching. This can
+ /// be a substring shared by several collisions.
+ private: std::string target;
+
+ /// \brief Namespace for transport topics.
+ private: std::string ns;
+
+ /// \brief Target time to continuously touch.
+ private: common::Time targetTime = 5;
+
+ /// \brief Time when started touching.
+ private: common::Time touchStart;
+
+ /// \brief Gazebo transport node for communication.
+ private: transport::NodePtr gzNode;
+
+ /// \brief Publisher which publishes a message after touched for enough time
+ private: transport::PublisherPtr touchedPub;
+
+ /// \brief Subscriber to enable messages.
+ private: transport::SubscriberPtr enableSub;
+
+ /// \brief Connection to World Update events.
+ private: event::ConnectionPtr updateConnection;
+ };
+}
+
+#endif
+
diff --git a/plugins/TransporterPlugin.cc b/plugins/TransporterPlugin.cc
index 614ee98..6e54820 100644
--- a/plugins/TransporterPlugin.cc
+++ b/plugins/TransporterPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/TransporterPlugin.hh b/plugins/TransporterPlugin.hh
index d319c54..5ea9a2e 100644
--- a/plugins/TransporterPlugin.hh
+++ b/plugins/TransporterPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/TransporterPluginPrivate.hh b/plugins/TransporterPluginPrivate.hh
index 7cc1700..1493a54 100644
--- a/plugins/TransporterPluginPrivate.hh
+++ b/plugins/TransporterPluginPrivate.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/VehiclePlugin.cc b/plugins/VehiclePlugin.cc
index 1276d70..a27f1e9 100644
--- a/plugins/VehiclePlugin.cc
+++ b/plugins/VehiclePlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/VehiclePlugin.hh b/plugins/VehiclePlugin.hh
index 39c7254..b21e269 100644
--- a/plugins/VehiclePlugin.hh
+++ b/plugins/VehiclePlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/EventSource.cc b/plugins/events/EventSource.cc
index 7fe59d5..9adbf02 100644
--- a/plugins/events/EventSource.cc
+++ b/plugins/events/EventSource.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/EventSource.hh b/plugins/events/EventSource.hh
index 999d2a3..4dfabe2 100644
--- a/plugins/events/EventSource.hh
+++ b/plugins/events/EventSource.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/ExistenceEventSource.cc b/plugins/events/ExistenceEventSource.cc
index 93fca00..d14cf62 100644
--- a/plugins/events/ExistenceEventSource.cc
+++ b/plugins/events/ExistenceEventSource.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/ExistenceEventSource.hh b/plugins/events/ExistenceEventSource.hh
index dc51053..39c352b 100644
--- a/plugins/events/ExistenceEventSource.hh
+++ b/plugins/events/ExistenceEventSource.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/InRegionEventSource.cc b/plugins/events/InRegionEventSource.cc
index 856b956..1459e3c 100644
--- a/plugins/events/InRegionEventSource.cc
+++ b/plugins/events/InRegionEventSource.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/InRegionEventSource.hh b/plugins/events/InRegionEventSource.hh
index a9eaeea..593d413 100644
--- a/plugins/events/InRegionEventSource.hh
+++ b/plugins/events/InRegionEventSource.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/JointEventSource.cc b/plugins/events/JointEventSource.cc
index 4a11437..688b999 100644
--- a/plugins/events/JointEventSource.cc
+++ b/plugins/events/JointEventSource.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/JointEventSource.hh b/plugins/events/JointEventSource.hh
index 3d5f469..567a52a 100644
--- a/plugins/events/JointEventSource.hh
+++ b/plugins/events/JointEventSource.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/OccupiedEventSource.cc b/plugins/events/OccupiedEventSource.cc
index c0f4617..98499fa 100644
--- a/plugins/events/OccupiedEventSource.cc
+++ b/plugins/events/OccupiedEventSource.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/OccupiedEventSource.hh b/plugins/events/OccupiedEventSource.hh
index ae31165..c498970 100644
--- a/plugins/events/OccupiedEventSource.hh
+++ b/plugins/events/OccupiedEventSource.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/Region.cc b/plugins/events/Region.cc
index a2d1ecf..cb70bf8 100644
--- a/plugins/events/Region.cc
+++ b/plugins/events/Region.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/Region.hh b/plugins/events/Region.hh
index a592316..101390d 100644
--- a/plugins/events/Region.hh
+++ b/plugins/events/Region.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/RegionEventBoxPlugin.cc b/plugins/events/RegionEventBoxPlugin.cc
index 4f407e1..3f4ad86 100644
--- a/plugins/events/RegionEventBoxPlugin.cc
+++ b/plugins/events/RegionEventBoxPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/RegionEventBoxPlugin.hh b/plugins/events/RegionEventBoxPlugin.hh
index 3c73fcc..ea33952 100644
--- a/plugins/events/RegionEventBoxPlugin.hh
+++ b/plugins/events/RegionEventBoxPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/SimEventsException.hh b/plugins/events/SimEventsException.hh
index 1e8d97e..3f1a709 100644
--- a/plugins/events/SimEventsException.hh
+++ b/plugins/events/SimEventsException.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/SimEventsPlugin.cc b/plugins/events/SimEventsPlugin.cc
index c1146c0..3dcf5b8 100644
--- a/plugins/events/SimEventsPlugin.cc
+++ b/plugins/events/SimEventsPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/SimEventsPlugin.hh b/plugins/events/SimEventsPlugin.hh
index 7859700..fb0ca3c 100644
--- a/plugins/events/SimEventsPlugin.hh
+++ b/plugins/events/SimEventsPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/SimStateEventSource.cc b/plugins/events/SimStateEventSource.cc
index 34b3b95..de80847 100644
--- a/plugins/events/SimStateEventSource.cc
+++ b/plugins/events/SimStateEventSource.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/events/SimStateEventSource.hh b/plugins/events/SimStateEventSource.hh
index 794e9e2..d31304f 100644
--- a/plugins/events/SimStateEventSource.hh
+++ b/plugins/events/SimStateEventSource.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/rest_web/RestApi.cc b/plugins/rest_web/RestApi.cc
index d66753e..d756e44 100644
--- a/plugins/rest_web/RestApi.cc
+++ b/plugins/rest_web/RestApi.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/rest_web/RestApi.hh b/plugins/rest_web/RestApi.hh
index e273261..71617c5 100644
--- a/plugins/rest_web/RestApi.hh
+++ b/plugins/rest_web/RestApi.hh
@@ -1,5 +1,5 @@
/*
- * copyright (C) 2015-2016 Open Source Robotics Foundation
+ * copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/rest_web/RestException.hh b/plugins/rest_web/RestException.hh
index 9e54a20..64a9468 100644
--- a/plugins/rest_web/RestException.hh
+++ b/plugins/rest_web/RestException.hh
@@ -1,5 +1,5 @@
/*
- * copyright (C) 2015-2016 Open Source Robotics Foundation
+ * copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/rest_web/RestUiLoginDialog.cc b/plugins/rest_web/RestUiLoginDialog.cc
index 59ce892..06cd185 100644
--- a/plugins/rest_web/RestUiLoginDialog.cc
+++ b/plugins/rest_web/RestUiLoginDialog.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/rest_web/RestUiLoginDialog.hh b/plugins/rest_web/RestUiLoginDialog.hh
index 39844be..05e15f9 100644
--- a/plugins/rest_web/RestUiLoginDialog.hh
+++ b/plugins/rest_web/RestUiLoginDialog.hh
@@ -1,5 +1,5 @@
/*
- * copyright (C) 2015-2016 Open Source Robotics Foundation
+ * copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/rest_web/RestUiPlugin.cc b/plugins/rest_web/RestUiPlugin.cc
index 79a0ee4..9d5f85d 100644
--- a/plugins/rest_web/RestUiPlugin.cc
+++ b/plugins/rest_web/RestUiPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright 2015-2016 Open Source Robotics Foundation
+ * Copyright 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/rest_web/RestUiPlugin.hh b/plugins/rest_web/RestUiPlugin.hh
index b322e25..6e95c36 100644
--- a/plugins/rest_web/RestUiPlugin.hh
+++ b/plugins/rest_web/RestUiPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright 2015-2016 Open Source Robotics Foundation
+ * Copyright 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/rest_web/RestUiWidget.cc b/plugins/rest_web/RestUiWidget.cc
index b414262..278270d 100644
--- a/plugins/rest_web/RestUiWidget.cc
+++ b/plugins/rest_web/RestUiWidget.cc
@@ -1,5 +1,5 @@
/*
- * Copyright 2015-2016 Open Source Robotics Foundation
+ * Copyright 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/rest_web/RestUiWidget.hh b/plugins/rest_web/RestUiWidget.hh
index 45dc6d3..4646eff 100644
--- a/plugins/rest_web/RestUiWidget.hh
+++ b/plugins/rest_web/RestUiWidget.hh
@@ -1,5 +1,5 @@
/*
- * Copyright 2015-2016 Open Source Robotics Foundation
+ * Copyright 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/rest_web/RestWebPlugin.cc b/plugins/rest_web/RestWebPlugin.cc
index 7b4fced..911edee 100644
--- a/plugins/rest_web/RestWebPlugin.cc
+++ b/plugins/rest_web/RestWebPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/plugins/rest_web/RestWebPlugin.hh b/plugins/rest_web/RestWebPlugin.hh
index 848521d..402724a 100644
--- a/plugins/rest_web/RestWebPlugin.hh
+++ b/plugins/rest_web/RestWebPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/cmake/config-cmake.cc b/test/cmake/config-cmake.cc
index d0ad5a8..da61d04 100644
--- a/test/cmake/config-cmake.cc
+++ b/test/cmake/config-cmake.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/data/pr2_state_log_expected.h b/test/data/pr2_state_log_expected.h
index 35e7a69..4a46bd7 100644
--- a/test/data/pr2_state_log_expected.h
+++ b/test/data/pr2_state_log_expected.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/examples/examples_build.cc b/test/examples/examples_build.cc
index 963aee8..1420285 100644
--- a/test/examples/examples_build.cc
+++ b/test/examples/examples_build.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/CMakeLists.txt b/test/integration/CMakeLists.txt
index e7c6f7d..14f643e 100644
--- a/test/integration/CMakeLists.txt
+++ b/test/integration/CMakeLists.txt
@@ -32,6 +32,7 @@ add_definitions(${QT_DEFINITIONS})
set(tests
aero_plugin.cc
+ attach_light_plugin.cc
bandwidth.cc
concave_mesh.cc
contact_sensor.cc
@@ -92,6 +93,7 @@ set(tests
#state_log.cc
surface_properties.cc
swarm.cc
+ touch_plugin.cc
transceiver.cc
transport.cc
transporter.cc
@@ -121,6 +123,7 @@ gz_build_tests(${tests} EXTRA_LIBS gazebo_test_fixture)
if (ENABLE_TESTS_COMPILATION)
# Increase timeout, to account for model download time.
set_tests_properties(${TEST_TYPE}_joint_revolute PROPERTIES TIMEOUT 500)
+ set_tests_properties(${TEST_TYPE}_model_database PROPERTIES TIMEOUT 400)
set_tests_properties(${TEST_TYPE}_physics PROPERTIES TIMEOUT 500)
set_tests_properties(${TEST_TYPE}_world_remove PROPERTIES TIMEOUT 400)
set_tests_properties(${TEST_TYPE}_worlds_installed PROPERTIES TIMEOUT 700)
@@ -170,6 +173,7 @@ gz_build_dri_tests(${dri_tests} EXTRA_LIBS gazebo_test_fixture)
set(qt_tests
collada_visualization.cc
+ force_torque_visualization.cc
insert_model.cc
model_editor.cc
model_manipulation.cc
diff --git a/test/integration/SimplePendulumIntegrator.hh b/test/integration/SimplePendulumIntegrator.hh
index 182f46c..a689d60 100644
--- a/test/integration/SimplePendulumIntegrator.hh
+++ b/test/integration/SimplePendulumIntegrator.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/aero_plugin.cc b/test/integration/aero_plugin.cc
index f65d5af..0e88732 100644
--- a/test/integration/aero_plugin.cc
+++ b/test/integration/aero_plugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/attach_light_plugin.cc b/test/integration/attach_light_plugin.cc
new file mode 100644
index 0000000..9f5ad39
--- /dev/null
+++ b/test/integration/attach_light_plugin.cc
@@ -0,0 +1,108 @@
+/*
+ * Copyright (C) 2017 Open Source Robotics Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+*/
+
+#include "gazebo/test/ServerFixture.hh"
+#include "gazebo/physics/physics.hh"
+#include "gazebo/test/helper_physics_generator.hh"
+
+using namespace gazebo;
+class AttachLightTest : public ServerFixture,
+ public testing::WithParamInterface<const char*>
+{
+ /// \brief Test AttachLightPlugin by verifying light pose against link pose
+ /// \param[in] _physicsEngine Name of physics engine
+ public: void AttachLightPlugin(const std::string &_physicsEngine);
+};
+
+
+void AttachLightTest::AttachLightPlugin(const std::string &_physicsEngine)
+{
+ // Test plugin for attaching lights to links
+ this->Load("worlds/attach_lights.world", true, _physicsEngine);
+
+ physics::WorldPtr world = physics::get_world("default");
+ ASSERT_TRUE(world != nullptr);
+
+ // Get the double pendulum model
+ physics::ModelPtr pendulumModel =
+ world->GetModel("double_pendulum_with_lights");
+ ASSERT_TRUE(pendulumModel != nullptr);
+
+ // Get the links
+ physics::LinkPtr upperLink =
+ pendulumModel->GetLink("double_pendulum_with_base::upper_link");
+ ASSERT_TRUE(upperLink != nullptr);
+ physics::LinkPtr lowerLink =
+ pendulumModel->GetLink("double_pendulum_with_base::lower_link");
+ ASSERT_TRUE(lowerLink != nullptr);
+
+ // Get the lights
+ physics::LightPtr pointLight = world->Light("point");
+ ASSERT_TRUE(pointLight != nullptr);
+ physics::LightPtr pointLight2 = world->Light("point2");
+ ASSERT_TRUE(pointLight2 != nullptr);
+ physics::LightPtr spotLight = world->Light("spot");
+ ASSERT_TRUE(spotLight != nullptr);
+
+ // step the world
+ world->Step(1);
+
+ // Get the initial light pose offset relative to link
+ ignition::math::Pose3d pointLightPose = pointLight->GetWorldPose().Ign() -
+ upperLink->GetWorldPose().Ign();
+ ignition::math::Pose3d pointLight2Pose = pointLight2->GetWorldPose().Ign() -
+ upperLink->GetWorldPose().Ign();
+ ignition::math::Pose3d spotLightPose = spotLight->GetWorldPose().Ign() -
+ lowerLink->GetWorldPose().Ign();
+
+ // verify light pose against link pose.
+ // NOTE: there seem to be race condition when verifying pose using
+ // GetWorldPose in the test thread so do the verification in the update
+ // callback which is guaranteed to be done in the physics thread
+ int iteration = 0;
+ auto verifyPose = [&]()
+ {
+ ignition::math::Pose3d upperLinkPose = upperLink->GetWorldPose().Ign();
+ ignition::math::Pose3d lowerLinkPose = lowerLink->GetWorldPose().Ign();
+
+ EXPECT_EQ(pointLight->GetWorldPose(), pointLightPose + upperLinkPose);
+ EXPECT_EQ(pointLight2->GetWorldPose(), pointLight2Pose + upperLinkPose);
+ EXPECT_EQ(spotLight->GetWorldPose(), spotLightPose + lowerLinkPose);
+ iteration++;
+ };
+ auto connection = event::Events::ConnectWorldUpdateEnd(std::bind(verifyPose));
+
+ // verify pose for 1000 iterations
+ for (unsigned int i = 0; i < 1000u; ++i)
+ world->Step(1);
+
+ // verify that update is called
+ EXPECT_EQ(iteration, 1000);
+}
+
+TEST_P(AttachLightTest, AttachLightPlugin)
+{
+ AttachLightPlugin(GetParam());
+}
+
+INSTANTIATE_TEST_CASE_P(PhysicsEngines, AttachLightTest, PHYSICS_ENGINE_VALUES);
+
+int main(int argc, char **argv)
+{
+ ::testing::InitGoogleTest(&argc, argv);
+ return RUN_ALL_TESTS();
+}
diff --git a/test/integration/bandwidth.cc b/test/integration/bandwidth.cc
index c810585..c4b2b5f 100644
--- a/test/integration/bandwidth.cc
+++ b/test/integration/bandwidth.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/camera.cc b/test/integration/camera.cc
index c02d190..e896487 100644
--- a/test/integration/camera.cc
+++ b/test/integration/camera.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/camera_sensor.cc b/test/integration/camera_sensor.cc
index d2e65d4..0cd0087 100644
--- a/test/integration/camera_sensor.cc
+++ b/test/integration/camera_sensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -38,8 +38,12 @@ std::mutex mutex;
unsigned char* img = NULL;
unsigned char* img2 = NULL;
+unsigned char* img3 = NULL;
+unsigned char* img4 = NULL;
int imageCount = 0;
int imageCount2 = 0;
+int imageCount3 = 0;
+int imageCount4 = 0;
std::string pixelFormat = "";
/////////////////////////////////////////////////
@@ -578,62 +582,124 @@ TEST_F(CameraSensor, CheckDistortion)
return;
}
- // Spawn two cameras in the same location, one with noise and one without.
- std::string modelName = "camera_model";
- std::string cameraName = "camera_sensor";
- std::string modelNameDistorted = "camera_model_distorted";
- std::string cameraNameDistorted = "camera_sensor_distorted";
+ // Spawn 4 cameras. One has no distortion.
+ // The second has distortion, but all the distortion parameters are set to 0.
+ // The third has barrel (negative k1) distortion.
+ // The fourth has pincushion (positive k1) distortion.
+ std::string modelNameUndistorted = "camera_model_undistorted";
+ std::string cameraNameUndistorted = "camera_sensor_undistorted";
+ std::string modelNameFlat = "camera_model_flat";
+ std::string cameraNameFlat = "camera_sensor_flat";
+ std::string modelNameBarrel = "camera_model_barrel";
+ std::string cameraNameBarrel = "camera_sensor_barrel";
+ std::string modelNamePincushion = "camera_model_pincushion";
+ std::string cameraNamePincushion = "camera_sensor_pincushion";
unsigned int width = 320;
unsigned int height = 240;
double updateRate = 10;
-
math::Pose setPose(
math::Vector3(-5, 0, 5), math::Quaternion(0, GZ_DTOR(15), 0));
- SpawnCamera(modelName, cameraName, setPose.pos,
+
+ // spawn an undistorted camera
+ SpawnCamera(modelNameUndistorted, cameraNameUndistorted, setPose.pos,
setPose.rot.GetAsEuler(), width, height, updateRate);
+ // spawn a flat camera
+ SpawnCamera(modelNameFlat, cameraNameFlat, setPose.pos,
+ setPose.rot.GetAsEuler(), width, height, updateRate,
+ "", 0, 0, true, 0, 0, 0, 0, 0, 0.5, 0.5);
// spawn a camera with barrel distortion
- SpawnCamera(modelNameDistorted, cameraNameDistorted, setPose.pos,
+ SpawnCamera(modelNameBarrel, cameraNameBarrel, setPose.pos,
setPose.rot.GetAsEuler(), width, height, updateRate,
- "", 0, 0, true, -0.25349, 0.11868, 0.0, -0.00028, 0.00005, 0.5, 0.5);
- sensors::SensorPtr sensor = sensors::get_sensor(cameraName);
- sensors::CameraSensorPtr camSensor =
- std::dynamic_pointer_cast<sensors::CameraSensor>(sensor);
- sensor = sensors::get_sensor(cameraNameDistorted);
- sensors::CameraSensorPtr camSensorDistorted =
- std::dynamic_pointer_cast<sensors::CameraSensor>(sensor);
+ "", 0, 0, true, -0.1349, -0.51868, -0.001, 0, 0, 0.5, 0.5);
+ // spawn a camera with pincushion distortion
+ SpawnCamera(modelNamePincushion, cameraNamePincushion, setPose.pos,
+ setPose.rot.GetAsEuler(), width, height, updateRate,
+ "", 0, 0, true, 0.1349, 0.51868, 0.001, 0, 0, 0.5, 0.5);
+
+ sensors::SensorPtr sensorUndistorted =
+ sensors::get_sensor(cameraNameUndistorted);
+ sensors::CameraSensorPtr camSensorUndistorted =
+ std::dynamic_pointer_cast<sensors::CameraSensor>(sensorUndistorted);
+ sensors::SensorPtr sensorFlat =
+ sensors::get_sensor(cameraNameFlat);
+ sensors::CameraSensorPtr camSensorFlat =
+ std::dynamic_pointer_cast<sensors::CameraSensor>(sensorFlat);
+ sensors::SensorPtr sensorBarrel =
+ sensors::get_sensor(cameraNameBarrel);
+ sensors::CameraSensorPtr camSensorBarrel =
+ std::dynamic_pointer_cast<sensors::CameraSensor>(sensorBarrel);
+ sensors::SensorPtr sensorPincushion =
+ sensors::get_sensor(cameraNamePincushion);
+ sensors::CameraSensorPtr camSensorPincushion =
+ std::dynamic_pointer_cast<sensors::CameraSensor>(sensorPincushion);
imageCount = 0;
imageCount2 = 0;
+ imageCount3 = 0;
+ imageCount4 = 0;
img = new unsigned char[width * height*3];
img2 = new unsigned char[width * height*3];
+ img3 = new unsigned char[width * height*3];
+ img4 = new unsigned char[width * height*3];
event::ConnectionPtr c =
- camSensor->Camera()->ConnectNewImageFrame(
+ camSensorUndistorted->Camera()->ConnectNewImageFrame(
std::bind(&::OnNewCameraFrame, &imageCount, img,
std::placeholders::_1, std::placeholders::_2, std::placeholders::_3,
std::placeholders::_4, std::placeholders::_5));
event::ConnectionPtr c2 =
- camSensorDistorted->Camera()->ConnectNewImageFrame(
+ camSensorFlat->Camera()->ConnectNewImageFrame(
std::bind(&::OnNewCameraFrame, &imageCount2, img2,
std::placeholders::_1, std::placeholders::_2, std::placeholders::_3,
std::placeholders::_4, std::placeholders::_5));
+ event::ConnectionPtr c3 =
+ camSensorBarrel->Camera()->ConnectNewImageFrame(
+ std::bind(&::OnNewCameraFrame, &imageCount3, img3,
+ std::placeholders::_1, std::placeholders::_2, std::placeholders::_3,
+ std::placeholders::_4, std::placeholders::_5));
+ event::ConnectionPtr c4 =
+ camSensorPincushion->Camera()->ConnectNewImageFrame(
+ std::bind(&::OnNewCameraFrame, &imageCount4, img4,
+ std::placeholders::_1, std::placeholders::_2, std::placeholders::_3,
+ std::placeholders::_4, std::placeholders::_5));
// Get some images
- while (imageCount < 10 || imageCount2 < 10)
+ while (imageCount < 10 || imageCount2 < 10 ||
+ imageCount3 < 10 || imageCount4 < 10)
+ {
common::Time::MSleep(10);
+ }
unsigned int diffMax = 0, diffSum = 0;
double diffAvg = 0.0;
+
+ // We expect that there will be some non-zero difference between the images,
+ // except for the 0.0 distortion camera, which should return a completely
+ // identical camera to the one with no distortion tag in the SDF.
+
this->ImageCompare(img, img2, width, height, 3,
diffMax, diffSum, diffAvg);
+ EXPECT_EQ(diffSum, 0u);
- // We expect that there will be some non-zero difference between the two
- // images.
+ this->ImageCompare(img, img3, width, height, 3,
+ diffMax, diffSum, diffAvg);
EXPECT_NE(diffSum, 0u);
- // Compare colors. Distorted image should have more darker pixels than the
- // original as the ground plane has been warped to occupy more of the image.
+ this->ImageCompare(img, img4, width, height, 3,
+ diffMax, diffSum, diffAvg);
+ EXPECT_NE(diffSum, 0u);
+
+ this->ImageCompare(img3, img4, width, height, 3,
+ diffMax, diffSum, diffAvg);
+ EXPECT_NE(diffSum, 0u);
+
+ // Compare colors. Barrel distorted image should have more darker pixels than
+ // the original as the ground plane has been warped to occupy more of the
+ // image. The same should be true for pincushion distortion, because the
+ // ground plane is still distorted to be larger - just different parts
+ // of the image are distorted.
unsigned int colorSum = 0;
- unsigned int colorSum2 = 0;
+ unsigned int colorSum3 = 0;
+ unsigned int colorSum4 = 0;
for (unsigned int y = 0; y < height; ++y)
{
for (unsigned int x = 0; x < width*3; x+=3)
@@ -642,19 +708,23 @@ TEST_F(CameraSensor, CheckDistortion)
unsigned int g = img[(y*width*3)+1];
unsigned int b = img[(y*width*3)+2];
colorSum += r + g + b;
- unsigned int r2 = img2[(y*width*3)];
- unsigned int g2 = img2[(y*width*3)+1];
- unsigned int b2 = img2[(y*width*3)+2];
- colorSum2 += r2 + g2 + b2;
+ unsigned int r3 = img3[(y*width*3)];
+ unsigned int g3 = img3[(y*width*3)+1];
+ unsigned int b3 = img3[(y*width*3)+2];
+ colorSum3 += r3 + g3 + b3;
+ unsigned int r4 = img4[(y*width*3)];
+ unsigned int g4 = img4[(y*width*3)+1];
+ unsigned int b4 = img4[(y*width*3)+2];
+ colorSum4 += r4 + g4 + b4;
}
}
- EXPECT_GT(colorSum, colorSum2);
+ EXPECT_GT(colorSum, colorSum3);
+ EXPECT_GT(colorSum, colorSum4);
- // We expect that there will be some non-zero difference between the two
- // images.
- EXPECT_NE(diffSum, 0u);
delete[] img;
delete[] img2;
+ delete[] img3;
+ delete[] img4;
}
int main(int argc, char **argv)
diff --git a/test/integration/concave_mesh.cc b/test/integration/concave_mesh.cc
index e0ee991..3f27281 100644
--- a/test/integration/concave_mesh.cc
+++ b/test/integration/concave_mesh.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/contact_sensor.cc b/test/integration/contact_sensor.cc
index fd8f7f8..ff27c90 100644
--- a/test/integration/contact_sensor.cc
+++ b/test/integration/contact_sensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/dem.cc b/test/integration/dem.cc
index 8911b21..f6ea505 100644
--- a/test/integration/dem.cc
+++ b/test/integration/dem.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/elastic_modulus.cc b/test/integration/elastic_modulus.cc
index ff541c8..703647d 100644
--- a/test/integration/elastic_modulus.cc
+++ b/test/integration/elastic_modulus.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/factory.cc b/test/integration/factory.cc
index 95aa0eb..4e04f56 100644
--- a/test/integration/factory.cc
+++ b/test/integration/factory.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/file_handling.cc b/test/integration/file_handling.cc
index b8c8676..99cca1d 100644
--- a/test/integration/file_handling.cc
+++ b/test/integration/file_handling.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/force_torque_visualization.cc b/test/integration/force_torque_visualization.cc
new file mode 100644
index 0000000..84f91bb
--- /dev/null
+++ b/test/integration/force_torque_visualization.cc
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2017 Open Source Robotics Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in axispliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+*/
+
+#include <gtest/gtest.h>
+#include "gazebo/gui/GuiIface.hh"
+#include "gazebo/gui/MainWindow.hh"
+#include "gazebo/rendering/RenderingIface.hh"
+#include "gazebo/rendering/RenderTypes.hh"
+#include "gazebo/rendering/Scene.hh"
+#include "gazebo/rendering/WrenchVisual.hh"
+#include "gazebo/test/ServerFixture.hh"
+#include "test/integration/force_torque_visualization.hh"
+
+using namespace gazebo;
+
+/////////////////////////////////////////////////
+void ForceTorqueVisualizationTest::WrenchVisual()
+{
+ this->resMaxPercentChange = 5.0;
+ this->shareMaxPercentChange = 2.0;
+
+ // Load world with force torque sensors
+ this->Load("test/worlds/force_torque_test.world");
+
+ // Create the main window.
+ auto mainWindow = new gazebo::gui::MainWindow();
+ QVERIFY(mainWindow != nullptr);
+ mainWindow->Load();
+ mainWindow->Init();
+ mainWindow->show();
+
+ // Get the user camera and scene. We need to check the client scene
+ // since this is a GUI visualization.
+ auto cam = gazebo::gui::get_active_camera();
+ QVERIFY(cam != nullptr);
+ auto scene = cam->GetScene();
+ QVERIFY(scene != nullptr);
+
+ // Enable sensor visualizations
+ QVERIFY(!scene->EnableVisualizations());
+ scene->EnableVisualizations(true);
+ QVERIFY(scene->EnableVisualizations());
+
+ this->ProcessEventsAndDraw(mainWindow);
+
+ int sleep = 0;
+ int maxSleep = 30;
+ std::string visName("model_1::joint_01::force_torque_GUIONLY_wrench_vis");
+
+ while (!scene->GetVisual(visName) && sleep < maxSleep)
+ {
+ this->ProcessEventsAndDraw(mainWindow);
+ common::Time::MSleep(100);
+ sleep++;
+ }
+
+ // Check that wrench visual have been added to the scene
+ auto forceTorqueVis = scene->GetVisual(visName);
+ QVERIFY(forceTorqueVis != nullptr);
+
+ auto wrenchVis =
+ std::dynamic_pointer_cast<rendering::WrenchVisual>(forceTorqueVis);
+ QVERIFY(wrenchVis != nullptr);
+
+ mainWindow->close();
+ delete mainWindow;
+}
+
+// Generate a main function for the test
+QTEST_MAIN(ForceTorqueVisualizationTest)
diff --git a/gazebo/gui/GLWidget_TEST.hh b/test/integration/force_torque_visualization.hh
similarity index 59%
copy from gazebo/gui/GLWidget_TEST.hh
copy to test/integration/force_torque_visualization.hh
index a7bfdda..678a870 100644
--- a/gazebo/gui/GLWidget_TEST.hh
+++ b/test/integration/force_torque_visualization.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2017 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,18 +15,19 @@
*
*/
-#ifndef _GLWIDGET_TEST_HH_
-#define _GLWIDGET_TEST_HH_
+#ifndef GAZEBO_TEST_INTEGRATION_FORCETORQUEVISUALIZATION_TEST_HH_
+#define GAZEBO_TEST_INTEGRATION_FORCETORQUEVISUALIZATION_TEST_HH_
#include "gazebo/gui/QTestFixture.hh"
-/// \brief A test class for the DataLogger widget.
-class GLWidget_TEST : public QTestFixture
+/// \brief A test class for the force torque sensor visualization using
+/// WrenchVisual.
+class ForceTorqueVisualizationTest : public QTestFixture
{
Q_OBJECT
- /// \brief Test selecting an object.
- private slots: void SelectObject();
+ /// \brief Check that visuals are added to the scene
+ private slots: void WrenchVisual();
};
#endif
diff --git a/test/integration/gpu_laser.cc b/test/integration/gpu_laser.cc
index e3a6598..4743ba0 100644
--- a/test/integration/gpu_laser.cc
+++ b/test/integration/gpu_laser.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/gripper.cc b/test/integration/gripper.cc
index 2786d8f..a4c9959 100644
--- a/test/integration/gripper.cc
+++ b/test/integration/gripper.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/gz_camera.cc b/test/integration/gz_camera.cc
index 0beaf26..ecba781 100644
--- a/test/integration/gz_camera.cc
+++ b/test/integration/gz_camera.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/gz_joint.cc b/test/integration/gz_joint.cc
index 2226fc2..f7e104f 100644
--- a/test/integration/gz_joint.cc
+++ b/test/integration/gz_joint.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/gz_log.cc b/test/integration/gz_log.cc
index 1d34c1c..f4a8510 100644
--- a/test/integration/gz_log.cc
+++ b/test/integration/gz_log.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -67,6 +67,106 @@ TEST_F(GzLog, Record)
}
/////////////////////////////////////////////////
+/// Record a log file with filter
+TEST_F(GzLog, RecordFilter)
+{
+ util::LogRecord *recorder = util::LogRecord::Instance();
+ recorder->SetFilter("pendulum_0deg*");
+ double period = 0.02;
+ recorder->SetPeriod(period);
+ recorder->Init("test");
+ Load("worlds/revolute_joint_test.world");
+
+ // Get a pointer to the world
+ physics::WorldPtr world = physics::get_world("default");
+ ASSERT_TRUE(world != nullptr);
+
+ ASSERT_TRUE(recorder != nullptr);
+
+ EXPECT_FALSE(recorder->Paused());
+ EXPECT_FALSE(recorder->Running());
+
+ // Start log recording
+ custom_exec("gz log -w default -d 1");
+
+ world->Step(100);
+
+ std::string filename = recorder->Filename();
+ EXPECT_TRUE(recorder->Running());
+ EXPECT_FALSE(recorder->Paused());
+ EXPECT_FALSE(filename.empty());
+ EXPECT_GT(recorder->FileSize(), 0u);
+
+ // Stop log recording
+ custom_exec("gz log -w default -d 0");
+
+ EXPECT_FALSE(recorder->Running());
+
+ // Store parsed output in a string
+ std::string cmd = "gz log -e -f " + filename;
+ std::string state = custom_exec(cmd);
+
+ // Get sdf string containing world state
+ auto sdfBeginIdx = state.find("<sdf version");
+ auto sdfEndIdx = state.find("</sdf>");
+ EXPECT_NE(sdfBeginIdx, std::string::npos);
+ EXPECT_NE(sdfEndIdx, std::string::npos);
+ std::string worldState = state.substr(sdfBeginIdx, sdfEndIdx+2);
+ // Convert string to sdf element
+ sdf::SDF worldSdf;
+ worldSdf.SetFromString(worldState);
+ EXPECT_TRUE(worldSdf.Root()->HasElement("world"));
+ auto worldElem = worldSdf.Root()->GetElement("world");
+ EXPECT_TRUE(worldElem->HasElement("model"));
+ auto modelElem = worldElem->GetElement("model");
+
+ // check that all pendulum models are not filtered in the initial world state
+ unsigned int pendulumCount = 0;
+ while (modelElem)
+ {
+ std::string name = modelElem->Get<std::string>("name");
+ if (name.find("pendulum") != std::string::npos)
+ pendulumCount++;
+ modelElem = modelElem->GetNextElement("model");
+ }
+ // there should be 8 pendulums in the world
+ EXPECT_EQ(pendulumCount, 8u);
+
+ // Parse state string and verify logging period and model name filter
+ unsigned int filteredStateCount = 0;
+ auto nextIdx = sdfEndIdx;
+ std::string simTimeStr = "<sim_time>";
+ double prevSimTime = -1;
+ auto simTimeIdx = state.find(simTimeStr, nextIdx);
+ auto nameIdx = state.find("<model name='", nextIdx);
+ while (nameIdx != std::string::npos && simTimeIdx != std::string::npos)
+ {
+ // verify log period
+ auto simTimeEndIdx = state.find("</sim_time>", simTimeIdx);
+ std::string ns = state.substr(simTimeIdx + simTimeStr.size() + 2,
+ simTimeEndIdx - simTimeIdx - simTimeStr.size() - 2);
+ double simTime = std::stod(ns) / 1e9;
+ EXPECT_GT(simTime, 0);
+ if (prevSimTime >= 0)
+ EXPECT_FLOAT_EQ(simTime - prevSimTime, period);
+ prevSimTime = simTime;
+
+ // verify model name - only models matching the filter string should exist
+ auto nameBeginIdx = state.find("\'", nameIdx);
+ auto nameEndIdx = state.find("\'", nameBeginIdx+1);
+ EXPECT_NE(nameBeginIdx, std::string::npos);
+ EXPECT_NE(nameEndIdx, std::string::npos);
+ std::string modelName = state.substr(nameBeginIdx+1,
+ nameEndIdx-nameBeginIdx-1);
+ EXPECT_EQ(modelName, "pendulum_0deg");
+ filteredStateCount++;
+ nameIdx = state.find("<model name='", nameEndIdx+1);
+ simTimeIdx = state.find("<sim_time>", nameEndIdx+1);
+ }
+ EXPECT_GT(filteredStateCount, 0u);
+}
+
+/////////////////////////////////////////////////
int main(int argc, char **argv)
{
::testing::InitGoogleTest(&argc, argv);
diff --git a/test/integration/gz_model.cc b/test/integration/gz_model.cc
index d72b7a6..241547d 100644
--- a/test/integration/gz_model.cc
+++ b/test/integration/gz_model.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/gz_physics.cc b/test/integration/gz_physics.cc
index a5f366d..a4541f9 100644
--- a/test/integration/gz_physics.cc
+++ b/test/integration/gz_physics.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/gz_world.cc b/test/integration/gz_world.cc
index bb38386..3444f91 100644
--- a/test/integration/gz_world.cc
+++ b/test/integration/gz_world.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/harness.cc b/test/integration/harness.cc
index 61f07ba..80d121f 100644
--- a/test/integration/harness.cc
+++ b/test/integration/harness.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/heightmap.cc b/test/integration/heightmap.cc
index a6d01ba..a389f55 100644
--- a/test/integration/heightmap.cc
+++ b/test/integration/heightmap.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -51,11 +51,18 @@ class HeightmapTest : public ServerFixture,
public: void WhiteNoAlpha(const std::string &_physicsEngine);
public: void Volume(const std::string &_physicsEngine);
public: void LoadDEM(const std::string &_physicsEngine);
- public: void Material(const std::string &_physicsEngine);
+ public: void Material(const std::string _worldName,
+ const std::string &_physicsEngine);
/// \brief Test loading a heightmap that has no visuals
public: void NoVisual();
+ /// \brief Test loading a heightmap with an LOD visual plugin
+ public: void LODVisualPlugin();
+
+/// \brief Test loading a heightmap and verify cache files are created
+ public: void HeightmapCache();
+
public: void NotSquareImage();
public: void InvalidSizeImage();
// public: void Heights(const std::string &_physicsEngine);
@@ -445,7 +452,8 @@ void HeightmapTest::Heights(const std::string &_physicsEngine)
*/
/////////////////////////////////////////////////
-void HeightmapTest::Material(const std::string &_physicsEngine)
+void HeightmapTest::Material(const std::string _worldName,
+ const std::string &_physicsEngine)
{
if (_physicsEngine == "dart")
{
@@ -454,7 +462,7 @@ void HeightmapTest::Material(const std::string &_physicsEngine)
}
// load a heightmap with red material
- Load("worlds/heightmap_material.world", false, _physicsEngine);
+ Load(_worldName, false, _physicsEngine);
physics::ModelPtr heightmap = GetModel("heightmap");
ASSERT_NE(heightmap, nullptr);
@@ -465,7 +473,7 @@ void HeightmapTest::Material(const std::string &_physicsEngine)
unsigned int height = 240;
double updateRate = 10;
ignition::math::Pose3d testPose(
- ignition::math::Vector3d(0, 0, 10),
+ ignition::math::Vector3d(0, 0, 100),
ignition::math::Quaterniond(0, 1.57, 0));
SpawnCamera(modelName, cameraName, testPose.Pos(),
testPose.Rot().Euler(), width, height, updateRate);
@@ -532,6 +540,95 @@ void HeightmapTest::NoVisual()
}
/////////////////////////////////////////////////
+void HeightmapTest::LODVisualPlugin()
+{
+ // load a heightmap with no visual
+ Load("worlds/heightmap_lod_plugin.world", false);
+ physics::ModelPtr heightmap = GetModel("heightmap");
+ ASSERT_NE(heightmap, nullptr);
+
+ gazebo::rendering::ScenePtr scene = gazebo::rendering::get_scene("default");
+ ASSERT_NE(scene, nullptr);
+
+ // make sure scene is initialized and running
+ int sleep = 0;
+ int maxSleep = 30;
+ while (scene->SimTime().Double() < 2.0 && sleep++ < maxSleep)
+ common::Time::MSleep(100);
+
+ // check the heightmap lod via scene
+ EXPECT_EQ(scene->HeightmapLOD(), 5u);
+
+ // get heightmap object and check lod
+ rendering::Heightmap *h = scene->GetHeightmap();
+ EXPECT_NE(h, nullptr);
+ EXPECT_EQ(h->LOD(), 5u);
+}
+
+/////////////////////////////////////////////////
+void HeightmapTest::HeightmapCache()
+{
+ // path to heightmap cache files
+ std::string heightmapName = "heightmap_bowl";
+ std::string heightmapDir(common::SystemPaths::Instance()->GetLogPath()
+ + "/paging");
+ std::string shaPath = heightmapDir + "/" + heightmapName + "/gzterrain.SHA1";
+ std::string cachePath = heightmapDir +
+ "/" + heightmapName + "/gazebo_terrain_00000000.dat";
+
+ // temporary backup files for testing if cache files exist.
+ std::string shaPathBk = shaPath + ".bk";
+ std::string cachePathBk = cachePath + ".bk";
+ if (common::exists(shaPath))
+ common::moveFile(shaPath, shaPathBk);
+ if (common::exists(cachePath))
+ common::moveFile(cachePath, cachePathBk);
+
+ // there should be no cache files
+ EXPECT_FALSE(common::exists(shaPath));
+ EXPECT_FALSE(common::exists(cachePath));
+
+ // load a heightmap
+ Load("worlds/heightmap_test.world", false);
+ physics::ModelPtr heightmap = this->GetModel("heightmap");
+ ASSERT_NE(heightmap, nullptr);
+
+ gazebo::rendering::ScenePtr scene = gazebo::rendering::get_scene("default");
+ ASSERT_NE(scene, nullptr);
+
+ // make sure scene is initialized and running
+ int sleep = 0;
+ int maxSleep = 30;
+ while (scene->SimTime().Double() < 2.0 && sleep++ < maxSleep)
+ common::Time::MSleep(100);
+
+ // make sure we have the heightmap object
+ rendering::Heightmap *h = scene->GetHeightmap();
+ EXPECT_NE(h, nullptr);
+
+ // verify new sha-1 file exists
+ EXPECT_TRUE(common::exists(shaPath));
+ EXPECT_TRUE(common::isFile(shaPath));
+
+ // wait for the terrain tile cache to be saved
+ sleep = 0;
+ while (!common::exists(cachePath) && sleep++ < maxSleep)
+ common::Time::MSleep(100);
+
+ // verify that terrain tile cache exists
+ EXPECT_TRUE(common::exists(cachePath));
+ EXPECT_TRUE(common::isFile(cachePath));
+
+ // clean up by moving old files back
+ if (common::exists(shaPathBk))
+ common::moveFile(shaPathBk, shaPath);
+ if (common::exists(cachePathBk))
+ common::moveFile(cachePathBk, cachePath);
+ EXPECT_FALSE(common::exists(shaPathBk));
+ EXPECT_FALSE(common::exists(cachePathBk));
+}
+
+/////////////////////////////////////////////////
TEST_F(HeightmapTest, NotSquareImage)
{
NotSquareImage();
@@ -588,7 +685,13 @@ TEST_P(HeightmapTest, Heights)
/////////////////////////////////////////////////
TEST_P(HeightmapTest, Material)
{
- Material(GetParam());
+ Material("worlds/heightmap_material.world", GetParam());
+}
+
+/////////////////////////////////////////////////
+TEST_P(HeightmapTest, MaterialShader)
+{
+ Material("worlds/heightmap_material_shader.world", GetParam());
}
/////////////////////////////////////////////////
@@ -597,6 +700,18 @@ TEST_F(HeightmapTest, NoVisual)
NoVisual();
}
+/////////////////////////////////////////////////
+TEST_F(HeightmapTest, LODVisualPlugin)
+{
+ LODVisualPlugin();
+}
+
+/////////////////////////////////////////////////
+TEST_F(HeightmapTest, HeightmapCache)
+{
+ HeightmapCache();
+}
+
INSTANTIATE_TEST_CASE_P(PhysicsEngines, HeightmapTest, PHYSICS_ENGINE_VALUES);
/////////////////////////////////////////////////
diff --git a/test/integration/heights_cmp.h b/test/integration/heights_cmp.h
index 111fc08..b9e5623 100644
--- a/test/integration/heights_cmp.h
+++ b/test/integration/heights_cmp.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/images_cmp.h b/test/integration/images_cmp.h
index 84dc45c..80273a9 100644
--- a/test/integration/images_cmp.h
+++ b/test/integration/images_cmp.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/imu.cc b/test/integration/imu.cc
index d3a0b90..6b82f0b 100644
--- a/test/integration/imu.cc
+++ b/test/integration/imu.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/insert_model.cc b/test/integration/insert_model.cc
index f7aa93e..bd91a3a 100644
--- a/test/integration/insert_model.cc
+++ b/test/integration/insert_model.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/insert_model.hh b/test/integration/insert_model.hh
index e6cb2ab..7f1cf5d 100644
--- a/test/integration/insert_model.hh
+++ b/test/integration/insert_model.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/joint_controller.cc b/test/integration/joint_controller.cc
index 9b0243d..f28ddab 100644
--- a/test/integration/joint_controller.cc
+++ b/test/integration/joint_controller.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/joint_force_torque.cc b/test/integration/joint_force_torque.cc
index 1f09ce2..2f51d1b 100644
--- a/test/integration/joint_force_torque.cc
+++ b/test/integration/joint_force_torque.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/joint_gearbox.cc b/test/integration/joint_gearbox.cc
index fc44263..51ca9ae 100644
--- a/test/integration/joint_gearbox.cc
+++ b/test/integration/joint_gearbox.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/joint_get_force_torque.cc b/test/integration/joint_get_force_torque.cc
index 14f3482..50d641a 100644
--- a/test/integration/joint_get_force_torque.cc
+++ b/test/integration/joint_get_force_torque.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/joint_revolute.cc b/test/integration/joint_revolute.cc
index d02f36d..7c961aa 100644
--- a/test/integration/joint_revolute.cc
+++ b/test/integration/joint_revolute.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/joint_screw.cc b/test/integration/joint_screw.cc
index d9a13a1..1bc10be 100644
--- a/test/integration/joint_screw.cc
+++ b/test/integration/joint_screw.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/joint_set_position_test.cc b/test/integration/joint_set_position_test.cc
index fe6c12c..c9ca3f1 100644
--- a/test/integration/joint_set_position_test.cc
+++ b/test/integration/joint_set_position_test.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/joint_spawn.cc b/test/integration/joint_spawn.cc
index fb6aaa1..9a85202 100644
--- a/test/integration/joint_spawn.cc
+++ b/test/integration/joint_spawn.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/joint_test.cc b/test/integration/joint_test.cc
index 2c2d727..6090639 100644
--- a/test/integration/joint_test.cc
+++ b/test/integration/joint_test.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/joint_test.hh b/test/integration/joint_test.hh
index 60d7521..19c6161 100644
--- a/test/integration/joint_test.hh
+++ b/test/integration/joint_test.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/joint_universal.cc b/test/integration/joint_universal.cc
index dbd65f8..3d1c1ed 100644
--- a/test/integration/joint_universal.cc
+++ b/test/integration/joint_universal.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/laser.cc b/test/integration/laser.cc
index c77da5f..b768a34 100644
--- a/test/integration/laser.cc
+++ b/test/integration/laser.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/logical_camera_sensor.cc b/test/integration/logical_camera_sensor.cc
index a712d20..46cd1d2 100644
--- a/test/integration/logical_camera_sensor.cc
+++ b/test/integration/logical_camera_sensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/manpages.cc b/test/integration/manpages.cc
index 3985390..82cf601 100644
--- a/test/integration/manpages.cc
+++ b/test/integration/manpages.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/model.cc b/test/integration/model.cc
index acfc8c0..50e1a1d 100644
--- a/test/integration/model.cc
+++ b/test/integration/model.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/model_database.cc b/test/integration/model_database.cc
index ae82166..753eb9c 100644
--- a/test/integration/model_database.cc
+++ b/test/integration/model_database.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/model_editor.cc b/test/integration/model_editor.cc
index cf4b47c..1601e97 100644
--- a/test/integration/model_editor.cc
+++ b/test/integration/model_editor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/model_editor.hh b/test/integration/model_editor.hh
index df9e22a..20fbf19 100644
--- a/test/integration/model_editor.hh
+++ b/test/integration/model_editor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/multicamera_sensor.cc b/test/integration/multicamera_sensor.cc
index f4ecff3..44b4622 100644
--- a/test/integration/multicamera_sensor.cc
+++ b/test/integration/multicamera_sensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/nested_model.cc b/test/integration/nested_model.cc
index c2f2be5..a2733fd 100644
--- a/test/integration/nested_model.cc
+++ b/test/integration/nested_model.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/noise.cc b/test/integration/noise.cc
index 4710207..b34f1ee 100644
--- a/test/integration/noise.cc
+++ b/test/integration/noise.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/nondefault_world.cc b/test/integration/nondefault_world.cc
index d0c3ff1..89862d7 100644
--- a/test/integration/nondefault_world.cc
+++ b/test/integration/nondefault_world.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/ogre_log.cc b/test/integration/ogre_log.cc
index c3cb331..3c95ebf 100644
--- a/test/integration/ogre_log.cc
+++ b/test/integration/ogre_log.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/physics.cc b/test/integration/physics.cc
index 215ca66..b487e81 100644
--- a/test/integration/physics.cc
+++ b/test/integration/physics.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/physics_basic_controller_response.cc b/test/integration/physics_basic_controller_response.cc
index 0654ac4..f378f34 100644
--- a/test/integration/physics_basic_controller_response.cc
+++ b/test/integration/physics_basic_controller_response.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/physics_collision.cc b/test/integration/physics_collision.cc
index 588b0d1..61fb6c1 100644
--- a/test/integration/physics_collision.cc
+++ b/test/integration/physics_collision.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -73,67 +73,27 @@ void PhysicsCollisionTest::GetBoundingBox(const std::string &_physicsEngine)
/////////////////////////////////////////////////
void PhysicsCollisionTest::PoseOffsets(const std::string &_physicsEngine)
{
- Load("worlds/empty.world", true, _physicsEngine);
+ Load("worlds/collision_pose_offset.world", true, _physicsEngine);
auto world = physics::get_world("default");
ASSERT_TRUE(world != nullptr);
// Box size
- const double dx = 0.9;
const double dy = 0.4;
const double dz = 0.9;
- const double mass = 10.0;
- const double angle = IGN_PI / 2.0;
- const unsigned int testCases = 4;
- for (unsigned int i = 0; i < testCases; ++i)
+ int modelCount = 0;
+ auto models = world->GetModels();
+ for (auto model : models)
{
- // Use msgs::AddBoxLink
- msgs::Model msgModel;
- math::Pose modelPose, linkPose, collisionPose;
-
- msgModel.set_name(this->GetUniqueString("model"));
- msgs::AddBoxLink(msgModel, mass, ignition::math::Vector3d(dx, dy, dz));
- modelPose.pos.x = i * dz * 5;
- modelPose.pos.z = dz;
- double z0 = dz - dy/2;
-
- // i=0: rotated model pose
- // expect collision pose to match model pose
- if (i == 0)
- {
- modelPose.rot.SetFromEuler(angle, 0.0, 0.0);
- }
- // i=1: rotated link pose
- // expect collision pose to match link pose
- else if (i == 1)
- {
- linkPose.rot.SetFromEuler(angle, 0.0, 0.0);
- }
- // i=2: rotated collision pose
- // expect collision pose to differ from link pose
- else if (i == 2)
- {
- collisionPose.rot.SetFromEuler(angle, 0.0, 0.0);
- }
- // i=3: offset collision pose
- // expect collision pose to differ from link pose
- else if (i == 3)
- {
- collisionPose.pos.Set(0, 0, dz);
- z0 = 1.5 * dz;
- }
-
+ ASSERT_TRUE(model != nullptr);
+ auto name = model->GetName();
+ if (0 != name.compare(0, 4, "box_"))
{
- auto msgLink = msgModel.mutable_link(0);
- auto msgCollision = msgLink->mutable_collision(0);
-
- msgs::Set(msgModel.mutable_pose(), modelPose.Ign());
- msgs::Set(msgLink->mutable_pose(), linkPose.Ign());
- msgs::Set(msgCollision->mutable_pose(), collisionPose.Ign());
+ continue;
}
+ modelCount++;
- auto model = this->SpawnModel(msgModel);
- ASSERT_TRUE(model != nullptr);
+ int i = std::stoi(name.substr(4, 5));
auto link = model->GetLink();
ASSERT_TRUE(link != nullptr);
@@ -142,11 +102,6 @@ void PhysicsCollisionTest::PoseOffsets(const std::string &_physicsEngine)
auto collision = link->GetCollision(index);
ASSERT_TRUE(collision != nullptr);
- EXPECT_EQ(model->GetWorldPose(), modelPose);
- EXPECT_EQ(link->GetWorldPose(), linkPose + modelPose);
- EXPECT_EQ(collision->GetWorldPose(),
- collisionPose + linkPose + modelPose);
-
// i=0: rotated model pose
// expect collision pose to match model pose
if (i == 0)
@@ -172,20 +127,35 @@ void PhysicsCollisionTest::PoseOffsets(const std::string &_physicsEngine)
// expect collision postion to match link position plus offset
else if (i == 3)
{
- EXPECT_EQ(link->GetWorldPose().pos + collisionPose.pos,
- collision->GetWorldPose().pos);
+ ignition::math::Pose3d collisionPose(0, 0, dz, 0, 0, 0);
+ EXPECT_EQ(link->GetWorldPose().Ign().Pos() + collisionPose.Pos(),
+ collision->GetWorldPose().Ign().Pos());
}
+ }
+ EXPECT_EQ(modelCount, 4);
+
+ const double t0 = 1.5;
+ const double dt = 1e-3;
+ const int steps = floor(t0 / dt);
+ world->Step(steps);
- auto physics = world->GetPhysicsEngine();
- ASSERT_TRUE(physics != nullptr);
- physics->SetRealTimeUpdateRate(0);
- const double dt = physics->GetMaxStepSize();
- const double g = world->Gravity().Z();
- EXPECT_DOUBLE_EQ(dt, 1e-3);
- ASSERT_DOUBLE_EQ(g, -9.8);
- const double t0 = 1 + sqrt(2*z0 / (-g));
- const int steps = floor(t0 / dt);
- world->Step(steps);
+ for (auto model : models)
+ {
+ ASSERT_TRUE(model != nullptr);
+ auto name = model->GetName();
+ if (0 != name.compare(0, 4, "box_"))
+ {
+ continue;
+ }
+
+ int i = std::stoi(name.substr(4, 5));
+
+ auto link = model->GetLink();
+ ASSERT_TRUE(link != nullptr);
+
+ const unsigned int index = 0;
+ auto collision = link->GetCollision(index);
+ ASSERT_TRUE(collision != nullptr);
// For 0-2, drop and expect box to rest at specific height
if (i <= 2)
diff --git a/test/integration/physics_friction.cc b/test/integration/physics_friction.cc
index 6988f04..65694a4 100644
--- a/test/integration/physics_friction.cc
+++ b/test/integration/physics_friction.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,8 @@
* limitations under the License.
*
*/
-#include <string.h>
+#include <cmath>
+#include <string>
#include "gazebo/msgs/msgs.hh"
#include "gazebo/physics/physics.hh"
@@ -160,6 +161,12 @@ class PhysicsFrictionTest : public ServerFixture,
/// no NaN's are generated.
/// \param[in] _physicsEngine Physics engine to use.
public: void DirectionNaN(const std::string &_physicsEngine);
+
+ /// \brief Test ode slip parameter on models with 1-3 spheres
+ /// and varying mass.
+ /// Expect motion to depend on mass, slip, and number of contact points.
+ /// \param[in] _physicsEngine Physics engine to use.
+ public: void SphereSlip(const std::string &_physicsEngine);
};
class WorldStepFrictionTest : public PhysicsFrictionTest
@@ -280,14 +287,13 @@ void PhysicsFrictionTest::FrictionDemo(const std::string &_physicsEngine,
/////////////////////////////////////////////////
// MaximumDissipation test:
-// Start with empty world,
-// spawn a bunch of boxes,
-// sets box velocities to different angles,
+// Start with friction_cone world, which has a circle of boxes,
+// set box velocities to different angles,
// expect velocity unit vectors to stay constant while in motion.
void PhysicsFrictionTest::MaximumDissipation(const std::string &_physicsEngine)
{
// Load an empty world
- Load("worlds/empty.world", true, _physicsEngine);
+ Load("worlds/friction_cone.world", true, _physicsEngine);
physics::WorldPtr world = physics::get_world("default");
ASSERT_TRUE(world != NULL);
@@ -296,75 +302,62 @@ void PhysicsFrictionTest::MaximumDissipation(const std::string &_physicsEngine)
ASSERT_TRUE(physics != NULL);
EXPECT_EQ(physics->GetType(), _physicsEngine);
- // get the gravity vector
- // small positive y component
- math::Vector3 g = physics->GetGravity();
-
- // Set friction model
- // "cone_model", "pyramid_model", "box_model"
- const std::string frictionModel = "cone_model";
- physics->SetParam("friction_model", frictionModel);
+ // Expect friction cone model
+ {
+ std::string frictionModel;
+ EXPECT_NO_THROW(frictionModel = boost::any_cast<std::string>(
+ physics->GetParam("friction_model")));
+ EXPECT_EQ("cone_model", frictionModel);
+ }
- // Spawn concentric semi-circles of boxes
- int boxes = 32;
- double dx = 0.5;
- double dy = 0.5;
- double dz = 0.2;
+ // Get pointers to boxes and their polar coordinate angle
std::map<physics::ModelPtr, double> modelAngles;
- for (int ring = 0; ring < 5; ++ring)
+ auto models = world->GetModels();
+ for (auto model : models)
{
- gzdbg << "Spawn ring " << ring+1 << " of boxes" << std::endl;
- for (int i = 0; i < boxes; ++i)
+ ASSERT_TRUE(model != nullptr);
+ auto name = model->GetName();
+ if (0 != name.compare(0, 4, "box_"))
{
- // Set box size and anisotropic friction
- SpawnFrictionBoxOptions opt;
- opt.size.Set(dx, dy, dz);
- opt.friction1 = 0.3;
- opt.friction2 = opt.friction1;
-
- // Compute angle for each box
- double radius = 9.0 + ring;
- double angle = 2*M_PI*static_cast<double>(i) / static_cast<double>(boxes);
- opt.modelPose.Pos().Set(radius*cos(angle), radius*sin(angle), dz/2);
-
- if (ring == 0)
- opt.direction1 = ignition::math::Vector3d(-sin(angle), cos(angle), 0);
- else if (ring < 4)
- opt.direction1 = ignition::math::Vector3d(0.0, 1.0, 0.0);
-
- if (ring == 1)
- opt.collisionPose.Rot().Euler(0.0, 0.0, angle);
-
- if (ring == 2)
- opt.linkPose.Rot().Euler(0.0, 0.0, angle);
-
- if (ring == 3)
- opt.modelPose.Rot().Euler(0.0, 0.0, angle);
-
- physics::ModelPtr model = SpawnBox(opt);
- ASSERT_TRUE(model != NULL);
- modelAngles[model] = angle;
-
- // Set velocity, larger for outer rings.
- model->SetLinearVel(
- radius * ignition::math::Vector3d(cos(angle), sin(angle), 0));
+ continue;
}
+ auto pos = model->GetWorldPose().Ign().Pos();
+ double angle = std::atan2(pos.Y(), pos.X());
+ modelAngles[model] = angle;
+
+ // Expect radius of 9 m
+ pos.Z(0);
+ double radius = pos.Length();
+ EXPECT_NEAR(9.0, radius, 1e-5);
+
+ // Radial velocity should already be set
+ auto vel = model->GetWorldLinearVel().Ign();
+ EXPECT_GE(vel.Length(), radius*0.95);
+ EXPECT_NEAR(angle, atan2(vel.Y(), vel.X()), 1e-6);
}
+ EXPECT_EQ(modelAngles.size(), 32u);
+
world->Step(1500);
gzdbg << "Checking position of boxes" << std::endl;
std::map<physics::ModelPtr, double>::iterator iter;
for (iter = modelAngles.begin(); iter != modelAngles.end(); ++iter)
{
- double cosAngle = cos(iter->second);
- double sinAngle = sin(iter->second);
- math::Vector3 pos = iter->first->GetWorldPose().pos;
- double cosPosAngle = pos.x / pos.GetLength();
- double sinPosAngle = pos.y / pos.GetLength();
- EXPECT_NEAR(cosAngle, cosPosAngle, 1e-2);
- EXPECT_NEAR(sinAngle, sinPosAngle, 1e-2);
+ double angle = iter->second;
+ ignition::math::Vector3d pos = iter->first->GetWorldPose().Ign().Pos();
+ pos.Z(0);
+ double radius = pos.Length();
+ double polarAngle = atan2(pos.Y(), pos.X());
+ // expect polar angle to remain constant
+ EXPECT_NEAR(angle, polarAngle, 1e-2)
+ << "model " << iter->first->GetScopedName()
+ << std::endl;
+ // make sure the boxes are moving outward
+ EXPECT_GT(radius, 13)
+ << "model " << iter->first->GetScopedName()
+ << std::endl;
}
}
@@ -396,7 +389,7 @@ void PhysicsFrictionTest::BoxDirectionRing(const std::string &_physicsEngine)
}
// Load an empty world
- Load("worlds/empty.world", true, _physicsEngine);
+ Load("worlds/friction_dir_test.world", true, _physicsEngine);
physics::WorldPtr world = physics::get_world("default");
ASSERT_TRUE(world != NULL);
@@ -406,51 +399,26 @@ void PhysicsFrictionTest::BoxDirectionRing(const std::string &_physicsEngine)
EXPECT_EQ(physics->GetType(), _physicsEngine);
// set the gravity vector
- math::Vector3 g(0.0, 1.0, -9.81);
- physics->SetGravity(g);
+ ignition::math::Vector3d g(0.0, 1.0, -9.81);
+ world->SetGravity(g);
- // Spawn concentric semi-circles of boxes
- int boxes = 10;
- double dx = 0.5;
- double dy = 0.5;
- double dz = 0.2;
+ // Pointers and location of concentric semi-circles of boxes
std::map<physics::ModelPtr, double> modelAngles;
- for (int ring = 0; ring < 4; ++ring)
+ auto models = world->GetModels();
+ for (auto model : models)
{
- gzdbg << "Spawn ring " << ring+1 << " of boxes" << std::endl;
- for (int i = 0; i <= boxes; ++i)
+ ASSERT_TRUE(model != nullptr);
+ auto name = model->GetName();
+ if (0 != name.compare(0, 4, "box_"))
{
- // Set box size and anisotropic friction
- SpawnFrictionBoxOptions opt;
- opt.size.Set(dx, dy, dz);
- opt.friction1 = 100.0;
- opt.friction2 = 0.0;
-
- // Compute angle for each box
- double radius = 5.0 + ring;
- double angle = M_PI*static_cast<double>(i) / static_cast<double>(boxes);
- opt.modelPose.Pos().Set(radius*cos(angle), radius*sin(angle), dz/2);
-
- if (ring == 0)
- opt.direction1 = ignition::math::Vector3d(-sin(angle), cos(angle), 0);
- else
- opt.direction1 = ignition::math::Vector3d(0.0, 1.0, 0.0);
-
- if (ring == 1)
- opt.collisionPose.Rot().Euler(0.0, 0.0, angle);
-
- if (ring == 2)
- opt.linkPose.Rot().Euler(0.0, 0.0, angle);
-
- if (ring == 3)
- opt.modelPose.Rot().Euler(0.0, 0.0, angle);
-
- physics::ModelPtr model = SpawnBox(opt);
- ASSERT_TRUE(model != NULL);
- modelAngles[model] = angle;
+ continue;
}
+ auto pos = model->GetWorldPose().Ign().Pos();
+ double angle = std::atan2(pos.Y(), pos.X());
+ modelAngles[model] = angle;
}
+ EXPECT_EQ(modelAngles.size(), 44u);
// Step forward
world->Step(1500);
@@ -462,10 +430,10 @@ void PhysicsFrictionTest::BoxDirectionRing(const std::string &_physicsEngine)
{
double cosAngle = cos(iter->second);
double sinAngle = sin(iter->second);
- double velMag = g.y * sinAngle * t;
- math::Vector3 vel = iter->first->GetWorldLinearVel();
- EXPECT_NEAR(velMag*cosAngle, vel.x, 5*g_friction_tolerance);
- EXPECT_NEAR(velMag*sinAngle, vel.y, 5*g_friction_tolerance);
+ double velMag = g.Y() * sinAngle * t;
+ ignition::math::Vector3d vel = iter->first->GetWorldLinearVel().Ign();
+ EXPECT_NEAR(velMag*cosAngle, vel.X(), 5*g_friction_tolerance);
+ EXPECT_NEAR(velMag*sinAngle, vel.Y(), 5*g_friction_tolerance);
}
}
@@ -537,6 +505,129 @@ void PhysicsFrictionTest::DirectionNaN(const std::string &_physicsEngine)
}
/////////////////////////////////////////////////
+void PhysicsFrictionTest::SphereSlip(const std::string &_physicsEngine)
+{
+ if (_physicsEngine == "bullet")
+ {
+ gzerr << "Aborting test since there's an issue with bullet's friction"
+ << " parameters (#1045)"
+ << std::endl;
+ return;
+ }
+ if (_physicsEngine == "simbody")
+ {
+ gzerr << "Aborting test since there's an issue with simbody's friction"
+ << " parameters (#989)"
+ << std::endl;
+ return;
+ }
+ if (_physicsEngine == "dart")
+ {
+ gzerr << "Aborting test since there's an issue with dart's friction"
+ << " parameters (#1000)"
+ << std::endl;
+ return;
+ }
+
+ // Load an empty world
+ Load("worlds/friction_spheres.world", true, _physicsEngine);
+ physics::WorldPtr world = physics::get_world("default");
+ ASSERT_TRUE(world != NULL);
+
+ // check the gravity vector
+ // small positive y component
+ ignition::math::Vector3d grav = world->Gravity();
+ EXPECT_NEAR(grav.X(), 0, 1e-6);
+ EXPECT_NEAR(grav.Y(), 2, 1e-6);
+ EXPECT_NEAR(grav.Z(), -9.81, 1e-6);
+
+ // Get pointers to models and their mass-slip product
+ std::map<physics::ModelPtr, double> lowballMassSlip;
+ std::map<physics::ModelPtr, double> twoballMassSlip;
+ std::map<physics::ModelPtr, double> triballMassSlip;
+
+ auto models = world->GetModels();
+ for (auto model : models)
+ {
+ ASSERT_TRUE(model != nullptr);
+ auto name = model->GetName();
+ if (0 != name.compare(3, 5, "ball_"))
+ {
+ continue;
+ }
+ double massSlip = std::stod(name.substr(8, 3));
+ if (0 == name.compare(0, 3, "low"))
+ {
+ lowballMassSlip[model] = massSlip;
+ }
+ else if (0 == name.compare(0, 3, "two"))
+ {
+ twoballMassSlip[model] = massSlip;
+ }
+ else if (0 == name.compare(0, 3, "tri"))
+ {
+ triballMassSlip[model] = massSlip;
+ }
+ }
+
+ EXPECT_EQ(lowballMassSlip.size(), 6u);
+ EXPECT_EQ(twoballMassSlip.size(), 6u);
+ EXPECT_EQ(triballMassSlip.size(), 6u);
+
+ world->Step(5000);
+
+ // With constant lateral gravity and non-zero slip,
+ // expect a steady-state lateral velocity that is proportional
+ // to the product of slip and mass divided by the number of contact points.
+ //
+ // The contact points act like viscous dampers in parallel.
+ // The slip parameter is defined as:
+ // slip = lateral_velocity / (lateral_force / contact_points)
+ // and the velocity is then:
+ // lateral_velocity = lateral_force * slip / contact_points
+ // lateral_velocity = gravity * mass * slip / contact_points
+ gzdbg << "Checking velocity of lowball models" << std::endl;
+ for (auto lowball : lowballMassSlip)
+ {
+ auto model = lowball.first;
+ double massSlip = lowball.second;
+ auto vel = model->GetWorldLinearVel().Ign();
+ EXPECT_NEAR(vel.X(), 0, g_friction_tolerance);
+ EXPECT_NEAR(vel.Z(), 0, g_friction_tolerance);
+ double velExpected = grav.Y() * massSlip / 1.0;
+ EXPECT_NEAR(vel.Y(), velExpected, 0.015*velExpected)
+ << "model " << lowball.first->GetScopedName()
+ << std::endl;
+ }
+ gzdbg << "Checking velocity of twoball models" << std::endl;
+ for (auto twoball : twoballMassSlip)
+ {
+ auto model = twoball.first;
+ double massSlip = twoball.second;
+ auto vel = model->GetWorldLinearVel().Ign();
+ EXPECT_NEAR(vel.X(), 0, g_friction_tolerance);
+ EXPECT_NEAR(vel.Z(), 0, g_friction_tolerance);
+ double velExpected = grav.Y() * massSlip / 2.0;
+ EXPECT_NEAR(vel.Y(), velExpected, 0.015*velExpected)
+ << "model " << twoball.first->GetScopedName()
+ << std::endl;
+ }
+ gzdbg << "Checking velocity of triball models" << std::endl;
+ for (auto triball : triballMassSlip)
+ {
+ auto model = triball.first;
+ double massSlip = triball.second;
+ auto vel = model->GetWorldLinearVel().Ign();
+ EXPECT_NEAR(vel.X(), 0, g_friction_tolerance);
+ EXPECT_NEAR(vel.Z(), 0, g_friction_tolerance);
+ double velExpected = grav.Y() * massSlip / 3.0;
+ EXPECT_NEAR(vel.Y(), velExpected, 0.015*velExpected)
+ << "model " << triball.first->GetScopedName()
+ << std::endl;
+ }
+}
+
+/////////////////////////////////////////////////
TEST_P(PhysicsFrictionTest, FrictionDemo)
{
FrictionDemo(GetParam());
@@ -585,6 +676,21 @@ TEST_P(PhysicsFrictionTest, DirectionNaN)
DirectionNaN(GetParam());
}
+/////////////////////////////////////////////////
+TEST_P(PhysicsFrictionTest, SphereSlip)
+{
+ if (std::string("ode").compare(GetParam()) == 0)
+ {
+ SphereSlip(GetParam());
+ }
+ else
+ {
+ gzerr << "Skipping test for physics engine "
+ << GetParam()
+ << std::endl;
+ }
+}
+
INSTANTIATE_TEST_CASE_P(PhysicsEngines, PhysicsFrictionTest,
PHYSICS_ENGINE_VALUES);
diff --git a/test/integration/physics_inertia_ratio.cc b/test/integration/physics_inertia_ratio.cc
index da7f600..a8841f9 100644
--- a/test/integration/physics_inertia_ratio.cc
+++ b/test/integration/physics_inertia_ratio.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/physics_link.cc b/test/integration/physics_link.cc
index d9cdbfb..6fd1117 100644
--- a/test/integration/physics_link.cc
+++ b/test/integration/physics_link.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/physics_msgs.cc b/test/integration/physics_msgs.cc
index 0011544..f23c277 100644
--- a/test/integration/physics_msgs.cc
+++ b/test/integration/physics_msgs.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/physics_msgs_inertia.cc b/test/integration/physics_msgs_inertia.cc
index a8b02a1..255a25d 100644
--- a/test/integration/physics_msgs_inertia.cc
+++ b/test/integration/physics_msgs_inertia.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/physics_presets.cc b/test/integration/physics_presets.cc
index 3c9faa7..873fa91 100644
--- a/test/integration/physics_presets.cc
+++ b/test/integration/physics_presets.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/physics_solver.cc b/test/integration/physics_solver.cc
index d602d77..029a2a6 100644
--- a/test/integration/physics_solver.cc
+++ b/test/integration/physics_solver.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/physics_thread_safe.cc b/test/integration/physics_thread_safe.cc
index de5efd4..56dcc48 100644
--- a/test/integration/physics_thread_safe.cc
+++ b/test/integration/physics_thread_safe.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/physics_torsional_friction.cc b/test/integration/physics_torsional_friction.cc
index b1cf7b4..d6e061e 100644
--- a/test/integration/physics_torsional_friction.cc
+++ b/test/integration/physics_torsional_friction.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/pioneer2dx.cc b/test/integration/pioneer2dx.cc
index cc52815..c777b6a 100644
--- a/test/integration/pioneer2dx.cc
+++ b/test/integration/pioneer2dx.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/player/player.cc b/test/integration/player/player.cc
index 1d5d00b..b16fc06 100644
--- a/test/integration/player/player.cc
+++ b/test/integration/player/player.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/plugin.cc b/test/integration/plugin.cc
index 421c34c..72e8887 100644
--- a/test/integration/plugin.cc
+++ b/test/integration/plugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/polyline.cc b/test/integration/polyline.cc
index dd8f881..b6fe004 100644
--- a/test/integration/polyline.cc
+++ b/test/integration/polyline.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/pr2.cc b/test/integration/pr2.cc
index 816c72d..4537b71 100644
--- a/test/integration/pr2.cc
+++ b/test/integration/pr2.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/projector.cc b/test/integration/projector.cc
index 2b98a13..6c719b0 100644
--- a/test/integration/projector.cc
+++ b/test/integration/projector.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/region_events.cc b/test/integration/region_events.cc
index 23858f5..b05c94f 100644
--- a/test/integration/region_events.cc
+++ b/test/integration/region_events.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/rendering_sensor.cc b/test/integration/rendering_sensor.cc
index 5d8c0d7..2fa7a96 100644
--- a/test/integration/rendering_sensor.cc
+++ b/test/integration/rendering_sensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/rest_web.cc b/test/integration/rest_web.cc
index 23a8ad5..c8e887c 100644
--- a/test/integration/rest_web.cc
+++ b/test/integration/rest_web.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/road.cc b/test/integration/road.cc
index 2831c57..5a9f7c2 100644
--- a/test/integration/road.cc
+++ b/test/integration/road.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/saving_and_loading.cc b/test/integration/saving_and_loading.cc
index 9b419a0..8e67776 100644
--- a/test/integration/saving_and_loading.cc
+++ b/test/integration/saving_and_loading.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/scans_cmp.h b/test/integration/scans_cmp.h
index 77c4ee2..8250ffb 100644
--- a/test/integration/scans_cmp.h
+++ b/test/integration/scans_cmp.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/sdf.cc b/test/integration/sdf.cc
index 035367a..5aa9783 100644
--- a/test/integration/sdf.cc
+++ b/test/integration/sdf.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/sensor.cc b/test/integration/sensor.cc
index 2c0228c..14785e5 100644
--- a/test/integration/sensor.cc
+++ b/test/integration/sensor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/server_fixture.cc b/test/integration/server_fixture.cc
index b72c7be..a5e4e21 100644
--- a/test/integration/server_fixture.cc
+++ b/test/integration/server_fixture.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/sim_events.cc b/test/integration/sim_events.cc
index c77551e..88c3125 100644
--- a/test/integration/sim_events.cc
+++ b/test/integration/sim_events.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/speed.cc b/test/integration/speed.cc
index 720f56e..09a263c 100644
--- a/test/integration/speed.cc
+++ b/test/integration/speed.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/speed_pr2.cc b/test/integration/speed_pr2.cc
index f72b0f3..1e36b2e 100644
--- a/test/integration/speed_pr2.cc
+++ b/test/integration/speed_pr2.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/speed_thread_pr2.cc b/test/integration/speed_thread_pr2.cc
index 90a9e58..34deb81 100644
--- a/test/integration/speed_thread_pr2.cc
+++ b/test/integration/speed_thread_pr2.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/state_log.cc b/test/integration/state_log.cc
index b4ed325..64f3525 100644
--- a/test/integration/state_log.cc
+++ b/test/integration/state_log.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/stress_spawn_models.cc b/test/integration/stress_spawn_models.cc
index eb3ad26..956080d 100644
--- a/test/integration/stress_spawn_models.cc
+++ b/test/integration/stress_spawn_models.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/surface_properties.cc b/test/integration/surface_properties.cc
index 95f32da..631b58b 100644
--- a/test/integration/surface_properties.cc
+++ b/test/integration/surface_properties.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -39,6 +39,13 @@ class SurfaceTest : public ServerFixture,
////////////////////////////////////////////////////////////////////////
void SurfaceTest::CollideWithoutContact(const std::string &_physicsEngine)
{
+ if ("bullet" == _physicsEngine)
+ {
+ gzerr << _physicsEngine << " Does not support <collide_without_contact>"
+ << " see issue #1038" << std::endl;
+ return;
+ }
+
// load an empty world
Load("worlds/collide_without_contact.world", true, _physicsEngine);
physics::WorldPtr world = physics::get_world("default");
@@ -208,21 +215,11 @@ void SurfaceTest::CollideBitmask(const std::string &_physicsEngine)
ASSERT_TRUE(box3 != NULL);
ASSERT_TRUE(box4 != NULL);
- // Step forward 0.2 s
- double stepTime = 0.2;
+ // Step forward 1.5 s
+ double stepTime = 1.5;
unsigned int steps = floor(stepTime / dt);
world->Step(steps);
- // Expect boxes to be falling
- double fallVelocity = g.z * stepTime;
- EXPECT_LT(box1->GetWorldLinearVel().z, fallVelocity*(1-g_physics_tol));
- EXPECT_LT(box2->GetWorldLinearVel().z, fallVelocity*(1-g_physics_tol));
- EXPECT_LT(box3->GetWorldLinearVel().z, fallVelocity*(1-g_physics_tol));
- EXPECT_LT(box4->GetWorldLinearVel().z, fallVelocity*(1-g_physics_tol));
-
- // Another 2000 steps should put the boxes at rest
- world->Step(2000);
-
// Expect 3 boxes to be stationary
EXPECT_NEAR(box1->GetWorldLinearVel().z, 0, 1e-3);
EXPECT_NEAR(box2->GetWorldLinearVel().z, 0, 1e-3);
@@ -232,11 +229,11 @@ void SurfaceTest::CollideBitmask(const std::string &_physicsEngine)
EXPECT_NEAR(box1->GetWorldPose().pos.z, 0.5, 1e-3);
EXPECT_NEAR(box2->GetWorldPose().pos.z, 0.5, 1e-3);
- // The third boxs should be ontop of the firs two boxes
+ // The third boxs should be ontop of the first two boxes
EXPECT_NEAR(box3->GetWorldPose().pos.z, 1.5, 1e-3);
- // Expect 4th box to still be falling
- fallVelocity = g.z * world->GetSimTime().Double();
+ // Expect 4th box to be falling
+ double fallVelocity = g.z * world->GetSimTime().Double();
EXPECT_LT(box4->GetWorldLinearVel().z, fallVelocity*(1-g_physics_tol));
Unload();
@@ -256,10 +253,8 @@ TEST_P(SurfaceTest, CollideBitmask)
CollideBitmask(GetParam());
}
-// These tests only work with ODE.
-// Issue #1038
-// INSTANTIATE_TEST_CASE_P(PhysicsEngines, SurfaceTest, PHYSICS_ENGINE_VALUES);
-INSTANTIATE_TEST_CASE_P(TestODE, SurfaceTest, ::testing::Values("ode"));
+INSTANTIATE_TEST_CASE_P(TestODE, SurfaceTest, ::testing::Values(
+ "ode", "bullet"));
/////////////////////////////////////////////////
int main(int argc, char **argv)
diff --git a/test/integration/swarm.cc b/test/integration/swarm.cc
index c578db3..fab9cb5 100644
--- a/test/integration/swarm.cc
+++ b/test/integration/swarm.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/touch_plugin.cc b/test/integration/touch_plugin.cc
new file mode 100644
index 0000000..26e328d
--- /dev/null
+++ b/test/integration/touch_plugin.cc
@@ -0,0 +1,252 @@
+/*
+ * Copyright (C) 2017 Open Source Robotics Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+*/
+
+#include "gazebo/test/ServerFixture.hh"
+#include "gazebo/physics/physics.hh"
+#include "gazebo/test/helper_physics_generator.hh"
+
+using namespace gazebo;
+class TouchPluginTest : public ServerFixture,
+ public testing::WithParamInterface<const char*>
+{
+ /// \brief Test observing only one link in a model
+ /// \param[in] _physicsEngine Physics engine to use.
+ public: void OneLink(const std::string &_physicsEngine);
+
+ /// \brief Test observing more than one link in a model
+ /// \param[in] _physicsEngine Physics engine to use.
+ public: void MultiLink(const std::string &_physicsEngine);
+
+ /// \brief Test a plugin which starts disabled.
+ /// \param[in] _physicsEngine Physics engine to use.
+ public: void StartDisabled(const std::string &_physicsEngine);
+
+ /// \brief Callback when white box plugin touches.
+ /// \param[in] _msg Unused
+ public: void WhiteTouch(ConstIntPtr &/*_msg*/);
+
+ /// \brief Callback when red / yellow box plugin touches.
+ /// \param[in] _msg Unused
+ public: void RedTouch(ConstIntPtr &/*_msg*/);
+
+ /// \brief Callback when blue box plugin touches.
+ /// \param[in] _msg Unused
+ public: void BlueTouch(ConstIntPtr &/*_msg*/);
+
+ /// \brief Flag turned to true once white touches.
+ private: bool whiteTouched = false;
+
+ /// \brief Flag turned to true once red/yellow touches.
+ private: bool redTouched = false;
+
+ /// \brief Flag turned to true once blue touches.
+ private: bool blueTouched = false;
+};
+
+//////////////////////////////////////////////////
+void TouchPluginTest::WhiteTouch(ConstIntPtr &/*_msg*/)
+{
+ this->whiteTouched = true;
+}
+
+//////////////////////////////////////////////////
+void TouchPluginTest::RedTouch(ConstIntPtr &/*_msg*/)
+{
+ this->redTouched = true;
+}
+
+//////////////////////////////////////////////////
+void TouchPluginTest::BlueTouch(ConstIntPtr &/*_msg*/)
+{
+ this->blueTouched = true;
+}
+
+//////////////////////////////////////////////////
+void TouchPluginTest::OneLink(const std::string &_physicsEngine)
+{
+ this->Load("worlds/touch_plugin_demo.world", true, _physicsEngine);
+ auto world = physics::get_world();
+ ASSERT_NE(world , nullptr);
+
+ // Get models
+ auto whiteBox = world->GetModel("white_box");
+
+ // Subscribe to plugin notifications
+ auto whiteSub = this->node->Subscribe("/white_touches_only_green/touched",
+ &TouchPluginTest::WhiteTouch, this);
+
+ // Check boxes haven't touched yet
+ EXPECT_FALSE(this->whiteTouched);
+
+ // Place white box on top of green box
+ whiteBox->SetWorldPose(ignition::math::Pose3d(4.0, 0, 2.0, 0, 0, 0));
+
+ // Give it time to drop and touch
+ world->Step(1000);
+
+ // Check it hasn't touched for long enough
+ EXPECT_FALSE(this->whiteTouched);
+
+ // Give it time to touch for 3 seconds
+ world->Step(4000);
+
+ // Check it has touched for long enough
+ EXPECT_TRUE(this->whiteTouched);
+
+ // Wait more and check it doesn't notify again
+ this->whiteTouched = false;
+ world->Step(5000);
+ EXPECT_FALSE(this->whiteTouched);
+
+ // Enable plugin again
+ auto enablePub = this->node->Advertise<msgs::Int>(
+ "/white_touches_only_green/enable");
+
+ msgs::Int msg;
+ msg.set_data(1);
+ enablePub->Publish(msg);
+
+ // Wait and see it notifies again
+ this->whiteTouched = false;
+ world->Step(5000);
+ EXPECT_TRUE(this->whiteTouched);
+}
+
+//////////////////////////////////////////////////
+TEST_P(TouchPluginTest, OneLink)
+{
+ const std::string physicsEngine = GetParam();
+ if (physicsEngine != "ode")
+ {
+ gzwarn << "This test depends on continuous contacts, which are achieved on"
+ << " ODE using <max_vel> and <min_depth>. Skipping test for ["
+ << physicsEngine << "]. See issue #2213." << std::endl;
+ return;
+ }
+ OneLink(GetParam());
+}
+
+//////////////////////////////////////////////////
+void TouchPluginTest::MultiLink(const std::string &_physicsEngine)
+{
+ this->Load("worlds/touch_plugin_demo.world", true, _physicsEngine);
+ auto world = physics::get_world();
+ ASSERT_NE(world , nullptr);
+
+ // Get models
+ auto redYellowBox = world->GetModel("red_yellow_box");
+
+ // Subscribe to plugin notifications
+ auto redSub = this->node->Subscribe(
+ "/red_and_yellow_touch_only_green/touched",
+ &TouchPluginTest::RedTouch, this);
+
+ // Check boxes haven't touched yet
+ EXPECT_FALSE(this->redTouched);
+
+ // Place red and yellow boxes on top of green box
+ redYellowBox->SetWorldPose(
+ ignition::math::Pose3d(4.0, 0, 2.0, IGN_PI*0.5, 0, 0));
+
+ // Give it time to drop and touch
+ world->Step(1000);
+
+ // Check it hasn't touched for long enough
+ EXPECT_FALSE(this->redTouched);
+
+ // Give it time to touch for 5 seconds
+ world->Step(5000);
+
+ // Check it has touched for long enough
+ EXPECT_TRUE(this->redTouched);
+}
+
+//////////////////////////////////////////////////
+TEST_P(TouchPluginTest, MultiLink)
+{
+ const std::string physicsEngine = GetParam();
+ if (physicsEngine != "ode")
+ {
+ gzwarn << "This test depends on continuous contacts, which are achieved on"
+ << " ODE using <max_vel> and <min_depth>. Skipping test for ["
+ << physicsEngine << "]. See issue #2213." << std::endl;
+ return;
+ }
+ MultiLink(GetParam());
+}
+
+//////////////////////////////////////////////////
+void TouchPluginTest::StartDisabled(const std::string &_physicsEngine)
+{
+ this->Load("worlds/touch_plugin_demo.world", true, _physicsEngine);
+ auto world = physics::get_world();
+ ASSERT_NE(world , nullptr);
+
+ // Get models
+ auto blueBox = world->GetModel("blue_box");
+
+ // Subscribe to plugin notifications
+ auto blueSub = this->node->Subscribe("/blue_touches_only_green/touched",
+ &TouchPluginTest::BlueTouch, this);
+
+ // Check boxes haven't touched yet
+ EXPECT_FALSE(this->blueTouched);
+
+ // Place blue box on top of green box
+ blueBox->SetWorldPose(ignition::math::Pose3d(4.0, 0, 2.0, 0, 0, 0));
+
+ // Give it time to drop and touch for a while
+ world->Step(3000);
+
+ // Verify we don't get a notification
+ EXPECT_FALSE(this->blueTouched);
+
+ // Enable plugin
+ auto enablePub = this->node->Advertise<msgs::Int>(
+ "/blue_touches_only_green/enable");
+
+ msgs::Int msg;
+ msg.set_data(1);
+ enablePub->Publish(msg);
+
+ // Wait and see it notifies now
+ this->blueTouched = false;
+ world->Step(3000);
+ EXPECT_TRUE(this->blueTouched);
+}
+
+//////////////////////////////////////////////////
+TEST_P(TouchPluginTest, StartDisabled)
+{
+ const std::string physicsEngine = GetParam();
+ if (physicsEngine != "ode")
+ {
+ gzwarn << "This test depends on continuous contacts, which are achieved on"
+ << " ODE using <max_vel> and <min_depth>. Skipping test for ["
+ << physicsEngine << "]. See issue #2213." << std::endl;
+ return;
+ }
+ StartDisabled(GetParam());
+}
+
+INSTANTIATE_TEST_CASE_P(PhysicsEngines, TouchPluginTest, PHYSICS_ENGINE_VALUES);
+
+int main(int argc, char **argv)
+{
+ ::testing::InitGoogleTest(&argc, argv);
+ return RUN_ALL_TESTS();
+}
diff --git a/test/integration/transceiver.cc b/test/integration/transceiver.cc
index 849fff6..555c250 100644
--- a/test/integration/transceiver.cc
+++ b/test/integration/transceiver.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/transport.cc b/test/integration/transport.cc
index e3164c3..7daa4e3 100644
--- a/test/integration/transport.cc
+++ b/test/integration/transport.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/transport_stress_nodes.cc b/test/integration/transport_stress_nodes.cc
index 96763cc..d106621 100644
--- a/test/integration/transport_stress_nodes.cc
+++ b/test/integration/transport_stress_nodes.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/transporter.cc b/test/integration/transporter.cc
index 6b9db99..e4a3647 100644
--- a/test/integration/transporter.cc
+++ b/test/integration/transporter.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/undo.cc b/test/integration/undo.cc
index f3e2fdc..ec0572b 100644
--- a/test/integration/undo.cc
+++ b/test/integration/undo.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/undo.hh b/test/integration/undo.hh
index 5994ac3..6c636c9 100644
--- a/test/integration/undo.hh
+++ b/test/integration/undo.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/view_control.cc b/test/integration/view_control.cc
index 8ed3872..221894d 100644
--- a/test/integration/view_control.cc
+++ b/test/integration/view_control.cc
@@ -15,6 +15,7 @@
*
*/
+#include <memory>
#include "gazebo/gui/GuiIface.hh"
#include "gazebo/gui/GLWidget.hh"
#include "gazebo/gui/MainWindow.hh"
@@ -147,7 +148,8 @@ void ViewControlTest::MouseZoomModelEditor()
this->ProcessEventsAndDraw(mainWindow);
// create the model editor
- gazebo::gui::ModelCreator *modelCreator = new gazebo::gui::ModelCreator();
+ std::unique_ptr<gazebo::gui::ModelCreator> modelCreator(
+ new gazebo::gui::ModelCreator());
// Inserting a link
modelCreator->AddShape(gazebo::gui::ModelCreator::ENTITY_CYLINDER);
diff --git a/test/integration/visual_pose.cc b/test/integration/visual_pose.cc
index 2c0c489..2e810f4 100644
--- a/test/integration/visual_pose.cc
+++ b/test/integration/visual_pose.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/visual_pose.hh b/test/integration/visual_pose.hh
index f4fd92a..a63d7f2 100644
--- a/test/integration/visual_pose.hh
+++ b/test/integration/visual_pose.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/world.cc b/test/integration/world.cc
index f8d0d51..4b9ee93 100644
--- a/test/integration/world.cc
+++ b/test/integration/world.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/world_clone.cc b/test/integration/world_clone.cc
index fbdfa11..12de5ea 100644
--- a/test/integration/world_clone.cc
+++ b/test/integration/world_clone.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/world_entity_below_point.cc b/test/integration/world_entity_below_point.cc
index 5b6d3e2..4d8cbf5 100644
--- a/test/integration/world_entity_below_point.cc
+++ b/test/integration/world_entity_below_point.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/world_playback.cc b/test/integration/world_playback.cc
index afe0af8..fde54bb 100644
--- a/test/integration/world_playback.cc
+++ b/test/integration/world_playback.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/world_population.cc b/test/integration/world_population.cc
index 9ac431f..0300c69 100644
--- a/test/integration/world_population.cc
+++ b/test/integration/world_population.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/world_reset.cc b/test/integration/world_reset.cc
index f7a03c6..9a77b90 100644
--- a/test/integration/world_reset.cc
+++ b/test/integration/world_reset.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/integration/worlds_installed.cc b/test/integration/worlds_installed.cc
index 8460d31..414cd00 100644
--- a/test/integration/worlds_installed.cc
+++ b/test/integration/worlds_installed.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/media/materials/scripts/heightmap_custom.material b/test/media/materials/scripts/heightmap_custom.material
new file mode 100644
index 0000000..7dcf37c
--- /dev/null
+++ b/test/media/materials/scripts/heightmap_custom.material
@@ -0,0 +1,86 @@
+vertex_program Gazebo/HeightmapVS glsl
+{
+ source heightmap_custom_vp.glsl
+
+ default_params
+ {
+ param_named_auto worldMatrix world_matrix
+ param_named_auto viewProjMatrix viewproj_matrix
+
+ // lod morph factor. This is a custom param that will be set by the ogre
+ // terrain component.
+ param_named_auto lodMorph custom 1001
+
+ param_named_auto texViewProjMatrix0 texture_viewproj_matrix 0
+ param_named_auto texViewProjMatrix1 texture_viewproj_matrix 1
+ param_named_auto texViewProjMatrix2 texture_viewproj_matrix 2
+ }
+}
+
+fragment_program Gazebo/HeightmapFS glsl
+{
+ source heightmap_custom_fp.glsl
+
+ default_params
+ {
+ // Shadow map textures.
+ // The number at the end corresponds to the index of the texture_unit
+ // defined in Gazebo/CustomHeightmapShader
+ param_named shadowMap0 int 0
+ param_named shadowMap1 int 1
+ param_named shadowMap2 int 2
+
+ param_named_auto inverseShadowmapSize0 inverse_texture_size 0
+ param_named_auto inverseShadowmapSize1 inverse_texture_size 1
+ param_named_auto inverseShadowmapSize2 inverse_texture_size 2
+
+ // texture map - here we are just reusing the heightmap image to help shade
+ // the whole terrain
+ param_named texMap int 3
+
+ // UV coordinate transform. If the terrain is subdivided into multiple
+ // slots, apply the transform to texture-map the terrain as a whole
+ // instead of repeating the same textures for each terrain slot.
+ param_named uvTransform matrix4x4 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
+ }
+}
+
+material Gazebo/CustomHeightmapShader
+{
+ technique
+ {
+ pass
+ {
+ vertex_program_ref Gazebo/HeightmapVS
+ {
+ }
+
+ fragment_program_ref Gazebo/HeightmapFS
+ {
+ }
+
+ texture_unit shadowMap0
+ {
+ content_type shadow
+ tex_address_mode clamp
+ }
+ texture_unit shadowMap1
+ {
+ content_type shadow
+ tex_address_mode clamp
+ }
+ texture_unit shadowMap2
+ {
+ content_type shadow
+ tex_address_mode clamp
+ }
+ texture_unit
+ {
+ texture heightmap_bowl.png 2d
+ filtering anisotropic anisotropic linear
+ max_anisotropy 16
+ tex_address_mode clamp
+ }
+ }
+ }
+}
diff --git a/test/media/materials/scripts/heightmap_custom_fp.glsl b/test/media/materials/scripts/heightmap_custom_fp.glsl
new file mode 100644
index 0000000..0a6e79b
--- /dev/null
+++ b/test/media/materials/scripts/heightmap_custom_fp.glsl
@@ -0,0 +1,108 @@
+#version 130
+
+vec4 expand(vec4 v)
+{
+ return v * 2 - 1;
+}
+
+vec4 lit(float NdotL, float NdotH, float m)
+{
+ float specular = (NdotL > 0) ? pow(max(0.0, NdotH), m) : 0.0;
+ return vec4(1.0, max(0.0, NdotL), specular, 1.0);
+}
+// Simple PCF
+// Number of samples in one dimension (square for total samples)
+#define NUM_SHADOW_SAMPLES_1D 2.0
+#define SHADOW_FILTER_SCALE 1.0
+#define SHADOW_SAMPLES NUM_SHADOW_SAMPLES_1D*NUM_SHADOW_SAMPLES_1D
+vec4 offsetSample(vec4 uv, vec2 offset, float invMapSize)
+{
+ return vec4(uv.xy + offset * invMapSize * uv.w, uv.z, uv.w);
+}
+float calcDepthShadow(sampler2D shadowMap, vec4 uv, float invShadowMapSize)
+{
+ // 4-sample PCF
+ float shadow = 0.0;
+ float offset = (NUM_SHADOW_SAMPLES_1D/2.0 - 0.5) *SHADOW_FILTER_SCALE;
+ for (float y = -offset; y <= offset; y += SHADOW_FILTER_SCALE)
+ for (float x = -offset; x <= offset; x += SHADOW_FILTER_SCALE)
+ {
+ vec4 newUV = offsetSample(uv, vec2(x, y), invShadowMapSize);
+ // manually project and assign derivatives
+ // to avoid gradient issues inside loops
+ newUV = newUV / newUV.w;
+ float depth = textureGrad(shadowMap, newUV.xy, vec2(1.0, 1.0),
+ vec2(1.0, 1.0)).x;
+ if (depth >= 1.0 || depth >= newUV.z)
+ shadow += 1.0;
+ }
+ shadow /= (SHADOW_SAMPLES);
+ return shadow;
+}
+float calcPSSMDepthShadow(
+ sampler2D shadowMap0, sampler2D shadowMap1, sampler2D shadowMap2,
+ vec4 lsPos0, vec4 lsPos1, vec4 lsPos2,
+ float invShadowmapSize0, float invShadowmapSize1, float invShadowmapSize2,
+ vec4 pssmSplitPoints, float camDepth)
+{
+ float shadow = 1.0;
+ // calculate shadow
+ if (camDepth <= pssmSplitPoints.x)
+ {
+ shadow = calcDepthShadow(shadowMap0, lsPos0, invShadowmapSize0);
+ }
+ else if (camDepth <= pssmSplitPoints.y)
+ {
+ shadow = calcDepthShadow(shadowMap1, lsPos1, invShadowmapSize1);
+ }
+ else
+ {
+ shadow = calcDepthShadow(shadowMap2, lsPos2, invShadowmapSize2);
+ }
+ return shadow;
+}
+
+in vec4 uvMisc;
+
+uniform mat4 uvTransform;
+
+uniform vec4 pssmSplitPoints;
+uniform sampler2D shadowMap0;
+uniform sampler2D shadowMap1;
+uniform sampler2D shadowMap2;
+
+uniform sampler2D texMap;
+
+uniform float inverseShadowmapSize0;
+uniform float inverseShadowmapSize1;
+uniform float inverseShadowmapSize2;
+
+in vec4 lightSpacePos0;
+in vec4 lightSpacePos1;
+in vec4 lightSpacePos2;
+
+out vec4 outputCol;
+
+void main()
+{
+ float shadow = 1.0;
+
+ // transform uv coordinates in case the terrain's been partitioned
+ vec2 newUV = (uvTransform * vec4(uvMisc.xy, 0.0f, 1.0f)).xy;
+
+ // sample the texture map
+ vec4 texSample = texture2D(texMap, newUV);
+
+ // real time shadows
+ float camDepth = uvMisc.z;
+ float rtshadow = calcPSSMDepthShadow(shadowMap0, shadowMap1, shadowMap2,
+ lightSpacePos0, lightSpacePos1, lightSpacePos2,
+ inverseShadowmapSize0, inverseShadowmapSize1, inverseShadowmapSize2,
+ pssmSplitPoints, camDepth);
+
+ // red terrain color
+ vec3 diffuse = vec3(1.0, 0.0, 0.0) * texSample.xyz;
+
+ // apply shadows
+ outputCol.xyz = diffuse * rtshadow;
+}
diff --git a/test/media/materials/scripts/heightmap_custom_vp.glsl b/test/media/materials/scripts/heightmap_custom_vp.glsl
new file mode 100644
index 0000000..ee8c0f8
--- /dev/null
+++ b/test/media/materials/scripts/heightmap_custom_vp.glsl
@@ -0,0 +1,39 @@
+#version 130
+
+// params bound by ogre
+in vec4 position;
+in vec2 uv0;
+in vec2 uv1;
+
+uniform mat4 worldMatrix;
+uniform mat4 viewProjMatrix;
+uniform vec2 lodMorph;
+uniform mat4 texViewProjMatrix0;
+uniform mat4 texViewProjMatrix1;
+uniform mat4 texViewProjMatrix2;
+
+out vec4 uvMisc;
+out vec4 lightSpacePos0;
+out vec4 lightSpacePos1;
+out vec4 lightSpacePos2;
+
+void main()
+{
+ // calc pos after terrain lod morphing
+ vec2 uv = vec2(uv0.x, uv0.y);
+ vec4 worldPos = worldMatrix * position;
+ float toMorph = -min(0.0, sign(uv1.y - lodMorph.y));
+ worldPos.z += uv1.x * toMorph * lodMorph.x;
+ gl_Position = viewProjMatrix * worldPos;
+
+ // pass the uv coord
+ uvMisc.xy = uv.xy;
+
+ // shadows light space pos.
+ lightSpacePos0 = texViewProjMatrix0 * worldPos;
+ lightSpacePos1 = texViewProjMatrix1 * worldPos;
+ lightSpacePos2 = texViewProjMatrix2 * worldPos;
+
+ // pass cam depth
+ uvMisc.z = gl_Position.z;
+}
diff --git a/test/performance/RAMLibrary.hh b/test/performance/RAMLibrary.hh
index ba63fac..bb11485 100644
--- a/test/performance/RAMLibrary.hh
+++ b/test/performance/RAMLibrary.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/performance/RAMLibrary_TEST.cc b/test/performance/RAMLibrary_TEST.cc
index b0ac135..5dfcf92 100644
--- a/test/performance/RAMLibrary_TEST.cc
+++ b/test/performance/RAMLibrary_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/performance/factory_stress.cc b/test/performance/factory_stress.cc
index 220d3a0..786bca5 100644
--- a/test/performance/factory_stress.cc
+++ b/test/performance/factory_stress.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/performance/gz_stress.cc b/test/performance/gz_stress.cc
index 6345bbb..19e40af 100644
--- a/test/performance/gz_stress.cc
+++ b/test/performance/gz_stress.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/performance/image_convert_stress.cc b/test/performance/image_convert_stress.cc
index 77d7193..bba79c0 100644
--- a/test/performance/image_convert_stress.cc
+++ b/test/performance/image_convert_stress.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/performance/sensor_stress.cc b/test/performance/sensor_stress.cc
index a75f14f..f3d5575 100644
--- a/test/performance/sensor_stress.cc
+++ b/test/performance/sensor_stress.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/performance/set_world_pose.cc b/test/performance/set_world_pose.cc
index 6d2dbca..ecea2be 100644
--- a/test/performance/set_world_pose.cc
+++ b/test/performance/set_world_pose.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/performance/transport_stress.cc b/test/performance/transport_stress.cc
index 745441d..c3ce7f9 100644
--- a/test/performance/transport_stress.cc
+++ b/test/performance/transport_stress.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/pkgconfig/config-pkgconfig.cc b/test/pkgconfig/config-pkgconfig.cc
index c8a6b79..0bdfd6b 100644
--- a/test/pkgconfig/config-pkgconfig.cc
+++ b/test/pkgconfig/config-pkgconfig.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/plugins/ExceptionModelPluginConstructor.cc b/test/plugins/ExceptionModelPluginConstructor.cc
index df9b9b6..622cf82 100644
--- a/test/plugins/ExceptionModelPluginConstructor.cc
+++ b/test/plugins/ExceptionModelPluginConstructor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/plugins/ExceptionModelPluginConstructor.hh b/test/plugins/ExceptionModelPluginConstructor.hh
index 6183252..e70722b 100644
--- a/test/plugins/ExceptionModelPluginConstructor.hh
+++ b/test/plugins/ExceptionModelPluginConstructor.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/plugins/ExceptionModelPluginInit.cc b/test/plugins/ExceptionModelPluginInit.cc
index f73458b..3bff8d3 100644
--- a/test/plugins/ExceptionModelPluginInit.cc
+++ b/test/plugins/ExceptionModelPluginInit.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/plugins/ExceptionModelPluginInit.hh b/test/plugins/ExceptionModelPluginInit.hh
index eeced4f..3dce788 100644
--- a/test/plugins/ExceptionModelPluginInit.hh
+++ b/test/plugins/ExceptionModelPluginInit.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/plugins/ExceptionModelPluginLoad.cc b/test/plugins/ExceptionModelPluginLoad.cc
index 68ed30d..d2b2916 100644
--- a/test/plugins/ExceptionModelPluginLoad.cc
+++ b/test/plugins/ExceptionModelPluginLoad.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/plugins/ExceptionModelPluginLoad.hh b/test/plugins/ExceptionModelPluginLoad.hh
index f1aaa97..2a0b15d 100644
--- a/test/plugins/ExceptionModelPluginLoad.hh
+++ b/test/plugins/ExceptionModelPluginLoad.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/plugins/ForceTorqueModelRemovalTestPlugin.cc b/test/plugins/ForceTorqueModelRemovalTestPlugin.cc
index ece8455..bc77c20 100644
--- a/test/plugins/ForceTorqueModelRemovalTestPlugin.cc
+++ b/test/plugins/ForceTorqueModelRemovalTestPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/plugins/ForceTorqueModelRemovalTestPlugin.hh b/test/plugins/ForceTorqueModelRemovalTestPlugin.hh
index 50538fe..ea8992d 100644
--- a/test/plugins/ForceTorqueModelRemovalTestPlugin.hh
+++ b/test/plugins/ForceTorqueModelRemovalTestPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/plugins/Issue1208Plugin.cc b/test/plugins/Issue1208Plugin.cc
index d648d7d..6498f68 100644
--- a/test/plugins/Issue1208Plugin.cc
+++ b/test/plugins/Issue1208Plugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/plugins/Issue1208Plugin.hh b/test/plugins/Issue1208Plugin.hh
index 6152be2..bdc3b77 100644
--- a/test/plugins/Issue1208Plugin.hh
+++ b/test/plugins/Issue1208Plugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/plugins/ModelTrajectoryTestPlugin.cc b/test/plugins/ModelTrajectoryTestPlugin.cc
index b52c8db..a5a7faa 100644
--- a/test/plugins/ModelTrajectoryTestPlugin.cc
+++ b/test/plugins/ModelTrajectoryTestPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/plugins/ModelTrajectoryTestPlugin.hh b/test/plugins/ModelTrajectoryTestPlugin.hh
index 0c8518c..6f745b4 100644
--- a/test/plugins/ModelTrajectoryTestPlugin.hh
+++ b/test/plugins/ModelTrajectoryTestPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/plugins/SpringTestPlugin.cc b/test/plugins/SpringTestPlugin.cc
index 5b6f546..ef21324 100644
--- a/test/plugins/SpringTestPlugin.cc
+++ b/test/plugins/SpringTestPlugin.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/plugins/SpringTestPlugin.hh b/test/plugins/SpringTestPlugin.hh
index a593325..d9daeb6 100644
--- a/test/plugins/SpringTestPlugin.hh
+++ b/test/plugins/SpringTestPlugin.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/1082_pid_limits.cc b/test/regression/1082_pid_limits.cc
index fe74d80..f9dc3fc 100644
--- a/test/regression/1082_pid_limits.cc
+++ b/test/regression/1082_pid_limits.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/1112_force_torque_model_removal.cc b/test/regression/1112_force_torque_model_removal.cc
index 973ca66..528b14d 100644
--- a/test/regression/1112_force_torque_model_removal.cc
+++ b/test/regression/1112_force_torque_model_removal.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/1124_collision_pose.cc b/test/regression/1124_collision_pose.cc
index 4d182bb..d0a32ef 100644
--- a/test/regression/1124_collision_pose.cc
+++ b/test/regression/1124_collision_pose.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/1146_collision_bounding_box.cc b/test/regression/1146_collision_bounding_box.cc
index 8100741..8db15cc 100644
--- a/test/regression/1146_collision_bounding_box.cc
+++ b/test/regression/1146_collision_bounding_box.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/1208_world_plugin_init.cc b/test/regression/1208_world_plugin_init.cc
index 5899787..b2dd41e 100644
--- a/test/regression/1208_world_plugin_init.cc
+++ b/test/regression/1208_world_plugin_init.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/1375_world_reset.cc b/test/regression/1375_world_reset.cc
index be15780..cf22e07 100644
--- a/test/regression/1375_world_reset.cc
+++ b/test/regression/1375_world_reset.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/1569_hydra_crash.cc b/test/regression/1569_hydra_crash.cc
index 993eb11..a3d8dc2 100644
--- a/test/regression/1569_hydra_crash.cc
+++ b/test/regression/1569_hydra_crash.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/1694_world_accel.cc b/test/regression/1694_world_accel.cc
index 3f66365..cc00d43 100644
--- a/test/regression/1694_world_accel.cc
+++ b/test/regression/1694_world_accel.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/1702_remove_model_scene_nodes.cc b/test/regression/1702_remove_model_scene_nodes.cc
index adbb491..9464e67 100644
--- a/test/regression/1702_remove_model_scene_nodes.cc
+++ b/test/regression/1702_remove_model_scene_nodes.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/1782_unadvertise.cc b/test/regression/1782_unadvertise.cc
index d56c6cb..584a890 100644
--- a/test/regression/1782_unadvertise.cc
+++ b/test/regression/1782_unadvertise.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/346_save_lights.cc b/test/regression/346_save_lights.cc
index bc0c907..0346ede 100644
--- a/test/regression/346_save_lights.cc
+++ b/test/regression/346_save_lights.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/351_world_step.cc b/test/regression/351_world_step.cc
index b0f6db6..745d104 100644
--- a/test/regression/351_world_step.cc
+++ b/test/regression/351_world_step.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/494_joint_axis_frame.cc b/test/regression/494_joint_axis_frame.cc
index acc7949..9689176 100644
--- a/test/regression/494_joint_axis_frame.cc
+++ b/test/regression/494_joint_axis_frame.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/602_unsubscribe_segfault.cc b/test/regression/602_unsubscribe_segfault.cc
index e9d587b..224026e 100644
--- a/test/regression/602_unsubscribe_segfault.cc
+++ b/test/regression/602_unsubscribe_segfault.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2016 Open Source Robotics Foundation
+ * Copyright (C) 2015 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/624_collision_world_pose.cc b/test/regression/624_collision_world_pose.cc
index 2575543..f6b223d 100644
--- a/test/regression/624_collision_world_pose.cc
+++ b/test/regression/624_collision_world_pose.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/846_typo_in_camera.cc b/test/regression/846_typo_in_camera.cc
index b403af6..4e95fcc 100644
--- a/test/regression/846_typo_in_camera.cc
+++ b/test/regression/846_typo_in_camera.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/876_random_number_generator.cc b/test/regression/876_random_number_generator.cc
index 86e62e2..d8eef85 100644
--- a/test/regression/876_random_number_generator.cc
+++ b/test/regression/876_random_number_generator.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/940_force_torque_sensor_frame.cc b/test/regression/940_force_torque_sensor_frame.cc
index 403c77f..e41c4a9 100644
--- a/test/regression/940_force_torque_sensor_frame.cc
+++ b/test/regression/940_force_torque_sensor_frame.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/regression/978_joint_anchor.cc b/test/regression/978_joint_anchor.cc
index c958846..40d653e 100644
--- a/test/regression/978_joint_anchor.cc
+++ b/test/regression/978_joint_anchor.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/testfiles/hello_world.cc b/test/testfiles/hello_world.cc
index ca2510f..aa6bbf9 100644
--- a/test/testfiles/hello_world.cc
+++ b/test/testfiles/hello_world.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/util.hh b/test/util.hh
index f9a762a..a0f9d5e 100644
--- a/test/util.hh
+++ b/test/util.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/test/worlds/collide_bitmask.world b/test/worlds/collide_bitmask.world
index 77405f9..a8f5c99 100644
--- a/test/worlds/collide_bitmask.world
+++ b/test/worlds/collide_bitmask.world
@@ -43,7 +43,7 @@
</model>
<model name="box1">
- <pose>0 0 1.0 0 0 0</pose>
+ <pose>0 0 0.5 0 0 0</pose>
<link name="link">
<inertial>
<mass>1</mass>
@@ -79,7 +79,7 @@
</model>
<model name="box2">
- <pose>-1.5 1.5 3.0 0 0 1.57</pose>
+ <pose>-1.5 1.5 0.5 0 0 1.57</pose>
<link name="link">
<inertial>
<mass>1</mass>
@@ -115,7 +115,7 @@
</model>
<model name="box3">
- <pose>0 1.5 6.0 0 0 2.24</pose>
+ <pose>0 1.5 1.5 0 0 2.24</pose>
<link name="link">
<inertial>
<mass>1</mass>
diff --git a/test/worlds/collision_pose_offset.world b/test/worlds/collision_pose_offset.world
new file mode 100644
index 0000000..410dcaa
--- /dev/null
+++ b/test/worlds/collision_pose_offset.world
@@ -0,0 +1,174 @@
+<?xml version="1.0" ?>
+<!-- this file was generated using embedded ruby -->
+<sdf version='1.6'>
+ <world name='default'>
+ <include>
+ <uri>model://sun</uri>
+ </include>
+ <include>
+ <uri>model://ground_plane</uri>
+ </include>
+ <gravity>0 0 -9.81</gravity>
+
+ <!-- model pose rotation -->
+ <model name='box_0'>
+ <pose>0 0 0.9 1.5707963267948966 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>10</mass>
+ <inertia>
+ <ixx>0.8083333333333335</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>1.35</iyy>
+ <iyz>0</iyz>
+ <izz>0.8083333333333335</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.9 0.4 0.9</size>
+ </box>
+ </geometry>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.9 0.4 0.9</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+ <!-- link pose rotation -->
+ <model name='box_1'>
+ <pose>4.5 0 0.9 0 -0 0</pose>
+ <link name='link_1'>
+ <pose>0 0 0 1.5707963267948966 -0 0</pose>
+ <inertial>
+ <mass>10</mass>
+ <inertia>
+ <ixx>0.8083333333333335</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>1.35</iyy>
+ <iyz>0</iyz>
+ <izz>0.8083333333333335</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.9 0.4 0.9</size>
+ </box>
+ </geometry>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.9 0.4 0.9</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+ <!-- collision pose rotation -->
+ <model name='box_2'>
+ <pose>9 0 0.9 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>10</mass>
+ <inertia>
+ <ixx>0.8083333333333335</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>1.35</iyy>
+ <iyz>0</iyz>
+ <izz>0.8083333333333335</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.9 0.4 0.9</size>
+ </box>
+ </geometry>
+ <pose>0 0 0 1.5707963267948966 -0 0</pose>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.9 0.4 0.9</size>
+ </box>
+ </geometry>
+ <pose>0 0 0 1.5707963267948966 -0 0</pose>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+ <!-- collision pose translation -->
+ <model name='box_3'>
+ <pose>13.5 0 0.9 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>10</mass>
+ <inertia>
+ <ixx>0.8083333333333335</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>1.35</iyy>
+ <iyz>0</iyz>
+ <izz>0.8083333333333335</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.9 0.4 0.9</size>
+ </box>
+ </geometry>
+ <pose>0 0 0.9 0 -0 0</pose>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.9 0.4 0.9</size>
+ </box>
+ </geometry>
+ <pose>0 0 0.9 0 -0 0</pose>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+ <gui fullscreen='0'>
+ <camera name='user_camera'>
+ <pose>6 -12 12 0 0.75 1.5707963267948966</pose>
+ <view_controller>orbit</view_controller>
+ <projection_type>perspective</projection_type>
+ </camera>
+ </gui>
+ </world>
+</sdf>
diff --git a/test/worlds/collision_pose_offset.world.erb b/test/worlds/collision_pose_offset.world.erb
new file mode 100644
index 0000000..0c85dde
--- /dev/null
+++ b/test/worlds/collision_pose_offset.world.erb
@@ -0,0 +1,195 @@
+<?xml version="1.0" ?>
+<%= "<!-- this file was generated using embedded ruby -->" %>
+<sdf version='1.6'>
+ <world name='default'>
+ <include>
+ <uri>model://sun</uri>
+ </include>
+ <include>
+ <uri>model://ground_plane</uri>
+ </include>
+ <gravity>0 0 -9.81</gravity>
+<%
+ # Test pose offsets for model, link and collision elements
+ # There are three equivalent models that have 90 degree rotations
+ # expressed in each element.
+ # There is a 4th model with a translation of the collision
+ require 'matrix'
+ def a_to_s(v)
+ Array(v).join(" ")
+ end
+
+ # box dimensions
+ dx = 0.9
+ dy = 0.4
+ dz = dx
+
+ box = {}
+ box[:size] = Vector[dx, dy, dz]
+ box[:mass] = 10
+ box[:ixx] = box[:mass] / 12.0 * (dy**2 + dz**2)
+ box[:iyy] = box[:mass] / 12.0 * (dz**2 + dx**2)
+ box[:izz] = box[:mass] / 12.0 * (dx**2 + dy**2)
+%>
+ <!-- model pose rotation -->
+ <model name='box_0'>
+ <pose>0 0 0.9 <%= 0.5*Math::PI %> -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass><%= box[:mass] %></mass>
+ <inertia>
+ <ixx><%= box[:ixx] %></ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy><%= box[:iyy] %></iyy>
+ <iyz>0</iyz>
+ <izz><%= box[:izz] %></izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+ <!-- link pose rotation -->
+ <model name='box_1'>
+ <pose>4.5 0 0.9 0 -0 0</pose>
+ <link name='link_1'>
+ <pose>0 0 0 <%= 0.5*Math::PI %> -0 0</pose>
+ <inertial>
+ <mass><%= box[:mass] %></mass>
+ <inertia>
+ <ixx><%= box[:ixx] %></ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy><%= box[:iyy] %></iyy>
+ <iyz>0</iyz>
+ <izz><%= box[:izz] %></izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+ <!-- collision pose rotation -->
+ <model name='box_2'>
+ <pose>9 0 0.9 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass><%= box[:mass] %></mass>
+ <inertia>
+ <ixx><%= box[:ixx] %></ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy><%= box[:iyy] %></iyy>
+ <iyz>0</iyz>
+ <izz><%= box[:izz] %></izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ <pose>0 0 0 <%= 0.5*Math::PI %> -0 0</pose>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ <pose>0 0 0 <%= 0.5*Math::PI %> -0 0</pose>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+ <!-- collision pose translation -->
+ <model name='box_3'>
+ <pose>13.5 0 0.9 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass><%= box[:mass] %></mass>
+ <inertia>
+ <ixx><%= box[:ixx] %></ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy><%= box[:iyy] %></iyy>
+ <iyz>0</iyz>
+ <izz><%= box[:izz] %></izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ <pose>0 0 0.9 0 -0 0</pose>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ <pose>0 0 0.9 0 -0 0</pose>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+ <gui fullscreen='0'>
+ <camera name='user_camera'>
+ <pose>6 -12 12 0 0.75 <%= 0.5*Math::PI %></pose>
+ <view_controller>orbit</view_controller>
+ <projection_type>perspective</projection_type>
+ </camera>
+ </gui>
+ </world>
+</sdf>
diff --git a/test/worlds/deeply_nested_models.world b/test/worlds/deeply_nested_models.world
index ab907b7..ab604b1 100644
--- a/test/worlds/deeply_nested_models.world
+++ b/test/worlds/deeply_nested_models.world
@@ -115,6 +115,32 @@
</material>
</visual>
</link>
+ <link name="imu_link">
+ <inertial>
+ <pose>0 0 0 0 0 0</pose>
+ <mass>0.15</mass>
+ <inertia>
+ <ixx>0.00001</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.00002</iyy>
+ <iyz>0</iyz>
+ <izz>0.00002</izz>
+ </inertia>
+ </inertial>
+ <sensor name="imu_sensor" type="imu">
+ <pose>0 0 0 3.141593 0 0</pose>
+ <always_on>0</always_on>
+ <update_rate>1000.0</update_rate>
+ </sensor>
+ </link>
+ <joint name="imu_joint" type="revolute">
+ <child>model_01::model_02::model_03::imu_link</child>
+ <parent>model_01::model_02::model_03::link_03</parent>
+ <axis>
+ <xyz>0 0 1</xyz>
+ </axis>
+ </joint>
</model>
</model>
</model>
diff --git a/test/worlds/friction_cone.world b/test/worlds/friction_cone.world
new file mode 100644
index 0000000..ddfcf55
--- /dev/null
+++ b/test/worlds/friction_cone.world
@@ -0,0 +1,1597 @@
+<?xml version="1.0" ?>
+<!-- this file was generated using embedded ruby -->
+<sdf version='1.6'>
+ <world name='default'>
+ <include>
+ <uri>model://sun</uri>
+ </include>
+ <include>
+ <uri>model://ground_plane</uri>
+ </include>
+ <physics type="ode">
+ <ode>
+ <solver>
+ <type>quick</type>
+ <iters>50</iters>
+ <friction_model>cone_model</friction_model>
+ </solver>
+ </ode>
+ </physics>
+
+ <model name='box_0'>
+ <pose>9.0 0.0 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>9.0 0.0 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_1'>
+ <pose>8.827067523629074 1.7558128981451542 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>8.827067523629074 1.7558128981451542 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_2'>
+ <pose>8.31491579260158 3.444150891285808 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>8.31491579260158 3.444150891285808 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_3'>
+ <pose>7.483226510722907 5.00013209717642 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>7.483226510722907 5.00013209717642 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_4'>
+ <pose>6.3639610306789285 6.363961030678928 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>6.3639610306789285 6.363961030678928 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_5'>
+ <pose>5.0001320971764205 7.483226510722907 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>5.0001320971764205 7.483226510722907 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_6'>
+ <pose>3.4441508912858083 8.31491579260158 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>3.4441508912858083 8.31491579260158 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_7'>
+ <pose>1.755812898145155 8.827067523629074 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>1.755812898145155 8.827067523629074 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_8'>
+ <pose>5.51091059616309e-16 9.0 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>5.51091059616309e-16 9.0 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_9'>
+ <pose>-1.7558128981451537 8.827067523629074 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>-1.7558128981451537 8.827067523629074 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_10'>
+ <pose>-3.4441508912858074 8.31491579260158 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>-3.4441508912858074 8.31491579260158 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_11'>
+ <pose>-5.000132097176418 7.4832265107229095 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>-5.000132097176418 7.4832265107229095 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_12'>
+ <pose>-6.363961030678928 6.3639610306789285 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>-6.363961030678928 6.3639610306789285 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_13'>
+ <pose>-7.483226510722908 5.00013209717642 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>-7.483226510722908 5.00013209717642 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_14'>
+ <pose>-8.31491579260158 3.444150891285809 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>-8.31491579260158 3.444150891285809 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_15'>
+ <pose>-8.827067523629074 1.7558128981451575 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>-8.827067523629074 1.7558128981451575 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_16'>
+ <pose>-9.0 1.102182119232618e-15 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>-9.0 1.102182119232618e-15 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_17'>
+ <pose>-8.827067523629074 -1.7558128981451553 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>-8.827067523629074 -1.7558128981451553 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_18'>
+ <pose>-8.314915792601582 -3.444150891285807 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>-8.314915792601582 -3.444150891285807 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_19'>
+ <pose>-7.4832265107229095 -5.000132097176418 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>-7.4832265107229095 -5.000132097176418 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_20'>
+ <pose>-6.363961030678929 -6.363961030678928 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>-6.363961030678929 -6.363961030678928 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_21'>
+ <pose>-5.00013209717642 -7.483226510722907 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>-5.00013209717642 -7.483226510722907 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_22'>
+ <pose>-3.444150891285813 -8.314915792601578 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>-3.444150891285813 -8.314915792601578 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_23'>
+ <pose>-1.755812898145158 -8.827067523629072 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>-1.755812898145158 -8.827067523629072 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_24'>
+ <pose>-1.6532731788489267e-15 -9.0 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>-1.6532731788489267e-15 -9.0 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_25'>
+ <pose>1.7558128981451548 -8.827067523629074 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>1.7558128981451548 -8.827067523629074 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_26'>
+ <pose>3.44415089128581 -8.31491579260158 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>3.44415089128581 -8.31491579260158 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_27'>
+ <pose>5.000132097176417 -7.4832265107229095 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>5.000132097176417 -7.4832265107229095 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_28'>
+ <pose>6.363961030678926 -6.363961030678929 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>6.363961030678926 -6.363961030678929 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_29'>
+ <pose>7.483226510722907 -5.00013209717642 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>7.483226510722907 -5.00013209717642 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_30'>
+ <pose>8.314915792601578 -3.4441508912858136 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>8.314915792601578 -3.4441508912858136 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <model name='box_31'>
+ <pose>8.827067523629072 -1.7558128981451584 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear>8.827067523629072 -1.7558128981451584 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+
+ <gui fullscreen='0'>
+ <camera name='user_camera'>
+ <pose>-0.93396 -19.9626 11.7572 0 0.503643 1.6562</pose>
+ <view_controller>orbit</view_controller>
+ <projection_type>perspective</projection_type>
+ </camera>
+ </gui>
+ </world>
+</sdf>
diff --git a/test/worlds/friction_cone.world.erb b/test/worlds/friction_cone.world.erb
new file mode 100644
index 0000000..105299f
--- /dev/null
+++ b/test/worlds/friction_cone.world.erb
@@ -0,0 +1,108 @@
+<?xml version="1.0" ?>
+<%= "<!-- this file was generated using embedded ruby -->" %>
+<sdf version='1.6'>
+ <world name='default'>
+ <include>
+ <uri>model://sun</uri>
+ </include>
+ <include>
+ <uri>model://ground_plane</uri>
+ </include>
+ <physics type="ode">
+ <ode>
+ <solver>
+ <type>quick</type>
+ <iters>50</iters>
+ <friction_model>cone_model</friction_model>
+ </solver>
+ </ode>
+ </physics>
+<%
+ # Test cone friction model
+ # set equal friction coefficients, but use default directions
+ require 'matrix'
+ def a_to_s(v)
+ Array(v).join(" ")
+ end
+
+ # box dimensions
+ dx = 0.5
+ dy = dx
+ dz = 0.2
+
+ box = {}
+ box[:size] = Vector[dx, dy, dz]
+ box[:mass] = 1
+ box[:ixx] = box[:mass] / 12.0 * (dy**2 + dz**2)
+ box[:iyy] = box[:mass] / 12.0 * (dz**2 + dx**2)
+ box[:izz] = box[:mass] / 12.0 * (dx**2 + dy**2)
+
+ box_count = 32
+ box_angles = 2 * Math::PI * Vector[*(0..box_count-1)] / box_count
+
+ radius = 9
+ box_angles.each_with_index do |a,i|
+ name = "box_#{i}"
+ pos_xy = radius * Vector[Math.cos(a), Math.sin(a)]
+ vel_xy = pos_xy
+%>
+ <model name='<%= name %>'>
+ <pose><%= a_to_s(pos_xy) %> 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass><%= box[:mass] %></mass>
+ <inertia>
+ <ixx><%= box[:ixx] %></ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy><%= box[:iyy] %></iyy>
+ <iyz>0</iyz>
+ <izz><%= box[:izz] %></izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.3</mu>
+ <mu2>0.3</mu2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ <plugin name="radial_velocity" filename="libInitialVelocityPlugin.so">
+ <linear><%= a_to_s(vel_xy) %> 0</linear>
+ <angular>0 0 0</angular>
+ </plugin>
+ </model>
+<%
+ end
+%>
+ <gui fullscreen='0'>
+ <camera name='user_camera'>
+ <pose>-0.93396 -19.9626 11.7572 0 0.503643 1.6562</pose>
+ <view_controller>orbit</view_controller>
+ <projection_type>perspective</projection_type>
+ </camera>
+ </gui>
+ </world>
+</sdf>
diff --git a/test/worlds/friction_dir_test.world b/test/worlds/friction_dir_test.world
new file mode 100644
index 0000000..de59582
--- /dev/null
+++ b/test/worlds/friction_dir_test.world
@@ -0,0 +1,2067 @@
+<?xml version="1.0" ?>
+<!-- this file was generated using embedded ruby -->
+<sdf version='1.6'>
+ <world name='default'>
+ <include>
+ <uri>model://sun</uri>
+ </include>
+ <include>
+ <uri>model://ground_plane</uri>
+ </include>
+ <gravity>0 1 -9.81</gravity>
+
+ <model name='box_fdir_0'>
+ <pose>5.0 0.0 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>-0.0 1.0 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_fdir_1'>
+ <pose>4.755282581475767 1.545084971874737 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>-0.3090169943749474 0.9510565162951535 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_fdir_2'>
+ <pose>4.045084971874737 2.938926261462366 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>-0.5877852522924731 0.8090169943749475 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_fdir_3'>
+ <pose>2.938926261462366 4.045084971874737 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>-0.8090169943749475 0.5877852522924731 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_fdir_4'>
+ <pose>1.5450849718747373 4.755282581475767 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>-0.9510565162951535 0.30901699437494745 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_fdir_5'>
+ <pose>3.061616997868383e-16 5.0 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>-1.0 6.123233995736766e-17 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_fdir_6'>
+ <pose>-1.5450849718747368 4.755282581475768 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>-0.9510565162951536 -0.30901699437494734 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_fdir_7'>
+ <pose>-2.938926261462365 4.045084971874737 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>-0.8090169943749475 -0.587785252292473 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_fdir_8'>
+ <pose>-4.045084971874736 2.9389262614623664 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>-0.5877852522924732 -0.8090169943749473 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_fdir_9'>
+ <pose>-4.755282581475767 1.5450849718747375 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>-0.3090169943749475 -0.9510565162951535 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_fdir_10'>
+ <pose>-5.0 6.123233995736766e-16 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>-1.2246467991473532e-16 -1.0 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_collision_0'>
+ <pose>6.0 0.0 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <pose>0 0 0 0 0 0.0</pose>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_collision_1'>
+ <pose>5.706339097770921 1.8541019662496843 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <pose>0 0 0 0 0 0.3141592653589793</pose>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_collision_2'>
+ <pose>4.854101966249685 3.526711513754839 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <pose>0 0 0 0 0 0.6283185307179586</pose>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_collision_3'>
+ <pose>3.526711513754839 4.854101966249685 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <pose>0 0 0 0 0 0.9424777960769379</pose>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_collision_4'>
+ <pose>1.8541019662496847 5.706339097770921 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <pose>0 0 0 0 0 1.2566370614359172</pose>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_collision_5'>
+ <pose>3.6739403974420594e-16 6.0 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <pose>0 0 0 0 0 1.5707963267948966</pose>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_collision_6'>
+ <pose>-1.854101966249684 5.706339097770922 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <pose>0 0 0 0 0 1.8849555921538759</pose>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_collision_7'>
+ <pose>-3.5267115137548384 4.854101966249685 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <pose>0 0 0 0 0 2.199114857512855</pose>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_collision_8'>
+ <pose>-4.854101966249684 3.5267115137548393 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <pose>0 0 0 0 0 2.5132741228718345</pose>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_collision_9'>
+ <pose>-5.706339097770921 1.8541019662496852 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <pose>0 0 0 0 0 2.827433388230814</pose>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_collision_10'>
+ <pose>-6.0 7.347880794884119e-16 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <pose>0 0 0 0 0 3.141592653589793</pose>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_link_0'>
+ <pose>7.0 0.0 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <pose>0 0 0 0 0 0.0</pose>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_link_1'>
+ <pose>6.657395614066075 2.1631189606246317 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <pose>0 0 0 0 0 0.3141592653589793</pose>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_link_2'>
+ <pose>5.663118960624632 4.114496766047312 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <pose>0 0 0 0 0 0.6283185307179586</pose>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_link_3'>
+ <pose>4.114496766047312 5.663118960624632 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <pose>0 0 0 0 0 0.9424777960769379</pose>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_link_4'>
+ <pose>2.163118960624632 6.657395614066075 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <pose>0 0 0 0 0 1.2566370614359172</pose>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_link_5'>
+ <pose>4.286263797015736e-16 7.0 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <pose>0 0 0 0 0 1.5707963267948966</pose>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_link_6'>
+ <pose>-2.1631189606246313 6.6573956140660755 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <pose>0 0 0 0 0 1.8849555921538759</pose>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_link_7'>
+ <pose>-4.114496766047311 5.663118960624632 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <pose>0 0 0 0 0 2.199114857512855</pose>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_link_8'>
+ <pose>-5.663118960624631 4.114496766047313 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <pose>0 0 0 0 0 2.5132741228718345</pose>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_link_9'>
+ <pose>-6.657395614066075 2.1631189606246326 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <pose>0 0 0 0 0 2.827433388230814</pose>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_link_10'>
+ <pose>-7.0 8.572527594031472e-16 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <pose>0 0 0 0 0 3.141592653589793</pose>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_model_0'>
+ <pose>8.0 0.0 0.1 0 -0 0.0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_model_1'>
+ <pose>7.608452130361228 2.472135954999579 0.1 0 -0 0.3141592653589793</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_model_2'>
+ <pose>6.47213595499958 4.702282018339785 0.1 0 -0 0.6283185307179586</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_model_3'>
+ <pose>4.702282018339785 6.47213595499958 0.1 0 -0 0.9424777960769379</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_model_4'>
+ <pose>2.4721359549995796 7.608452130361228 0.1 0 -0 1.2566370614359172</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_model_5'>
+ <pose>4.898587196589413e-16 8.0 0.1 0 -0 1.5707963267948966</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_model_6'>
+ <pose>-2.4721359549995787 7.608452130361229 0.1 0 -0 1.8849555921538759</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_model_7'>
+ <pose>-4.702282018339784 6.47213595499958 0.1 0 -0 2.199114857512855</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_model_8'>
+ <pose>-6.472135954999579 4.702282018339786 0.1 0 -0 2.5132741228718345</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_model_9'>
+ <pose>-7.608452130361228 2.47213595499958 0.1 0 -0 2.827433388230814</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <model name='box_model_10'>
+ <pose>-8.0 9.797174393178826e-16 0.1 0 -0 3.141592653589793</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass>1</mass>
+ <inertia>
+ <ixx>0.02416666666666667</ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy>0.02416666666666667</iyy>
+ <iyz>0</iyz>
+ <izz>0.041666666666666664</izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.2</size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+
+ <gui fullscreen='0'>
+ <camera name='user_camera'>
+ <pose>-0.93396 -19.9626 11.7572 0 0.503643 1.6562</pose>
+ <view_controller>orbit</view_controller>
+ <projection_type>perspective</projection_type>
+ </camera>
+ </gui>
+ </world>
+</sdf>
diff --git a/test/worlds/friction_dir_test.world.erb b/test/worlds/friction_dir_test.world.erb
new file mode 100644
index 0000000..d039ff0
--- /dev/null
+++ b/test/worlds/friction_dir_test.world.erb
@@ -0,0 +1,265 @@
+<?xml version="1.0" ?>
+<%= "<!-- this file was generated using embedded ruby -->" %>
+<sdf version='1.6'>
+ <world name='default'>
+ <include>
+ <uri>model://sun</uri>
+ </include>
+ <include>
+ <uri>model://ground_plane</uri>
+ </include>
+ <gravity>0 1 -9.81</gravity>
+<%
+ # Test pyramid friction model
+ # Set asymmetric friction coefficients and friction direction
+ require 'matrix'
+ def a_to_s(v)
+ Array(v).join(" ")
+ end
+
+ # box dimensions
+ dx = 0.5
+ dy = dx
+ dz = 0.2
+
+ box = {}
+ box[:size] = Vector[dx, dy, dz]
+ box[:mass] = 1
+ box[:ixx] = box[:mass] / 12.0 * (dy**2 + dz**2)
+ box[:iyy] = box[:mass] / 12.0 * (dz**2 + dx**2)
+ box[:izz] = box[:mass] / 12.0 * (dx**2 + dy**2)
+
+ box_count = 10
+ box_angles = Math::PI * Vector[*(0..box_count)] / box_count
+
+ rings = {}
+ rings["fdir"] = {:radius => 5}
+ rings["collision"] = {:radius => 6}
+ rings["link"] = {:radius => 7}
+ rings["model"] = {:radius => 8}
+
+ ring_name = "fdir"
+ ring = rings[ring_name]
+ box_angles.each_with_index do |a,i|
+ name = "box_#{ring_name}_#{i}"
+ pos_xy = ring[:radius] * Vector[Math.cos(a), Math.sin(a)]
+ fdir = Vector[-Math.sin(a), Math.cos(a)]
+%>
+ <model name='<%= name %>'>
+ <pose><%= a_to_s(pos_xy) %> 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass><%= box[:mass] %></mass>
+ <inertia>
+ <ixx><%= box[:ixx] %></ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy><%= box[:iyy] %></iyy>
+ <iyz>0</iyz>
+ <izz><%= box[:izz] %></izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1><%= a_to_s(fdir) %> 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+<%
+ end
+ ring_name = "collision"
+ ring = rings[ring_name]
+ box_angles.each_with_index do |a,i|
+ name = "box_#{ring_name}_#{i}"
+ pos_xy = ring[:radius] * Vector[Math.cos(a), Math.sin(a)]
+%>
+ <model name='<%= name %>'>
+ <pose><%= a_to_s(pos_xy) %> 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <inertial>
+ <mass><%= box[:mass] %></mass>
+ <inertia>
+ <ixx><%= box[:ixx] %></ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy><%= box[:iyy] %></iyy>
+ <iyz>0</iyz>
+ <izz><%= box[:izz] %></izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ <pose>0 0 0 0 0 <%= a %></pose>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+<%
+ end
+ ring_name = "link"
+ ring = rings[ring_name]
+ box_angles.each_with_index do |a,i|
+ name = "box_#{ring_name}_#{i}"
+ pos_xy = ring[:radius] * Vector[Math.cos(a), Math.sin(a)]
+%>
+ <model name='<%= name %>'>
+ <pose><%= a_to_s(pos_xy) %> 0.1 0 -0 0</pose>
+ <link name='link_1'>
+ <pose>0 0 0 0 0 <%= a %></pose>
+ <inertial>
+ <mass><%= box[:mass] %></mass>
+ <inertia>
+ <ixx><%= box[:ixx] %></ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy><%= box[:iyy] %></iyy>
+ <iyz>0</iyz>
+ <izz><%= box[:izz] %></izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+<%
+ end
+ ring_name = "model"
+ ring = rings[ring_name]
+ box_angles.each_with_index do |a,i|
+ name = "box_#{ring_name}_#{i}"
+ pos_xy = ring[:radius] * Vector[Math.cos(a), Math.sin(a)]
+%>
+ <model name='<%= name %>'>
+ <pose><%= a_to_s(pos_xy) %> 0.1 0 -0 <%= a %></pose>
+ <link name='link_1'>
+ <inertial>
+ <mass><%= box[:mass] %></mass>
+ <inertia>
+ <ixx><%= box[:ixx] %></ixx>
+ <ixy>0</ixy>
+ <ixz>0</ixz>
+ <iyy><%= box[:iyy] %></iyy>
+ <iyz>0</iyz>
+ <izz><%= box[:izz] %></izz>
+ </inertia>
+ </inertial>
+ <collision name='collision'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>100</mu>
+ <mu2>0</mu2>
+ <fdir1>0 1 0</fdir1>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual'>
+ <geometry>
+ <box>
+ <size><%= a_to_s(box[:size]) %></size>
+ </box>
+ </geometry>
+ <material>
+ <script>
+ <name>Gazebo/Grey</name>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ </script>
+ </material>
+ </visual>
+ </link>
+ </model>
+<%
+ end
+%>
+ <gui fullscreen='0'>
+ <camera name='user_camera'>
+ <pose>-0.93396 -19.9626 11.7572 0 0.503643 1.6562</pose>
+ <view_controller>orbit</view_controller>
+ <projection_type>perspective</projection_type>
+ </camera>
+ </gui>
+ </world>
+</sdf>
diff --git a/test/worlds/friction_spheres.world b/test/worlds/friction_spheres.world
new file mode 100644
index 0000000..9996bb0
--- /dev/null
+++ b/test/worlds/friction_spheres.world
@@ -0,0 +1,1568 @@
+<?xml version="1.0" ?>
+<!-- this file was generated using embedded ruby -->
+<sdf version='1.6'>
+ <world name='default'>
+ <gui>
+ <camera name='user_camera'>
+ <pose>17 3 22 0 1.1 3.141592653589793</pose>
+ <view_controller>orbit</view_controller>
+ </camera>
+ </gui>
+ <include>
+ <uri>model://sun</uri>
+ </include>
+ <include>
+ <uri>model://ground_plane</uri>
+ </include>
+ <gravity>0 2 -9.81</gravity>
+
+ <model name="lowball_0.2a">
+ <pose>0 0 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0 0 -0.3 0 0 0</pose>
+ <mass>1.0</mass>
+ <inertia>
+ <ixx>0.016000000000000004</ixx>
+ <iyy>0.016000000000000004</iyy>
+ <izz>0.016000000000000004</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Red</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ <model name="lowball_0.2b">
+ <pose>2 0 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0 0 -0.3 0 0 0</pose>
+ <mass>2.0</mass>
+ <inertia>
+ <ixx>0.03200000000000001</ixx>
+ <iyy>0.03200000000000001</iyy>
+ <izz>0.03200000000000001</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Red</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ <model name="lowball_0.4a">
+ <pose>4 0 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0 0 -0.3 0 0 0</pose>
+ <mass>2.0</mass>
+ <inertia>
+ <ixx>0.03200000000000001</ixx>
+ <iyy>0.03200000000000001</iyy>
+ <izz>0.03200000000000001</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Green</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ <model name="lowball_0.4b">
+ <pose>6 0 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0 0 -0.3 0 0 0</pose>
+ <mass>4.0</mass>
+ <inertia>
+ <ixx>0.06400000000000002</ixx>
+ <iyy>0.06400000000000002</iyy>
+ <izz>0.06400000000000002</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Green</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ <model name="lowball_0.6a">
+ <pose>8 0 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0 0 -0.3 0 0 0</pose>
+ <mass>3.0</mass>
+ <inertia>
+ <ixx>0.048000000000000015</ixx>
+ <iyy>0.048000000000000015</iyy>
+ <izz>0.048000000000000015</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Blue</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ <model name="lowball_0.6b">
+ <pose>10 0 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0 0 -0.3 0 0 0</pose>
+ <mass>6.0</mass>
+ <inertia>
+ <ixx>0.09600000000000003</ixx>
+ <iyy>0.09600000000000003</iyy>
+ <izz>0.09600000000000003</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Blue</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ <model name="twoball_0.2a">
+ <pose>0 -2 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0 0.0 0 0 0 0</pose>
+ <mass>1.0</mass>
+ <inertia>
+ <ixx>0.09933333333333336</ixx>
+ <iyy>0.016000000000000004</iyy>
+ <izz>0.09933333333333336</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Red</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_b'>
+ <pose>0 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_b'>
+ <pose>0 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Red</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ <model name="twoball_0.2b">
+ <pose>2 -2 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0 0.0 0 0 0 0</pose>
+ <mass>2.0</mass>
+ <inertia>
+ <ixx>0.1986666666666667</ixx>
+ <iyy>0.03200000000000001</iyy>
+ <izz>0.1986666666666667</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Red</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_b'>
+ <pose>0 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_b'>
+ <pose>0 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Red</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ <model name="twoball_0.4a">
+ <pose>4 -2 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0 0.0 0 0 0 0</pose>
+ <mass>2.0</mass>
+ <inertia>
+ <ixx>0.1986666666666667</ixx>
+ <iyy>0.03200000000000001</iyy>
+ <izz>0.1986666666666667</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Green</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_b'>
+ <pose>0 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_b'>
+ <pose>0 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Green</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ <model name="twoball_0.4b">
+ <pose>6 -2 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0 0.0 0 0 0 0</pose>
+ <mass>4.0</mass>
+ <inertia>
+ <ixx>0.3973333333333334</ixx>
+ <iyy>0.06400000000000002</iyy>
+ <izz>0.3973333333333334</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Green</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_b'>
+ <pose>0 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_b'>
+ <pose>0 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Green</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ <model name="twoball_0.6a">
+ <pose>8 -2 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0 0.0 0 0 0 0</pose>
+ <mass>3.0</mass>
+ <inertia>
+ <ixx>0.29800000000000004</ixx>
+ <iyy>0.048000000000000015</iyy>
+ <izz>0.29800000000000004</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Blue</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_b'>
+ <pose>0 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_b'>
+ <pose>0 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Blue</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ <model name="twoball_0.6b">
+ <pose>10 -2 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0 0.0 0 0 0 0</pose>
+ <mass>6.0</mass>
+ <inertia>
+ <ixx>0.5960000000000001</ixx>
+ <iyy>0.09600000000000003</iyy>
+ <izz>0.5960000000000001</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Blue</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_b'>
+ <pose>0 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_b'>
+ <pose>0 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Blue</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ <model name="triball_0.2a">
+ <pose>0 -4 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0.0 0.0 0 0 0 0</pose>
+ <mass>1.0</mass>
+ <inertia>
+ <ixx>0.07155555555555557</ixx>
+ <iyy>0.07155555555555555</iyy>
+ <izz>0.12711111111111112</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0.3333333333333333 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0.3333333333333333 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Red</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_b'>
+ <pose>-0.16666666666666666 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_b'>
+ <pose>-0.16666666666666666 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Red</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_c'>
+ <pose>-0.16666666666666666 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_c'>
+ <pose>-0.16666666666666666 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Red</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ <model name="triball_0.2b">
+ <pose>2 -4 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0.0 0.0 0 0 0 0</pose>
+ <mass>2.0</mass>
+ <inertia>
+ <ixx>0.14311111111111113</ixx>
+ <iyy>0.1431111111111111</iyy>
+ <izz>0.25422222222222224</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0.3333333333333333 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0.3333333333333333 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Red</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_b'>
+ <pose>-0.16666666666666666 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_b'>
+ <pose>-0.16666666666666666 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Red</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_c'>
+ <pose>-0.16666666666666666 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_c'>
+ <pose>-0.16666666666666666 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Red</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ <model name="triball_0.4a">
+ <pose>4 -4 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0.0 0.0 0 0 0 0</pose>
+ <mass>2.0</mass>
+ <inertia>
+ <ixx>0.14311111111111113</ixx>
+ <iyy>0.1431111111111111</iyy>
+ <izz>0.25422222222222224</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0.3333333333333333 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0.3333333333333333 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Green</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_b'>
+ <pose>-0.16666666666666666 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_b'>
+ <pose>-0.16666666666666666 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Green</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_c'>
+ <pose>-0.16666666666666666 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_c'>
+ <pose>-0.16666666666666666 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Green</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ <model name="triball_0.4b">
+ <pose>6 -4 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0.0 0.0 0 0 0 0</pose>
+ <mass>4.0</mass>
+ <inertia>
+ <ixx>0.28622222222222227</ixx>
+ <iyy>0.2862222222222222</iyy>
+ <izz>0.5084444444444445</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0.3333333333333333 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0.3333333333333333 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Green</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_b'>
+ <pose>-0.16666666666666666 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_b'>
+ <pose>-0.16666666666666666 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Green</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_c'>
+ <pose>-0.16666666666666666 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_c'>
+ <pose>-0.16666666666666666 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Green</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ <model name="triball_0.6a">
+ <pose>8 -4 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0.0 0.0 0 0 0 0</pose>
+ <mass>3.0</mass>
+ <inertia>
+ <ixx>0.21466666666666673</ixx>
+ <iyy>0.21466666666666667</iyy>
+ <izz>0.3813333333333334</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0.3333333333333333 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0.3333333333333333 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Blue</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_b'>
+ <pose>-0.16666666666666666 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_b'>
+ <pose>-0.16666666666666666 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Blue</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_c'>
+ <pose>-0.16666666666666666 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.2</slip1>
+ <slip2>0.2</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_c'>
+ <pose>-0.16666666666666666 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Blue</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ <model name="triball_0.6b">
+ <pose>10 -4 0 0 0 0</pose>
+ <link name="link">
+ <pose>0 0 0.2 0 0 0</pose>
+ <inertial>
+ <pose>0.0 0.0 0 0 0 0</pose>
+ <mass>6.0</mass>
+ <inertia>
+ <ixx>0.42933333333333346</ixx>
+ <iyy>0.42933333333333334</iyy>
+ <izz>0.7626666666666668</izz>
+ <ixy>0.0</ixy>
+ <ixz>0.0</ixz>
+ <iyz>0.0</iyz>
+ </inertia>
+ </inertial>
+
+ <collision name='collision_a'>
+ <pose>0.3333333333333333 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_a'>
+ <pose>0.3333333333333333 0 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Blue</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_b'>
+ <pose>-0.16666666666666666 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_b'>
+ <pose>-0.16666666666666666 0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Blue</name>
+ </script>
+ </material>
+ </visual>
+
+ <collision name='collision_c'>
+ <pose>-0.16666666666666666 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>0.5</mu>
+ <mu2>0.5</mu2>
+ <slip1>0.1</slip1>
+ <slip2>0.1</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_c'>
+ <pose>-0.16666666666666666 -0.2886751345948129 0 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>0.2</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/Blue</name>
+ </script>
+ </material>
+ </visual>
+
+ </link>
+ </model>
+
+ </world>
+</sdf>
diff --git a/test/worlds/friction_spheres.world.erb b/test/worlds/friction_spheres.world.erb
new file mode 100644
index 0000000..581b649
--- /dev/null
+++ b/test/worlds/friction_spheres.world.erb
@@ -0,0 +1,182 @@
+<?xml version="1.0" ?>
+<%= "<!-- this file was generated using embedded ruby -->" %>
+<sdf version='1.6'>
+ <world name='default'>
+ <gui>
+ <camera name='user_camera'>
+ <pose>17 3 22 0 1.1 <%= Math::PI %></pose>
+ <view_controller>orbit</view_controller>
+ </camera>
+ </gui>
+ <include>
+ <uri>model://sun</uri>
+ </include>
+ <include>
+ <uri>model://ground_plane</uri>
+ </include>
+ <gravity>0 2 -9.81</gravity>
+<%
+ # World with several models with varying number of collision spheres
+ # SI units (length in meters)
+ require "matrix"
+ def a_to_s(v)
+ Array(v).join(" ")
+ end
+
+ # Geometry
+ ball_radius = 0.2
+ face_altitude = 0.5
+ side_length = face_altitude / (Math::sqrt(3) / 2.0)
+ ball_volume = 4.0 / 3.0 * Math::PI * ball_radius**3
+ def sphere_collision(name_suffix, pos, radius, color="Green", slip=1, friction=0.5)
+ """<collision name='collision_#{name_suffix}'>
+ <pose>#{ a_to_s(pos) } 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>#{ radius }</radius>
+ </sphere>
+ </geometry>
+ <surface>
+ <friction>
+ <ode>
+ <mu>#{ friction }</mu>
+ <mu2>#{ friction }</mu2>
+ <slip1>#{ slip }</slip1>
+ <slip2>#{ slip }</slip2>
+ </ode>
+ </friction>
+ </surface>
+ </collision>
+ <visual name='visual_#{ name_suffix }'>
+ <pose>#{ a_to_s(pos) } 0 0 0</pose>
+ <geometry>
+ <sphere>
+ <radius>#{ radius }</radius>
+ </sphere>
+ </geometry>
+ <material>
+ <script>
+ <uri>file://media/materials/scripts/gazebo.material</uri>
+ <name>Gazebo/#{ color }</name>
+ </script>
+ </material>
+ </visual>"""
+ end
+
+ models = {}
+ # "lowball" has one collision sphere with a hanging center of mass,
+ # which makes the ball slide instead of roll
+ models["lowball"] = {
+ :inertia_offset => Vector[0, 0, -0.3],
+ :ball_locations => {
+ "a" => Vector[0, 0, 0] ,
+ }
+ }
+ # "twoball" has two collision spheres
+ # it will slide in one direction and roll in the other direction
+ models["twoball"] = {
+ :ball_locations => {
+ "a" => Vector[0, side_length / 2.0, 0] ,
+ "b" => Vector[0, -side_length / 2.0, 0] ,
+ }
+ }
+ # "triball" has three collision spheres arranged in an equilateral triangle
+ # it will slide in any direction
+ models["triball"] = {
+ :ball_locations => {
+ "a" => Vector[ 2.0 / 3.0 * face_altitude, 0, 0] ,
+ "b" => Vector[-1.0 / 3.0 * face_altitude, side_length / 2.0, 0] ,
+ "c" => Vector[-1.0 / 3.0 * face_altitude, -side_length / 2.0, 0] ,
+ }
+ }
+
+ # there are several pairs of test cases
+ # each pair has the same product of mass and slip,
+ mass_slip = {}
+ mass_slip["0.2a"] = { :mass => 1.0, :slip => 0.2, :color => "Red"}
+ mass_slip["0.2b"] = { :mass => 2.0, :slip => 0.1, :color => "Red"}
+ mass_slip["0.4a"] = { :mass => 2.0, :slip => 0.2, :color => "Green"}
+ mass_slip["0.4b"] = { :mass => 4.0, :slip => 0.1, :color => "Green"}
+ mass_slip["0.6a"] = { :mass => 3.0, :slip => 0.2, :color => "Blue"}
+ mass_slip["0.6b"] = { :mass => 6.0, :slip => 0.1, :color => "Blue"}
+
+ models.keys.each_with_index do |model_prefix, i|
+ model = models[model_prefix]
+ ball_locations = model[:ball_locations]
+ ball_count = ball_locations.length
+ inertia_offset = model[:inertia_offset]
+ inertia_offset = model.key?(:inertia_offset) ? model[:inertia_offset] : Vector[0, 0, 0]
+
+ mass_slip.keys.each_with_index do |ms_name, ii|
+ ms = mass_slip[ms_name]
+ mass = ms[:mass]
+ slip = ms[:slip]
+ color = ms[:color]
+
+ # inertia
+ link_mass = mass
+ ball_mass = link_mass * 1.0/ball_count
+ ball_ixx = 2.0/5.0 * ball_mass * ball_radius**2
+ ball_iyy = 2.0/5.0 * ball_mass * ball_radius**2
+ ball_izz = 2.0/5.0 * ball_mass * ball_radius**2
+
+ # center of mass (com) and lumped inertia of balls
+ ball_com = Vector[0, 0, 0]
+ ball_locations.keys.each do |k|
+ ball_com += ball_locations[k] / ball_count
+ end
+ link_ixx = ball_count * ball_ixx
+ link_iyy = ball_count * ball_iyy
+ link_izz = ball_count * ball_izz
+ link_ixy = 0.0
+ link_ixz = 0.0
+ link_iyz = 0.0
+ ball_locations.keys.each do |k|
+ dx = ball_locations[k][0] - ball_com[0]
+ dy = ball_locations[k][1] - ball_com[1]
+ dz = ball_locations[k][2] - ball_com[2]
+ link_ixx += ball_mass * (dy**2 + dz**2)
+ link_iyy += ball_mass * (dz**2 + dx**2)
+ link_izz += ball_mass * (dx**2 + dy**2)
+ link_ixy -= ball_mass * dx*dy
+ link_ixz -= ball_mass * dx*dz
+ link_iyz -= ball_mass * dy*dz
+ end
+
+ model_name = "#{model_prefix}_#{ms_name}"
+ model_pose = Vector[2*ii, -2*i, 0, 0, 0, 0]
+%>
+ <model name="<%= model_name %>">
+ <pose><%= a_to_s(model_pose) %></pose>
+ <link name="link">
+ <pose>0 0 <%= ball_radius %> 0 0 0</pose>
+ <inertial>
+ <pose><%= a_to_s(ball_com + inertia_offset) %> 0 0 0</pose>
+ <mass><%= link_mass %></mass>
+ <inertia>
+ <ixx><%= link_ixx %></ixx>
+ <iyy><%= link_iyy %></iyy>
+ <izz><%= link_izz %></izz>
+ <ixy><%= link_ixy %></ixy>
+ <ixz><%= link_ixz %></ixz>
+ <iyz><%= link_iyz %></iyz>
+ </inertia>
+ </inertial>
+<%
+ # Place sphere collision and visual at each corner
+ ball_locations.keys.each_index do |first|
+ key = ball_locations.keys[first]
+ pos = ball_locations[key]
+%>
+ <%= sphere_collision(key, pos, ball_radius, color, slip) %>
+<%
+ end
+%>
+ </link>
+ </model>
+<%
+ end
+ end
+%>
+ </world>
+</sdf>
diff --git a/test/worlds/heightmap_material.world b/test/worlds/heightmap_lod_plugin.world
similarity index 80%
copy from test/worlds/heightmap_material.world
copy to test/worlds/heightmap_lod_plugin.world
index a64ce54..8b0f21d 100644
--- a/test/worlds/heightmap_material.world
+++ b/test/worlds/heightmap_lod_plugin.world
@@ -24,12 +24,9 @@
<pos>0 0 0</pos>
</heightmap>
</geometry>
- <material>
- <script>
- <uri>file://media/materials/scripts/gazebo.material</uri>
- <name>Gazebo/Red</name>
- </script>
- </material>
+ <plugin name="lod" filename="libHeightmapLODPlugin.so">
+ <lod>5</lod>
+ </plugin>
</visual>
</link>
</model>
diff --git a/test/worlds/heightmap_material.world b/test/worlds/heightmap_material.world
index a64ce54..8e5c757 100644
--- a/test/worlds/heightmap_material.world
+++ b/test/worlds/heightmap_material.world
@@ -1,6 +1,11 @@
<?xml version="1.0" ?>
<sdf version="1.6">
<world name="default">
+
+ <include>
+ <uri>model://sun</uri>
+ </include>
+
<include><uri>model://camera</uri></include>
<model name="heightmap">
diff --git a/test/worlds/heightmap_material.world b/test/worlds/heightmap_material_shader.world
similarity index 82%
copy from test/worlds/heightmap_material.world
copy to test/worlds/heightmap_material_shader.world
index a64ce54..963ec6f 100644
--- a/test/worlds/heightmap_material.world
+++ b/test/worlds/heightmap_material_shader.world
@@ -1,6 +1,11 @@
<?xml version="1.0" ?>
<sdf version="1.6">
<world name="default">
+
+ <include>
+ <uri>model://sun</uri>
+ </include>
+
<include><uri>model://camera</uri></include>
<model name="heightmap">
@@ -26,8 +31,8 @@
</geometry>
<material>
<script>
- <uri>file://media/materials/scripts/gazebo.material</uri>
- <name>Gazebo/Red</name>
+ <uri>file://media/materials/scripts/heightmap_custom.material</uri>
+ <name>Gazebo/CustomHeightmapShader</name>
</script>
</material>
</visual>
diff --git a/test/worlds/inertia_rotations.world b/test/worlds/inertia_rotations.world
index f662919..4feb41c 100644
--- a/test/worlds/inertia_rotations.world
+++ b/test/worlds/inertia_rotations.world
@@ -1,4 +1,5 @@
<?xml version="1.0" ?>
+<!-- this file was generated using embedded ruby -->
<sdf version="1.5">
<world name="inertia_rotations">
<include>
diff --git a/test/worlds/inertia_rotations.world.erb b/test/worlds/inertia_rotations.world.erb
index e925507..c35aa44 100644
--- a/test/worlds/inertia_rotations.world.erb
+++ b/test/worlds/inertia_rotations.world.erb
@@ -1,4 +1,5 @@
<?xml version="1.0" ?>
+<%= "<!-- this file was generated using embedded ruby -->" %>
<sdf version="1.5">
<world name="inertia_rotations">
<include>
diff --git a/test/worlds/pendulum_axes.world b/test/worlds/pendulum_axes.world
index e3c7ce5..8033876 100644
--- a/test/worlds/pendulum_axes.world
+++ b/test/worlds/pendulum_axes.world
@@ -1,4 +1,5 @@
<?xml version="1.0" ?>
+<!-- this file was generated using embedded ruby -->
<sdf version="1.5">
<world name="default">
diff --git a/test/worlds/pendulum_axes.world.erb b/test/worlds/pendulum_axes.world.erb
index e59f970..24667b3 100644
--- a/test/worlds/pendulum_axes.world.erb
+++ b/test/worlds/pendulum_axes.world.erb
@@ -1,4 +1,5 @@
<?xml version="1.0" ?>
+<%= "<!-- this file was generated using embedded ruby -->" %>
<%
# Pendulum axes test
# Pendulums with different link frame orientations
diff --git a/test/worlds/torsional_friction_test.world b/test/worlds/torsional_friction_test.world
index 64eace6..62af2e3 100644
--- a/test/worlds/torsional_friction_test.world
+++ b/test/worlds/torsional_friction_test.world
@@ -1,4 +1,5 @@
<?xml version="1.0" ?>
+<!-- this file was generated using embedded ruby -->
<sdf version="1.5">
<world name="default">
diff --git a/test/worlds/torsional_friction_test.world.erb b/test/worlds/torsional_friction_test.world.erb
index d1ee8ee..81cf01e 100644
--- a/test/worlds/torsional_friction_test.world.erb
+++ b/test/worlds/torsional_friction_test.world.erb
@@ -1,4 +1,5 @@
<?xml version="1.0" ?>
+<%= "<!-- this file was generated using embedded ruby -->" %>
<%
# Torsional friction test world
# Spheres with single points of contact. Torque about the vertical axis
diff --git a/tools/gz.cc b/tools/gz.cc
index b44fe2c..b7bc1a5 100644
--- a/tools/gz.cc
+++ b/tools/gz.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/tools/gz.hh b/tools/gz.hh
index c12e27f..65cb34d 100644
--- a/tools/gz.hh
+++ b/tools/gz.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/tools/gz_TEST.cc b/tools/gz_TEST.cc
index bf8f4a0..b86957c 100644
--- a/tools/gz_TEST.cc
+++ b/tools/gz_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 Open Source Robotics Foundation
+ * Copyright (C) 2013 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/tools/gz_log.cc b/tools/gz_log.cc
index cdc062c..2445889 100644
--- a/tools/gz_log.cc
+++ b/tools/gz_log.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/tools/gz_log.hh b/tools/gz_log.hh
index fc01965..79a9d32 100644
--- a/tools/gz_log.hh
+++ b/tools/gz_log.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/tools/gz_log_TEST.cc b/tools/gz_log_TEST.cc
index 30d8bf5..d5b3bc0 100644
--- a/tools/gz_log_TEST.cc
+++ b/tools/gz_log_TEST.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -147,7 +147,7 @@ TEST(gz_log, EchoFilter)
else if (std::string("1.5").compare(SDF_VERSION) == 0)
EXPECT_EQ(shasum, "6ab471e6c410ebe90a939383bd168660ba9019e8");
else if (std::string("1.6").compare(SDF_VERSION) == 0)
- EXPECT_EQ(shasum, "fa985e8b71e5bef52b1c8c824d4536bb5ad8b3b4");
+ EXPECT_EQ(shasum, "da29428454cff7ef3b54115db8cd52b11dc055f9");
else
FAIL() << "Please add support for sdf version: " << SDF_VERSION;
@@ -308,7 +308,7 @@ TEST(gz_log, Step)
else if (std::string("1.5").compare(SDF_VERSION) == 0)
EXPECT_EQ(shasum, "cc55bc387eec68fc2b2aef70bfb7372a2706a6dc");
else if (std::string("1.6").compare(SDF_VERSION) == 0)
- EXPECT_EQ(shasum, "eefcf9d19040d39c9dbb49d3ee771fee820032d3");
+ EXPECT_EQ(shasum, "414d50cf03c3650c112062a90a8c87acccbab893");
else
FAIL() << "Please add support for sdf version: " << SDF_VERSION;
@@ -320,7 +320,7 @@ TEST(gz_log, Step)
else if (std::string("1.5").compare(SDF_VERSION) == 0)
EXPECT_EQ(shasum, "37934b37eb4e2e7d88ed764c296232124c8a38ab");
else if (std::string("1.6").compare(SDF_VERSION) == 0)
- EXPECT_EQ(shasum, "e4a90a629b65ff0eede877f75bcf203cfa2f7891");
+ EXPECT_EQ(shasum, "c713b28ea4da6a7a9750aba1d9e65c12756ce026");
else
FAIL() << "Please add support for sdf version: " << SDF_VERSION;
}
diff --git a/tools/gz_topic.cc b/tools/gz_topic.cc
index fca4ef6..141682d 100644
--- a/tools/gz_topic.cc
+++ b/tools/gz_topic.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/tools/gz_topic.hh b/tools/gz_topic.hh
index 9000480..021b458 100644
--- a/tools/gz_topic.hh
+++ b/tools/gz_topic.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Open Source Robotics Foundation
+ * Copyright (C) 2014 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/tools/gzprop.1.ronn b/tools/gzprop.1.ronn
index 6453fda..557ab3b 100644
--- a/tools/gzprop.1.ronn
+++ b/tools/gzprop.1.ronn
@@ -21,7 +21,7 @@ Package an existing model directory into a tarball suitable for upload to thepro
Open Source Robotics Foundation
## COPYRIGHT
- Copyright (C) 2012-2016 Open Source Robotics Foundation
+ Copyright (C) 2012 Open Source Robotics Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/tools/sdf2pov.cc b/tools/sdf2pov.cc
index 769a0c1..1ea4c5e 100644
--- a/tools/sdf2pov.cc
+++ b/tools/sdf2pov.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2016 Open Source Robotics Foundation
+ * Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/tools/website/backup.rb b/tools/website/backup.rb
index 4e391c4..0a6cd8d 100755
--- a/tools/website/backup.rb
+++ b/tools/website/backup.rb
@@ -1,6 +1,6 @@
#!/usr/bin/env ruby
-# Copyright (C) 2012-2016 Open Source Robotics Foundation
+# Copyright (C) 2012 Open Source Robotics Foundation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
diff --git a/tools/website/gazebo_install.run b/tools/website/gazebo_install.run
index c67d5f9..9937aba 100755
--- a/tools/website/gazebo_install.run
+++ b/tools/website/gazebo_install.run
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright (C) 2012-2016 Open Source Robotics Foundation
+# Copyright (C) 2012 Open Source Robotics Foundation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
diff --git a/worlds/attach_lights.world b/worlds/attach_lights.world
new file mode 100644
index 0000000..76641e5
--- /dev/null
+++ b/worlds/attach_lights.world
@@ -0,0 +1,83 @@
+<?xml version="1.0" ?>
+<sdf version="1.6">
+ <world name="default">
+ <include>
+ <uri>model://ground_plane</uri>
+ </include>
+
+ <!-- blue point light -->
+ <light type="point" name="point">
+ <pose>0 0 0 0 0 0</pose>
+ <diffuse>0 0 1 1</diffuse>
+ <specular>.1 .1 .1 1</specular>
+ <attenuation>
+ <range>1</range>
+ <linear>0.2</linear>
+ <constant>0.8</constant>
+ <quadratic>0.01</quadratic>
+ </attenuation>
+ <cast_shadows>false</cast_shadows>
+ </light>
+
+ <!-- red point light -->
+ <light type="point" name="point2">
+ <pose>0 0 0 0 0 0</pose>
+ <diffuse>1 0 0 1</diffuse>
+ <specular>.1 .1 .1 1</specular>
+ <attenuation>
+ <range>20</range>
+ <linear>0.2</linear>
+ <constant>0.8</constant>
+ <quadratic>0.01</quadratic>
+ </attenuation>
+ <cast_shadows>false</cast_shadows>
+ </light>
+
+ <!-- green spot light -->
+ <light type="spot" name="spot">
+ <pose>0 0 0 0 0 0</pose>
+ <diffuse>0 1 0 1</diffuse>
+ <specular>.2 .2 .2 1</specular>
+ <attenuation>
+ <range>10</range>
+ <linear>0.01</linear>
+ <constant>0.2</constant>
+ <quadratic>0.0</quadratic>
+ </attenuation>
+ <direction>0 0 -1</direction>
+ <spot>
+ <inner_angle>0.1</inner_angle>
+ <outer_angle>0.5</outer_angle>
+ <falloff>1.2</falloff>
+ </spot>
+ <cast_shadows>false</cast_shadows>
+ </light>
+
+ <!-- double pendulum with point and spot lights attached -->
+ <model name="double_pendulum_with_lights">
+ <include>
+ <uri>model://double_pendulum_with_base</uri>
+ </include>
+ <plugin name="attach_light" filename="libAttachLightPlugin.so">
+ <link>
+ <link_name>double_pendulum_with_base::upper_link</link_name>
+ <light>
+ <light_name>point</light_name>
+ </light>
+ <light>
+ <pose>0 0 0.45 0 0 0</pose>
+ <light_name>point2</light_name>
+ </light>
+ </link>
+ <link>
+ <link_name>double_pendulum_with_base::lower_link</link_name>
+ <light>
+ <pose>0 0 0.9 3.14 0 0</pose>
+ <light_name>spot</light_name>
+ </light>
+ </link>
+ </plugin>
+ </model>
+
+ </world>
+</sdf>
diff --git a/worlds/touch_plugin_demo.world b/worlds/touch_plugin_demo.world
new file mode 100644
index 0000000..0c29987
--- /dev/null
+++ b/worlds/touch_plugin_demo.world
@@ -0,0 +1,227 @@
+<?xml version="1.0" ?>
+<sdf version="1.5">
+ <world name="default">
+ <include>
+ <uri>model://ground_plane</uri>
+ </include>
+ <include>
+ <uri>model://sun</uri>
+ </include>
+
+ <model name="white_box">
+ <pose>0 0 0.25 0 0 0</pose>
+
+ <link name="link">
+ <collision name="collision">
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.5</size>
+ </box>
+ </geometry>
+ <surface>
+ <contact>
+ <ode>
+ <max_vel>0.00</max_vel>
+ <min_depth>0.01</min_depth>
+ </ode>
+ </contact>
+ </surface>
+ </collision>
+ <visual name="visual">
+ <geometry>
+ <box>
+ <size>0.5 0.5 0.5</size>
+ </box>
+ </geometry>
+ </visual>
+
+ <sensor name="white_box_sensor" type="contact">
+ <contact>
+ <collision>collision</collision>
+ </contact>
+ </sensor>
+
+ </link>
+
+ <plugin name="touch_box" filename="libTouchPlugin.so">
+ <sensor>white_box_sensor</sensor>
+ <target>green_box</target>
+ <time>3</time>
+ <namespace>white_touches_only_green</namespace>
+ <enabled>true</enabled>
+ </plugin>
+
+ </model>
+
+ <model name="red_yellow_box">
+ <pose>2 0 0.5 0 0 0</pose>
+
+ <link name="red">
+ <collision name="collision">
+ <geometry>
+ <box>
+ <size>1 1 1</size>
+ </box>
+ </geometry>
+ <surface>
+ <contact>
+ <ode>
+ <max_vel>0.00</max_vel>
+ <min_depth>0.01</min_depth>
+ </ode>
+ </contact>
+ </surface>
+ </collision>
+ <visual name="visual">
+ <geometry>
+ <box>
+ <size>1 1 1</size>
+ </box>
+ </geometry>
+ <material>
+ <ambient>1 0 0 1</ambient>
+ <emissive>1 0 0 1</emissive>
+ </material>
+ </visual>
+
+ <sensor name="red_box_sensor" type="contact">
+ <contact>
+ <collision>collision</collision>
+ </contact>
+ </sensor>
+
+ </link>
+
+ <link name="yellow">
+ <pose>0 2 0 0 0 0</pose>
+ <collision name="collision">
+ <geometry>
+ <box>
+ <size>1 1 1</size>
+ </box>
+ </geometry>
+ <surface>
+ <contact>
+ <ode>
+ <max_vel>0.00</max_vel>
+ <min_depth>0.01</min_depth>
+ </ode>
+ </contact>
+ </surface>
+ </collision>
+ <visual name="visual">
+ <geometry>
+ <box>
+ <size>1 1 1</size>
+ </box>
+ </geometry>
+ <material>
+ <ambient>1 1 0 1</ambient>
+ <emissive>1 1 0 1</emissive>
+ </material>
+ </visual>
+
+ <sensor name="yellow_box_sensor" type="contact">
+ <contact>
+ <collision>collision</collision>
+ </contact>
+ </sensor>
+
+ </link>
+
+ <plugin name="touch_box" filename="libTouchPlugin.so">
+ <sensor>red_box_sensor</sensor>
+ <sensor>yellow_box_sensor</sensor>
+ <target>green_box</target>
+ <time>5</time>
+ <namespace>red_and_yellow_touch_only_green</namespace>
+ <enabled>true</enabled>
+ </plugin>
+
+ </model>
+
+ <model name="blue_box">
+ <pose>-2 0 0.5 0 0 0</pose>
+
+ <link name="link">
+ <collision name="collision">
+ <geometry>
+ <box>
+ <size>1 1 1</size>
+ </box>
+ </geometry>
+ <surface>
+ <contact>
+ <ode>
+ <max_vel>0.00</max_vel>
+ <min_depth>0.01</min_depth>
+ </ode>
+ </contact>
+ </surface>
+ </collision>
+ <visual name="visual">
+ <geometry>
+ <box>
+ <size>1 1 1</size>
+ </box>
+ </geometry>
+ <material>
+ <ambient>0 0 1 1</ambient>
+ <emissive>0 0 1 1</emissive>
+ </material>
+ </visual>
+
+ <sensor name="blue_box_sensor" type="contact">
+ <contact>
+ <collision>collision</collision>
+ </contact>
+ </sensor>
+
+ </link>
+
+ <plugin name="touch_box" filename="libTouchPlugin.so">
+ <sensor>blue_box_sensor</sensor>
+ <target>green_box</target>
+ <time>2</time>
+ <namespace>blue_touches_only_green</namespace>
+ </plugin>
+
+ </model>
+
+ <model name="green_box">
+ <pose>4 0 0.5 0 0 0</pose>
+
+ <link name="link">
+ <collision name="collision">
+ <geometry>
+ <box>
+ <size>1 1 1</size>
+ </box>
+ </geometry>
+ <surface>
+ <contact>
+ <ode>
+ <max_vel>0.00</max_vel>
+ <min_depth>0.01</min_depth>
+ </ode>
+ </contact>
+ </surface>
+ </collision>
+ <visual name="visual">
+ <geometry>
+ <box>
+ <size>1 1 1</size>
+ </box>
+ </geometry>
+ <material>
+ <ambient>0 1 0 1</ambient>
+ <emissive>0 1 0 1</emissive>
+ </material>
+ </visual>
+
+ </link>
+
+ </model>
+
+ </world>
+</sdf>
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/gazebo.git
More information about the debian-science-commits
mailing list