1. John Hsu
  2. gazebo_dart

Commits

Jeongseok Lee  committed 6b580f0 Draft Merge

Merge with gazebo_3.0

  • Participants
  • Parent commits 661ef01, fd8aec5
  • Branches gazebo_3.0_dart_4.0_atlas_test

Comments (0)

Files changed (712)

File .hgtags

View file
 59d5a5c846f6d823932909729909cddf8a327e49 gazebo-current_2.2.2
 59d5a5c846f6d823932909729909cddf8a327e49 gazebo-current_2.2.2
 e1159a7f54fe81b60fb5745304332d2eef501f3f gazebo-current_2.2.2
+946198221ceaaae360616b150983c51da83b8b42 gazebo-prerelease_3.0.0
+946198221ceaaae360616b150983c51da83b8b42 gazebo-prerelease_3.0.0
+624ee97220122390db19b8fbf28a569a6fd2c54e gazebo-prerelease_3.0.0
+624ee97220122390db19b8fbf28a569a6fd2c54e gazebo-prerelease_3.0.0
+84ef113052c6a400a7181fd9532fa55e95b8bc0a gazebo-prerelease_3.0.0
+113e62ae4d2f8601d15fd2deed0160ab43d5cf15 gazebo3-prerelease_3.0.0
+113e62ae4d2f8601d15fd2deed0160ab43d5cf15 gazebo3-prerelease_3.0.0
+8133d511549f58c187d8dff98f0c79adc10a665a gazebo3-prerelease_3.0.0
+95d00f7352aa4a402638c3c772d055fdf95ce6f4 gazebo3-prerelease_3.0.1

File CMakeLists.txt

View file
 # The patch version may have been bumped for prerelease purposes; be sure to
 # check gazebo-release/ubuntu/debian/changelog@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})
 
 set (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/gazebo-${GAZEBO_VERSION}/gazebo") 
 set (LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
-set (LIB_INSTALL_DIR_ARCH_INDEPENDENT "lib/")
 set (BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR})
     
 set (BUILD_GAZEBO ON CACHE INTERNAL "Build Gazebo" FORCE)
 endif()
 
 # Check if warning options are avaliable for the compiler and return WARNING_CXX_FLAGS variable
-filter_valid_compiler_warnings(-Wall -Wextra -Wno-long-long -Wno-unused-value -Wno-unused-value 
+filter_valid_compiler_flags(-Wall -Wextra -Wno-long-long -Wno-unused-value -Wno-unused-value 
                                -Wno-unused-value -Wno-unused-value -Wfloat-equal -Wshadow 
 			       -Winit-self -Wswitch-default -Wmissing-include-dirs -pedantic)
-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${WARNING_CXX_FLAGS}")
+
+# Check and add visibility hidden by default. Only in UNIX
+# Windows and MacosX does not handled properly the hidden compilation
+if (UNIX AND NOT APPLE)
+  filter_valid_compiler_flags(-fvisibility=hidden -fvisibility-inlines-hidden)
+endif()
+
+set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${VALID_CXX_FLAGS}")
 
 #################################################
 # OS Specific initialization
   gz_setup_apple()
 endif()
 
+# Main includes for compilation
+include_directories(${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR})
+
 #################################################
 # Configure 3rd Party Packages after OS Specific initialization
 message (STATUS "\n\n====== Configuring 3rd Party Packages ======")
   # Also install the setup.sh in an unversioned location
   install(FILES ${CMAKE_CURRENT_BINARY_DIR}/setup.sh DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/gazebo/)
  
-  include_directories(${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR})
 
   if (DEFINED CMAKE_CXX_FLAGS)
     message (STATUS "Custom CFlags:${CMAKE_CXX_FLAGS}")
 
   foreach (pkgconfig ${pkgconfig_files})
     configure_file(${CMAKE_SOURCE_DIR}/cmake/pkgconfig/${pkgconfig}.in ${CMAKE_CURRENT_BINARY_DIR}/cmake/pkgconfig/${pkgconfig}.pc @ONLY)
-    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/pkgconfig/${pkgconfig}.pc DESTINATION ${LIB_INSTALL_DIR_ARCH_INDEPENDENT}/pkgconfig COMPONENT pkgconfig)
+    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/pkgconfig/${pkgconfig}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig COMPONENT pkgconfig)
   endforeach()
 
   ########################################

File Migration.md

View file
     ---
     + ***Deprecation*** double GetDampingCoefficient() const
     + ***Replacement*** double GetDamping(int _index)
+
 1. **gazebo/physics/ode/ODEJoint.hh**
     + ***Deprecation*** void CFMDamping()
     + ***Replacement*** void ApplyImplicitStiffnessDamping()
 
