Skip to content

Commit

Permalink
Merge branch 'master' into nlamprian/force_torque
Browse files Browse the repository at this point in the history
  • Loading branch information
scpeters authored Nov 19, 2020
2 parents f9275d4 + 5a91081 commit d35bac9
Show file tree
Hide file tree
Showing 73 changed files with 4,149 additions and 1,701 deletions.
8 changes: 8 additions & 0 deletions .github/ci/packages.apt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
libignition-cmake2-dev
libignition-math6-dev
libignition-tools-dev
libtinyxml2-dev
liburdfdom-dev
libxml2-utils
python-psutil
ruby-dev
7 changes: 2 additions & 5 deletions .github/workflows/linux-ubuntu-bionic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" > /etc/apt/sources.list.d/gazebo-stable.list';
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D2486D2DD83DB69272AFE98867170598AF249743;
sudo apt-get update;
sudo apt -y install cmake build-essential curl g++-8 git mercurial libtinyxml2-dev libxml2-utils ruby-dev python-psutil cppcheck;
sudo apt -y install cmake build-essential curl g++-8 git cppcheck;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8 --slave /usr/bin/gcov gcov /usr/bin/gcov-8;
# workaround for https://github.com/rubygems/rubygems/issues/3068
# suggested in https://github.com/rubygems/rubygems/issues/3068#issuecomment-574775885
Expand All @@ -32,10 +32,7 @@ jobs:
- name: Install ignition dependencies
run: |
sudo apt -y install \
libignition-cmake2-dev \
libignition-math6-dev \
libignition-tools-dev \
liburdfdom-dev;
$(sort -u $(find .github -iname 'packages-'`lsb_release -cs`'.apt' -o -iname 'packages.apt') | tr '\n' ' ')
- name: cmake
run: |
mkdir build;
Expand Down
9 changes: 9 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@
1. Initial version of SDFormat 1.8 specification.
* [BitBucket pull request 682](https://osrf-migration.github.io/sdformat-gh-pages/#!/osrf/sdformat/pull-requests/682)

1. SDFormat 1.8: Support specifying frames as joint child/parent.
* [Pull request 304](https://github.com/osrf/sdformat/pull/304)

1. SDFormat 1.8: Add support for `//include/placement_frame` and `//model/@placement_frame`.
* [Pull request 324](https://github.com/osrf/sdformat/pull/324)

1. SDFormat 1.8: Support explicit nested canonical links with :: syntax.
* [Pull request 353](https://github.com/osrf/sdformat/pull/353)

1. SDFormat 1.8: Deprecate //joint/axis/initial_position.
* [BitBucket pull request 683](https://osrf-migration.github.io/sdformat-gh-pages/#!/osrf/sdformat/pull-requests/683)

Expand Down
13 changes: 13 additions & 0 deletions Migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,19 @@ but with improved human-readability..
+ Errors ResolveChildLink(std::string&) const
+ Errors ResolveParentLink(std::string&) const

### Modifications

1. **sdf/Model.hh**: the following methods now accept nested names relative to
the model's scope that can begin with a sequence of nested model names
separated by `::` and may end with the name of an object of the specified
type.
+ const Frame \*FrameByName(const std::string &) const
+ const Joint \*JointByName(const std::string &) const
+ const Link \*LinkByName(const std::string &) const
+ bool FrameNameExists(const std::string &) const
+ bool JointNameExists(const std::string &) const
+ bool LinkNameExists(const std::string &) const

## SDFormat 9.x to 10.0

### Modifications
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ TODO(eric.cousineau): Move terminology section to sdf_tutorials?

## Installation

**Note:** the `master` branch is under development for `libsdformat11` and is
currently unstable. A release branch (`sdf10`, `sdf9`, etc.) is recommended
for most users.

Standard installation can be performed in UNIX systems using the following
steps:

Expand Down
9 changes: 5 additions & 4 deletions include/sdf/Collision.hh
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ namespace sdf
class Geometry;
class Surface;
struct PoseRelativeToGraph;
template <typename T> class ScopedGraph;

/// \brief A collision element descibes the collision properties associated
/// with a link. This can be different from the visual properties of a link.
Expand Down Expand Up @@ -141,12 +142,12 @@ namespace sdf
/// \param[in] _xmlParentName Name of xml parent object.
private: void SetXmlParentName(const std::string &_xmlParentName);

/// \brief Give a weak pointer to the PoseRelativeToGraph to be used
/// for resolving poses. This is private and is intended to be called by
/// \brief Give the scoped PoseRelativeToGraph to be used for resolving
/// poses. This is private and is intended to be called by
/// Link::SetPoseRelativeToGraph.
/// \param[in] _graph Weak pointer to PoseRelativeToGraph.
/// \param[in] _graph scoped PoseRelativeToGraph object.
private: void SetPoseRelativeToGraph(
std::weak_ptr<const PoseRelativeToGraph> _graph);
sdf::ScopedGraph<PoseRelativeToGraph> _graph);

/// \brief Allow Link::SetPoseRelativeToGraph to call SetXmlParentName
/// and SetPoseRelativeToGraph, but Link::SetPoseRelativeToGraph is
Expand Down
26 changes: 13 additions & 13 deletions include/sdf/Frame.hh
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ namespace sdf
class FramePrivate;
struct FrameAttachedToGraph;
struct PoseRelativeToGraph;
template <typename T> class ScopedGraph;

/// \brief A Frame element descibes the properties associated with an
/// explicit frame defined in a Model or World.
Expand Down Expand Up @@ -133,9 +134,8 @@ namespace sdf
public: sdf::ElementPtr Element() const;

/// \brief Resolve the attached-to body of this frame from the
/// FrameAttachedToGraph. If this is in a __model__ scope, it returns
/// the name of a link. In the world scope, it returns the name of a
/// model or the world.
/// FrameAttachedToGraph. Generally, it resolves to the name of a link, but
/// if it is in the world scope, it can resolve to "world".
/// \param[out] _body Name of body to which this frame is attached.
/// \return Errors.
public: Errors ResolveAttachedToBody(std::string &_body) const;
Expand All @@ -145,19 +145,19 @@ namespace sdf
/// \return SemanticPose object for this link.
public: sdf::SemanticPose SemanticPose() const;

/// \brief Give a weak pointer to the FrameAttachedToGraph to be used
/// for resolving attached bodies. This is private and is intended to
/// be called by Model::Load or World::Load.
/// \param[in] _graph Weak pointer to FrameAttachedToGraph.
/// \brief Give a scoped FrameAttachedToGraph to be used for resolving
/// attached bodies. This is private and is intended to be called by
/// Model::Load or World::Load.
/// \param[in] _graph scoped FrameAttachedToGraph object.
private: void SetFrameAttachedToGraph(
std::weak_ptr<const FrameAttachedToGraph> _graph);
sdf::ScopedGraph<FrameAttachedToGraph> _graph);

/// \brief Give a weak pointer to the PoseRelativeToGraph to be used
/// for resolving poses. This is private and is intended to be called by
/// Model::Load or World::Load.
/// \param[in] _graph Weak pointer to PoseRelativeToGraph.
/// \brief Give the scoped PoseRelativeToGraph to be used for resolving
/// poses. This is private and is intended to be called by Model::Load or
/// World::Load.
/// \param[in] _graph scoped PoseRelativeToGraph object.
private: void SetPoseRelativeToGraph(
std::weak_ptr<const PoseRelativeToGraph> _graph);
sdf::ScopedGraph<PoseRelativeToGraph> _graph);

/// \brief Allow Model::Load and World::Load to call SetPoseRelativeToGraph.
friend class Model;
Expand Down
20 changes: 10 additions & 10 deletions include/sdf/Joint.hh
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ namespace sdf
class JointPrivate;
struct FrameAttachedToGraph;
struct PoseRelativeToGraph;
template <typename T> class ScopedGraph;

/// \enum JointType
/// \brief The set of joint types. INVALID indicates that joint type has
Expand Down Expand Up @@ -221,19 +222,18 @@ namespace sdf
/// \return SemanticPose object for this link.
public: sdf::SemanticPose SemanticPose() const;

/// \brief Give a weak pointer to the FrameAttachedToGraph to be used
/// for resolving parent and child link names. This is private and is
/// intended to be called by Model::Load.
/// \param[in] _graph Weak pointer to FrameAttachedToGraph.
/// \brief Give the scoped FrameAttachedToGraph to be used for resolving
/// parent and child link names. This is private and is intended to be
/// called by Model::Load.
/// \param[in] _graph scoped FrameAttachedToGraph object.
private: void SetFrameAttachedToGraph(
std::weak_ptr<const FrameAttachedToGraph> _graph);
sdf::ScopedGraph<FrameAttachedToGraph> _graph);

/// \brief Give a weak pointer to the PoseRelativeToGraph to be used
/// for resolving poses. This is private and is intended to be called by
/// Model::Load.
/// \param[in] _graph Weak pointer to PoseRelativeToGraph.
/// \brief Give the scoped PoseRelativeToGraph to be used for resolving
/// poses. This is private and is intended to be called by Model::Load.
/// \param[in] _graph scoped PoseRelativeToGraph object.
private: void SetPoseRelativeToGraph(
std::weak_ptr<const PoseRelativeToGraph> _graph);
sdf::ScopedGraph<PoseRelativeToGraph> _graph);

