Skip to content

Commit

Permalink
Merge pull request #78 from ignitionrobotics/2_to_master_july_2020
Browse files Browse the repository at this point in the history
2 ➡️ 3
  • Loading branch information
scpeters authored Jul 6, 2020
2 parents 2a93f76 + 1360c6a commit 5056ae8
Show file tree
Hide file tree
Showing 106 changed files with 9,959 additions and 305 deletions.
11 changes: 8 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ message(STATUS "\n\n-- ====== Finding Dependencies ======")
# Find ignition-common
ign_find_package(ignition-common3
COMPONENTS graphics profiler
REQUIRED_BY mesh dartsim)
REQUIRED_BY mesh dartsim tpe tpelib)
set(IGN_COMMON_VER ${ignition-common3_VERSION_MAJOR})

#--------------------------------------
Expand All @@ -56,7 +56,7 @@ ign_find_package(EIGEN3 REQUIRED)

#--------------------------------------
# Find SDFormat for the SDF features
ign_find_package(sdformat9 REQUIRED_BY sdf dartsim)
ign_find_package(sdformat9 REQUIRED_BY sdf dartsim tpe)

#--------------------------------------
# Find dartsim for the dartsim plugin wrapper
Expand All @@ -76,11 +76,16 @@ message(STATUS "-------------------------------------------\n")

set(IGNITION_PHYSICS_RESOURCE_DIR "${CMAKE_SOURCE_DIR}/resources")

# Plugin install dirs
set(IGNITION_PHYSICS_ENGINE_INSTALL_DIR
${CMAKE_INSTALL_PREFIX}/${IGN_LIB_INSTALL_DIR}/ign-${IGN_DESIGNATION}-${PROJECT_VERSION_MAJOR}/engine-plugins
)

#============================================================================
# Configure the build
#============================================================================
ign_configure_build(QUIT_IF_BUILD_ERRORS
COMPONENTS sdf mesh dartsim)
COMPONENTS sdf mesh dartsim tpe)


#============================================================================
Expand Down
84 changes: 82 additions & 2 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,56 @@

### Ignition Physics 2.x.x (20XX-XX-XX)

### Ignition Physics 2.1.0 (2020-05-07)

1. Add RequestFeatures API for casting the features of an entity to a new feature set when possible.
* [BitBucket pull request 130](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-physics/pull-requests/130)

1. Add Get Bounding Box features
* [BitBucket pull request 122](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-physics/pull-requests/122)

1. Install plugins to unversioned files
* [BitBucket pull request 121](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-physics/pull-requests/121)

1. Add DetachJointFeature feature.
* [BitBucket pull request 102](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-physics/pull-requests/102)

1. Added support for collision bitmasks for collision filtering
* [BitBucket pull request 116](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-physics/pull-requests/116)

1. Clean up internal resources when a model gets removed
* [BitBucket pull request 115](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-physics/pull-requests/115)