+1. **gazebo/physics/ScrewJoint.hh**
+    + ***Deprecation*** virtual void SetThreadPitch(unsigned int _index, double _threadPitch) = 0
+    + ***Replacement*** virtual void SetThreadPitch(double _threadPitch) = 0
+    ---
+    + ***Deprecation*** virtual void GetThreadPitch(unsigned int _index) = 0
+    + ***Replacement*** virtual void GetThreadPitch() = 0
+
+1. **gazebo/physics/bullet/BulletScrewJoint.hh**
+    + ***Deprecation*** protected: virtual void Load(sdf::ElementPtr _sdf)
+    + ***Replacement*** public: virtual void Load(sdf::ElementPtr _sdf)
+
+1. **gazebo/physics/PhysicsEngine.hh**
+    + ***Deprecation*** virtual void SetSORPGSPreconIters(unsigned int _iters)
+    + ***Replacement*** virtual bool SetParam(const std::string &_key, const boost::any &_value)
+    ---
+    + ***Deprecation*** virtual void SetSORPGSIters(unsigned int _iters)
+    + ***Replacement*** virtual bool SetParam(const std::string &_key, const boost::any &_value)
+    ---
+    + ***Deprecation*** virtual void SetSORPGSW(double _w)
+    + ***Replacement*** virtual bool SetParam(const std::string &_key, const boost::any &_value)
+    ---
+    + ***Deprecation*** virtual int GetSORPGSPreconIters()
+    + ***Replacement*** virtual boost::any GetParam(const std::string &_key) const
+    ---
+    + ***Deprecation*** virtual int GetSORPGSIters()
+    + ***Replacement*** virtual boost::any GetParam(const std::string &_key) const
+    ---
+    + ***Deprecation*** virtual double GetSORPGSW()
+    + ***Replacement*** virtual boost::any GetParam(const std::string &_key) const
+
+1. **gazebo/physics/bullet/BulletPhysics.hh**
+    + ***Deprecation*** virtual bool SetParam(BulletParam _param, const boost::any &_value)
+    + ***Replacement*** virtual bool SetParam(const std::string &_key, const boost::any &_value)
+    ---
+    + ***Deprecation*** virtual boost::any GetParam(BulletParam _param) const
+    + ***Replacement*** virtual boost::any GetParam(const std::string &_key) const
+
+1. **gazebo/physics/ode/ODEPhysics.hh**
+    + ***Deprecation*** virtual bool SetParam(ODEParam _param, const boost::any &_value)
+    + ***Replacement*** virtual bool SetParam(const std::string &_key, const boost::any &_value)
+    ---
+    + ***Deprecation*** virtual boost::any GetParam(ODEParam _param) const
+    + ***Replacement*** virtual boost::any GetParam(const std::string &_key) const
+
+1. **gazebo/physics/dart/DARTPhysics.hh**
+    + ***Deprecation*** virtual boost::any GetParam(DARTParam _param) const
+    + ***Replacement*** virtual boost::any GetParam(const std::string &_key) const
+
+1. **gazebo/physics/Joint.hh**
+    + ***Deprecation*** virtual double GetAttribute(const std::string &_key, unsigned int _index) = 0
+    + ***Replacement*** virtual double GetParam(const std::string &_key, unsigned int _index) = 0;
+
+1. **gazebo/physics/bullet/BulletJoint.hh**
+    + ***Deprecation*** virtual double GetAttribute(const std::string &_key, unsigned int _index)
+    + ***Replacement*** virtual double GetParam(const std::string &_key, unsigned int _index)
+
+1. **gazebo/physics/bullet/BulletScrewJoint.hh**
+    + ***Deprecation*** virtual double GetAttribute(const std::string &_key, unsigned int _index)
+    + ***Replacement*** virtual double GetParam(const std::string &_key, unsigned int _index)
+ 
+1. **gazebo/physics/dart/DARTJoint.hh**
+    + ***Deprecation*** virtual double GetParam(const std::string &_key, unsigned int _index)
+    + ***Replacement*** virtual double GetAttribute(const std::string &_key, unsigned int _index)
+
+1. **gazebo/physics/ode/ODEJoint.hh**
+    + ***Deprecation*** virtual double GetParam(const std::string &_key, unsigned int _index)
+    + ***Replacement*** virtual double GetAttribute(const std::string &_key, unsigned int _index)
+
+1. **gazebo/physics/ode/ODEScrewJoint.hh**
+    + ***Deprecation*** virtual double GetParam(const std::string &_key, unsigned int _index)
+    + ***Replacement*** virtual double GetAttribute(const std::string &_key, unsigned int _index)
+
+1. **gazebo/physics/ode/ODEUniversalJoint.hh**
+    + ***Deprecation*** virtual double GetParam(const std::string &_key, unsigned int _index)
+    + ***Replacement*** virtual double GetAttribute(const std::string &_key, unsigned int _index)
+
+1. **gazebo/physics/simbody/SimbodyJoint.hh**
+    + ***Deprecation*** virtual double GetParam(const std::string &_key, unsigned int _index)
+    + ***Replacement*** virtual double GetAttribute(const std::string &_key, unsigned int _index)
+
+1. **gazebo/physics/simbody/SimbodyScrewJoint.hh**
+    + ***Deprecation*** virtual double GetParam(const std::string &_key, unsigned int _index)
+    + ***Replacement*** virtual double GetAttribute(const std::string &_key, unsigned int _index)
+
+1. **gazebo/physics/Joint.hh**
+    + ***Deprecation*** virtual void SetAttribute(const std::string &_key, unsigned int _index, const boost::any &_value) = 0
+    + ***Replacement*** virtual bool SetParam(const std::string &_key, unsigned int _index, const boost::any &_value) = 0
+
+1. **gazebo/physics/bullet/BulletJoint.hh**
+    + ***Deprecation*** virtual void SetAttribute(const std::string &_key, unsigned int _index, const boost::any &_value)
+    + ***Replacement*** virtual bool SetParam(const std::string &_key, unsigned int _index, const boost::any &_value)
+
+1. **gazebo/physics/dart/DARTJoint.hh**
+    + ***Deprecation*** virtual void SetAttribute(const std::string &_key, unsigned int _index, const boost::any &_value)
+    + ***Replacement*** virtual bool SetParam(const std::string &_key, unsigned int _index, const boost::any &_value)
+
+1. **gazebo/physics/ode/ODEJoint.hh**
+    + ***Deprecation*** virtual void SetAttribute(const std::string &_key, unsigned int _index, const boost::any &_value)
+    + ***Replacement*** virtual bool SetParam(const std::string &_key, unsigned int _index, const boost::any &_value)
+
+1. **gazebo/physics/ode/ODEScrewJoint.hh**
+    + ***Deprecation*** virtual void SetAttribute(const std::string &_key, unsigned int _index, const boost::any &_value)
+    + ***Replacement*** virtual bool SetParam(const std::string &_key, unsigned int _index, const boost::any &_value)
+
+1. **gazebo/physics/ode/ODEUniversalJoint.hh**
+    + ***Deprecation*** virtual void SetAttribute(const std::string &_key, unsigned int _index, const boost::any &_value)
+    + ***Replacement*** virtual bool SetParam(const std::string &_key, unsigned int _index, const boost::any &_value)
+
+1. **gazebo/physics/simbody/SimbodyJoint.hh**
+    + ***Deprecation*** virtual void SetAttribute(const std::string &_key, unsigned int _index, const boost::any &_value)
+    + ***Replacement*** virtual bool SetParam(const std::string &_key, unsigned int _index, const boost::any &_value)
+
+1. **gazebo/physics/simbody/SimbodyScrewJoint.hh**
+    + ***Deprecation*** virtual void SetAttribute(const std::string &_key, unsigned int _index, const boost::any &_value)
+    + ***Replacement*** virtual bool SetParam(const std::string &_key, unsigned int _index, const boost::any &_value)
+
 ### Modifications
 1. **gazebo/gui/GuiIface.hh**
     + ***Removed:*** void load() `ABI change`
