Skip to content

Commit

Permalink
Merge branch 'sdf13' into jrivero/sdf13_relative_include
Browse files Browse the repository at this point in the history
  • Loading branch information
j-rivero authored Aug 30, 2023
2 parents ad05aa6 + b999425 commit ba8dd2c
Show file tree
Hide file tree
Showing 99 changed files with 7,174 additions and 847 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ jobs:
# Workaround for https://github.com/actions/setup-python/issues/577
- name: Clean up python binaries
run: |
rm /usr/local/bin/2to3;
rm /usr/local/bin/idle3;
rm /usr/local/bin/pydoc3;
rm /usr/local/bin/python3;
rm /usr/local/bin/python3-config;
rm -f /usr/local/bin/2to3*;
rm -f /usr/local/bin/idle3*;
rm -f /usr/local/bin/pydoc3*;
rm -f /usr/local/bin/python3*;
rm -f /usr/local/bin/python3*-config;
- name: Install base dependencies
env:
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
Expand Down
8 changes: 3 additions & 5 deletions .github/workflows/triage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Add ticket to inbox
uses: technote-space/create-project-card-action@v1
uses: actions/[email protected]
with:
PROJECT: Core development
COLUMN: Inbox
GITHUB_TOKEN: ${{ secrets.TRIAGE_TOKEN }}
CHECK_ORG_PROJECT: true
project-url: https://github.com/orgs/gazebosim/projects/7
github-token: ${{ secrets.TRIAGE_TOKEN }}

2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ if(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0004 NEW)
endif(COMMAND CMAKE_POLICY)

project (sdformat13 VERSION 13.4.1)
project (sdformat13 VERSION 13.5.0)

# The protocol version has nothing to do with the package version.
# It represents the current version of SDFormat implemented by the software
Expand Down
92 changes: 92 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,97 @@
## libsdformat 13.X

### libsdformat 13.5.0 (2023-05-18)