/// \brief Allow Model::Load to call SetPoseRelativeToGraph.
friend class Model;
Expand Down
11 changes: 6 additions & 5 deletions include/sdf/JointAxis.hh
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ namespace sdf
// Forward declare private data class.
class JointAxisPrivate;
struct PoseRelativeToGraph;
template <typename T> class ScopedGraph;

/// \brief Parameters related to the axis of rotation for rotational joints,
/// and the axis of translation for prismatic joints.
Expand Down Expand Up @@ -269,12 +270,12 @@ namespace sdf
/// \param[in] _xmlParentName Name of xml parent object.
private: void SetXmlParentName(const std::string &_xmlParentName);

/// \brief Give a weak pointer to the PoseRelativeToGraph to be used
/// for resolving poses. This is private and is intended to be called
/// by Joint::SetPoseRelativeToGraph.
/// \param[in] _graph Weak pointer to PoseRelativeToGraph.
/// \brief Give the scoped PoseRelativeToGraph to be used for resolving
/// poses. This is private and is intended to be called by
/// Joint::SetPoseRelativeToGraph.
/// \param[in] _graph scoped PoseRelativeToGraph object.
private: void SetPoseRelativeToGraph(
std::weak_ptr<const PoseRelativeToGraph> _graph);
sdf::ScopedGraph<PoseRelativeToGraph> _graph);