-    + ***Replacement:*** bool load();
+    + ***Replacement:*** bool load()
     + ***Note:*** Changed return type from void to bool.
 1. **Functions in joint classes use unsigned int, instead of int**
     + All functions in Joint classes (gazebo/physics/\*Joint\*) and subclasses (gazebo/physics/[ode,bullet,simbody,dart]/\*Joint\*) now use unsigned integers instead of integers when referring to a specific joint axis.
     + ***Note:*** No changes to downstream code required. A third parameter has been added that specifies the number of timeout iterations. This parameter has a default value of 30.
 1. **gazebo/transport/TransportIface.hh**
     + ***Removed:*** bool init(const std::string &_masterHost = "", unsigned int _masterPort = 0) `ABI change`
-    + ***Replacement:*** bool init(const std::string &_masterHost = "", unsigned int _masterPort = 0, uint32_t _timeoutIterations = 30);
+    + ***Replacement:*** bool init(const std::string &_masterHost = "", unsigned int _masterPort = 0, uint32_t _timeoutIterations = 30)
     + ***Note:*** No changes to downstream code required. A third parameter has been added that specifies the number of timeout iterations. This parameter has a default value of 30.
 1. **gazebo/transport/Publication.hh**
     + ***Removed:*** void Publish(MessagePtr _msg, boost::function<void(uint32_t)> _cb, uint32_t _id) `ABI change`
     + ***Replacement:*** double RaySensor::GetFiducial(unsigned int _index)
     + ***Note:*** Changed argument type from int to unsigned int.
 
+1. **gazebo/physics/PhysicsEngine.hh**
+    + ***Removed*** virtual void SetParam(const std::string &_key, const boost::any &_value)
+    + ***Replacement*** virtual bool SetParam(const std::string &_key, const boost::any &_value)
+
+1. **gazebo/physics/ode/ODEPhysics.hh**
+    + ***Removed*** virtual void SetParam(const std::string &_key, const boost::any &_value)
+    + ***Replacement*** virtual bool SetParam(const std::string &_key, const boost::any &_value)
+
+1. **gazebo/physics/bullet/BulletPhysics.hh**
+    + ***Removed*** virtual void SetParam(const std::string &_key, const boost::any &_value)
+    + ***Replacement*** virtual bool SetParam(const std::string &_key, const boost::any &_value)
+
+1. **gazebo/physics/BallJoint.hh**
+    + ***Removed*** virtual void SetHighStop(unsigned int /*_index*/, const math::Angle &/*_angle*/)
+    + ***Replacement*** virtual bool SetHighStop(unsigned int /*_index*/, const math::Angle &/*_angle*/)
+    ---
+    + ***Removed*** virtual void SetLowStop(unsigned int /*_index*/, const math::Angle &/*_angle*/)
+    + ***Replacement*** virtual bool SetLowStop(unsigned int /*_index*/, const math::Angle &/*_angle*/)
+ 
+1. **gazebo/physics/Joint.hh**
+    + ***Removed*** virtual void SetHighStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetHighStop(unsigned int _index, const math::Angle &_angle)
+    ---
+    + ***Removed*** virtual void SetLowStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetLowStop(unsigned int _index, const math::Angle &_angle)
+
+1. **gazebo/physics/bullet/BulletBallJoint.hh**
+    + ***Removed*** virtual void SetHighStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetHighStop(unsigned int _index, const math::Angle &_angle)
+    ---
+    + ***Removed*** virtual void SetLowStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetLowStop(unsigned int _index, const math::Angle &_angle)
+ 
+1. **gazebo/physics/bullet/BulletHinge2Joint.hh**
+    + ***Removed*** virtual void SetHighStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetHighStop(unsigned int _index, const math::Angle &_angle)
+    ---
+    + ***Removed*** virtual void SetLowStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetLowStop(unsigned int _index, const math::Angle &_angle)
+
+1. **gazebo/physics/bullet/BulletHingeJoint.hh**
+    + ***Removed*** virtual void SetHighStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetHighStop(unsigned int _index, const math::Angle &_angle)
+    ---
+    + ***Removed*** virtual void SetLowStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetLowStop(unsigned int _index, const math::Angle &_angle)
+
+1. **gazebo/physics/bullet/BulletScrewJoint.hh**
+    + ***Removed*** virtual void SetHighStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetHighStop(unsigned int _index, const math::Angle &_angle)
+    ---
+    + ***Removed*** virtual void SetLowStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetLowStop(unsigned int _index, const math::Angle &_angle)
+
+1. **gazebo/physics/bullet/BulletSliderJoint.hh**
+    + ***Removed*** virtual void SetHighStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetHighStop(unsigned int _index, const math::Angle &_angle)
+    ---
+    + ***Removed*** virtual void SetLowStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetLowStop(unsigned int _index, const math::Angle &_angle)
+
+1. **gazebo/physics/bullet/BulletUniversalJoint.hh**
+    + ***Removed*** virtual void SetHighStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetHighStop(unsigned int _index, const math::Angle &_angle)
+    ---
+    + ***Removed*** virtual void SetLowStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetLowStop(unsigned int _index, const math::Angle &_angle)
+
+1. **gazebo/physics/dart/DARTJoint.hh**
+    + ***Removed*** virtual void SetHighStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetHighStop(unsigned int _index, const math::Angle &_angle)
+    ---
+    + ***Removed*** virtual void SetLowStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetLowStop(unsigned int _index, const math::Angle &_angle)
+
+1. **gazebo/physics/ode/ODEJoint.hh**
+    + ***Removed*** virtual void SetHighStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetHighStop(unsigned int _index, const math::Angle &_angle)
+    ---
+    + ***Removed*** virtual void SetLowStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetLowStop(unsigned int _index, const math::Angle &_angle)
+
+1. **gazebo/physics/ode/ODEUniversalJoint.hh**
+    + ***Removed*** virtual void SetHighStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetHighStop(unsigned int _index, const math::Angle &_angle)
+    ---
+    + ***Removed*** virtual void SetLowStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetLowStop(unsigned int _index, const math::Angle &_angle)
+
+1. **gazebo/physics/simbody/SimbodyJoint.hh**
+    + ***Removed*** virtual void SetHighStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetHighStop(unsigned int _index, const math::Angle &_angle)
+    ---
+    + ***Removed*** virtual void SetLowStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetLowStop(unsigned int _index, const math::Angle &_angle)
+
+1. **gazebo/physics/simbody/SimbodyScrewJoint.hh**
+    + ***Removed*** virtual void SetHighStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetHighStop(unsigned int _index, const math::Angle &_angle)
+    ---
+    + ***Removed*** virtual void SetLowStop(unsigned int _index, const math::Angle &_angle)
+    + ***Replacement*** virtual bool SetLowStop(unsigned int _index, const math::Angle &_angle)
+
 ### Additions
 
