diff --git a/.catkin_workspace b/.catkin_workspace new file mode 100644 index 0000000..52fd97e --- /dev/null +++ b/.catkin_workspace @@ -0,0 +1 @@ +# This file currently only serves to mark the location of a catkin workspace for tool integration diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4b9a1e0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/devel +/build + diff --git a/README.md b/README.md index d91f5af..a6673ed 100644 --- a/README.md +++ b/README.md @@ -18,8 +18,24 @@ source ./devel/setup.bash ``` # 5. launch simulation.launch and adjust the Spot pose +``` +roslaunch simulation.launch +``` +# Stand up Spot and move +Change the pose of '/' in gazebo pitch, yaw, roll to 0, 0, 0. Try multiple times until it works. + -# 6. In another terminal, launch weeding_arm_sim.launch +# 6. In another terminal, launch weeding_arm_sim.launch, and follow example in arm_control repo to perform control +``` +roselaunch weeding_arm_sim.launch +``` +Then follow the arm_control repository + + +# 7. this command make us move Spot with keyboards +``` +roslaunch champ_teleop teleop.launch +``` # A Docker image that has all the dependencies for running this simulation_env: @@ -28,3 +44,6 @@ docker pull entao2000/spot_simulation docker run --name spot_test -it -v `pwd`/rootfs:/root/rootfs -p 5901:5901 -p 6080:6080 -p 8888:8888 entao2000/spot_simulation ``` Then, Clone z1_controller and arm_control repository into the src folder, and follow steps from 1 to 6 + + +https://github.com/gazebosim/gz-math diff --git a/ign-math/.gitignore b/ign-math/.gitignore new file mode 100644 index 0000000..5eca502 --- /dev/null +++ b/ign-math/.gitignore @@ -0,0 +1,10 @@ +# CMake folders +build +build_* + +# OS generated files +.DS_Store +*.swp + +# Python generaated files +*.pyc diff --git a/ign-math/AUTHORS b/ign-math/AUTHORS new file mode 100644 index 0000000..65032b7 --- /dev/null +++ b/ign-math/AUTHORS @@ -0,0 +1 @@ +OSRFoundation diff --git a/ign-math/BUILD.bazel b/ign-math/BUILD.bazel new file mode 100644 index 0000000..b89cd10 --- /dev/null +++ b/ign-math/BUILD.bazel @@ -0,0 +1,93 @@ +load( + "@gz//bazel/skylark:build_defs.bzl", + "GZ_FEATURES", + "GZ_ROOT", + "GZ_VISIBILITY", + "gz_configure_header", + "gz_export_header", + "gz_include_header", +) +load( + "@gz//bazel/lint:lint.bzl", + "add_lint_tests", +) + +package( + default_visibility = GZ_VISIBILITY, + features = GZ_FEATURES, +) + +licenses(["notice"]) # Apache-2.0 + +exports_files(["LICENSE"]) + +gz_configure_header( + name = "config", + src = "include/gz/math/config.hh.in", + cmakelists = ["CMakeLists.txt"], + package = "math", +) + +gz_export_header( + name = "include/gz/math/Export.hh", + export_base = "GZ_MATH", + lib_name = "gz-math", + visibility = ["//visibility:private"], +) + +public_headers_no_gen = glob([ + "include/gz/math/*.hh", + "include/gz/math/detail/*.hh", + "include/gz/math/graph/*.hh", +]) + +private_headers = glob(["src/*.hh"]) + +sources = glob( + ["src/*.cc"], + exclude = ["src/*_TEST.cc"], +) + +gz_include_header( + name = "mathhh_genrule", + out = "include/gz/math.hh", + hdrs = public_headers_no_gen + [ + "include/gz/math/config.hh", + "include/gz/math/Export.hh", + ], +) + +public_headers = public_headers_no_gen + [ + "include/gz/math/config.hh", + "include/gz/math/Export.hh", + "include/gz/math.hh", +] + +cc_library( + name = "math", + srcs = sources + private_headers, + hdrs = public_headers, + includes = ["include"], + deps = [ + GZ_ROOT + "utils", + ], +) + +test_sources = glob( + [ + "src/*_TEST.cc", + "src/graph/*_TEST.cc", + ], +) + +[cc_test( + name = src.replace("/", "_").replace(".cc", "").replace("src_", ""), + srcs = [src], + deps = [ + ":math", + "@gtest", + "@gtest//:gtest_main", + ], +) for src in test_sources] + +add_lint_tests() diff --git a/ign-math/CMakeLists.txt b/ign-math/CMakeLists.txt new file mode 100644 index 0000000..21dde1a --- /dev/null +++ b/ign-math/CMakeLists.txt @@ -0,0 +1,141 @@ +cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR) + +#============================================================================ +# Initialize the project +#============================================================================ +project(gz-math7 VERSION 7.1.0) + +#============================================================================ +# Find gz-cmake +#============================================================================ +# If you get an error at this line, you need to install gz-cmake +find_package(gz-cmake3 REQUIRED) + +#============================================================================ +# Configure the project +#============================================================================ +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +gz_configure_project(VERSION_SUFFIX) + +#============================================================================ +# Set project-specific options +#============================================================================ + +option(SKIP_SWIG + "Skip generating ruby bindings via Swig" + OFF) + +option(SKIP_PYBIND11 + "Skip generating Python bindings via pybind11" + OFF) + +include(CMakeDependentOption) +cmake_dependent_option(USE_SYSTEM_PATHS_FOR_RUBY_INSTALLATION + "Install ruby modules in standard system paths in the system" + OFF "NOT SKIP_SWIG" OFF) + +cmake_dependent_option(USE_SYSTEM_PATHS_FOR_PYTHON_INSTALLATION + "Install python modules in standard system paths in the system" + OFF "NOT SKIP_PYBIND11" OFF) + +cmake_dependent_option(USE_DIST_PACKAGES_FOR_PYTHON + "Use dist-packages instead of site-package to install python modules" + OFF "NOT SKIP_PYBIND11" OFF) + +#============================================================================ +# Search for project-specific dependencies +#============================================================================ + +#-------------------------------------- +# Find gz-utils +gz_find_package(gz-utils2 REQUIRED) +set(GZ_UTILS_VER ${gz-utils2_VERSION_MAJOR}) + +#-------------------------------------- +# Find eigen3 +gz_find_package( + EIGEN3 + REQUIRED_BY eigen3 + PRETTY eigen3 + PURPOSE "Provide conversions to eigen3 types") + +######################################## +# Include swig +if (SKIP_SWIG) + message(STATUS "SKIP_SWIG set - disabling SWIG Ruby support") +else() + find_package(SWIG QUIET) + if (NOT SWIG_FOUND) + GZ_BUILD_WARNING("Swig is missing: Language interfaces are disabled.") + message (STATUS "Searching for swig - not found.") + else() + message (STATUS "Searching for swig - found version ${SWIG_VERSION}.") + endif() + + # Include other languages if swig was found + if (SWIG_FOUND) + ######################################## + # Include ruby + find_package(Ruby 1.9 QUIET) + if (NOT RUBY_FOUND) + GZ_BUILD_WARNING("Ruby is missing: Install ruby-dev to enable ruby interfaces.") + message (STATUS "Searching for Ruby - not found.") + else() + message (STATUS "Searching for Ruby - found version ${RUBY_VERSION}.") + endif() + endif() +endif() + +######################################## +# Python bindings +if (SKIP_PYBIND11) + message(STATUS "SKIP_PYBIND11 set - disabling python bindings") +else() + include(GzPython) + find_package(PythonLibs QUIET) + if (NOT PYTHONLIBS_FOUND) + GZ_BUILD_WARNING("Python is missing: Python interfaces are disabled.") + message (STATUS "Searching for Python - not found.") + else() + message (STATUS "Searching for Python - found version ${PYTHONLIBS_VERSION_STRING}.") + + set(PYBIND11_PYTHON_VERSION 3) + find_package(Python3 QUIET COMPONENTS Interpreter Development) + find_package(pybind11 2.2 QUIET) + + if (${pybind11_FOUND}) + message (STATUS "Searching for pybind11 - found version ${pybind11_VERSION}.") + else() + GZ_BUILD_WARNING("pybind11 is missing: Python interfaces are disabled.") + message (STATUS "Searching for pybind11 - not found.") + endif() + endif() +endif() + +# Location of "fake install folder" used in tests +# Defined here at root scope so it is available for tests in src and test folders +set(FAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/fake/install") + +#============================================================================ +# Configure the build +#============================================================================ +gz_configure_build(QUIT_IF_BUILD_ERRORS + COMPONENTS eigen3) + + +#============================================================================ +# Create package information +#============================================================================ +gz_create_packages() + +#============================================================================ +# Configure documentation +#============================================================================ +configure_file(${CMAKE_SOURCE_DIR}/api.md.in ${CMAKE_BINARY_DIR}/api.md) +configure_file(${CMAKE_SOURCE_DIR}/tutorials.md.in ${CMAKE_BINARY_DIR}/tutorials.md) + +gz_create_docs( + API_MAINPAGE_MD "${CMAKE_BINARY_DIR}/api.md" + TUTORIALS_MAINPAGE_MD "${CMAKE_BINARY_DIR}/tutorials.md") diff --git a/ign-math/CONTRIBUTING.md b/ign-math/CONTRIBUTING.md new file mode 100644 index 0000000..a1c121e --- /dev/null +++ b/ign-math/CONTRIBUTING.md @@ -0,0 +1 @@ +See the [Gazebo contributing guide](https://gazebosim.org/docs/all/contributing). diff --git a/ign-math/Changelog.md b/ign-math/Changelog.md new file mode 100644 index 0000000..0992313 --- /dev/null +++ b/ign-math/Changelog.md @@ -0,0 +1,1070 @@ +## Gazebo Math 7.x + +### Gazebo Math 7.1.0 + +1. Adds bounds retrieval for TimeVarying grid class. + * [Pull request #508](https://github.com/gazebosim/gz-math/pull/508) + +### Gazebo Math 7.0.2 + +1. Update to disable tests failing on arm64 + * [Pull request #512](https://github.com/gazebosim/gz-math/pull/512) + +### Gazebo Math 7.0.1 + +1. Disable tests failing on arm64 + * [Pull request #510](https://github.com/gazebosim/gz-math/pull/510) + +### Gazebo Math 7.0.0 + +1. Deprecated `Angle::Degree(double)` and `Angle::Radian(double)`. Use `Angle::SetDegree(double)` and `Angle::SetRadian(double)` instead. + * [BitBucket pull request 326](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/326) + +1. Added Equal functions with a tolerance parameter to Pose3 and Quaternion. + * [BitBucket pull request 319](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/319) + +1. Updates per issue [#101](https://github.com/gazebosim/gz-math/issues/101). + * Helpers: [BitBucket pull request 330](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/330), + [BitBucket pull request 323](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/323) + * Matrix3: [BitBucket pull request 328](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/328) + * Pose: [BitBucket pull request 329](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/329) + * Quaternion: [BitBucket pull request 327](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/327), + [BitBucket pull request 338](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/338) + +1. Removed deprecations. + * [Pull request #377](https://github.com/gazebosim/gz-math/pull/377) + * [Pull request #344](https://github.com/gazebosim/gz-math/pull/344) + * [BitBucket pull request 322](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/322) + * [BitBucket pull request 320](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/320) + +1. Updated Temperature class documentation, script interface, and added examples. + * [BitBucket pull request 339](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/339) + +1. Prevent -0 with out stream operator + * [Pull request #206](https://github.com/gazebosim/gz-math/pull/206) + +1. Use `` and `` narrower includes, not `` + * [Pull request #287](https://github.com/gazebosim/gz-math/pull/287) + +1. Evict large function definitions from the Helpers.hh header file. + * [Pull request #288](https://github.com/gazebosim/gz-math/pull/288) + +1. Defer regex construction to avoid static initialization. + * [Pull request #289](https://github.com/gazebosim/gz-math/pull/289) + +1. Defer Material::Predefined construction to avoid static initialization. + * [Pull request #290](https://github.com/gazebosim/gz-math/pull/290) + +1. Resolve cppcheck errors by adding explicit constructors and consts. + * [Pull request #291](https://github.com/gazebosim/gz-math/pull/291) + +1. Remove virtual from destructors of copyable classes. + * [Pull request #293](https://github.com/gazebosim/gz-math/pull/293) + +1. Use constexpr for simple static constants. + * [Pull request #283](https://github.com/gazebosim/gz-math/pull/283) + +1. Fix output stream operator + * [Pull request #376](https://github.com/gazebosim/gz-math/pull/376) + * [Pull request #454](https://github.com/gazebosim/gz-math/pull/454) + * [Pull request #499](https://github.com/gazebosim/gz-math/pull/499) + +1. Tutorial updates + * [Pull request #505](https://github.com/gazebosim/gz-math/pull/505) + * [Pull request #502](https://github.com/gazebosim/gz-math/pull/502) + * [Pull request #501](https://github.com/gazebosim/gz-math/pull/501) + * [Pull request #500](https://github.com/gazebosim/gz-math/pull/500) + * [Pull request #496](https://github.com/gazebosim/gz-math/pull/496) + * [Pull request #495](https://github.com/gazebosim/gz-math/pull/495) + * [Pull request #493](https://github.com/gazebosim/gz-math/pull/493) + * [Pull request #492](https://github.com/gazebosim/gz-math/pull/492) + * [Pull request #147](https://github.com/gazebosim/gz-math/pull/147) + * [BitBucket pull request 341](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/341) + +1. Fixed quaternion from euler example + * [Pull request #494](https://github.com/gazebosim/gz-math/pull/494) + +1. Rename the python library as gz.math7 + * [Pull request #503](https://github.com/gazebosim/gz-math/pull/503) + +1. Add option to skip pybind11 and SWIG + * [Pull request #480](https://github.com/gazebosim/gz-math/pull/480) + +1. Python bindings + * [Pull request #497](https://github.com/gazebosim/gz-math/pull/497) + * [Pull request #488](https://github.com/gazebosim/gz-math/pull/488) + * [Pull request #400](https://github.com/gazebosim/gz-math/pull/400) + * [Pull request #380](https://github.com/gazebosim/gz-math/pull/380) + * [Pull request #379](https://github.com/gazebosim/gz-math/pull/379) + * [Pull request #280](https://github.com/gazebosim/gz-math/pull/280) + +1. Add a Time Interpolation API + * [Pull request #456](https://github.com/gazebosim/gz-math/pull/456) + +1. Add fluid added mass to inertial + * [Pull request #459](https://github.com/gazebosim/gz-math/pull/459) + +1. VolumetricGridLookupField: generalize index type, add constructor + * [Pull request #475](https://github.com/gazebosim/gz-math/pull/475) + +1. Drop unnecessary moving window filter pimpl + * [Pull request #294](https://github.com/gazebosim/gz-math/pull/294) + +1. Migrate ign -> gz + * [Pull request #466](https://github.com/gazebosim/gz-math/pull/466) + * [Pull request #463](https://github.com/gazebosim/gz-math/pull/463) + * [Pull request #462](https://github.com/gazebosim/gz-math/pull/462) + * [Pull request #445](https://github.com/gazebosim/gz-math/pull/445) + * [Pull request #441](https://github.com/gazebosim/gz-math/pull/441) + * [Pull request #437](https://github.com/gazebosim/gz-math/pull/437) + * [Pull request #430](https://github.com/gazebosim/gz-math/pull/430) + * [Pull request #427](https://github.com/gazebosim/gz-math/pull/427) + * [Pull request #420](https://github.com/gazebosim/gz-math/pull/420) + * [Pull request #419](https://github.com/gazebosim/gz-math/pull/419) + * [Pull request #413](https://github.com/gazebosim/gz-math/pull/413) + +1. Fix output stream operator + * [Pull request #376](https://github.com/gazebosim/gz-math/pull/376) + * [Pull request #454](https://github.com/gazebosim/gz-math/pull/454) + * [Pull request #499](https://github.com/gazebosim/gz-math/pull/499) + +1. Compute distance between points on a general celestial body + * [Pull request #434](https://github.com/gazebosim/gz-math/pull/434) + * [Pull request #452](https://github.com/gazebosim/gz-math/pull/452) + +1. Update GoogleTest to latest version + * [Pull request #435](https://github.com/gazebosim/gz-math/pull/435) + +1. Reduce compilation time + * [Pull request #433](https://github.com/gazebosim/gz-math/pull/433) + +1. Pose3: deprecate +, -, and -= operators + * [Pull request #381](https://github.com/gazebosim/gz-math/pull/381) + * [Pull request #438](https://github.com/gazebosim/gz-math/pull/438) + +1. Document `Pose::operator*()` + * [Pull request #170](https://github.com/gazebosim/gz-math/pull/170) + +1. Subtraction operator for Inertial class + * [Pull request #432](https://github.com/gazebosim/gz-math/pull/432) + +1. Add linear interpolation methods. + * [Pull request #412](https://github.com/gazebosim/gz-math/pull/412) + +1. Infrastructure + * [Pull request #440](https://github.com/gazebosim/gz-math/pull/440) + * [Pull request #418](https://github.com/gazebosim/gz-math/pull/418) + * [Pull request #414](https://github.com/gazebosim/gz-math/pull/414) + * [Pull request #410](https://github.com/gazebosim/gz-math/pull/410) + * [Pull request #409](https://github.com/gazebosim/gz-math/pull/409) + * [Pull request #386](https://github.com/gazebosim/gz-math/pull/386) + * [Pull request #364](https://github.com/gazebosim/gz-math/pull/364) + * [Pull request #296](https://github.com/gazebosim/gz-math/pull/296) + * [Pull request #149](https://github.com/gazebosim/gz-math/pull/149) + * [Pull request #118](https://github.com/gazebosim/gz-math/pull/118) + * [Pull request #113](https://github.com/gazebosim/gz-math/pull/113) + * [Pull request #111](https://github.com/gazebosim/gz-math/pull/111) + +1. Add PiecewiseScalarField3 class + * [Pull request #398](https://github.com/gazebosim/gz-math/pull/398) + +1. Add AdditivelySeparableScalarField3 class + * [Pull request #397](https://github.com/gazebosim/gz-math/pull/397) + +1. Add Polynomial3 class + * [Pull request #393](https://github.com/gazebosim/gz-math/pull/393) + +1. Add Interval and Region3 classes + * [Pull request #388](https://github.com/gazebosim/gz-math/pull/388) + * [Pull request #390](https://github.com/gazebosim/gz-math/pull/390) + * [Pull request #396](https://github.com/gazebosim/gz-math/pull/396) + +1. Add missing headers + * [Pull request #385](https://github.com/gazebosim/gz-math/pull/385) + * [Pull request #342](https://github.com/gazebosim/gz-math/pull/342) + * [Pull request #327](https://github.com/gazebosim/gz-math/pull/327) + * [Pull request #162](https://github.com/gazebosim/gz-math/pull/162) + * [Pull request #119](https://github.com/gazebosim/gz-math/pull/119) + +1. [math7] Tidy up unused variables + * [Pull request #372](https://github.com/gazebosim/gz-math/pull/372) + +1. Use ImplPtr from ign-utils where relevant + * [Pull request #299](https://github.com/gazebosim/gz-math/pull/299) + +1. Modified cmake target name for Ruby interfaces + * [Pull request #285](https://github.com/gazebosim/gz-math/pull/285) + +1. Make API / naming consistent for Frustum, Edge, Angle + * [Pull request #329](https://github.com/gazebosim/gz-math/pull/329) + +1. Reduce Stopwatch test sleep times + * [Pull request #326](https://github.com/gazebosim/gz-math/pull/326) + +1. Speed up Helpers::Pair test + * [Pull request #295](https://github.com/gazebosim/gz-math/pull/295) + +1. Make Vector2 API more consistent with Vector3 + * [Pull request #130](https://github.com/gazebosim/gz-math/pull/130) + * [Issue #71](https://github.com/gazebosim/gz-math/issues/71) + +1. Clean up a few new GCC9 warnings + * [BitBucket pull request 336](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/336) + +## Gazebo Math 6.x + +## Gazebo Math 6.13.0 (2022-08-31) + +1. Support migration and migrate headers + * [Pull request #483](https://github.com/gazebosim/gz-math/pull/483) + +1. Remove redundant namespace references + * [Pull request #479](https://github.com/gazebosim/gz-math/pull/479) + +## Gazebo Math 6.12.0 (2022-07-27) + +1. Added Helper function isTimeString to Python + * [Pull request #471](https://github.com/gazebosim/gz-math/pull/471) + +1. Ignition -> Gazebo + * [Pull request #467](https://github.com/gazebosim/gz-math/pull/467) + * [Pull request #468](https://github.com/gazebosim/gz-math/pull/468) + * [Pull request #474](https://github.com/gazebosim/gz-math/pull/474) + +1. Added `*.pyc` to `.gitignore` + * [Pull request #461](https://github.com/gazebosim/gz-math/pull/461) + +1. Alphabetize examples + * [Pull request #457](https://github.com/gazebosim/gz-math/pull/457) + +1. Add `PiecewiseScalarField3` class + * [Pull request #398](https://github.com/gazebosim/gz-math/pull/398) + +1. Add `AdditivelySeparableScalarField3` class + * [Pull request #397](https://github.com/gazebosim/gz-math/pull/397) + +1. Add `Polynomial3` class + * [Pull request #393](https://github.com/gazebosim/gz-math/pull/393) + * [Pull request #451](https://github.com/gazebosim/gz-math/pull/451) + * [Pull request #396](https://github.com/gazebosim/gz-math/pull/396) + +1. Add `Region3` class + * [Pull request #390](https://github.com/gazebosim/gz-math/pull/390) + * [Pull request #450](https://github.com/gazebosim/gz-math/pull/450) + +1. Add `Interval` class + * [Pull request #388](https://github.com/gazebosim/gz-math/pull/388) + * [Pull request #449](https://github.com/gazebosim/gz-math/pull/449) + * [Pull request #396](https://github.com/gazebosim/gz-math/pull/396) + +1. Add Matrix6 class + * [Pull request #455](https://github.com/gazebosim/gz-math/pull/455) + * [Pull request #469](https://github.com/gazebosim/gz-math/pull/469) + +1. Backport newest appendToStream functions + * [Pull request #453](https://github.com/gazebosim/gz-math/pull/453) + +1. Use pytest to generate junit xml files for python tests + * [Pull request #446](https://github.com/gazebosim/gz-math/pull/446) + +1. Add Aditya as codeowner + * [Pull request #443](https://github.com/gazebosim/gz-math/pull/443) + +## Gazebo Math 6.11.0 (2022-05-11) + +1. MassMatrix3: fix bug in PrincipalAxesOffset tolerances + * [Pull request #424](https://github.com/gazebosim/gz-math/pull/424) + +1. Fix return policies for some member functions + * [Pull request #422](https://github.com/gazebosim/gz-math/pull/422) + +1. Added Ellipsoid Python interface + * [Pull request #404](https://github.com/gazebosim/gz-math/pull/404) + +1. Added Capsule Python interface + * [Pull request #403](https://github.com/gazebosim/gz-math/pull/403) + +1. Fixes for tests on i386: relax SphericalCoordinates and workaround for negative zero + * [Pull request #374](https://github.com/gazebosim/gz-math/pull/374) + +1. Added helper function to check if a string represents a time + * [Pull request #389](https://github.com/gazebosim/gz-math/pull/389) + +1. Reduce pybind11 compilation memory + * [Pull request #382](https://github.com/gazebosim/gz-math/pull/382) + * [Pull request #373](https://github.com/gazebosim/gz-math/pull/373) + * [Pull request #371](https://github.com/gazebosim/gz-math/pull/371) + +## Gazebo Math 6.10.0 (2022-01-26) + +1. Use const instead of constexpr in Ellipsoid constructor + * [Pull request #366](https://github.com/gazebosim/gz-math/pull/366) + +1. Refactor finding pybind11 + * [Pull request #360](https://github.com/gazebosim/gz-math/pull/360) + +1. Fix Focal on Jenkins + * [Pull request #364](https://github.com/gazebosim/gz-math/pull/364) + +1. kmeans example in C++ and Python + * [Pull request #356](https://github.com/gazebosim/gz-math/pull/356) + +1. Small fixed in doxygen + * [Pull request #355](https://github.com/gazebosim/gz-math/pull/355) + +1. Added Python Getting started tutorial + * [Pull request #362](https://github.com/gazebosim/gz-math/pull/362) + +1. Move SWIG interfaces from Python to Ruby + * [Pull request #354](https://github.com/gazebosim/gz-math/pull/354) + +1. Added pybind11 interfaces for various classes + 1. SphericalCoordinates + * [Pull request #357](https://github.com/gazebosim/gz-math/pull/357) + 1. Vector3Stats + * [Pull request #351](https://github.com/gazebosim/gz-math/pull/351) + 1. SignalStats + * [Pull request #343](https://github.com/gazebosim/gz-math/pull/343) + 1. Sphere + * [Pull request #352](https://github.com/gazebosim/gz-math/pull/352) + 1. Frustum + * [Pull request #353](https://github.com/gazebosim/gz-math/pull/353) + 1. Plane + * [Pull request #346](https://github.com/gazebosim/gz-math/pull/346) + 1. Cylinder + * [Pull request #348](https://github.com/gazebosim/gz-math/pull/348) + 1. OrientedBox + * [Pull request #276](https://github.com/gazebosim/gz-math/pull/276) + * [Pull request #350](https://github.com/gazebosim/gz-math/pull/350) + 1. Inertial + * [Pull request #349](https://github.com/gazebosim/gz-math/pull/349) + 1. Matrix4 + * [Pull request #337](https://github.com/gazebosim/gz-math/pull/337) + 1. PID + * [Pull request #323](https://github.com/gazebosim/gz-math/pull/323) + * [Pull request #361](https://github.com/gazebosim/gz-math/pull/361) + 1. Temperature + * [Pull request #330](https://github.com/gazebosim/gz-math/pull/330) + 1. DiffDriveOdometry (with examples) + * [Pull request #314](https://github.com/gazebosim/gz-math/pull/314) + 1. MassMatrix3 + * [Pull request #345](https://github.com/gazebosim/gz-math/pull/345) + 1. AxisAlignedBox + * [Pull request #338](https://github.com/gazebosim/gz-math/pull/338) + * [Pull request #281](https://github.com/gazebosim/gz-math/pull/281) + 1. GaussMarkovProcess (with examples) + * [Pull request #315](https://github.com/gazebosim/gz-math/pull/315) + 1. RotationSpline + * [Pull request #339](https://github.com/gazebosim/gz-math/pull/339) + 1. Material + * [Pull request #340](https://github.com/gazebosim/gz-math/pull/340) + 1. Kmeans + * [Pull request #341](https://github.com/gazebosim/gz-math/pull/341) + 1. Triangle3 + * [Pull request #335](https://github.com/gazebosim/gz-math/pull/335) + 1. Pose3 + * [Pull request #334](https://github.com/gazebosim/gz-math/pull/334) + 1. Triangle + * [Pull request #333](https://github.com/gazebosim/gz-math/pull/333) + 1. Spline + * [Pull request #332](https://github.com/gazebosim/gz-math/pull/332) + 1. Filter + * [Pull request #336](https://github.com/gazebosim/gz-math/pull/336) + 1. SemanticVersion + * [Pull request #331](https://github.com/gazebosim/gz-math/pull/331) + 1. Matrix3 + * [Pull request #325](https://github.com/gazebosim/gz-math/pull/325) + 1. MovingWindowFilter + * [Pull request #321](https://github.com/gazebosim/gz-math/pull/321) + 1. Line3 + * [Pull request #317](https://github.com/gazebosim/gz-math/pull/317) + 1. Quaternion + * [Pull request #324](https://github.com/gazebosim/gz-math/pull/324) + * [Pull request #361](https://github.com/gazebosim/gz-math/pull/361) + 1. StopWatch + * [Pull request #319](https://github.com/gazebosim/gz-math/pull/319) + 1. RollingMean + * [Pull request #322](https://github.com/gazebosim/gz-math/pull/322) + 1. Line2 + * [Pull request #316](https://github.com/gazebosim/gz-math/pull/316) + 1. Color + * [Pull request #318](https://github.com/gazebosim/gz-math/pull/318) + 1. Helpers + * [Pull request #313](https://github.com/gazebosim/gz-math/pull/313) + 1. Rand (with examples) + * [Pull request #312](https://github.com/gazebosim/gz-math/pull/312) + 1. Angle + * [Pull request #311](https://github.com/gazebosim/gz-math/pull/311) + 1. Vector2, Vector3 and Vector4 + * [Pull request #280](https://github.com/gazebosim/gz-math/pull/280) + +1. Fix Color::HSV() incorrect hue output + * [Pull request #320](https://github.com/gazebosim/gz-math/pull/320) + +1. Add example and modify document for class Color + * [Pull request #304](https://github.com/gazebosim/gz-math/pull/304) + +1. Document that euler angles should be in radians for quaternion constructor + * [Pull request #298](https://github.com/gazebosim/gz-math/pull/298) + +1. Fix windows warnings in Vector2, 3 and 4 + * [Pull request #284](https://github.com/gazebosim/gz-math/pull/284) + +1. Modified cmake target name for Ruby interfaces + * [Pull request #285](https://github.com/gazebosim/gz-math/pull/285) + +1. Frustrum Python interface + * [Pull request #278](https://github.com/gazebosim/gz-math/pull/278) + +1. quaternion_from_euler example: input degrees + * [Pull request #282](https://github.com/gazebosim/gz-math/pull/282) + +1. Internal URL fixed (paragraph 266) + * [Pull request #279](https://github.com/gazebosim/gz-math/pull/279) + +1. Added tutorials for vector, angle, triangle and rotation + * [Pull request #249](https://github.com/gazebosim/gz-math/pull/249) + +1. Inertial Python interface + * [Pull request #275](https://github.com/gazebosim/gz-math/pull/275) + +1. Box Python interfaces + * [Pull request #273](https://github.com/gazebosim/gz-math/pull/273) + +1. DiffDriveOdometry Python interface + * [Pull request #265](https://github.com/gazebosim/gz-math/pull/265) + +1. Sphere Python interface + * [Pull request #277](https://github.com/gazebosim/gz-math/pull/277) + +1. Plane Python interfaces + * [Pull request #272](https://github.com/gazebosim/gz-math/pull/272) + +1. Cylinder Python interface + * [Pull request #274](https://github.com/gazebosim/gz-math/pull/274) + +1. Added SphericalCoordinates Python interface + * [Pull request #263](https://github.com/gazebosim/gz-math/pull/263) + +1. MassMatrix3 Python interface + * [Pull request #260](https://github.com/gazebosim/gz-math/pull/260) + +1. AxisAlignedBox Python interface + * [Pull request #262](https://github.com/gazebosim/gz-math/pull/262) + +1. AxisAlignedBox: deprecate unimplemented methods + * [Pull request #261](https://github.com/gazebosim/gz-math/pull/261) + +## Gazebo Math 6.9.2 (2021-10-14) + +1. Added StopWatch Python Interface + * [Pull request #264](https://github.com/gazebosim/gz-math/pull/264) + +1. Fix clang warnings. + * [Pull request #267](https://github.com/gazebosim/gz-math/pull/267) + +1. Fixed Helpers Python templates + * [Pull request #266](https://github.com/gazebosim/gz-math/pull/266) + +1. Add Helpers Python interface + * [Pull request #251](https://github.com/gazebosim/gz-math/pull/251) + +1. Add Python interface to Triangle3 + * [Pull request #247](https://github.com/gazebosim/gz-math/pull/247) + +1. Adds python interface to MaterialType and Material. + * [Pull request #234](https://github.com/gazebosim/gz-math/pull/234) + +1. Remove Cylinder::SetLength const method + * [Pull request #259](https://github.com/gazebosim/gz-math/pull/259) + +## Gazebo Math 6.9.1 (2021-09-30) + +1. Avoid assertAlmostEqual for python strings + * [Pull request #255](https://github.com/gazebosim/gz-math/pull/255) + +1. Pose3_TEST.py: use 0.01 (not 0) in string test + * [Pull request #257](https://github.com/gazebosim/gz-math/pull/257) + +## Gazebo Math 6.9.0 (2021-09-28) + +1. Volume below a plane for spheres and boxes + * [Pull request #219](https://github.com/gazebosim/gz-math/pull/219) + +1. 🌐 Spherical coordinates: bug fix, docs and sanity checks + * [Pull request #235](https://github.com/gazebosim/gz-math/pull/235) + +1. Add Vector(2|3|4)::NaN to easily create invalid vectors + * [Pull request #222](https://github.com/gazebosim/gz-math/pull/222) + +1. Add options to install python/ruby in system standard paths + * [Pull request #236](https://github.com/gazebosim/gz-math/pull/236) + +1. Add eigen utils to convert mesh 3d vertices to oriented box + * [Pull request #224](https://github.com/gazebosim/gz-math/pull/224) + +1. Python interface + + 1. Adds python interface to RollingMean, Color and Spline + * [Pull request #218](https://github.com/gazebosim/gz-math/pull/218) + + 1. Adds python interface for Kmeans and Vector3Stats + * [Pull request #232](https://github.com/gazebosim/gz-math/pull/232) + + 1. Adds python interface to PID and SemanticVersion. + * [Pull request #229](https://github.com/gazebosim/gz-math/pull/229) + + 1. Adds python interface to triangle. + * [Pull request #231](https://github.com/gazebosim/gz-math/pull/231) + + 1. Adds Line2, Line3, SignalStats, Temperature python interface + * [Pull request #220](https://github.com/gazebosim/gz-math/pull/220) + + 1. Python interface: Renames methods to match PEP8 style + * [Pull request #226](https://github.com/gazebosim/gz-math/pull/226) + + 1. Adds python interface to Filter, MovingWindowFilter, RotationSpline. + * [Pull request #230](https://github.com/gazebosim/gz-math/pull/230) + + 1. Adds python interface to Quaternion, Pose3, Matrix3 and Matrix4 + * [Pull request #221](https://github.com/gazebosim/gz-math/pull/221) + + 1. Basic setup for Python interface using SWIG + * [Pull request #216](https://github.com/gazebosim/gz-math/pull/216) + * [Pull request #223](https://github.com/gazebosim/gz-math/pull/223) + * [Pull request #208](https://github.com/gazebosim/gz-math/pull/208) + * [Pull request #239](https://github.com/gazebosim/gz-math/pull/239) + +1. 👩‍🌾 Don't use std::pow with integers in Vectors and handle sqrt + * [Pull request #207](https://github.com/gazebosim/gz-math/pull/207) + +1. Relax expectations about zero in SpeedLimiter_TEST to make ARM happy + * [Pull request #204](https://github.com/gazebosim/gz-math/pull/204) + +1. Infrastructure + * [Pull request #242](https://github.com/gazebosim/gz-math/pull/242) + * [Pull request #217](https://github.com/gazebosim/gz-math/pull/217) + * [Pull request #211](https://github.com/gazebosim/gz-math/pull/211) + * [Pull request #209](https://github.com/gazebosim/gz-math/pull/209) + * [Pull request #227](https://github.com/gazebosim/gz-math/pull/227) + * [Pull request #225](https://github.com/gazebosim/gz-math/pull/225) + * [Pull request #252](https://github.com/gazebosim/gz-math/pull/252) + * [Pull request #253](https://github.com/gazebosim/gz-math/pull/253) + +## Gazebo Math 6.8.0 (2021-03-30) + +1. Add speed limiter class + * [Pull request #194](https://github.com/gazebosim/gz-math/pull/194) + +1. Bazel Updates for math6 + * [Pull request #171](https://github.com/gazebosim/gz-math/pull/171) + +1. Add Equal tolerance method to Quaternion + * [Pull request #196](https://github.com/gazebosim/gz-math/pull/196) + +1. Fix broken link in MassMatrix3.hh + * [Pull request #197](https://github.com/gazebosim/gz-math/pull/197) + +1. Add instructions to build and run examples + * [Pull request #192](https://github.com/gazebosim/gz-math/pull/192) + +1. Infrastructure and documentation + * [Pull request #189](https://github.com/gazebosim/gz-math/pull/189) + * [Pull request #193](https://github.com/gazebosim/gz-math/pull/193) + * [Pull request #195](https://github.com/gazebosim/gz-math/pull/195) + * [Pull request #201](https://github.com/gazebosim/gz-math/pull/201) + +1. Remove unnecessary copy constructor declaration from Box + * [Pull request 187](https://github.com/gazebosim/gz-math/pull/187) + +1. Windows installation via conda-forge + * [Pull request 185](https://github.com/gazebosim/gz-math/pull/185) + +1. Add rule-of-five members for Angle + * [Pull request 186](https://github.com/gazebosim/gz-math/pull/186) + +1. Ellipsoid: new shape class with inertia calculation method + * [Pull request 182](https://github.com/gazebosim/gz-math/pull/182) + +1. Avoid moving a return value, it might prevent (N)RVO + * [Pull request 183](https://github.com/gazebosim/gz-math/pull/183) + +1. Properly handle stream errors when reading math objects + * [Pull request 180](https://github.com/gazebosim/gz-math/pull/180) + * [Pull request 181](https://github.com/gazebosim/gz-math/pull/181) + +## Gazebo Math 6.7.0 (2020-11-23) + +1. Capsule: new shape class with inertia calculation method + * [Pull request 163](https://github.com/gazebosim/gz-math/pull/163) + +1. Add missing header to Color.hh + * [Pull request 162](https://github.com/gazebosim/gz-math/pull/162) + +1. Improve tests of `Vector2`, `Vector3`, `Vector4`, `Quaternion`, and `Pose3` + * [Pull request 172](https://github.com/gazebosim/gz-math/pull/172) + * [Pull request 173](https://github.com/gazebosim/gz-math/pull/173) + * [Pull request 174](https://github.com/gazebosim/gz-math/pull/174) + * [Issue 76](https://github.com/gazebosim/gz-math/issues/76) + +1. Pose3: document `operator*` + * [Pull request 170](https://github.com/gazebosim/gz-math/pull/170) + +1. Quaternion: add Normalized() method + * [Pull request 169](https://github.com/gazebosim/gz-math/pull/169) + +1. Vector2: add Round(), Rounded() methods + * [Pull request 166](https://github.com/gazebosim/gz-math/pull/166) + * [Issue 71](https://github.com/gazebosim/gz-math/issues/71) + +1. Add test for printing `inf` `Vector3` + * [Pull request 168](https://github.com/gazebosim/gz-math/pull/168) + * [Issue 64](https://github.com/gazebosim/gz-math/issues/64) + +## Gazebo Math 6.6.0 (2020-09-16) + +1. Add chrono duration helper functions + * [Pull request 158](https://github.com/gazebosim/gz-math/pull/158) + +## Gazebo Math 6.5.0 (2020-09-04) + +1. Add string to time function + * [Pull request 152](https://github.com/gazebosim/gz-math/pull/152) + +1. Added functions to convert between time_point and secNsec + * [Pull request 150](https://github.com/gazebosim/gz-math/pull/150) + +1. Fix GZ_MATH_XXX_VERSION + * [Pull request 151](https://github.com/gazebosim/gz-math/pull/151) + +1. Add Max and Min function to Vector2.hh + * [Pull request 133](https://github.com/gazebosim/gz-math/pull/133) + * [Pull request 148](https://github.com/gazebosim/gz-math/pull/148) + * [Issue 71](https://github.com/gazebosim/gz-math/issues/71) + +1. Round, Rounded, Correct, Distance(x, y, z, w) and operator< addition to Vector 4 + * [Pull request 146](https://github.com/gazebosim/gz-math/pull/146) + * [Issue 71](https://github.com/gazebosim/gz-math/issues/71) + +1. Sum and normalized functions for Vector4 + * [Pull request 140](https://github.com/gazebosim/gz-math/pull/140) + * [Issue 71](https://github.com/gazebosim/gz-math/issues/71) + +1. Vector4 Ruby tests - Vector4.i and Vector4_TEST.rb + * [Pull request 137](https://github.com/gazebosim/gz-math/pull/137) + * [Issue 71](https://github.com/gazebosim/gz-math/issues/71) + +1. Vector3 to vector4 functions + * [Pull request 132](https://github.com/gazebosim/gz-math/pull/132) + * [Issue 71](https://github.com/gazebosim/gz-math/issues/71) + +1. Update vector2 fuctions from vector3 + * [Pull request 130](https://github.com/gazebosim/gz-math/pull/130) + * [Issue 71](https://github.com/gazebosim/gz-math/issues/71) + +1. Add Abs, Dot and AbsDot and respective tests to Vector4 + * [Pull request 135](https://github.com/gazebosim/gz-math/pull/135) + * [Issue 71](https://github.com/gazebosim/gz-math/issues/71) + +1. Create abs, absDot and Correct functions for Vector2d + * [Pull request 143](https://github.com/gazebosim/gz-math/pull/143) + * [Issue 71](https://github.com/gazebosim/gz-math/issues/71) + +1. Document Ruby tests + * [Pull request 145](https://github.com/gazebosim/gz-math/pull/145) + +1. Add header for numeric_limits allowing build on ubuntu 16.04 + * [Pull request 119](https://github.com/gazebosim/gz-math/pull/119) + +1. Add setter/getter for Pose's each element + * [Pull request 125](https://github.com/gazebosim/gz-math/pull/125) + * [Issue 35](https://github.com/gazebosim/gz-math/issues/35) + +1. Implement AxisAlignedBox Volume function + * [Pull request 126](https://github.com/gazebosim/gz-math/pull/126) + +1. Add operator + for AxisAlignedBox and Vector3. + * [Pull request 122](https://github.com/gazebosim/gz-math/pull/122) + +1. Make alpha optional when parsing a Color from an input stream. + * [Pull request 106](https://github.com/gazebosim/gz-math/pull/106) + +1. GitHub actions CI and workflow updates + * [Pull request 117](https://github.com/gazebosim/gz-math/pull/117) + * [Pull request 139](https://github.com/gazebosim/gz-math/pull/139) + * [Pull request 110](https://github.com/gazebosim/gz-math/pull/110) + +1. Added a Gauss-Markov Process class. + * [BitBucket pull request 342](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/342) + +1. Fix bug in Inertial addition of off-diagonal moment of inertia terms with pose offsets. + * [BitBucket pull request 344](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/344) + +1. Create FAKE_INSTALL target so example compilation can be tested without doing a real install. + * Angle: [BitBucket pull request 335](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/335) + +1. Updating documentation. + * Angle: [BitBucket pull request 325](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/325) + +1. GraphAlgorithms: add ToUndirected(DirectedGraph) that copies to an UndirectedGraph. + * [BitBucket pull request 332](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/332) + +1. Doxygen fixes for graph classes + * [BitBucket pull request 331](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/331) + +### Gazebo Math 6.4.0 + +1. Added a function that rounds up a number to the nearest multiple of + another number. + * [BitBucket pull request 318](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/318) + +### Gazebo Math 6.3.0 + +1. Added Odometry class that computes odometry for a two wheeled vehicle. + * [BitBucket pull request 313](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/313) + +1. Added RollingMean class. + * [BitBucket pull request 314](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/314) + +### Gazebo Math 6.2.0 + +1. eigen3: Use linear() instead of rotation() to prevent computation of SVD + * [BitBucket pull request 311](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/311) + +1. Change definition of Pose3 `*` operator to fix multiplication order + * [BitBucket pull request 301](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/301) + * [Issue 60](https://github.com/gazebosim/gz-math/issues/60) + +### Gazebo Math 6.1.0 + +1. eigen3: add conversion functions for Eigen::AlignedBox3d <=> gz::math::AxisAlignedBox + * [BitBucket pull request 302](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/302) + +### Gazebo Math 6.0.0 + +1. Helper function that converts from `std::chrono::steady_clock::duration` to + {seconds, nanoseconds}. + * [BitBucket pull request XXX](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/XXX) + +1. Upgrade to c++17. + * [BitBucket pull request 268](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/268) + +## Gazebo Math 5.x + +### Gazebo Math 5.x.x + +### Gazebo Math 5.1.0 (2019-09-11) + +1. GraphAlgorithms: add ToUndirected(DirectedGraph) that copies to an UndirectedGraph. + * [BitBucket pull request 332](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/332) + +1. Doxygen fixes for graph classes + * [BitBucket pull request 331](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/331) + +1. eigen3: Use linear() instead of rotation() to prevent computation of SVD + * [BitBucket pull request 312](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/312) + +1. Change definition of Pose3 `*` operator to fix multiplication order + * [BitBucket pull request 301](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/301) + * [Issue 60](https://github.com/gazebosim/gz-math/issues/60) + +1. eigen3: add conversion functions for Eigen::AlignedBox3d <=> gz::math::AxisAlignedBox + * [BitBucket pull request 302](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/302) + + +### Gazebo Math 5.0.0 (2018-12-12) + +1. Added a Stopwatch class + * [BitBucket pull request 279](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/279) + +1. Added material properties to OrientedBox + * [BitBucket pull request 269](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/269) + +1. Added a Cylinder class. + * [BitBucket pull request 250](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/250) + +1. The `Box` class has been changed to a templatized class that is not + axis-aligned. The previous `Box` functionality is now in the + `AxisAlignedBox` class. + * [BitBucket pull request 257](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/257) + +1. Added eigen3 component with functions for converting between Eigen and gz-math types. + * [BitBucket pull request 256](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/256) + +1. Added a `MassMatrix3::SetFromCylinder` function that uses a `Material` +to specify a density. + * [BitBucket pull request 248](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/248) + +1. Added a Sphere class. + * [BitBucket pull request 255](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/255) + +1. Added a `MassMatrix3::SetFromSphere` function that uses a `Material` to +specify a density. + * [BitBucket pull request 247](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/247) + +1. Added a `MassMatrix3::SetFromBox` function that uses a `Material` to specify + a density. + * [BitBucket pull request 246](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/246) + +1. Deprecated mutator functions in MassMatrix3 that lacked a `Set` prefix. + * [BitBucket pull request 262](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/262) + +1. Updated the MassMatrix3::ValidMoments(), MassMatrix3::IsValid(), MassMatrix3::IsPositive(), + and Inertial::SetMassMatrix functions to accept a tolerance parameter. + * [BitBucket pull request 264](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/264) + +1. Add MassMatrix3::IsNearPositive and use it in MassMatrix3::IsValid, use >= instead of > + in MassMatrix3::ValidMoments + * [BitBucket pull request 278](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/278) + +## Gazebo Math 4.x + +### Gazebo Math 4.x.x + +1. Add Graph::EdgeFromVertices function that return an edge, if one exists, + between two vertices. + * [BitBucket pull request 254](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/254) + +1. Added multiply assign operator to Matrix4. + * [BitBucket pull request 252](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/252) + + +1. Add Plane copy constructor and fix cppcheck on artful + * [BitBucket pull request 230](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/230) + +1. Added MovingWindowFilter, a copy from Gazebo Common. This version will + replace the version found in Gazebo Common. + * [BitBucket pull request 239](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/239) + +1. Added a Material class, which holds information about materials like wood, + steel, and iron. + * [BitBucket pull request 243](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/243) + +### Gazebo Math 4.0.0 (2017-12-26) + +1. Use std::stoi and std::stod in math::parse* functions to reduce code + * [BitBucket pull request 224](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/224) + * [Issue 50](https://github.com/gazebosim/gz-math/issues/50) + +1. Fixing const-correctness for operator* of Pose3 + * [BitBucket pull request 205](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/205) + +1. Deprecate Matrix4::Translate and replace by Matrix4::SetTranslation + * [BitBucket pull request 222](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/222) + +1. Use ignition-cmake to simplify build scripts + * [BitBucket pull request 200](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/200) + +1. Make constructor SemanticVersion(string) explicit + * [BitBucket pull request 203](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/203) + +1. Switch to C++14 + * [BitBucket pull request 180](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/180) + +1. Removed the box 'extent' field. The default constructor now sets a box's + corners to extrema in order to indicate an uninitialized box. + * [BitBucket pull request 172](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/172) + * [Issue 72](https://github.com/gazebosim/gz-math/issues/72) + * [Issue 53](https://github.com/gazebosim/gz-math/issues/53) + +1. Added graph utilites: + 1. Added a Vertex class: + * [BitBucket pull request 170](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/170) + 1. Added an Edge class: + * [BitBucket pull request 174](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/174) + 1. Added a Graph class: + * [BitBucket pull request 175](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/175) + 1. Added a GraphAlgorithms class: + * [BitBucket pull request 177](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/177) + 1. Added a function to calculate connected components in undirected + graphs: + * [BitBucket pull request 190](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/190) + 1. Improved the performance of `graph::InDegree()` and `graph::IncidentsTo()`. + * [BitBucket pull request 188](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/188) + * [Issue 79](https://github.com/gazebosim/gz-math/issues/79) + +1. Added Inline Versioned Namespace + * [BitBucket pull request 216](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/216/) + +## Gazebo Math 3.x + +### Gazebo Math 3.x.x + + + +### Gazebo Math 3.3.0 (2017-11-27) + +1. Fixed frustum falsely saying it contained AABB in some cases + * [BitBucket pull request 193](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/193) + * [Issue 78](https://github.com/gazebosim/gz-math/issues/78) + +1. Create consistent bracket operators across all Vector# types + * [BitBucket pull request 181](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/181) + +1. Change name to the generic BUILDING_DLL macro to avoid conflicts + * [BitBucket pull request 173](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/173) + +1. Fix some compiler warnings + * [BitBucket pull request 196](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/196) + +1. Suppress gtest warnings + * [BitBucket pull request 199](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/199) + +1. Move private headers to src folder + * [BitBucket pull request 198](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/198) + +1. Update configure.bat + * [BitBucket pull request 206](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/206) + +### Gazebo Math 3.2.0 (2017-05-15) + +1. Construct on first use in Rand class + * [BitBucket pull request 165](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/165) + +1. Extended Spline API: derivative interpolation, arc length calculation + and tangent forcing. + * [BitBucket pull request 162](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/162) + +### Gazebo Math 3.1.0 (2017-04-11) + +1. Added signum functions to Helpers.hh. + * Contribution from Martin Pecka + * [BitBucket pull request 153](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/153) + +### Gazebo Math 3.0.0 (2017-01-05) + +1. Deprecate many IGN_* macros in favor of static const variables in Helpers.hh + * [BitBucket pull request 138](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/138) + * [BitBucket pull request 137](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/137) + +1. Removed exceptions. Return values should be evaluated to determine if + errors have occured. + * [BitBucket pull request 132](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/132) + +1. Added `operator=(const Quaternion &_q)` to `Matrix3`. + * [BitBucket pull request 111](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/111) + +1. Fix xenial cppcheck + * [BitBucket pull request xxx](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/xxx) + +1. Require cmake 2.8.12 + * [BitBucket pull request 76](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/76) + +1. Migrate to relocatable CMake package. + Contribution from Silvio Traversaro. + * [BitBucket pull request 67](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/67) + +1. Fix logic of installation of CMake configuration files in Windows. + Contribution from Silvio Traversaro. + * [BitBucket pull request 63](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/63) + +## Gazebo Math 2.x + + + +## Gazebo Math 2.9 (2017-11-22) + +1. Fixed frustum falsely saying it contained AABB in some cases + * [BitBucket pull request 193](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/193) + +1. Added Color + * [BitBucket pull request 150](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/150) + +1. Backport updated configure.bat to gz-math2 and fix cppcheck warnings + * [BitBucket pull request 207](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/207) + +### Gazebo Math 2.8 + +### Gazebo Math 2.8.0 + +1. Added OrientedBox + * [BitBucket pull request 146](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/146) + +1. Added an assignment operator to the Frustum class. + * [BitBucket pull request 144](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/144) + +### Gazebo Math 2.7 + +### Gazebo Math 2.7.0 + +1. Add static const variables as alternative to macros in Helpers.hh + * [BitBucket pull request 137](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/137) + +1. Add new methods for floating numbers: lessOrEqual and greaterOrEqual + * [BitBucket pull request 134](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/134) + +### Gazebo Math 2.6 + +### Gazebo Math 2.6.0 + +1. Added copy constructor, equality operators and assignment operators to + SphericalCoordinates class. + * [BitBucket pull request 131](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/131) + +1. Fix Euler angle conversion of quaternions near singularities + * [BitBucket pull request 129](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/129) + +1. Backport triangle3, helper functions, equality helper to work with 387 fp unit + (Contribution from Rich Mattes). + * [BitBucket pull request 125](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/125) + * [BitBucket pull request 58](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/58) + * [BitBucket pull request 56](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/56) + +1. Added Matrix4::LookAt + * [BitBucket pull request 124](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/124) + +1. Set Inertial Rotations + * [BitBucket pull request 121](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/121) + +1. Added SemanticVersion class + * [BitBucket pull request 120](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/120) + +### Gazebo Math 2.5 + +### Gazebo Math 2.5.0 + +1. Added PID class + * [BitBucket pull request 117](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/117) + +1. Added SphericalCoordinate class + * [BitBucket pull request 108](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/108) + +### Gazebo Math 2.4 + +#### Gazebo Math 2.4.1 + +1. Combine inertial properties of different objects, returning the equivalent + inertial properties as if the objects were welded together. + * [BitBucket pull request 115](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/115) + +#### Gazebo Math 2.4.0 + +1. New MassMatrix3 class + * [BitBucket pull request 112](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/112) +1. MassMatrix3 helper functions + * [BitBucket pull request 110](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/110) +1. Added Temperature class + * A contribution from Shintaro Noda + * [BitBucket pull request 113](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/113) + +### Gazebo Math 2.3.0 + +1. Added simple volumes formulas + * [BitBucket pull request 84](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/84) +1. Add Length and SquaredLength for Vector2 with test + * [BitBucket pull request 73](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/73) +1. Add Equal function with numerical tolerance argument + * [BitBucket pull request 75](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/75) +1. First part of MassMatrix3 class, mostly accessors and modifiers + * [BitBucket pull request 77](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/77) +1. Add Transpose methods for Matrix3,4 with test + * [BitBucket pull request 74](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/74) +1. Multiplication improvements for Vector/Matrix classes + * [BitBucket pull request 69](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/69) +1. Scalar +,- operators for Vector[234] + * [BitBucket pull request 71](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/71) +1. Add Determinant method for Matrix[34] + * [BitBucket pull request 72](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/72) +1. Fixes for compiling and running tests on Windows 7/Visual Studio 2013 + Contribution from Silvio Traversaro. + * [BitBucket pull request 62](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-math/pull-requests/62) diff --git a/ign-math/LICENSE b/ign-math/LICENSE new file mode 100644 index 0000000..4909afd --- /dev/null +++ b/ign-math/LICENSE @@ -0,0 +1,178 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + diff --git a/ign-math/Migration.md b/ign-math/Migration.md new file mode 100644 index 0000000..37fffd4 --- /dev/null +++ b/ign-math/Migration.md @@ -0,0 +1,308 @@ +# Note on deprecations +A tick-tock release cycle allows easy migration to new software versions. +Obsolete code is marked as deprecated for one major release. +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 Math 6.X to 7.X + +### Breaking Changes + + 1. Removed the Quaternion integer template `Quaternioni`. + + 1. The project name has been changed to use the `gz-` prefix, you **must** use the `gz` prefix! + + * This also means that any generated code that use the project name (e.g. CMake variables, in-source macros) would have to be migrated. + * Some non-exhaustive examples of this include: + * `GZ__