/// \brief Allow Joint::SetPoseRelativeToGraph to propagate.
friend class Joint;
Expand Down
9 changes: 5 additions & 4 deletions include/sdf/Light.hh
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ namespace sdf
// Forward declare private data class.
class LightPrivate;
struct PoseRelativeToGraph;
template <typename T> class ScopedGraph;

/// \enum LightType
/// \brief The set of light types. INVALID indicates that light type has
Expand Down Expand Up @@ -273,12 +274,12 @@ namespace sdf
/// \param[in] _xmlParentName Name of xml parent object.
private: void SetXmlParentName(const std::string &_xmlParentName);

/// \brief Give a weak pointer to the PoseRelativeToGraph to be used
/// for resolving poses. This is private and is intended to be called by
/// \brief Give the scoped PoseRelativeToGraph to be used for resolving
/// poses. This is private and is intended to be called by
/// Link::SetPoseRelativeToGraph or World::Load.
/// \param[in] _graph Weak pointer to PoseRelativeToGraph.
/// \param[in] _graph scoped PoseRelativeToGraph object.
private: void SetPoseRelativeToGraph(
std::weak_ptr<const PoseRelativeToGraph> _graph);
sdf::ScopedGraph<PoseRelativeToGraph> _graph);

/// \brief Allow Link::SetPoseRelativeToGraph or World::Load to call
/// SetXmlParentName and SetPoseRelativeToGraph,
Expand Down
10 changes: 5 additions & 5 deletions include/sdf/Link.hh
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ namespace sdf
class Visual;
class LinkPrivate;
struct PoseRelativeToGraph;
template <typename T> class ScopedGraph;

class SDFORMAT_VISIBLE Link
{
Expand Down Expand Up @@ -225,12 +226,11 @@ namespace sdf
/// \return SemanticPose object for this link.
public: sdf::SemanticPose SemanticPose() const;

/// \brief Give a weak pointer to the PoseRelativeToGraph to be used
/// for resolving poses. This is private and is intended to be called by
/// Model::Load.
/// \param[in] _graph Weak pointer to PoseRelativeToGraph.
/// \brief Give the scoped PoseRelativeToGraph to be used for resolving
/// poses. This is private and is intended to be called by Model::Load.
/// \param[in] _graph scoped PoseRelativeToGraph object.
private: void SetPoseRelativeToGraph(
std::weak_ptr<const PoseRelativeToGraph> _graph);
sdf::ScopedGraph<PoseRelativeToGraph> _graph);

/// \brief Allow Model::Load to call SetPoseRelativeToGraph.
friend class Model;
Expand Down
Loading

0 comments on commit d35bac9

Please sign in to comment.