+1. **gazebo/transport/TransportIface.hh**
+    +  transport::ConnectionPtr connectToMaster()
+
 1. **gazebo/physics/World.hh**
     +  msgs::Scene GetSceneMsg() const
 1. **gazebo/physics/ContactManager.hh**
     + unsigned int GetFilterCount()
-    + bool HasFilter(const std::string &_name);
-    + void RemoveFilter(const std::string &_name);
+    + bool HasFilter(const std::string &_name)
+    + void RemoveFilter(const std::string &_name)
 
 1. **gazebo/physics/Joint.hh**
+    + virtual void Fini()
     + math::Pose GetAnchorErrorPose() const
     + math::Quaternion GetAxisFrame(unsigned int _index) const
+    + double GetWorldEnergyPotentialSpring(unsigned int _index) const
     + math::Pose GetParentWorldPose() const
     + double GetSpringReferencePosition(unsigned int) const
     + math::Pose GetWorldPose() const
     + virtual void SetStiffnessDamping(unsigned int _index, double _stiffness, double _damping, double _reference = 0) = 0
     + bool axisParentModelFrame[MAX_JOINT_AXIS]
     + protected: math::Pose parentAnchorPose
+    + public: double GetInertiaRatio(const math::Vector3 &_axis) const
 
 1. **gazebo/physics/Link.hh**
+    + double GetWorldEnergy() const
+    + double GetWorldEnergyKinetic() const
+    + double GetWorldEnergyPotential() const
     + bool initialized
 
+1. **gazebo/physics/Model.hh**
+    + double GetWorldEnergy() const
+    + double GetWorldEnergyKinetic() const
+    + double GetWorldEnergyPotential() const
+
 1. **gazebo/physics/SurfaceParams.hh**
     + FrictionPyramid()
     + ~FrictionPyramid()
 
 1. **gazebo/sensors/GaussianNoiseModel.hh**
 
+1. **gazebo/physics/ode/ODEUniversalJoint.hh**
+    + virtual void SetHighStop(unsigned int _index, const math::Angle &_angle)
+    + virtual void SetLowStop(unsigned int _index, const math::Angle &_angle)
+    + virtual void SetAttribute(const std::string &_key, unsigned int _index, const boost::any &_value)
+    + virtual double GetAttribute(const std::string &_key, unsigned int _index)
+
+1. **gazebo/physics/simbody/SimbodyScrewJoint.hh**
+    + virtual void SetThreadPitch(double _threadPitch)
+    + virtual void GetThreadPitch() 
+
+1. **gazebo/physics/ode/ODEScrewJoint.hh**
+    + virtual void SetThreadPitch(double _threadPitch)
+    + virtual void GetThreadPitch() 
+
+1. **gazebo/physics/ScrewJoint.hh**
+    + virtual math::Vector3 GetAnchor(unsigned int _index) const
+    + virtual void SetAnchor(unsigned int _index, const math::Vector3 &_anchor)
+
+1. **gazebo/physics/bullet/BulletJoint.hh**
+    + virtual math::Angle GetHighStop(unsigned int _index)
+    + virtual math::Angle GetLowStop(unsigned int _index)
+
+1. **gazebo/physics/simbody/SimbodyPhysics.hh**
+    + virtual boost::any GetParam(const std::string &_key) const
+    + virtual bool SetParam(const std::string &_key, const boost::any &_value)
+
+1. **gazebo/physics/dart/DARTPhysics.hh**
+    + virtual boost::any GetParam(const std::string &_key) const
+    + virtual bool SetParam(const std::string &_key, const boost::any &_value)
+
 ### Deletions
 
 1. **Removed libtool**
 1. **gazebo/physics/Joint.hh**
     + ***Removed:*** Joint::Load(LinkPtr _parent, LinkPtr _child, const math::Vector3 &_pos) `API chance`
     + ***Replacement:*** Joint::Load(LinkPtr _parent, LinkPtr _child, const math::Pose &_pose)
+    ---
+    + ***Removed:*** public: double GetInertiaRatio(unsigned int _index) const
+    + ***Replacement:*** public: double GetInertiaRatio(const unsigned int _index) const
 1. **gazebo/common/Events.hh**
     + ***Removed:*** Events::ConnectWorldUpdateStart(T _subscriber) `API change`
     + ***Replacement*** ConnectionPtr Events::ConnectWorldUpdateBegin(T _subscriber)

File cmake/GazeboUtils.cmake

View file
 macro (gz_install_executable _name)
   set_target_properties(${_name} PROPERTIES VERSION ${GAZEBO_VERSION_FULL})
   install (TARGETS ${_name} DESTINATION ${BIN_INSTALL_DIR})
-  manpage(${_name} 1)
 endmacro ()
 
 #################################################
 endif()
 
 #################################################
-# Macro to setup supported compiler warnings
+# Macro to setup supported compiler flags
 # Based on work of Florent Lamiraux, Thomas Moulard, JRL, CNRS/AIST. 
 include(CheckCXXCompilerFlag)
 
-macro(filter_valid_compiler_warnings) 
+macro(filter_valid_compiler_flags) 
   foreach(flag ${ARGN})
     CHECK_CXX_COMPILER_FLAG(${flag} R${flag})
     if(${R${flag}})
-      set(WARNING_CXX_FLAGS "${WARNING_CXX_FLAGS} ${flag}")
+      set(VALID_CXX_FLAGS "${VALID_CXX_FLAGS} ${flag}")
     endif()
   endforeach()
-endmacro()
+endmacro()

File cmake/Man.cmake

View file
+macro(ADD_MANPAGE_TARGET)
+  # It is not possible add a dependency to target 'install'
+  # Run hard-coded 'make man' when 'make install' is invoked
+  install(CODE "EXECUTE_PROCESS(COMMAND make man)")
+  add_custom_target(man)
+endmacro(ADD_MANPAGE_TARGET)
+
+find_program(GZIP gzip)
+
+if (NOT GZIP)
+  BUILD_WARNING ("gzip not found, manpages won't be generated")
+  macro(roffman MANFILE)
+  endmacro(roffman)
+else (NOT GZIP)
+  message (STATUS "Looking for gzip to generate manpages - found")
+
+  macro(roffman _source _section)
+    add_custom_command(
+      OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_source}.${_section}.gz
+      COMMAND ${GZIP} -c ${CMAKE_CURRENT_SOURCE_DIR}/${_source}.${_section}.roff
+        > ${CMAKE_CURRENT_BINARY_DIR}/${_source}.${_section}.gz
+    )
+
+    set(MANPAGE_TARGET "man-${_source}")
+
+    add_custom_target(${MANPAGE_TARGET}
+      DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_source}.${_section}.gz)
+    add_dependencies(man ${MANPAGE_TARGET})
+
+    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${_source}.${_section}.gz
+      DESTINATION share/man/man${_section}
+    )
+  endmacro(roffman _source _section)
+endif(NOT GZIP)

