Skip to content
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

CollisionGroup class and refactoring of CollisionDetector #631

Merged
merged 79 commits into from
Apr 13, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
37d59b8
Decoupling collision detection engine and collision objects from Coll…
jslee02 Feb 15, 2016
0b2da84
Add group-group collision detection functionality
jslee02 Feb 15, 2016
a0b1305
Add object-group collision detection functionality
jslee02 Feb 15, 2016
054fc14
Change owership management of collision objects -- still need more work
jslee02 Feb 16, 2016
1d437c6
Implement FCLMeshEngine
jslee02 Feb 16, 2016
88d56ab
Improve memory management for objects of new collision detection API
jslee02 Feb 16, 2016
0c931dd
Merge remote-tracking branch 'origin/master' into collision_group
jslee02 Feb 18, 2016
7adf6b8
Suppress unused variable warnings in bullet collision detector
jslee02 Feb 18, 2016
10397b0
More implementation of new collision checking API and applying to the…
jslee02 Feb 26, 2016
889ccf8
Implement DARTEngine
jslee02 Feb 26, 2016
da625ec
Fix bug of DARTEngine in postprocessing
jslee02 Feb 26, 2016
c0b4dfe
Merge CollisionDetect and Engine, and implementing BulletCollisionDet…
jslee02 Feb 29, 2016
321e136
Merge remote-tracking branch 'origin/master' into collision_group
jslee02 Feb 29, 2016
634192f
Share shape data of 3rd party collision detector across collision obj…
jslee02 Mar 2, 2016
22fb8f8
Merge 'fcl_mesh' directory into 'fcl'
jslee02 Mar 2, 2016
d094bd7
Implementing filtering for collision detection
jslee02 Mar 2, 2016
e330676
Improve comparaing method for two collision objects
jslee02 Mar 4, 2016
e22f4ce
Enforcing CollisionDetector to create unique collision object for the…
jslee02 Mar 11, 2016
522b2a9
Merge remote-tracking branch 'origin/shapenode' into collision_group_…
jslee02 Mar 11, 2016
6004a1b
Change ShapeFrameCollisionObject to ShapeNodeCollisionObject
jslee02 Mar 11, 2016
87e17d9
Use internal ResourceRetriever when nullptr is passed to parsers
jslee02 Mar 11, 2016
ba69ba7
Fix bugs in post processing of each collision detectors
jslee02 Mar 15, 2016
60bd53b
Merge remote-tracking branch 'origin/shapenode' into collision_group
jslee02 Mar 15, 2016
d85b74b
Hiding CollisionObject from public API
jslee02 Mar 23, 2016
e93f921
Merge remote-tracking branch 'origin/master' into collision_group
jslee02 Mar 23, 2016
0de9993
Merge FCLMeshCollisionDetector into FCLCollisionDetector
jslee02 Mar 24, 2016
f3a89c7
Fix ContactConstraint -- failing only testWorld test in release mode
jslee02 Mar 24, 2016
5039629
Merge remote-tracking branch 'origin/master' into collision_group
jslee02 Mar 24, 2016
25cac6b
Bump version to 6.0.0 as API has changed
jslee02 Mar 25, 2016
5d80325
Keep special behavior of setting command depending on joint actuator …
jslee02 Mar 25, 2016
161a396
Bump DART version of catkin package
jslee02 Mar 25, 2016
a6653d6
Don't use fcl::Ellipsoid for FCL 0.3.0 or less
jslee02 Mar 25, 2016
f91a190
Test bullet collision detector only when it's installed
jslee02 Mar 25, 2016
4bf1ec7
Remove mistake
jslee02 Mar 25, 2016
b935da1
Polish CollisionGroup and CollisionObject
jslee02 Mar 25, 2016
0be239c
BulletCollisionDetector works for group-group
jslee02 Mar 26, 2016
c0d8326
Add warning message for using FCL primitive shapes and FCL contact po…
jslee02 Mar 26, 2016
12743da
Use fcl 0.3.2 for homebrew build test
jslee02 Mar 26, 2016
19fdc4b
Disable appveyor build test unless Visual Studio 2015 is capable to b…
jslee02 Mar 26, 2016
a18f4dd
Disable automatic build/tests specifically in appveyor.yml
jslee02 Mar 26, 2016
efc9699
Use mesh version of fcl collision detector by default in ConstraintSo…
jslee02 Mar 26, 2016
0a265e6
Polish FCL/Bullet/DARTCollisionDetector classes
jslee02 Mar 27, 2016
0888b9c
Implement collision options: binary check, maximum number of contacts
jslee02 Mar 27, 2016
ce6f558
Remove dynamics/CollisionDetector.[h/cpp]
jslee02 Mar 28, 2016
555d6ff
Pass shared_ptr by const reference instead of value
jslee02 Mar 28, 2016
65c4d96
Merge remote-tracking branch 'origin/master' into collision_group
jslee02 Mar 28, 2016
aac9ac9
Remove dart/dynamics/detail/CollisionDetector.h
jslee02 Mar 28, 2016
54a2316
Fix unresolved conflict in SkelParser.cpp
jslee02 Mar 28, 2016
5b89458
Improve API of creating CollisionGroups and registering ShapeFrames t…
jslee02 Mar 28, 2016
4993f06
Improve Result class
jslee02 Mar 28, 2016
c322382
Add ShpeFrame accessors to CollisionGroup
jslee02 Mar 28, 2016
123e87d
Polish BulletCollisionDetector class
jslee02 Mar 28, 2016
e673951
Add more collision test
jslee02 Mar 28, 2016
40d9a38
Fix a mistake in CollisionGroup::getShapeFrame()
jslee02 Mar 29, 2016
f528335
Merge remote-tracking branch 'origin/master' into collision_group
jslee02 Mar 29, 2016
97c9736
Update CollisionGroup in response to @mkoval 's comments
jslee02 Mar 31, 2016
3f49211
Create CollisionGroup as unique_ptr by default
jslee02 Mar 31, 2016
7a5863c
Improve CollisionObject ownership management using RAII -- BulletColl…
jslee02 Mar 31, 2016
1c8e36f
Improve fcl::CollisionGeometry/btCollisionShape ownership management …
jslee02 Apr 4, 2016
14d60cb
Merge remote-tracking branch 'origin/master' into collision_group
jslee02 Apr 4, 2016
202ab75
Fix btCollisionShape ownership management
jslee02 Apr 4, 2016
1230a2d
Update comment on FCLCollisionDetector
jslee02 Apr 4, 2016
b66ed5f
Merge remote-tracking branch 'origin/master' into collision_group
jslee02 Apr 5, 2016
5172035
Update in response to @mkoval 's comments on #631
jslee02 Apr 5, 2016
01c8e41
Use map instead of parallel vectors in CollisionGroup
jslee02 Apr 5, 2016
8927ebb
Fix bug in FCLCollisionCallbackData
jslee02 Apr 6, 2016
df324db
Rollback the replacing parallel vectors with map in CollisionGroup (s…
jslee02 Apr 6, 2016
9070bc9
FCL 0.4 should work now by df324db
jslee02 Apr 6, 2016
7960416
Rename CollisionDetector::detect() to collide() considering adding di…
jslee02 Apr 7, 2016
f36a12c
Apply the previous renaming to other code
jslee02 Apr 7, 2016
5a1652b
Install files under 'dart/collision/detail' directory
jslee02 Apr 8, 2016
540802a
Rename Option/Result to CollisionOption/CollisionResult
jslee02 Apr 8, 2016
6736948
fixed typo: destorying -> destroying
mxgrey Apr 11, 2016
12ecc2f
isAdjacentBodies --> areAdjacentBodies
mxgrey Apr 11, 2016
538d1c2
Merge remote-tracking branch 'origin/master' into collision_group
jslee02 Apr 12, 2016
8ec2c2e
Rename: [None]SharingCollisionObjectManager -> ManagerFor[Nons/S]hara…
jslee02 Apr 12, 2016
76b8663
Remove declaration of collision detector classes from CollisionGroup
jslee02 Apr 12, 2016
6a16e8d
Small grammatical and typo fixes
mxgrey Apr 13, 2016
aa6c545
Merge remote-tracking branch 'origin/master' into collision_group
jslee02 Apr 13, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ endif()

project(dart)

set(DART_MAJOR_VERSION "5")
set(DART_MINOR_VERSION "1")
set(DART_PATCH_VERSION "1")
set(DART_MAJOR_VERSION "6")
set(DART_MINOR_VERSION "0")
set(DART_PATCH_VERSION "0")
set(DART_VERSION "${DART_MAJOR_VERSION}.${DART_MINOR_VERSION}.${DART_PATCH_VERSION}")
set(DART_PKG_DESC "Dynamic Animation and Robotics Toolkit.")
set(DART_PKG_EXTERNAL_DEPS "flann, ccd, fcl")
Expand Down
5 changes: 1 addition & 4 deletions apps/rigidShapes/Main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,7 @@ int main(int argc, char* argv[])
dart::simulation::WorldPtr myWorld
= dart::utils::SkelParser::readWorld(DART_DATA_PATH"skel/shapes.skel");
assert(myWorld != NULL);
#ifndef FCL_DART5
myWorld->getConstraintSolver()->setCollisionDetector(
dart::common::make_unique<dart::collision::FCLMeshCollisionDetector>());
#endif

// create a window and link it to the world
MyWindow window;
window.setWorld(myWorld);
Expand Down
14 changes: 8 additions & 6 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,12 @@ before_build:
- cmd: if "%platform%"=="x64" set CMAKE_GENERATOR_NAME=Visual Studio 14 2015 Win64
- cmd: cmake -G "%CMAKE_GENERATOR_NAME%" -DCMAKE_BUILD_TYPE=%configuration% -DBUILD_CORE_ONLY="%BUILD_CORE_ONLY%" -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_LIBRARYDIR="%BOOST_LIBRARYDIR%" -DBoost_USE_STATIC_LIBS="ON" -Durdfdom_DIR="%urdfdom_DIR%" -Durdfdom_headers_DIR="%urdfdom_headers_DIR%" -DDART_MSVC_DEFAULT_OPTIONS="%MSVC_DEFAULT_OPTIONS%" ..

build:
project: C:\projects\dart\build\dart.sln # path to Visual Studio solution or project
parallel: true # enable MSBuild parallel builds
verbosity: quiet # MSBuild verbosity level (quiet|minimal|normal|detailed)
build: off
#build:
# project: C:\projects\dart\build\dart.sln # path to Visual Studio solution or project
# parallel: true # enable MSBuild parallel builds
# verbosity: quiet # MSBuild verbosity level (quiet|minimal|normal|detailed)

test_script:
- cmd: ctest --build-config %configuration% --parallel 4 --output-on-failure
test: off
#test_script:
# - cmd: ctest --build-config %configuration% --parallel 4 --output-on-failure
16 changes: 11 additions & 5 deletions dart/collision/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
# Search all header and source files
file(GLOB srcs "*.cpp")
file(GLOB hdrs "*.h")
file(GLOB detail_srcs "detail/*.cpp")
file(GLOB detail_hdrs "detail/*.h")

# Add subdirectories
add_subdirectory(dart)
add_subdirectory(fcl)
add_subdirectory(fcl_mesh)
if(HAVE_BULLET_COLLISION)
add_subdirectory(bullet)
endif()

set(dart_collision_hdrs ${hdrs} ${dart_collision_hdrs} PARENT_SCOPE)
set(dart_collision_srcs ${srcs} ${dart_collision_srcs} PARENT_SCOPE)
set(dart_collision_hdrs ${hdrs} "${dart_collision_hdrs};${detail_hdrs}" PARENT_SCOPE)
set(dart_collision_srcs ${srcs} "${dart_collision_srcs};${detail_srcs}" PARENT_SCOPE)

# Library
#dart_add_library(dart_collision ${srcs} ${hdrs})
Expand All @@ -21,7 +22,6 @@ set(dart_collision_srcs ${srcs} ${dart_collision_srcs} PARENT_SCOPE)
# dart_math
# dart_collision_dart
# dart_collision_fcl
# dart_collision_fcl_mesh
# ${DART_CORE_DEPENDENCIES}
#)
#if(HAVE_BULLET_COLLISION)
Expand All @@ -35,7 +35,6 @@ set(
${header_names}
dart/dart.h
fcl/fcl.h
fcl_mesh/fcl_mesh.h
)
if(HAVE_BULLET_COLLISION)
set(header_names ${header_names} bullet/bullet.h)
Expand All @@ -57,5 +56,12 @@ install(
DESTINATION include/dart/collision
COMPONENT headers
)

install(
FILES ${detail_hdrs}
DESTINATION include/dart/collision/detail
COMPONENT headers
)

#install(TARGETS dart_collision EXPORT DARTCoreTargets DESTINATION lib)
#install(TARGETS dart_collision EXPORT DARTTargets DESTINATION lib)
Loading