-
Build gz-math with bzlmod
-
Add CI support for bzlmod
-
Specify template for Vector2 in Vector2_TEST
-
Python bindings: get version from package.xml
-
Permit building python bindings separately from gz-math library
-
Merge all changes from 7.5.1
-
Miscellaneous documentation fixes
-
Fix Vector examples
-
Added CoordinateVector3 and used it in SphericalCoordinates
-
Clamping color channel values to within [0, 1]
-
Use ImplPtr, Implement rule of zero
-
Fix flaky Stopwatch test
-
Line*.hh: remove unneeded use of static variable
-
Fix potential unsafe initialization in the Graph class
-
Remove APIs deprecated in gz-math7
-
Deprecate math::clock alias
-
Clean up nested namespaces
-
Find python directly instead of using GzPython
-
Adding cone primitives.
-
Enable 24.04 CI, remove distutils dependency
-
Remove HIDE_SYMBOLS_BY_DEFAULT: replace by a default configuration in gz-cmake.
-
Use HIDE_SYMBOLS_BY_DEFAULT, fix MovingWindowFilter
-
Dependency version bumps in ionic: use gz-cmake4, gz-utils3
-
Remove ignition headers and macros
-
Bump major version to 8
-
Fix tolerance for axis-angle conversion of quaternions
-
Added box examples in C++ and Python
-
Check for 0 stddev when generating a random number using normal distribution
-
Clean up nested namespaces
-
Backport: Adding cone primitives.
-
Enable 24.04 CI on harmonic
-
Add package.xml
-
bazel: correctly export license
-
Add missing eigen3.hh header for bazel build
-
Expose non-const reference to edges
-
Added MecanumDriveOdometry Python wrapper
-
Update CI badges in README
-
Infrastructure
-
Suppress warnings on MSVC
-
Remove the use of numeric_limits in appendToStream test
-
Replace CMake Python variables with new ones from FindPython3 module
-
Fix
Matrix3_TEST.py
on Windows with conda-forge dependencies -
Fix small typo cppgetstarted.md
-
Update Ubuntu Binary installation since apt-key is deprecated
-
Update file tree in README to point out pybind11
-
Update tutorial/color.md
-
ign->gz in README.md
-
Update example_triangle.md
-
Adds a validity check for Sessions created using the
TimeVaryingVolumetricGrid
-
Fixes for testing in non standard architectures
-
MecanumDriveOdometry to handle odometry estimation of Mecanum wheeled models
-
Fix documentation on Plane.hh
-
Infrastructure
-
Build examples from CMake rather than executable
-
Added
std::optional MassMatrix()
functions for Box, Cylinder & Sphere
-
Add tests to increase test coverage
-
Forward ports
-
Disable pybind11 on windows by default
-
Add option to skip pybind11 and SWIG
-
Custom PID error rate
-
Garden bazel support
-
Rename COPYING to LICENSE
-
Infrastructure
-
Fix link of installation tutorial to point to 7.1 version
- Adds bounds retrieval for TimeVarying grid class.
- Update to disable tests failing on arm64
- Disable tests failing on arm64
-
Deprecated
Angle::Degree(double)
andAngle::Radian(double)
. UseAngle::SetDegree(double)
andAngle::SetRadian(double)
instead. -
Added Equal functions with a tolerance parameter to Pose3 and Quaternion.
-
Updates per issue #101.
- Helpers: BitBucket pull request 330, BitBucket pull request 323
- Matrix3: BitBucket pull request 328
- Pose: BitBucket pull request 329
- Quaternion: BitBucket pull request 327, BitBucket pull request 338
-
Removed deprecations.
-
Updated Temperature class documentation, script interface, and added examples.
-
Prevent -0 with out stream operator
-
Use
<ostream>
and<istream>
narrower includes, not<iostream>
-
Evict large function definitions from the Helpers.hh header file.
-
Defer regex construction to avoid static initialization.
-
Defer Material::Predefined construction to avoid static initialization.
-
Resolve cppcheck errors by adding explicit constructors and consts.
-
Remove virtual from destructors of copyable classes.
-
Use constexpr for simple static constants.
-
Fix output stream operator
-
Tutorial updates
-
Fixed quaternion from euler example
-
Rename the python library as gz.math7
-
Add option to skip pybind11 and SWIG
-
Python bindings
-
Add a Time Interpolation API
-
Add fluid added mass to inertial
-
VolumetricGridLookupField: generalize index type, add constructor
-
Drop unnecessary moving window filter pimpl
-
Migrate ign -> gz
-
Fix output stream operator
-
Compute distance between points on a general celestial body
-
Update GoogleTest to latest version
-
Reduce compilation time
-
Pose3: deprecate +, -, and -= operators
-
Document
Pose::operator*()
-
Subtraction operator for Inertial class
-
Add linear interpolation methods.
-
Infrastructure
-
Add PiecewiseScalarField3 class
-
Add AdditivelySeparableScalarField3 class
-
Add Polynomial3 class
-
Add Interval and Region3 classes
-
Add missing headers
-
[math7] Tidy up unused variables
-
Use ImplPtr from ign-utils where relevant
-
Modified cmake target name for Ruby interfaces
-
Make API / naming consistent for Frustum, Edge, Angle
-
Reduce Stopwatch test sleep times
-
Speed up Helpers::Pair test
-
Make Vector2 API more consistent with Vector3
-
Clean up a few new GCC9 warnings
-
Replace CMake Python variables with new ones from FindPython3 module
-
Suppress warnings on MSVC
-
Infrastructure
-
Fixes for testing in non standard architectures
-
MecanumDriveOdometry to handle odometry estimation of Mecanum wheeled models
-
Infrastructure
-
Disable pybind11 on windows by default
-
Add option to skip pybind11 and SWIG
-
Custom PID error rate
-
Infrastructure
-
Support migration and migrate headers
-
Remove redundant namespace references
-
Added Helper function isTimeString to Python
-
Ignition -> Gazebo
-
Added
*.pyc
to.gitignore
-
Alphabetize examples
-
Add
PiecewiseScalarField3
class -
Add
AdditivelySeparableScalarField3
class -
Add
Polynomial3
class -
Add
Region3
class -
Add
Interval
class -
Add Matrix6 class
-
Backport newest appendToStream functions
-
Use pytest to generate junit xml files for python tests
-
Add Aditya as codeowner
-
MassMatrix3: fix bug in PrincipalAxesOffset tolerances
-
Fix return policies for some member functions
-
Added Ellipsoid Python interface
-
Added Capsule Python interface
-
Fixes for tests on i386: relax SphericalCoordinates and workaround for negative zero
-
Added helper function to check if a string represents a time
-
Reduce pybind11 compilation memory
-
Use const instead of constexpr in Ellipsoid constructor
-
Refactor finding pybind11
-
Fix Focal on Jenkins
-
kmeans example in C++ and Python
-
Small fixed in doxygen
-
Added Python Getting started tutorial
-
Move SWIG interfaces from Python to Ruby
-
Added pybind11 interfaces for various classes
- SphericalCoordinates
- Vector3Stats
- SignalStats
- Sphere
- Frustum
- Plane
- Cylinder
- OrientedBox
- Inertial
- Matrix4
- PID
- Temperature
- DiffDriveOdometry (with examples)
- MassMatrix3
- AxisAlignedBox
- GaussMarkovProcess (with examples)
- RotationSpline
- Material
- Kmeans
- Triangle3
- Pose3
- Triangle
- Spline
- Filter
- SemanticVersion
- Matrix3
- MovingWindowFilter
- Line3
- Quaternion
- StopWatch
- RollingMean
- Line2
- Color
- Helpers
- Rand (with examples)
- Angle
- Vector2, Vector3 and Vector4
-
Fix Color::HSV() incorrect hue output
-
Add example and modify document for class Color
-
Document that euler angles should be in radians for quaternion constructor
-
Fix windows warnings in Vector2, 3 and 4
-
Modified cmake target name for Ruby interfaces
-
Frustrum Python interface
-
quaternion_from_euler example: input degrees
-
Internal URL fixed (paragraph 266)
-
Added tutorials for vector, angle, triangle and rotation
-
Inertial Python interface
-
Box Python interfaces
-
DiffDriveOdometry Python interface
-
Sphere Python interface
-
Plane Python interfaces
-
Cylinder Python interface
-
Added SphericalCoordinates Python interface
-
MassMatrix3 Python interface
-
AxisAlignedBox Python interface
-
AxisAlignedBox: deprecate unimplemented methods
-
Added StopWatch Python Interface
-
Fix clang warnings.
-
Fixed Helpers Python templates
-
Add Helpers Python interface
-
Add Python interface to Triangle3
-
Adds python interface to MaterialType and Material.
-
Remove Cylinder::SetLength const method
-
Avoid assertAlmostEqual for python strings
-
Pose3_TEST.py: use 0.01 (not 0) in string test
-
Volume below a plane for spheres and boxes
-
🌐 Spherical coordinates: bug fix, docs and sanity checks
-
Add Vector(2|3|4)::NaN to easily create invalid vectors
-
Add options to install python/ruby in system standard paths
-
Add eigen utils to convert mesh 3d vertices to oriented box
-
Python interface
-
Adds python interface to RollingMean, Color and Spline
-
Adds python interface for Kmeans and Vector3Stats
-
Adds python interface to PID and SemanticVersion.
-
Adds python interface to triangle.
-
Adds Line2, Line3, SignalStats, Temperature python interface
-
Python interface: Renames methods to match PEP8 style
-
Adds python interface to Filter, MovingWindowFilter, RotationSpline.
-
Adds python interface to Quaternion, Pose3, Matrix3 and Matrix4
-
Basic setup for Python interface using SWIG
-
-
👩🌾 Don't use std::pow with integers in Vectors and handle sqrt
-
Relax expectations about zero in SpeedLimiter_TEST to make ARM happy
-
Infrastructure
-
Add speed limiter class
-
Bazel Updates for math6
-
Add Equal tolerance method to Quaternion
-
Fix broken link in MassMatrix3.hh
-
Add instructions to build and run examples
-
Infrastructure and documentation
-
Remove unnecessary copy constructor declaration from Box
-
Windows installation via conda-forge
-
Add rule-of-five members for Angle
-
Ellipsoid: new shape class with inertia calculation method
-
Avoid moving a return value, it might prevent (N)RVO
-
Properly handle stream errors when reading math objects
-
Capsule: new shape class with inertia calculation method
-
Add missing header to Color.hh
-
Improve tests of
Vector2
,Vector3
,Vector4
,Quaternion
, andPose3
-
Pose3: document
operator*
-
Quaternion: add Normalized() method
-
Vector2: add Round(), Rounded() methods
-
Add test for printing
inf
Vector3
- Add chrono duration helper functions
-
Add string to time function
-
Added functions to convert between time_point and secNsec
-
Fix GZ_MATH_XXX_VERSION
-
Add Max and Min function to Vector2.hh
-
Round, Rounded, Correct, Distance(x, y, z, w) and operator< addition to Vector 4
-
Sum and normalized functions for Vector4
-
Vector4 Ruby tests - Vector4.i and Vector4_TEST.rb
-
Vector3 to vector4 functions
-
Update vector2 fuctions from vector3
-
Add Abs, Dot and AbsDot and respective tests to Vector4
-
Create abs, absDot and Correct functions for Vector2d
-
Document Ruby tests
-
Add header for numeric_limits allowing build on ubuntu 16.04
-
Add setter/getter for Pose's each element
-
Implement AxisAlignedBox Volume function
-
Add operator + for AxisAlignedBox and Vector3.
-
Make alpha optional when parsing a Color from an input stream.
-
GitHub actions CI and workflow updates
-
Added a Gauss-Markov Process class.
-
Fix bug in Inertial addition of off-diagonal moment of inertia terms with pose offsets.
-
Create FAKE_INSTALL target so example compilation can be tested without doing a real install.
- Angle: BitBucket pull request 335
-
Updating documentation.
- Angle: BitBucket pull request 325
-
GraphAlgorithms: add ToUndirected(DirectedGraph) that copies to an UndirectedGraph.
-
Doxygen fixes for graph classes
- Added a function that rounds up a number to the nearest multiple of another number.
-
Added Odometry class that computes odometry for a two wheeled vehicle.
-
Added RollingMean class.
-
eigen3: Use linear() instead of rotation() to prevent computation of SVD
-
Change definition of Pose3
*
operator to fix multiplication order
- eigen3: add conversion functions for Eigen::AlignedBox3d <=> gz::math::AxisAlignedBox
-
Helper function that converts from
std::chrono::steady_clock::duration
to {seconds, nanoseconds}. -
Upgrade to c++17.
-
GraphAlgorithms: add ToUndirected(DirectedGraph) that copies to an UndirectedGraph.
-
Doxygen fixes for graph classes
-
eigen3: Use linear() instead of rotation() to prevent computation of SVD
-
Change definition of Pose3
*
operator to fix multiplication order -
eigen3: add conversion functions for Eigen::AlignedBox3d <=> gz::math::AxisAlignedBox
-
Added a Stopwatch class
-
Added material properties to OrientedBox
-
Added a Cylinder class.
-
The
Box
class has been changed to a templatized class that is not axis-aligned. The previousBox
functionality is now in theAxisAlignedBox
class. -
Added eigen3 component with functions for converting between Eigen and gz-math types.
-
Added a
MassMatrix3::SetFromCylinder
function that uses aMaterial
to specify a density. -
Added a Sphere class.
-
Added a
MassMatrix3::SetFromSphere
function that uses aMaterial
to specify a density. -
Added a
MassMatrix3::SetFromBox
function that uses aMaterial
to specify a density. -
Deprecated mutator functions in MassMatrix3 that lacked a
Set
prefix. -
Updated the MassMatrix3::ValidMoments(), MassMatrix3::IsValid(), MassMatrix3::IsPositive(), and Inertial::SetMassMatrix functions to accept a tolerance parameter.
-
Add MassMatrix3::IsNearPositive and use it in MassMatrix3::IsValid, use >= instead of > in MassMatrix3::ValidMoments
-
Add Graph::EdgeFromVertices function that return an edge, if one exists, between two vertices.
-
Added multiply assign operator to Matrix4.
-
Add Plane copy constructor and fix cppcheck on artful
-
Added MovingWindowFilter, a copy from Gazebo Common. This version will replace the version found in Gazebo Common.
-
Added a Material class, which holds information about materials like wood, steel, and iron.
-
Use std::stoi and std::stod in math::parse* functions to reduce code
-
Fixing const-correctness for operator* of Pose3
-
Deprecate Matrix4::Translate and replace by Matrix4::SetTranslation
-
Use ignition-cmake to simplify build scripts
-
Make constructor SemanticVersion(string) explicit
-
Switch to C++14
-
Removed the box 'extent' field. The default constructor now sets a box's corners to extrema in order to indicate an uninitialized box.
-
Added graph utilites:
- Added a Vertex class:
- Added an Edge class:
- Added a Graph class:
- Added a GraphAlgorithms class:
- Added a function to calculate connected components in undirected graphs:
- Improved the performance of
graph::InDegree()
andgraph::IncidentsTo()
.
-
Added Inline Versioned Namespace
-
Fixed frustum falsely saying it contained AABB in some cases
-
Create consistent bracket operators across all Vector# types
-
Change name to the generic BUILDING_DLL macro to avoid conflicts
-
Fix some compiler warnings
-
Suppress gtest warnings
-
Move private headers to src folder
-
Update configure.bat
-
Construct on first use in Rand class
-
Extended Spline API: derivative interpolation, arc length calculation and tangent forcing.
- Added signum functions to Helpers.hh.
- Contribution from Martin Pecka
- BitBucket pull request 153
-
Deprecate many IGN_* macros in favor of static const variables in Helpers.hh
-
Removed exceptions. Return values should be evaluated to determine if errors have occured.
-
Added
operator=(const Quaternion<T> &_q)
toMatrix3
. -
Fix xenial cppcheck
-
Require cmake 2.8.12
-
Migrate to relocatable CMake package. Contribution from Silvio Traversaro.
-
Fix logic of installation of CMake configuration files in Windows. Contribution from Silvio Traversaro.
-
Fixed frustum falsely saying it contained AABB in some cases
-
Added Color
-
Backport updated configure.bat to gz-math2 and fix cppcheck warnings
-
Added OrientedBox
-
Added an assignment operator to the Frustum class.
-
Add static const variables as alternative to macros in Helpers.hh
-
Add new methods for floating numbers: lessOrEqual and greaterOrEqual
-
Added copy constructor, equality operators and assignment operators to SphericalCoordinates class.
-
Fix Euler angle conversion of quaternions near singularities
-
Backport triangle3, helper functions, equality helper to work with 387 fp unit (Contribution from Rich Mattes).
-
Added Matrix4::LookAt
-
Set Inertial Rotations
-
Added SemanticVersion class
-
Added PID class
-
Added SphericalCoordinate class
- Combine inertial properties of different objects, returning the equivalent inertial properties as if the objects were welded together.
- New MassMatrix3 class
- MassMatrix3 helper functions
- Added Temperature class
- A contribution from Shintaro Noda
- BitBucket pull request 113
- Added simple volumes formulas
- Add Length and SquaredLength for Vector2 with test
- Add Equal function with numerical tolerance argument
- First part of MassMatrix3 class, mostly accessors and modifiers
- Add Transpose methods for Matrix3,4 with test
- Multiplication improvements for Vector/Matrix classes
- Scalar +,- operators for Vector[234]
- Add Determinant method for Matrix[34]
- Fixes for compiling and running tests on Windows 7/Visual Studio 2013 Contribution from Silvio Traversaro.