File cmake/Ronn2Man.cmake

View file
 # Copyright 2009, 2012 Emmanuel Roullit.
 # Subject to the GPL, version 2.
 #
-MACRO(ADD_MANPAGE_TARGET)
-  # It is not possible add a dependency to target 'install'
-  # Run hard-coded 'make man' when 'make install' is invoked
-  INSTALL(CODE "EXECUTE_PROCESS(COMMAND make man)")
-  ADD_CUSTOM_TARGET(man)
-ENDMACRO(ADD_MANPAGE_TARGET)
-
 FIND_PROGRAM(RONN ronn)
 FIND_PROGRAM(GZIP gzip)
 

File cmake/SearchForStuff.cmake

View file
 # Find packages
 if (PKG_CONFIG_FOUND)
 
-  pkg_check_modules(SDF sdformat>=1.4.10)
+  pkg_check_modules(SDF sdformat>=2.0.0)
   if (NOT SDF_FOUND)
     BUILD_ERROR ("Missing: SDF. Required for reading and writing SDF files.")
   endif()
     link_directories(${libavcodec_LIBRARY_DIRS})
   endif ()
 
-  if (libavformat_FOUND AND libavcodec_FOUND AND libswscale_FOUND)
+  ########################################
+  # Find avutil
+  pkg_check_modules(libavutil libavutil)
+  if (NOT libavutil_FOUND)
+    BUILD_WARNING ("libavutil not found. Audio-video capabilities will be disabled.")
+  endif ()
+
+
+  if (libavutil_FOUND AND libavformat_FOUND AND libavcodec_FOUND AND libswscale_FOUND)
     set (HAVE_FFMPEG TRUE)
   else ()
     set (HAVE_FFMPEG FALSE)
   else()
     set (HAVE_BULLET FALSE)
     add_definitions( -DLIBBULLET_VERSION=0.0 )
+    BUILD_WARNING ("Bullet > 2.82 not found, for bullet physics engine option, please install libbullet2.82-dev.")
   endif()
 
 else (PKG_CONFIG_FOUND)
 ########################################
 # Include man pages stuff
 include (${gazebo_cmake_dir}/Ronn2Man.cmake)
+include (${gazebo_cmake_dir}/Man.cmake)
 add_manpage_target()
 
 ########################################

File cmake/setup.sh.in

File contents unchanged.

File deps/opende/OPCODE/Opcode.h

View file
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 /*
- *	OPCODE - Optimized Collision Detection
- *	Copyright (C) 2001 Pierre Terdiman
- *	Homepage: http://www.codercorner.com/Opcode.htm
+ *  OPCODE - Optimized Collision Detection
+ *  Copyright (C) 2001 Pierre Terdiman
+ *  Homepage: http://www.codercorner.com/Opcode.htm
  */
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 /**
- *	Main file for Opcode.dll.
- *	\file		Opcode.h
- *	\author		Pierre Terdiman
- *	\date		March, 20, 2001
+ *  Main file for Opcode.dll.
+ *  \file  	Opcode.h
+ *  \author  	Pierre Terdiman
+ *  \date  	March, 20, 2001
  */
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 // Include Guard
 #ifndef __OPCODE_H__
 #define __OPCODE_H__
+#pragma GCC system_header
 
 // stdarg.h must be included before Opcode headers as it later
 // may not compile being not able to find std::va_list
 #include <stdarg.h>
 
+#include <gazebo/util/system.hh>
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 // Things to help us compile on non-windows platforms
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 // Compilation messages
 #ifdef _MSC_VER
-	#if defined(OPCODE_EXPORTS)
-		// #pragma message("Compiling OPCODE")
-	#elif !defined(OPCODE_EXPORTS)
-		// #pragma message("Using OPCODE")
-		///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		// Automatic linking
-		#ifndef BAN_OPCODE_AUTOLINK
-			#ifdef _DEBUG
-				//#pragma comment(lib, "Opcode_D.lib")
-			#else
-				//#pragma comment(lib, "Opcode.lib")
-			#endif
-		#endif
-	#endif
+  #if defined(OPCODE_EXPORTS)
+    // #pragma message("Compiling OPCODE")
+  #elif !defined(OPCODE_EXPORTS)
+    // #pragma message("Using OPCODE")
+    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    // Automatic linking
+    #ifndef BAN_OPCODE_AUTOLINK
+    	#ifdef _DEBUG
+    		//#pragma comment(lib, "Opcode_D.lib")
+    	#else
+    		//#pragma comment(lib, "Opcode.lib")
+    	#endif
+    #endif
+  #endif
 #endif
 
-///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////
 // Preprocessor
-#ifndef ICE_NO_DLL
-	#ifdef OPCODE_EXPORTS
-		#define OPCODE_API// __declspec(dllexport)
-	#else
-		#define OPCODE_API// __declspec(dllimport)
-	#endif
-#else
-		#define OPCODE_API
-#endif
+// #ifndef ICE_NO_DLL
+//   #ifdef OPCODE_EXPORTS
+//     #define OPCODE_API// __declspec(dllexport)
+//   #else
+//     #define OPCODE_API// __declspec(dllimport)
+//   #endif
+// #else
+//   #define OPCODE_API
+// #endif
 
-	#include "OPC_Settings.h"
-	#include "OPC_IceHook.h"
+// Preprocessor__
+#define OPCODE_API GAZEBO_VISIBLE
 