1. Trivial Physics Engine - partial implementation
* [BitBucket pull request 125](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-physics/pull-requests/125)
* [BitBucket pull request 126](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-physics/pull-requests/126)
* [Pull request 30](https://github.com/ignitionrobotics/ign-physics/pull/30)
* [Pull request 45](https://github.com/ignitionrobotics/ign-physics/pull/45)

1. Add simple example of physics plugin and loader
* [BitBucket pull request 115](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-physics/pull-requests/115)

1. Update BitBucket links, add .gitignore, CODEOWNERS, workflow
* [Pull request 34](https://github.com/ignitionrobotics/ign-physics/pull/34)
* [Pull request 39](https://github.com/ignitionrobotics/ign-physics/pull/39)
* [Pull request 47](https://github.com/ignitionrobotics/ign-physics/pull/47)
* [Pull request 52](https://github.com/ignitionrobotics/ign-physics/pull/52)

1. Physics Plugin Documentation
* [Pull request 36](https://github.com/ignitionrobotics/ign-physics/pull/36)

1. Reduce the symbol load caused by feature templates
* [Pull request 41](https://github.com/ignitionrobotics/ign-physics/pull/41)

1. Fix collision issue with detachable joints
* [Pull request 31](https://github.com/ignitionrobotics/ign-physics/pull/31)

1. Add PlaneShape feature and implement in dartsim with test.
* [BitBucket pull request 66](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-physics/pull-requests/66)

1. Restore detached BodyNodes to original skeleton
* [Pull request 42](https://github.com/ignitionrobotics/ign-physics/pull/42)

### Ignition Physics 2.0.0 (2019-12-10)

1. Support compiling against dart 6.9.
Expand All @@ -27,9 +77,39 @@

### Ignition Physics 1.x.x (20XX-XX-XX)

### Ignition Physics 1.4.0 (20XX-XX-XX)
1. Restore detached BodyNodes to original skeleton
* [Pull request 42](https://github.com/ignitionrobotics/ign-physics/pull/42)

1. Fix collision issue with detachable joints
* [Pull request 31](https://github.com/ignitionrobotics/ign-physics/pull/31)

1. Add PlaneShape feature and implement in dartsim with test.
* [BitBucket pull request 66](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-physics/pull-requests/66)

### Ignition Physics 1.7.0 (2020-04-13)

1. Add RequestFeatures API for casting the features of an entity to a new feature set when possible.
* [BitBucket pull request 130](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-physics/pull-requests/130)

### Ignition Physics 1.6.0 (2020-03-18)

1. Add Get Bounding Box features
* [BitBucket pull request 122](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-physics/pull-requests/122)

1. Install plugins to unversioned files
* [BitBucket pull request 121](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-physics/pull-requests/121)

### Ignition Physics 1.5.0 (2020-02-10)

1. Clean up internal resources when a model gets removed
* [BitBucket pull request 115](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-physics/pull-requests/115)

1. Add DetachJointFeature feature.
* [BitBucket pull request 102](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-physics/pull-requests/102)

### Ignition Physics 1.4.0 (2019-08-27)

1. Add SetJointVelocityCommand feature
1. Add SetJointVelocityCommand feature.
* [BitBucket pull request 100](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-physics/pull-requests/100)

1. Add `IGN_PROFILER_ENABLE` cmake option for enabling the ign-common profiler.
Expand Down
41 changes: 21 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,35 +20,35 @@ designed to support simulation and rapid development of robot applications.

# Table of Contents

[Motivation](#markdown-header-motivation)
[Motivation](#motivation)

[Features](#markdown-header-features)
[Features](#features)

[Install](#markdown-header-install)
[Install](#install)

* [Binary Install](#markdown-header-binary-install)
* [Binary Install](#binary-install)

* [Source Install](#markdown-header-source-install)
* [Source Install](#source-install)

* [Prerequisites](#markdown-header-prerequisites)
* [Prerequisites](#prerequisites)

* [Building from Source](#markdown-header-building-from-source)
* [Building from Source](#building-from-source)

[Usage](#markdown-header-usage)
[Usage](#usage)

[Documentation](#markdown-header-documentation)
[Documentation](#documentation)

[Testing](#markdown-header-testing)
[Testing](#testing)

[Folder Structure](#markdown-header-folder-structure)
[Folder Structure](#folder-structure)

[Code of Conduct](#markdown-header-code-of-conduct)
[Code of Conduct](#code-of-conduct)

[Contributing](#markdown-header-code-of-contributing)
[Contributing](#code-of-contributing)

[Versioning](#markdown-header-versioning)
[Versioning](#versioning)

[License](#markdown-header-license)
[License](#license)

# Motivation

Expand Down Expand Up @@ -80,9 +80,9 @@ Ignition Physics provides the following functionality:

# Install

We recommend following the [Binary Install](#markdown-header-binary-install) instructions to get up and running as quickly and painlessly as possible.
We recommend following the [Binary Install](#binary-install) instructions to get up and running as quickly and painlessly as possible.

The [Source Install](#markdown-header-source-install) instructions should be used if you need the very latest software improvements, you need to modify the code, or you plan to make a contribution.
The [Source Install](#source-install) instructions should be used if you need the very latest software improvements, you need to modify the code, or you plan to make a contribution.

## Binary Install

Expand All @@ -108,6 +108,7 @@ sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_rel
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D2486D2DD83DB69272AFE98867170598AF249743
sudo apt-add-repository -s "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -c -s) main"
sudo apt-get build-dep -y ignition-physics3
~~~

Use gcc-8:

Expand All @@ -125,7 +126,7 @@ sudo update-alternatives --install \
1. Clone the repository

```
git clone https://github.com/ignitionrobotics/ign-physics -b ign-physics3
git clone https://github.com/ignitionrobotics/ign-physics -b master
```
2. Configure and build
Expand Down Expand Up @@ -159,7 +160,7 @@ You can also generate the documentation from a clone of this repository by follo
2. Clone the repository
```
git clone https://github.com/ignitionrobotics/ign-physics -b ign-physics3
git clone https://github.com/ignitionrobotics/ign-physics -b master
```
3. Configure and build the documentation.
Expand All @@ -178,7 +179,7 @@ You can also generate the documentation from a clone of this repository by follo
Follow these steps to run tests and static code analysis in your clone of this repository.
1. Follow the [source install instruction](#markdown-header-source-install).
1. Follow the [source install instruction](#source-install).
2. Run tests.
Expand Down
39 changes: 27 additions & 12 deletions dartsim/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ install(
ign_get_libsources_and_unittests(sources test_sources)

# TODO(MXG): Think about an ign_add_plugin(~) macro for ign-cmake
ign_add_component(dartsim-plugin
set(engine_name dartsim-plugin)
ign_add_component(${engine_name}
SOURCES ${sources}
DEPENDS_ON_COMPONENTS dartsim
GET_TARGET_NAME dartsim_plugin)
Expand All @@ -26,14 +27,28 @@ target_link_libraries(${dartsim_plugin}
${PROJECT_LIBRARY_TARGET_NAME}-sdf
${PROJECT_LIBRARY_TARGET_NAME}-mesh
ignition-common${IGN_COMMON_VER}::ignition-common${IGN_COMMON_VER}
ignition-math${IGN_MATH_VER}::eigen3)

# We need to link this, even when the profiler isn't used to get headers.
target_link_libraries(${dartsim_plugin}
ignition-math${IGN_MATH_VER}::eigen3
PRIVATE
ignition-common${IGN_COMMON_VER}::profiler
# We need to link this, even when the profiler isn't used to get headers.
ignition-common${IGN_COMMON_VER}::profiler
)

# Note that plugins are currently being installed in 2 places: /lib and the engine-plugins dir
install(TARGETS ${dartsim_plugin} DESTINATION ${IGNITION_PHYSICS_ENGINE_INSTALL_DIR})

# The library created by `ign_add_component` includes the ign-physics version
# (i.e. libignition-physics1-name-plugin.so), but for portability,
# we also install an unversioned symlink into the same versioned folder.
set(versioned ${CMAKE_SHARED_LIBRARY_PREFIX}${dartsim_plugin}${CMAKE_SHARED_LIBRARY_SUFFIX})
set(unversioned ${CMAKE_SHARED_LIBRARY_PREFIX}${PROJECT_NAME_NO_VERSION_LOWER}-${engine_name}${CMAKE_SHARED_LIBRARY_SUFFIX})
if (WIN32)
# create_symlink requires cmake 3.13 on windows
cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
endif()
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink ${versioned} ${unversioned})
INSTALL(FILES ${PROJECT_BINARY_DIR}/${unversioned} DESTINATION ${IGNITION_PHYSICS_ENGINE_INSTALL_DIR})

# Testing
ign_build_tests(
TYPE UNIT
SOURCES ${test_sources}
Expand All @@ -54,9 +69,9 @@ foreach(test ${tests})

endforeach()

if(TARGET UNIT_FindFeatures_TEST)

target_compile_definitions(UNIT_FindFeatures_TEST PRIVATE
"dartsim_plugin_LIB=\"$<TARGET_FILE:${dartsim_plugin}>\"")

endif()
foreach(test UNIT_FindFeatures_TEST UNIT_RequestFeatures_TEST)
if(TARGET ${test})
target_compile_definitions(${test} PRIVATE
"dartsim_plugin_LIB=\"$<TARGET_FILE:${dartsim_plugin}>\"")
endif()
endforeach()
Loading

0 comments on commit 5056ae8

Please sign in to comment.