-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
9 ➡️ 10 #458
Merged
Merged
9 ➡️ 10 #458
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… level (#251) SDFormat 9 requires the use of C++17 in its public headers, however it does not correctly expose this requirement in its installed imported targets. In particular, at the moment the requirement of C++17 is only documented via adding the -std=c++17 flag in the `SDFormat_CXX_FLAGS` variable, but this strategy has two problems: * It does not work unless a user explicitly pass this flags to its compilation targets, and this is definitely not obvious if it is not using directly SDFormat, but he is linking sdformat transitively through Gazebo 11. * If a different C++ version is set at the CMake level, it is possible that the `-std=c++17` flag is ignored (it depends what is the order with which the flags are passed to the compiler). For CMake consumers, a better strategy is to use the target_compile_features and explicitly mark that that this library requires the `cxx_std_17` feature, as `PUBLIC` because it also required in the public headers. As the minimum required version of CMake is 3.10, we can use cxx_std_17 as it is available in CMake 3.10, see https://cmake.org/cmake/help/v3.10/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.html#prop_gbl:CMAKE_CXX_KNOWN_FEATURES . Signed-off-by: Silvio Traversaro <[email protected]>
Signed-off-by: Steven Peters <[email protected]>
* [sdf8] Changelog links to BitBucket backup Signed-off-by: Louise Poubel <[email protected]> * more fixes, new version of script Signed-off-by: Louise Poubel <[email protected]> * [sdf7] Changelog links to BitBucket backup (#238) Signed-off-by: Louise Poubel <[email protected]> * Update some more bitbucket issue references Signed-off-by: Steven Peters <[email protected]> Co-authored-by: Steven Peters <[email protected]>
* [sdf9] Changelog links to BitBucket backup Signed-off-by: Louise Poubel <[email protected]> * [sdf8] Changelog links to BitBucket backup Signed-off-by: Louise Poubel <[email protected]> * [sdf7] Changelog links to BitBucket backup (#238) Signed-off-by: Louise Poubel <[email protected]> * Convert bitbucket links for sdf9 Signed-off-by: Steven Peters <[email protected]> * Fix link in API documentation Signed-off-by: Steven Peters <[email protected]> Co-authored-by: Steven Peters <[email protected]>
Signed-off-by: Steve Peters <[email protected]>
For backward compatibility if it is not defined compile the tests Signed-off-by: Silvio <[email protected]>
Signed-off-by: Steve Peters <[email protected]>
Signed-off-by: Steve Peters <[email protected]>
Signed-off-by: Steve Peters <[email protected]>
Signed-off-by: Steve Peters <[email protected]>
* Simplify and fix copy constructors, restructure tests and increase coverage * Add joint and link tests * Add changelog Signed-off-by: Luca Della Vedova <[email protected]> Co-authored-by: Ian Chen <[email protected]> Co-authored-by: Steve Peters <[email protected]>
* Also use python3 in test Signed-off-by: Steve Peters <[email protected]>
Signed-off-by: Steve Peters <[email protected]>
Nested model elements (`//model/model`) are currently supported in the SDFormat 1.7 spec, but are not supported by the DOM API or frame semantics operations in libsdformat 9.2. Per Amendment 1 of the SDFormat 1.7 proposal (sdformat.org/tutorials?tut=pose_frame_semantics_proposal#amendment-1-directly-nested-models), this PR adds support for nested models in the DOM API and frame semantics (fixing #283) through three steps: * adding `Model::Model*` methods for accessing nested models via the DOM API (047ec96) * loading nested models in `Model::Load` (b57fea2, step 3 of model parsing stages (sdformat.org/tutorials?tut=pose_frame_semantics_proposal#1-model)) * supporting nested models (`//model/model`) in frame semantics as opaque frames to match how models in the world scope (`//world/model`) are treated (85e0b4f, steps 6-9 of model parsing stages (sdformat.org/tutorials?tut=pose_frame_semantics_proposal#1-model)) The first two steps are straightforward, while the 3rd step adds new behavior. This behavior is added to `libsdformat9` because it is compatible with the SDFormat 1.7 spec (which supports nested models) and makes the treatment of models more consistent with regard to frame semantics. In libsdformat 9.2.0, a `//world/model` supports frame semantics: they have frames that can be referenced by name with `//pose/@relative_to` and `//world/frame/@attached_to` values can resolve to a `//world/model`. This extends that same behavior to nested `//model/model` elements; they now have their own frames in the frame and pose graphs, and a `//model/frame` is permitted to attach to a model. This does not add support for referencing elements within a model via the `::` syntax in the frame semantics or DOM APIs. That will be added in SDFormat 1.8 (see #293). Signed-off-by: Steve Peters <[email protected]>
Signed-off-by: Steve Peters <[email protected]>
* Simplify and fix copy constructors, restructure tests and increase coverage * Add joint and link tests * Add changelog Signed-off-by: Luca Della Vedova <[email protected]> Co-authored-by: Ian Chen <[email protected]> Co-authored-by: Steve Peters <[email protected]>
Allow models without links if they have nested models instead. When building FrameAttachedToGraph, if model has no links choose the first link of the first nested model as canonical link instead. A new private function `Model::CanonicalLinkAndRelativeName` is added that provides a `Link*` pointer to the canonical link and its nested name relative to the current model, which is needed in the FrameAttachedToGraph. This private prevents duplicate code in `FrameSemantics.cc` and `Model::CanonicalLink`. The method is private to hide :: syntax from libsdformat9, at least until there is a compelling reason to make the API public. A helper function is added to FrameSemantics.cc as a friend of Model so that buildFrameAttachedToGraph can call the private API. That function can't be added directly as a friend since it uses a `FrameAttachedToGraph&` as an argument, which isn't defined in Model.hh. Signed-off-by: Steve Peters <[email protected]>
Signed-off-by: Nate Koenig <[email protected]> Co-authored-by: Nate Koenig <[email protected]>
Signed-off-by: Nate Koenig <[email protected]> Co-authored-by: Nate Koenig <[email protected]>
* Also use python3 in test Signed-off-by: Steve Peters <[email protected]>
Signed-off-by: Louise Poubel <[email protected]>
Signed-off-by: Louise Poubel <[email protected]>
Signed-off-by: Silvio Traversaro <[email protected]>
Signed-off-by: Steve Peters <[email protected]>
Signed-off-by: Louise Poubel <[email protected]> Co-authored-by: Steve Peters <[email protected]>
Signed-off-by: Jose Luis Rivero <[email protected]>
Signed-off-by: Louise Poubel <[email protected]> Co-authored-by: Steve Peters <[email protected]> Signed-off-by: Steve Peters <[email protected]>
Signed-off-by: Louise Poubel <[email protected]>
Signed-off-by: Louise Poubel <[email protected]>
Signed-off-by: Louise Poubel <[email protected]>
Signed-off-by: Louise Poubel <[email protected]>
Signed-off-by: Louise Poubel <[email protected]>
…414) Signed-off-by: Steve Peters <[email protected]>
…414) Signed-off-by: Steve Peters <[email protected]>
Currently there is a confusing error message if a file is loaded that finds a folder matching the name of a model to be included but the folder does not have a model.config file. This improves the first error message and stops further loading to prevent additional confusing messages. Signed-off-by: Steve Peters <[email protected]>
Currently the addNestedModel function in parser.cc prefixes link, joint, and frame names with the flattened model name delimited by "::". This applies the same prefix to the names of nested models within the flattened model as well. Signed-off-by: Steve Peters <[email protected]>
Signed-off-by: Ian Chen <[email protected]> Co-authored-by: Louise Poubel <[email protected]> Co-authored-by: Steve Peters <[email protected]>
Signed-off-by: Nate Koenig <[email protected]> Co-authored-by: Nate Koenig <[email protected]>
This reverts part of commit 0e77816. Signed-off-by: Steve Peters <[email protected]>
* add double sided materail param Signed-off-by: Ian Chen <[email protected]> * fix loading param Signed-off-by: Ian Chen <[email protected]>
Signed-off-by: Steve Peters <[email protected]>
Merge forward sdf8 -> sdf9
Signed-off-by: Louise Poubel <[email protected]> Co-authored-by: Steve Peters <[email protected]>
Signed-off-by: Louise Poubel <[email protected]>
3 tasks
scpeters
approved these changes
Jan 12, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Merge-forward
sdf9
tosdf10
, similar to #445.It looks like there are lots of commits, but that's just because this is the first forward merge PR. Subsequent ones should only have the ported PRs and the merge commit.
This is essentially just porting the heightmap from #388.