-	namespace Opcode
-	{
-		// Bulk-of-the-work
-		#include "OPC_Common.h"
-		#include "OPC_MeshInterface.h"
-		// Builders
-		#include "OPC_TreeBuilders.h"
-		// Trees
-		#include "OPC_AABBTree.h"
-		#include "OPC_OptimizedTree.h"
-		// Models
-		#include "OPC_BaseModel.h"
-		#include "OPC_Model.h"
-		#include "OPC_HybridModel.h"
-		// Colliders
-		#include "OPC_Collider.h"
-		#include "OPC_VolumeCollider.h"
-		#include "OPC_TreeCollider.h"
-		#include "OPC_RayCollider.h"
-		#include "OPC_SphereCollider.h"
-		#include "OPC_OBBCollider.h"
-		#include "OPC_AABBCollider.h"
-		#include "OPC_LSSCollider.h"
-		#include "OPC_PlanesCollider.h"
-		// Usages
-		#include "OPC_Picking.h"
+  #include "OPC_Settings.h"
+  #include "OPC_IceHook.h"
 
+  namespace Opcode
+  {
+    // Bulk-of-the-work
+    #include "OPC_Common.h"
+    #include "OPC_MeshInterface.h"
+    // Builders
+    #include "OPC_TreeBuilders.h"
+    // Trees
+    #include "OPC_AABBTree.h"
+    #include "OPC_OptimizedTree.h"
+    // Models
+    #include "OPC_BaseModel.h"
+    #include "OPC_Model.h"
+    #include "OPC_HybridModel.h"
+    // Colliders
+    #include "OPC_Collider.h"
+    #include "OPC_VolumeCollider.h"
+    #include "OPC_TreeCollider.h"
+    #include "OPC_RayCollider.h"
+    #include "OPC_SphereCollider.h"
+    #include "OPC_OBBCollider.h"
+    #include "OPC_AABBCollider.h"
+    #include "OPC_LSSCollider.h"
+    #include "OPC_PlanesCollider.h"
+    // Usages
+    #include "OPC_Picking.h"
 
-		FUNCTION OPCODE_API bool InitOpcode();
-		FUNCTION OPCODE_API bool CloseOpcode();
-	}
+
+    FUNCTION OPCODE_API bool InitOpcode();
+    FUNCTION OPCODE_API bool CloseOpcode();
+  }
 
 #endif // __OPCODE_H__

File deps/opende/include/ode/objects.h

View file
-
 
 /*************************************************************************
  *                                                                       *
 
 
 /**
- * @brief Set the tolerance of when sor lcp stops
- * @param num The default is 1 chunk
- */
-void dWorldSetQuickStepTolerance (dWorldID, dReal tol);
+ * @brief Get the tolerance of when sor lcp stops
+ * @param dWorldID world id
+ */
+ODE_API dReal dWorldGetQuickStepTolerance (dWorldID);
+
+/**
+ * @brief Set a tolerance to stop quickstep iterations.
+ * PGS iteration stops when the RMS of total constraint residual in the
+ * quickstep inner iteration (see dWorldGetQuickStepRMSConstraintResidual)
+ * is less than the tolerance specified here.
+ * The units of tolerance is the same as units of \lambda,
+ * which is in units of force.
+ * @param dWorldID world id
+ * @param dReal tolerance
+ */
+ODE_API void dWorldSetQuickStepTolerance (dWorldID, dReal tol);
 
 /**
  * @brief Set the number of chunks quickstep divide up constraint rows
  * @param num The default is 1 chunk
  */
-void dWorldSetQuickStepNumChunks (dWorldID, int num);
+ODE_API void dWorldSetQuickStepNumChunks (dWorldID, int num);
 
 /**
  * @brief Set the number of overlap when quickstep divide up constraint rows
  * @param num The default is 0 overlap
  */
-void dWorldSetQuickStepNumOverlap (dWorldID, int num);
+ODE_API void dWorldSetQuickStepNumOverlap (dWorldID, int num);
 
 /**
  * @brief Get the maximum number of iterations that the RobustStep method 
 ODE_API dReal dWorldGetQuickStepW (dWorldID);
 
 /**
- * @brief Get the RMS error of the quickstep step
+ * @brief Get the RMS of \Delta \lambda of the quickstep step
+ * Given dLambda is measures by (b_i - a_{ij} lambda_j)/a_{ii}
+ * it's a reasonable convergence measure for the linear system
+ * being solved via PGS.  Note the dLambda used are post-projection.
+ * The unit of errors are the same as the units of forces.
+ * RMS of \Delta \Lambda array is defined as:
+ * rms_dlambda[0]: bilateral constraints (findex = -1)
+ * rms_dlambda[1]: contact normal constraints (findex = -2)
+ * rms_dlambda[2]: friction constraints (findex >= 0)
+ * rms_dlambda[3]: total (sum of previous 3)
  * @ingroup world
- * @returns the rms error
- */
-ODE_API dReal dWorldGetQuickStepRMSError (dWorldID);
+ * @returns the RMS of delta lambda
+ */
+ODE_API dReal *dWorldGetQuickStepRMSDeltaLambda (dWorldID);
+
+/**
+ * @brief Get the RMS of constraint residuals for the quickstep step.
+ * The unit of constraint residuals are same as the units of velocities.
+ * RMS of constraint residuals array is defined as:
+ * rms_constraint_residual[0]: bilateral constraints (findex = -1)
+ * rms_constraint_residual[1]: contact normal constraints (findex = -2)
+ * rms_constraint_residual[2]: friction constraints (findex >= 0)
+ * rms_constraint_residual[3]: total (sum of previous 3)
+ * @ingroup world
+ * @returns the RMS of constraint residuals
+ */
+ODE_API dReal *dWorldGetQuickStepRMSConstraintResidual (dWorldID);
+
+/**
+ * @brief Get current count of contact constraints.
+ * @ingroup world
+ * @returns the number of contact constraints in quickstep.
+ */
+ODE_API int dWorldGetQuickStepNumContacts (dWorldID);
+
+/* PGS experimental parameters */
+
+/**
+ * @brief Get option to turn on inertia ratio reduction.
+ * @ingroup world
+ */
+ODE_API bool dWorldGetQuickStepInertiaRatioReduction (dWorldID);
+
+/**
+ * @brief Get friction residual exponential smoothing coefficient.
+ * @ingroup world
+ */
+ODE_API dReal dWorldGetQuickStepContactResidualSmoothing (dWorldID);
+
+/**
+ * @brief Get option to turn on experimental row reordering.
+ * see dWorldGetQuickStepExperimentalRowReordering for details.
+ * @ingroup world
+ */
+ODE_API bool dWorldGetQuickStepExperimentalRowReordering (dWorldID);
+
+/**
+ * @brief Get warm start scaling coefficient
+ * @ingroup world
+ */
+ODE_API dReal dWorldGetQuickStepWarmStartFactor (dWorldID);
+
+/**
+ * @brief Get extra friction constraint iterations within each time step.
+ * @ingroup world
+ */
+ODE_API int dWorldGetQuickStepExtraFrictionIterations (dWorldID);
+
+/**
+ * @brief Option to turn on inertia ratio reduction.
+ * @ingroup world
+ * @param irr set to true to turn on inertia ratio reduction.
+ */
+ODE_API void dWorldSetQuickStepInertiaRatioReduction (dWorldID, bool irr);
+
+/**
+ * @brief Set friction residual exponential smoothing coefficient
+ * @ingroup world
+ * @param smooth smoothing coefficent (0: no smothing ~ 1: full smoothing)
+ */
+ODE_API void dWorldSetQuickStepContactResidualSmoothing (dWorldID, dReal smoo);
+
+/**
+ * @brief Turn on experimental row reordering, so within one sweep,
+ * following ordering of constraints are used:
+ *   1. bilateral constraints
+ *   2. all contact normal constraints
+ *   3. all friction force constraints
+ * otherwise, use standard reordering
+ *   1. bilateral constraints
+ *   2. sweep each contact sequentially.  For each contact,
+ *      solve normal constraint followed by 2 friction constraints.
+ * @ingroup world
+ * @param reorder set to true to turn on experimental row reordering
+ */
+ODE_API void dWorldSetQuickStepExperimentalRowReordering (dWorldID, bool order);
+
+/**
+ * @brief Set warm start scaling coefficient
+ * @ingroup world
+ * @param warm 0: turn off warm starting, anything else is a scaling factor
+ * for lambda from previous time step.
+ */
+ODE_API void dWorldSetQuickStepWarmStartFactor (dWorldID, dReal warm);
+
+/**
+ * @brief Set extra friction constraint iterations within each time step,
+ * to be done after initial sweeps.
+ * @ingroup world
+ * @param iterations extra constraint iterations for friction rows after
+ * default sweep.
+ */
+ODE_API void dWorldSetQuickStepExtraFrictionIterations (dWorldID, int iters);
 
 /* World contact parameter functions */
 
 ODE_API dReal dJointGetScrewAngle (dJointID);
 
 /**
+ * @brief Set the screw anchor
+ */
+ODE_API void dJointSetScrewAnchor( dJointID j, dReal x, dReal y, dReal z );
+
+/**
+ * @brief Get the screw anchor
+ */
+ODE_API void dJointGetScrewAnchor( dJointID j, dVector3 result );
+
+/**
  * @brief Get the screw linear position's time derivative.
  * @ingroup joints
  */
 ODE_API void dJointSetGearboxReferenceBody( dJointID j, dBodyID b );
 
 /**
+ * @brief set gearbox reference body
+ * @remarks
+ * This is used to get the joint angle of the first body, so
+ * one can enforce error correction on gear angles.
+ * @ingroup joints
+ */
+ODE_API void dJointSetGearboxReferenceBody1( dJointID j, dBodyID b );
+
+/**
+ * @brief set gearbox reference body
+ * @remarks
+ * This is used to get the joint angle of the second body, so
+ * one can enforce error correction on gear angles.
+ * @ingroup joints
+ */
+ODE_API void dJointSetGearboxReferenceBody2( dJointID j, dBodyID b );
+
+/**
  * @brief get gearbox ratio
  * @ingroup joints
  */