1. Added projector Python wrapper
* [Pull request #1279](https://github.com/gazebosim/sdformat/pull/1279)

1. Added new error codes in Python
* [Pull request #1280](https://github.com/gazebosim/sdformat/pull/1280)

1. Fixed 1.9/light.sdf
* [Pull request #1281](https://github.com/gazebosim/sdformat/pull/1281)

1. Add Projector DOM
* [Pull request #1277](https://github.com/gazebosim/sdformat/pull/1277)

1. Disable pybind11 tests on windows
* [Pull request #1278](https://github.com/gazebosim/sdformat/pull/1278)

1. Geometry and others: update calls to use sdf::Errors parameters
* [Pull request #1153](https://github.com/gazebosim/sdformat/pull/1153)

1. Fix GitHub Actions on macOS
* [Pull request #1271](https://github.com/gazebosim/sdformat/pull/1271)

1. JointAxis: improve code coverage in Load()
* [Pull request #1267](https://github.com/gazebosim/sdformat/pull/1267)

1. Scene: update calls to use sdf::Errors parameters
* [Pull request #1164](https://github.com/gazebosim/sdformat/pull/1164)

1. ForceTorque: update calls to use sdf::Errors output
* [Pull request #1163](https://github.com/gazebosim/sdformat/pull/1163)

1. Fix Element::Set method return value
* [Pull request #1256](https://github.com/gazebosim/sdformat/pull/1256)

1. Sky: update calls to use sdf::Errors output
* [Pull request #1162](https://github.com/gazebosim/sdformat/pull/1162)

1. Add missing values in Surface ToElement method
* [Pull request #1263](https://github.com/gazebosim/sdformat/pull/1263)

1. Atmosphere: update calls to use sdf::Errors output
* [Pull request #1161](https://github.com/gazebosim/sdformat/pull/1161)

1. Altimeter: update calls to use sdf::Errors output
* [Pull request #1160](https://github.com/gazebosim/sdformat/pull/1160)

1. AirPressure: update calls to use sdf::Errors output
* [Pull request #1159](https://github.com/gazebosim/sdformat/pull/1159)

1. ParticleEmitter: update calls to use sdf::Errors output
* [Pull request #1158](https://github.com/gazebosim/sdformat/pull/1158)

1. Physics: update calls to use sdf::Errors output
* [Pull request #1157](https://github.com/gazebosim/sdformat/pull/1157)

1. Frame: update calls to use sdf::Errors output
* [Pull request #1156](https://github.com/gazebosim/sdformat/pull/1156)

1. Material: update calls to use sdf::Errors output
* [Pull request #1155](https://github.com/gazebosim/sdformat/pull/1155)

1. Light: update calls to use sdf::Errors parameters
* [Pull request #1154](https://github.com/gazebosim/sdformat/pull/1154)

1. Imu: update calls to use sdf::Errors output
* [Pull request #1152](https://github.com/gazebosim/sdformat/pull/1152)

1. JointAxis: update calls to use sdf::Errors output
* [Pull request #1145](https://github.com/gazebosim/sdformat/pull/1145)

1. Noise: update calls to use sdf::Errors parameters
* [Pull request #1151](https://github.com/gazebosim/sdformat/pull/1151)

1. Plugin: update calls to use sdf::Errors output
* [Pull request #1144](https://github.com/gazebosim/sdformat/pull/1144)

1. URDF->SDF handle links with no inertia or small mass
* [Pull request #1238](https://github.com/gazebosim/sdformat/pull/1238)

1. Element: update calls to use sdf::Errors output
* [Pull request #1141](https://github.com/gazebosim/sdformat/pull/1141)

1. Add: new error enums to Python
* [Pull request #1249](https://github.com/gazebosim/sdformat/pull/1249)

1. Rename COPYING to LICENSE
* [Pull request #1252](https://github.com/gazebosim/sdformat/pull/1252)

1. Allowing relative paths in URDF
* [Pull request #1213](https://github.com/gazebosim/sdformat/pull/1213)

### libsdformat 13.4.1 (2023-03-08)

1. Fix camera_info_topic default value
Expand Down
1 change: 1 addition & 0 deletions Migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ but with improved human-readability..

1. ParserConfig defaults to WARN instead of LOG when parsing unrecognized
elements.
2. Updated search order for `sdf::findFile()` making local path (current directory) the first to be searched.

### Deprecations

Expand Down
8 changes: 8 additions & 0 deletions include/sdf/Box.hh
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,14 @@ namespace sdf
/// \return SDF element pointer with updated box values.
public: sdf::ElementPtr ToElement() const;

/// \brief Create and return an SDF element filled with data from this
/// box.
/// Note that parameter passing functionality is not captured with this
/// function.
/// \param[out] _errors Vector of errors.
/// \return SDF element pointer with updated box values.
public: sdf::ElementPtr ToElement(sdf::Errors &_errors) const;

/// \brief Private data pointer.
GZ_UTILS_IMPL_PTR(dataPtr)
};
Expand Down
8 changes: 8 additions & 0 deletions include/sdf/Capsule.hh
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,14 @@ namespace sdf
/// \return SDF element pointer with updated capsule values.
public: sdf::ElementPtr ToElement() const;

/// \brief Create and return an SDF element filled with data from this
/// capsule.
/// Note that parameter passing functionality is not captured with this
/// function.
/// \param[out] _errors Vector of errors.
/// \return SDF element pointer with updated capsule values.
public: sdf::ElementPtr ToElement(sdf::Errors &_errors) const;

/// \brief Private data pointer.
GZ_UTILS_IMPL_PTR(dataPtr)
};
Expand Down
8 changes: 8 additions & 0 deletions include/sdf/Collision.hh
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,14 @@ namespace sdf
/// \return SDF element pointer with updated collision values.
public: sdf::ElementPtr ToElement() const;

/// \brief Create and return an SDF element filled with data from this
/// collision.
/// Note that parameter passing functionality is not captured with this
/// function.
/// \param[out] _errors Vector of errors.
/// \return SDF element pointer with updated collision values.
public: sdf::ElementPtr ToElement(sdf::Errors &_errors) const;

/// \brief Give the name of the xml parent of this object, to be used
/// for resolving poses. This is private and is intended to be called by
/// Link::SetPoseRelativeToGraph.
Expand Down
8 changes: 8 additions & 0 deletions include/sdf/Cylinder.hh
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,14 @@ namespace sdf
/// \return SDF element pointer with updated cylinder values.
public: sdf::ElementPtr ToElement() const;

/// \brief Create and return an SDF element filled with data from this
/// cylinder.
/// Note that parameter passing functionality is not captured with this
/// function.
/// \param[out] _errors Vector of errors.
/// \return SDF element pointer with updated cylinder values.
public: sdf::ElementPtr ToElement(sdf::Errors &_errors) const;

/// \brief Private data pointer.
GZ_UTILS_IMPL_PTR(dataPtr)
};
Expand Down
8 changes: 8 additions & 0 deletions include/sdf/Ellipsoid.hh
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,14 @@ namespace sdf
/// \return SDF element pointer with updated ellipsoid values.
public: sdf::ElementPtr ToElement() const;

/// \brief Create and return an SDF element filled with data from this
/// ellipsoid.
/// Note that parameter passing functionality is not captured with this
/// function.
/// \param[out] _errors Vector of errors.
/// \return SDF element pointer with updated ellipsoid values.
public: sdf::ElementPtr ToElement(sdf::Errors &_errors) const;

/// \brief Private data pointer.
GZ_UTILS_IMPL_PTR(dataPtr)
};
Expand Down
4 changes: 4 additions & 0 deletions include/sdf/Error.hh
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,10 @@ namespace sdf
/// \return Error message.
public: std::string Message() const;

/// \brief Sets the message associated with this error.
/// \param [in] _message Message that describes this error.
public: void SetMessage(const std::string &_message);

/// \brief Get the file path associated with this error.
/// \return Returns the path of the file that this error is related to,
/// nullopt otherwise.
Expand Down
8 changes: 8 additions & 0 deletions include/sdf/Geometry.hh
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,14 @@ namespace sdf
/// \return SDF element pointer with updated geometry values.
public: sdf::ElementPtr ToElement() const;

/// \brief Create and return an SDF element filled with data from this
/// geometry.
/// Note that parameter passing functionality is not captured with this
/// function.
/// \param[out] _errors Vector of errors.
/// \return SDF element pointer with updated geometry values.
public: sdf::ElementPtr ToElement(sdf::Errors &_errors) const;

/// \brief Private data pointer.
GZ_UTILS_IMPL_PTR(dataPtr)
};
Expand Down
8 changes: 8 additions & 0 deletions include/sdf/Heightmap.hh
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,14 @@ namespace sdf
/// \return SDF element pointer with updated heightmap values.
public: sdf::ElementPtr ToElement() const;

/// \brief Create and return an SDF element filled with data from this
/// heightmap.
/// Note that parameter passing functionality is not captured with this
/// function.
/// \param[out] _errors Vector of errors.
/// \return SDF element pointer with updated heightmap values.
public: sdf::ElementPtr ToElement(sdf::Errors &_errors) const;

/// \brief Private data pointer.
GZ_UTILS_IMPL_PTR(dataPtr)
};
Expand Down
53 changes: 52 additions & 1 deletion include/sdf/Link.hh
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ namespace sdf
class Light;
class ParserConfig;
class ParticleEmitter;
class Projector;
class Sensor;
class Visual;
struct PoseRelativeToGraph;
Expand Down Expand Up @@ -253,6 +254,47 @@ namespace sdf
/// \sa bool ParticleEmitterNameExists(const std::string &_name) const
public: ParticleEmitter *ParticleEmitterByName(const std::string &_name);

/// \brief Get the number of projectors.
/// \return Number of projectors contained in this Link object.
public: uint64_t ProjectorCount() const;

/// \brief Get a projector based on an index.
/// \param[in] _index Index of the projector.
/// The index should be in the range [0..ProjectorCount()).
/// \return Pointer to the projector. Nullptr if the index does
/// not exist.
/// \sa uint64_t ProjectorCount() const
public: const Projector *ProjectorByIndex(
const uint64_t _index) const;

/// \brief Get a mutable projector based on an index.
/// \param[in] _index Index of the projector.
/// The index should be in the range [0..ProjectorCount()).
/// \return Pointer to the projector. Nullptr if the index does
/// not exist.
/// \sa uint64_t ProjectorCount() const
public: Projector *ProjectorByIndex(uint64_t _index);

/// \brief Get whether a projector name exists.
/// \param[in] _name Name of the projector to check.
/// \return True if there exists a projector with the given name.
public: bool ProjectorNameExists(const std::string &_name) const;

/// \brief Get a projector based on a name.
/// \param[in] _name Name of the projector.
/// \return Pointer to the projector. Nullptr if a projector
/// with the given name does not exist.
/// \sa bool ProjectorNameExists(const std::string &_name) const
public: const Projector *ProjectorByName(
const std::string &_name) const;

/// \brief Get a mutable projector based on a name.
/// \param[in] _name Name of the projector.
/// \return Pointer to the projector. Nullptr if a projector
/// with the given name does not exist.
/// \sa bool ProjectorNameExists(const std::string &_name) const
public: Projector *ProjectorByName(const std::string &_name);

/// \brief Get the inertial value for this link. The inertial object
/// consists of the link's mass, a 3x3 rotational inertia matrix, and
/// a pose for the inertial reference frame. The units for mass is
Expand Down Expand Up @@ -366,7 +408,13 @@ namespace sdf
/// \param[in] _emitter Particle emitter to add.
/// \return True if successful, false if a particle emitter with the name
/// already exists.
public: bool AddParticleEmitter(const ParticleEmitter &_sensor);
public: bool AddParticleEmitter(const ParticleEmitter &_emitter);

/// \brief Add a projector to the link.
/// \param[in] _projector Projector to add.
/// \return True if successful, false if a projector with the name
/// already exists.
public: bool AddProjector(const Projector &_projector);

/// \brief Remove all collisions
public: void ClearCollisions();
Expand All @@ -383,6 +431,9 @@ namespace sdf
/// \brief Remove all particle emitters
public: void ClearParticleEmitters();

/// \brief Remove all projectors
public: void ClearProjectors();

/// \brief Create and return an SDF element filled with data from this
/// link.
/// Note that parameter passing functionality is not captured with this
Expand Down
8 changes: 8 additions & 0 deletions include/sdf/Mesh.hh
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,14 @@ namespace sdf
/// \return SDF element pointer with updated mesh values.
public: sdf::ElementPtr ToElement() const;

/// \brief Create and return an SDF element filled with data from this
/// mesh.
/// Note that parameter passing functionality is not captured with this
/// function.
/// \param[out] _errors Vector of errors.
/// \return SDF element pointer with updated mesh values.
public: sdf::ElementPtr ToElement(sdf::Errors &_errors) const;

/// \brief Private data pointer.
GZ_UTILS_IMPL_PTR(dataPtr)
};
Expand Down
18 changes: 18 additions & 0 deletions include/sdf/Model.hh
Original file line number Diff line number Diff line change
Expand Up @@ -529,6 +529,24 @@ namespace sdf
private: const std::vector<std::pair<std::optional<sdf::NestedInclude>,
sdf::InterfaceModelConstPtr>> &MergedInterfaceModels() const;

/// \brief Get whether the model was merge-included and needs to be
/// processed to carry out the merge.
/// \return True if the model was merge-included.
private: bool IsMerged() const;

/// \brief Prepare the model to be merged into the parent model or world.
/// As part of the perparation, this will create the proxy frame that would
/// be need to be added to the parent object.
/// \param[out] _errors A list of errors encountered during the operation.
/// \param[in] _parentOfProxyFrame Name of parent of the proxy frame that
/// will be created. This can only be "__model__" or "world".
/// \return The proxy frame for the merged model that will need to be added
/// to the parent object.
/// \note This is a destructive call. After this call, the model will be in
/// an invalid state unless it is merged into the parent object.
private: sdf::Frame PrepareForMerge(sdf::Errors &_errors,
const std::string &_parentOfProxyFrame);

/// \brief Allow Root::Load, World::SetPoseRelativeToGraph, or
/// World::SetFrameAttachedToGraph to call SetPoseRelativeToGraph and
/// SetFrameAttachedToGraph
Expand Down
8 changes: 8 additions & 0 deletions include/sdf/Plane.hh
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,14 @@ namespace sdf
/// \return SDF element pointer with updated plane values.
public: sdf::ElementPtr ToElement() const;

/// \brief Create and return an SDF element filled with data from this
/// plane.
/// Note that parameter passing functionality is not captured with this
/// function.
/// \param[out] _errors Vector of errors.
/// \return SDF element pointer with updated plane values.
public: sdf::ElementPtr ToElement(sdf::Errors &_errors) const;

/// \brief Private data pointer.
GZ_UTILS_IMPL_PTR(dataPtr)
};
Expand Down
Loading

0 comments on commit ba8dd2c

Please sign in to comment.