File deps/opende/include/ode/odeconfig.h

View file
 #endif
 
 /* Define a DLL export symbol for those platforms that need it */
-#if defined(_MSC_VER)
-  #if defined(ODE_DLL)
-    #define ODE_API __declspec(dllexport)
-  #elif !defined(ODE_LIB)
-    #define ODE_DLL_API __declspec(dllimport)
+/* OSRF mofication: add visibility definitions and platform checks */
+#if defined _WIN32 || defined __CYGWIN__
+  #if defined(_MSC_VER)
+    #if defined(ODE_DLL)
+      #define ODE_API __declspec(dllexport)
+    #elif !defined(ODE_LIB)
+      #define ODE_DLL_API __declspec(dllimport)
+    #endif
+  #endif
+#else
+  #if __GNUC__ >= 4
+    #define ODE_API __attribute__ ((visibility ("default")))
   #endif
 #endif
 

File deps/opende/include/ode/odecpp.h

View file
     { return dWorldGetQuickStepPreconIterations (get_id()); }
   int getQuickStepNumIterations() const
     { return dWorldGetQuickStepNumIterations (get_id()); }
+  dReal getQuickStepTolerance()
+    { return dWorldGetQuickStepTolerance (get_id()); }
+  void setQuickStepTolerance(dReal tol)
+    { dWorldSetQuickStepTolerance (get_id(), tol); }
+  void setQuickStepNumChunks (int num)
+    { dWorldSetQuickStepNumChunks (get_id(), num); }
+  void setQuickStepNumOverlap (dWorldID, int num)
+    { dWorldSetQuickStepNumOverlap (get_id(), num); }
   void setQuickStepW(dReal over_relaxation)
     { dWorldSetQuickStepW (get_id(), over_relaxation); }
   dReal getQuickStepW() const
     { return dWorldGetQuickStepW (get_id()); }
-  dReal getQuickStepRMSError() const
-    { return dWorldGetQuickStepRMSError (get_id()); }
+  dReal *getQuickStepRMSError() const
+    { return dWorldGetQuickStepRMSDeltaLambda (get_id()); }
+  dReal *getQuickStepRMSConstraintResidual() const
+    { return dWorldGetQuickStepRMSConstraintResidual (get_id()); }
+  dReal getQuickStepNumContacts() const
+    { return dWorldGetQuickStepNumContacts (get_id()); }
+
+  /* experimental PGS */
+  bool getQuickStepInertiaRatioReduction() const
+    { return dWorldGetQuickStepInertiaRatioReduction (get_id()); }
+  dReal getQuickStepContactResidualSmoothing() const
+    { return dWorldGetQuickStepContactResidualSmoothing (get_id()); }
+  bool getQuickStepExperimentalRowReordering() const
+    { return dWorldGetQuickStepExperimentalRowReordering (get_id()); }
+  dReal getQuickStepWarmStartFactor() const
+    { return dWorldGetQuickStepWarmStartFactor (get_id()); }
+  int getQuickStepExtraFrictionIterations() const
+    { return dWorldGetQuickStepExtraFrictionIterations (get_id()); }
+  void setQuickStepInertiaRatioReduction(bool irr)
+    { dWorldSetQuickStepInertiaRatioReduction (get_id(), irr); }
+  void setQuickStepContactResidualSmoothing(dReal smoo)
+    { dWorldSetQuickStepContactResidualSmoothing (get_id(), smoo); }
+  void setQuickStepExperimentalRowReordering(bool order)
+    { dWorldSetQuickStepExperimentalRowReordering (get_id(), order); }
+  void setQuickStepWarmStartFactor(dReal warm)
+    { dWorldSetQuickStepWarmStartFactor (get_id(), warm); }
+  void setQuickStepExtraFrictionIterations(int iters)
+    { dWorldSetQuickStepExtraFrictionIterations (get_id(), iters); }
 
   void  setAutoDisableLinearThreshold (dReal threshold) 
     { dWorldSetAutoDisableLinearThreshold (get_id(), threshold); }

File deps/opende/ou/include/ou/atomic.h

View file
 #include <ou/namespace.h>
 #include <ou/platform.h>
 
+#include <gazebo/util/system.hh>
+
 
 /**
  *	\typedef atomicord32
 
 #define __OU_ATOMIC_ORD32_FUNCTIONS_DEFINED
 
-static _OU_ALWAYSINLINE_PRE atomicord32 _OU_ALWAYSINLINE_IN _OU_CONVENTION_API 
+static _OU_ALWAYSINLINE_PRE atomicord32 _OU_ALWAYSINLINE_IN _OU_CONVENTION_API GAZEBO_VISIBLE 
 /*atomicord32 */AtomicIncrement(volatile atomicord32 *paoDestination)
 {
 	return ::InterlockedIncrement((__ou_intlck_target_t)paoDestination);
 }
 
-static _OU_ALWAYSINLINE_PRE atomicord32 _OU_ALWAYSINLINE_IN _OU_CONVENTION_API 
+static _OU_ALWAYSINLINE_PRE atomicord32 _OU_ALWAYSINLINE_IN _OU_CONVENTION_API GAZEBO_VISIBLE 
 /*atomicord32 */AtomicDecrement(volatile atomicord32 *paoDestination)
 {
 	return ::InterlockedDecrement((__ou_intlck_target_t)paoDestination);
 }
 
 
-static _OU_ALWAYSINLINE_PRE atomicord32 _OU_ALWAYSINLINE_IN _OU_CONVENTION_API 
+static _OU_ALWAYSINLINE_PRE atomicord32 _OU_ALWAYSINLINE_IN _OU_CONVENTION_API GAZEBO_VISIBLE 
 /*atomicord32 */AtomicExchange(volatile atomicord32 *paoDestination, atomicord32 aoExchange)
 {
 	return ::InterlockedExchange((__ou_intlck_target_t)paoDestination, aoExchange);
 }
 
-static _OU_ALWAYSINLINE_PRE atomicord32 _OU_ALWAYSINLINE_IN _OU_CONVENTION_API 
+static _OU_ALWAYSINLINE_PRE atomicord32 _OU_ALWAYSINLINE_IN _OU_CONVENTION_API GAZEBO_VISIBLE 
 /*atomicord32 */AtomicExchangeAdd(volatile atomicord32 *paoDestination, atomicord32 aoAddend)
 {
 	return ::InterlockedExchangeAdd((__ou_xchgadd_target_t)paoDestination, aoAddend);
 }
 
-static _OU_ALWAYSINLINE_PRE bool _OU_ALWAYSINLINE_IN _OU_CONVENTION_API 
+static _OU_ALWAYSINLINE_PRE bool _OU_ALWAYSINLINE_IN _OU_CONVENTION_API GAZEBO_VISIBLE 
 /*bool */AtomicCompareExchange(volatile atomicord32 *paoDestination, atomicord32 aoComparand, atomicord32 aoExchange)
 {
 	return (aoComparand == (atomicord32)::InterlockedCompareExchange((__ou_cmpxchg_target_t)paoDestination, (__ou_cmpxchg_value_t)aoExchange, (__ou_cmpxchg_value_t)aoComparand));
 
 #define __OU_ATOMIC_BIT_FUNCTIONS_DEFINED
 
-static _OU_ALWAYSINLINE_PRE atomicord32 _OU_ALWAYSINLINE_IN _OU_CONVENTION_API 
+static _OU_ALWAYSINLINE_PRE atomicord32 _OU_ALWAYSINLINE_IN _OU_CONVENTION_API GAZEBO_VISIBLE
 /*atomicord32 */AtomicAnd(volatile atomicord32 *paoDestination, atomicord32 aoBitMask)
 {
 	atomicord32 aoOldValue = *paoDestination;
     return aoOldValue;
 }
 
-static _OU_ALWAYSINLINE_PRE atomicord32 _OU_ALWAYSINLINE_IN _OU_CONVENTION_API 
+static _OU_ALWAYSINLINE_PRE atomicord32 _OU_ALWAYSINLINE_IN _OU_CONVENTION_API GAZEBO_VISIBLE
 /*atomicord32 */AtomicOr(volatile atomicord32 *paoDestination, atomicord32 aoBitMask)
 {
 	atomicord32 aoOldValue = *paoDestination;
     return aoOldValue;
 }
 
-static _OU_ALWAYSINLINE_PRE atomicord32 _OU_ALWAYSINLINE_IN _OU_CONVENTION_API 
+static _OU_ALWAYSINLINE_PRE atomicord32 _OU_ALWAYSINLINE_IN _OU_CONVENTION_API GAZEBO_VISIBLE
 /*atomicord32 */AtomicXor(volatile atomicord32 *paoDestination, atomicord32 aoBitMask)
 {
 	atomicord32 aoOldValue = *paoDestination;
 
 #define __OU_ATOMIC_PTR_FUNCTIONS_DEFINED
 
-static _OU_ALWAYSINLINE_PRE atomicptr _OU_ALWAYSINLINE_IN _OU_CONVENTION_API 
+static _OU_ALWAYSINLINE_PRE atomicptr _OU_ALWAYSINLINE_IN _OU_CONVENTION_API GAZEBO_VISIBLE
 /*atomicptr */AtomicExchangePointer(volatile atomicptr *papDestination, atomicptr apExchange)
 {
 #if _OU_TARGET_BITS == _OU_TARGET_BITS_32
 #endif // #if _OU_TARGET_BITS == ...
 }
 
-static _OU_ALWAYSINLINE_PRE bool _OU_ALWAYSINLINE_IN _OU_CONVENTION_API 
+static _OU_ALWAYSINLINE_PRE bool _OU_ALWAYSINLINE_IN _OU_CONVENTION_API GAZEBO_VISIBLE
 /*bool */AtomicCompareExchangePointer(volatile atomicptr *papDestination, atomicptr apComparand, atomicptr apExchange)
 {
 #if _OU_TARGET_BITS == _OU_TARGET_BITS_32
 
 #define __OU_ATOMIC_ORD32_FUNCTIONS_DEFINED
 
-static _OU_ALWAYSI