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

End Effector, Inverse Kinematics, and OpenSceneGraph #461

Merged
merged 270 commits into from
Sep 29, 2015
Merged
Show file tree
Hide file tree
Changes from 234 commits
Commits
Show all changes
270 commits
Select commit Hold shift + click to select a range
18acc25
checking if a Skeleton is null (even in release) before attempting to…
mxgrey Feb 26, 2015
9494377
investigating shadow inconsistencies
mxgrey Feb 26, 2015
1c9e4a0
fixed normal computation and allowing visualization shapes to be deleted
mxgrey Feb 27, 2015
2bd1fac
enabled simulation for WorldNode
mxgrey Feb 27, 2015
ccb9706
renamed osg examples for consistency
mxgrey Feb 27, 2015
b3b08ae
fixed faces for soft cylinders
mxgrey Feb 27, 2015
0b31f2e
experimenting with lighting
mxgrey Feb 27, 2015
2ff4c7e
finished default Viewer and DefaultEventHandler
mxgrey Feb 27, 2015
645ca94
switched to osgDart::Viewer
mxgrey Feb 27, 2015
30cd5c2
adding picking features
mxgrey Feb 28, 2015
0e96a4d
working on operational space controller example
mxgrey Feb 28, 2015
e10bbfc
drag and drop working
mxgrey Mar 1, 2015
ad701d5
added instruction
mxgrey Mar 1, 2015
5994f7d
creating drag and drop class
mxgrey Mar 2, 2015
bdf46cd
Merge branch 'grey/subscriptions' into grey/osg
mxgrey Mar 3, 2015
3741901
filling in DragAndDrop features
mxgrey Mar 3, 2015
1534432
merged in the latest subscriptions
mxgrey Mar 3, 2015
c9d6b4c
finished built-in drag and drop features
mxgrey Mar 3, 2015
048af00
cleaned up old member variables
mxgrey Mar 3, 2015
a5487b5
osg operational space control example finished
mxgrey Mar 3, 2015
b200d3b
polishing up the operational space control example
mxgrey Mar 4, 2015
f31dddb
implemented constraining drag-and-drop to a line
mxgrey Mar 9, 2015
5f44b1f
impleneted planar constraints for drag-and-drop
mxgrey Mar 9, 2015
1d2fdd9
fixed operational space control name
mxgrey Mar 9, 2015
f39b829
removed the need for a DartNode
mxgrey Mar 9, 2015
a9040a6
added rotation to drag-and-drop
mxgrey Mar 10, 2015
9bb263d
Merge branch 'grey/subscriptions' into grey/osg
mxgrey Mar 10, 2015
96ab0b0
added constraints for rotation drag and drop
mxgrey Mar 10, 2015
179a995
fixed rotation drag and drop
mxgrey Mar 11, 2015
6989b8f
enabled drag and drop to be obstructable
mxgrey Mar 11, 2015
122b011
implementing DragAndDrop for specific shapes
mxgrey Mar 11, 2015
5fbbb68
~ mysterious segfault in osgDragAndDrop ~
mxgrey Mar 12, 2015
ba4a5fa
fixed the mysterious segfault
mxgrey Mar 13, 2015
5da4071
Merge branch 'grey/lines' into grey/osg
mxgrey Mar 13, 2015
d62c62e
implemented LineSegmentShape for osgDart -- needs testing
mxgrey Mar 13, 2015
7073caa
Merge branch 'grey/subscriptions' into grey/osg
mxgrey Mar 16, 2015
b8b0091
creating osgDart::InteractiveFrame
mxgrey Mar 17, 2015
6af9cd0
enabled shape-hiding feature
mxgrey Mar 17, 2015
5c9c20a
much cleaner constrained rotations
mxgrey Mar 18, 2015
ad21cee
Merge remote-tracking branch 'origin/grey/osg' into grey/osg
mxgrey Mar 18, 2015
9bc26c9
reenabled all rings
mxgrey Mar 18, 2015
44c7803
added ability to toggle interactive frame shapes
mxgrey Mar 18, 2015
f5e8c7d
merged in latest subscriptions branch
mxgrey Mar 18, 2015
2a66009
updated to the Subject/Observer classes
mxgrey Mar 18, 2015
1051440
merged in ArrowShape
mxgrey Mar 18, 2015
164574f
added arrows to InteractiveFrame
mxgrey Mar 18, 2015
d04b8ba
merged in alpha channel changes
mxgrey Mar 19, 2015
e4cab71
enabled alpha for OSG and improved stability of DnD rotation
mxgrey Mar 19, 2015
c297d12
made interactive rings more stylish
mxgrey Mar 19, 2015
5644214
implemented plane component for InteractiveFrame
mxgrey Mar 19, 2015
5567391
renamed MouseEvent class
mxgrey Mar 19, 2015
ce3101b
InteractiveFrame highlighting working
mxgrey Mar 19, 2015
57e23af
made InteractiveFrames more versatile and customizable
mxgrey Mar 20, 2015
e0cf25c
splitting InteractiveFrame arrows
mxgrey Mar 20, 2015
63163c3
Merge branch 'grey/ArrowShape' into grey/osg
mxgrey Mar 20, 2015
59e70f9
improved aesthetics of InteractiveFrame
mxgrey Mar 20, 2015
3455916
updated all OSG renderers to support alpha channel
mxgrey Mar 20, 2015
553c472
added block to drag and drop demo
mxgrey Mar 20, 2015
8a6f442
fixed textures and implemented materials for OSG
mxgrey Mar 20, 2015
6b0266c
creating puppeteering example
mxgrey Mar 21, 2015
22042bd
merged in memory_management
mxgrey Apr 15, 2015
17d4b4d
merged in minor tweaks
mxgrey Apr 15, 2015
6038d2a
integrated EndEffector class into the Skeleton structure
mxgrey Apr 15, 2015
0686412
creating an IK module and overhauling the optimizer library
mxgrey Apr 17, 2015
818d143
updating the third-party solvers
mxgrey Apr 17, 2015
ccaf742
designing IK module
mxgrey Apr 20, 2015
9583100
designing and beginning implementation of IK module
mxgrey Apr 21, 2015
0a544e8
more implementation
mxgrey Apr 21, 2015
71abcba
finished basic level of IK design
mxgrey Apr 22, 2015
994cbfc
creating a gradient descent solver
mxgrey Apr 22, 2015
ba60dbf
wrapping up IK module and implementing stochastic gradient descent so…
mxgrey Apr 22, 2015
d918bae
implementing gradient descent solver
mxgrey Apr 23, 2015
d48b85a
finished implementation of IK and GradientDescentSolver -- needs testing
mxgrey Apr 24, 2015
b4fd8b8
updated to latest changes from other branches
mxgrey Apr 24, 2015
84dde14
fixed initialization of IK
mxgrey Apr 24, 2015
a92fd2a
merged in BodyNode transfers and did some light testing
mxgrey Apr 28, 2015
8a614de
slightly more efficient, and preventing closed kinematic chains
mxgrey Apr 28, 2015
8f1757f
minor cleanup
mxgrey Apr 28, 2015
802199b
getting branches to match
mxgrey Apr 28, 2015
2241159
merged in latest memory_management branch
mxgrey May 28, 2015
c26aef0
Merge branch 'memory_management' into grey/endeffector
mxgrey May 28, 2015
71f344d
te-demplating the InverseKinematics class
mxgrey May 29, 2015
e85d758
abstracted out Jacobian functions to allow more liberty for the Inver…
mxgrey Jun 2, 2015
98321e9
able to create and remove EndEffectors
mxgrey Jun 2, 2015
2dfe757
finished and tested GradientDescentSolver
mxgrey Jun 3, 2015
b5d14f2
put warning on GradientDescentSolver
mxgrey Jun 3, 2015
795d0b3
debugged InverseKinematics and created simple test
mxgrey Jun 3, 2015
a4a4cbc
refurbished NloptSolver: got it up to date and using C++11 instead of…
mxgrey Jun 3, 2015
cf2210e
merged in latest memory_management changes
mxgrey Jun 5, 2015
3439b1c
Merge branch 'memory_management' into grey/endeffector
mxgrey Jun 5, 2015
4e0c1f3
ensuring distance from goal before solving IK
mxgrey Jun 5, 2015
fe221c8
Merge branch 'memory_management' into grey/endeffector
mxgrey Jun 9, 2015
5bae0a7
added assert to the error
mxgrey Jun 10, 2015
877bb5b
more verbose readout
mxgrey Jun 10, 2015
af5eaf9
updated chain creation
mxgrey Jun 10, 2015
fb30636
merged in latest developments
mxgrey Jun 10, 2015
9e1704f
merged in latest changes from memory_management
mxgrey Jun 11, 2015
682359d
enabled offsets for InverseKinematics
mxgrey Jun 11, 2015
d0d85f6
improved mesh coloring options
mxgrey Jun 12, 2015
4152bf6
got IpoptSolver up to date
mxgrey Jun 12, 2015
d1881ce
improved usage for IpoptSolver
mxgrey Jun 12, 2015
7ca39bb
merged in 5.0
mxgrey Jul 4, 2015
0529d02
ironed out IK and end effector code
mxgrey Jul 4, 2015
5358ebb
making IK modules clonable
mxgrey Jul 4, 2015
ec13db0
made the IK modules clonable
mxgrey Jul 4, 2015
b2fe5d9
now cloning IK modules while cloning Skeletons
mxgrey Jul 4, 2015
6f72a7d
creating Node class and finishing InverseKinematics implementation
mxgrey Jul 7, 2015
c30a538
giving better semantics to the constructors and getting EndEffector w…
mxgrey Jul 7, 2015
948fb44
finished EndEffector implementation -- needs testing
mxgrey Jul 7, 2015
259b0a4
using final keyword to help with optimizations
mxgrey Jul 7, 2015
7ed9107
adhering to spacing conventions
mxgrey Jul 7, 2015
f34af54
implemented NodePtr and WeakNodePtr
mxgrey Jul 7, 2015
63db57e
including SmartPointers for BulletCollisionDetector
mxgrey Jul 7, 2015
8b0214f
Merge branch 'master' into grey/osg
mxgrey Jul 8, 2015
3491785
implemented InverseKinematicsPtr
mxgrey Jul 9, 2015
57ac9b2
working out API for hierarchical IK
mxgrey Jul 9, 2015
375a975
beginning implementation of hierarchical IK
mxgrey Jul 10, 2015
92c5a65
changed function name for entity
mxgrey Jul 10, 2015
5c3faca
better warnings and error handling
mxgrey Jul 10, 2015
d17e8fe
implemented hierarchical ik -- needs testing
mxgrey Jul 11, 2015
a9de01f
bug fixes
mxgrey Jul 11, 2015
59438c6
merged in linkage criteria changes
mxgrey Jul 11, 2015
1d9f3b5
fixed upstream chain criteria
mxgrey Jul 11, 2015
928341d
integrating WholeBodyIK into Skeleton
mxgrey Jul 11, 2015
94c5387
debugging inverse kinematics
mxgrey Jul 13, 2015
394ce47
fixed indexing for SVD
mxgrey Jul 13, 2015
0df7db1
fixing up the OSG humanoid demo
mxgrey Jul 13, 2015
628e50f
stop the slipping on the view manipulator
mxgrey Jul 13, 2015
cf035e7
implementing drag and drop for BodyNodes
mxgrey Jul 13, 2015
0c9c844
set the optimum solution, even if the solving failed
mxgrey Jul 13, 2015
a41438d
changing API for IK solving
mxgrey Jul 14, 2015
be68ccf
experimenting with drag and drop
mxgrey Jul 14, 2015
9907c8e
improved behavior for BodyNode drag and drop
mxgrey Jul 14, 2015
4493279
allowing EndEffector name to be specified on creation
mxgrey Jul 15, 2015
c9fd59d
allowing simulation to be disabled for viewer class
mxgrey Jul 15, 2015
2addca2
fully constraining end effectors
mxgrey Jul 15, 2015
a0dffdd
creating API for computing convex hulls and support polgyons
mxgrey Jul 15, 2015
3fd336d
implemented support geometry for EndEffectors
mxgrey Jul 16, 2015
780ba06
mention that copyAs also copies Skeleton properties
mxgrey Jul 16, 2015
7881cd1
fixed cloning for HierarchicalIK
mxgrey Jul 16, 2015
62a508d
implementing balance constraint -- not finished
mxgrey Jul 16, 2015
e450038
added centroid computation for 2D convex hulls
mxgrey Jul 16, 2015
cb75383
use transpose in warning printout
mxgrey Jul 16, 2015
fc0932a
integrating support polygon computations into the Skeleton class
mxgrey Jul 16, 2015
cb2b0f5
explicitly set gradient to zero when a function is unavailable
mxgrey Jul 16, 2015
d9dc2d4
fixed segfaulting bugs
mxgrey Jul 16, 2015
f90fc46
better target locations for hands
mxgrey Jul 16, 2015
51e0473
created visualizer for support polygons
mxgrey Jul 18, 2015
ddbd0c7
implemented support polygon style kinematic balance constraint
mxgrey Jul 18, 2015
3176c60
made Skeleton::getJacobian functions compatible with EndEffectors
mxgrey Jul 18, 2015
8ff3213
better warning message
mxgrey Jul 19, 2015
3657966
allow switching whole body mode on and off
mxgrey Jul 19, 2015
f8f7eb4
allow toggling support polygon display on and off
mxgrey Jul 19, 2015
485a9d5
cleaner code
mxgrey Jul 19, 2015
8812b53
rename the humanoid example
mxgrey Jul 19, 2015
7cf0081
giving some tolerance to deal with numerical precision limitations
mxgrey Jul 19, 2015
c5abae5
finished osg puppet example
mxgrey Jul 19, 2015
7b41b1c
more appropriate return for invalid polygons
mxgrey Jul 19, 2015
b9a53e7
better handling of empty support polygons
mxgrey Jul 19, 2015
7d119c0
Merge branch 'master' into grey/osg
mxgrey Jul 20, 2015
741c7c2
removed outdated comment
mxgrey Jul 20, 2015
2adfba1
enabling backwards compatibility for optimizer::Function
mxgrey Jul 20, 2015
2a00780
documenting the BalanceConstraint
mxgrey Jul 20, 2015
3fd1b8c
swap out deprecated function
mxgrey Jul 20, 2015
5211c76
install osgDart library
mxgrey Jul 20, 2015
4ec11f4
clear cache each time a property is changed
mxgrey Jul 20, 2015
6398383
swap out use of deprecated function
mxgrey Jul 20, 2015
dbcc196
swap out use of deprecated function
mxgrey Jul 20, 2015
699f653
rename Entity to Node
mxgrey Jul 20, 2015
1219069
added documentation for InverseKinematics
mxgrey Jul 20, 2015
634f780
updated API for EndEffector Support
mxgrey Jul 20, 2015
a5d1a50
more meaningful API
mxgrey Jul 20, 2015
20aed44
updating API
mxgrey Jul 20, 2015
7be1bfb
explain the abstract constructor
mxgrey Jul 20, 2015
7a540b8
documented the HierarchicalIK
mxgrey Jul 20, 2015
993ea33
small syntax error
mxgrey Jul 20, 2015
b36b183
added documentation for Node
mxgrey Jul 20, 2015
0bf5b90
added documentation
mxgrey Jul 20, 2015
4ec7b44
using more appropriate template typename
mxgrey Jul 20, 2015
6c92edd
added documentation for GradientDescentSolver
mxgrey Jul 20, 2015
7c4d37e
removed old testing code
mxgrey Jul 20, 2015
4bd5485
updated to new API
mxgrey Jul 20, 2015
c824489
added documentation
mxgrey Jul 20, 2015
311dd68
seperate the optimizer extensions into their own libraries
mxgrey Jul 20, 2015
56f4097
link the optimization libraries to dart
mxgrey Jul 20, 2015
fe9ca94
add header to see if this helps VS compile
mxgrey Jul 20, 2015
ab8fc7e
remove unnecessary iostream inclusions
mxgrey Jul 20, 2015
886bc15
link the extensions to their third party libraries
mxgrey Jul 20, 2015
0ab5673
brought ipopt solver up to date
mxgrey Jul 20, 2015
358628a
fixing Visual Studio compilation errors
mxgrey Jul 22, 2015
6768773
Merge branch 'master' of http://github.com/dartsim/dart into grey/osg
mxgrey Jul 27, 2015
bb80cc5
fixed bug with NodePtr
mxgrey Jul 27, 2015
76362cd
added test for NodePtr
mxgrey Jul 27, 2015
1e9da74
Apply NOMINMAX to stop Visual Studio's complaints
mxgrey Jul 27, 2015
e252ebc
patching up bugs
mxgrey Jul 28, 2015
176d2b6
Merge branch 'grey/osg' of http://github.com/dartsim/dart into grey/osg
mxgrey Jul 28, 2015
e99ef98
improve performance and input
mxgrey Jul 28, 2015
60c2f26
using more complete name for optimizer extension libraries
mxgrey Jul 29, 2015
02cd362
adding support for COMPONENTS
mxgrey Jul 29, 2015
a438b35
explicitly defined destructors so that the linker can do its job
mxgrey Jul 30, 2015
0fc5fc7
fixed end effector registration bug
mxgrey Aug 13, 2015
c39c4a7
merged in latest master
mxgrey Aug 17, 2015
b015f48
getting rid of warnings
mxgrey Aug 18, 2015
1328d61
sneaking in small API change for forwards compatibility
mxgrey Aug 18, 2015
2d0d43d
removing more sign warnings
mxgrey Aug 18, 2015
7ff8ac4
correction to gradient descent solver -- minimize the absolute value …
mxgrey Aug 24, 2015
4923136
Added missing target_link_libraries to osgDart.
Aug 27, 2015
da2be6b
Merge pull request #495 from mkoval/bugfix/OsgMissingHeaders
mxgrey Aug 28, 2015
8c45640
safety check in GradientDescentSolver
mxgrey Aug 28, 2015
cfee556
Set absolute library path to DARTCore_LIBRARIES and add comments to D…
jslee02 Sep 6, 2015
6d47a92
Remove NOMINMAX definitions (see #482)
jslee02 Sep 6, 2015
5e6440c
Add Entity::getVisualizationShapes() for const correctness
jslee02 Sep 6, 2015
8aa6a5f
Use static member for constant variable in FixedFrame and WorldFrame,…
jslee02 Sep 6, 2015
71de290
Fix minor typo in TemplatedJacobianNode.h
jslee02 Sep 8, 2015
016117f
Modify description of Node class
jslee02 Sep 8, 2015
2ab3080
Use const Node* as key type of the node map in BodyNode
jslee02 Sep 8, 2015
44a06f7
Use using over typedef
jslee02 Sep 8, 2015
2997c9f
Rename NodeCleaner to NodeDestructor
jslee02 Sep 9, 2015
3e18fd3
Merge branch 'grey/fix_499' into grey/osg
mxgrey Sep 20, 2015
1bb07e0
adjusted fix for issue #499 so that it works for JacobianNodes
mxgrey Sep 20, 2015
5ad6ad3
more robust way of tracking JacobianNodes
mxgrey Sep 20, 2015
9b33c51
Merge remote-tracking branch 'origin/grey/osg' into grey/osg_js
jslee02 Sep 24, 2015
50e8788
Notify Jacobian updates in better way for BodyNode and EndEffector
jslee02 Sep 24, 2015
6d6a818
Include class declaration in smart pointer macros
jslee02 Sep 25, 2015
9b45d90
Rename getAllSeeds() to getSeeds() to comply with name convention
jslee02 Sep 26, 2015
018802f
Allow to specify the stream for optimization Solver's output
jslee02 Sep 26, 2015
ddfbed8
Use math::clip() rather than own implementation
jslee02 Sep 26, 2015
2683e16
Rename [get/set]Configuration() to [get/set]Positions to avoid confli…
jslee02 Sep 26, 2015
6d093a6
Add final specifier to Objective and Constraint of inverse kinematics…
jslee02 Sep 26, 2015
bdb1d45
Apply optimal solution to target skeleton once IK is solved
jslee02 Sep 26, 2015
38da51e
Use std::isfinite(~) to check if a value is finite
jslee02 Sep 26, 2015
7200dbe
Change the method name of TastSpaceRegion from EulerAngleXYZ to TaskS…
jslee02 Sep 26, 2015
ff28db1
Make sgn (signum function) to be type safe
jslee02 Sep 27, 2015
0048e38
Remove unnecessary header including in Helpers.h
jslee02 Sep 27, 2015
bcd7e36
Add Function::evalGradient(const Eigen::VectorXd&, Eigen::VectorXd&)
jslee02 Sep 27, 2015
23862c7
Rename isEqual to compareStringAndFile
jslee02 Sep 28, 2015
e7dec70
Fix typo: Retrun --> Return
jslee02 Sep 28, 2015
4180fdb
Change error message to be consistent with the function name and remo…
jslee02 Sep 28, 2015
6f668af
Rename sgn() to sign()
jslee02 Sep 28, 2015
a24ce02
Add getOrCreateIK() to BodyNode and Skeleton
jslee02 Sep 28, 2015
7ea9c87
Merge remote-tracking branch 'origin/master' into grey/osg_js
jslee02 Sep 28, 2015
a3f323a
Merge remote-tracking branch 'origin/master' into grey/osg
jslee02 Sep 28, 2015
76b7a35
Merge remote-tracking branch 'origin/grey/osg' into grey/osg_js
jslee02 Sep 28, 2015
b975db2
Fix another typo: Retrun --> Return
jslee02 Sep 28, 2015
41aeebd
Update comment in the constructor of HierarchicalIK
jslee02 Sep 29, 2015
ae2694b
Merge pull request #502 from dartsim/osg_outstream
jslee02 Sep 29, 2015
97a623d
Merge remote-tracking branch 'origin/grey/osg' into grey/osg_js
jslee02 Sep 29, 2015
026ce86
Minor improvement on converting matrices between osg and Eigen versions
jslee02 Sep 29, 2015
bd9342e
Rename file: utils.h --> Utils.h
jslee02 Sep 29, 2015
68d5d27
Merge pull request #506 from dartsim/grey/osg_js
jslee02 Sep 29, 2015
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
21 changes: 9 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ if(MSVC)
else()
option(BUILD_SHARED_LIBS "Build shared libraries" ON)
endif()
option(DART_BUILD_OSGDART "Build osgDart library" ON)
option(DART_BUILD_EXAMPLES "Build examples" ON)
option(DART_BUILD_UNITTESTS "Build unit tests" ON)

Expand Down Expand Up @@ -356,15 +357,6 @@ if(NOT BUILD_CORE_ONLY)
${TINYXML_LIBRARIES}
${TINYXML2_LIBRARIES}
)
if(HAVE_NLOPT)
set(DART_DEPENDENCIES ${DART_DEPENDENCIES} ${NLOPT_LIBRARIES})
endif()
if(HAVE_IPOPT)
set(DART_DEPENDENCIES ${DART_DEPENDENCIES} ${IPOPT_LIBRARIES})
endif()
if(HAVE_SHARK)
set(DART_DEPENDENCIES ${DART_DEPENDENCIES} ${SHARK_LIBRARIES})
endif()
endif()

#===============================================================================
Expand Down Expand Up @@ -481,6 +473,7 @@ message(STATUS "Build type : ${CMAKE_BUILD_TYPE}")
message(STATUS "BUILD_SHARED_LIBS: ${BUILD_SHARED_LIBS}")
message(STATUS "ENABLE_OPENMP : ${ENABLE_OPENMP}")
message(STATUS "Build core only : ${BUILD_CORE_ONLY}")
message(STATUS "Build osgDart : ${DART_BUILD_OSGDART}")
message(STATUS "Build examples : ${DART_BUILD_EXAMPLES}")
message(STATUS "Build unit tests : ${DART_BUILD_UNITTESTS}")
message(STATUS "Install path : ${CMAKE_INSTALL_PREFIX}")
Expand Down Expand Up @@ -547,18 +540,22 @@ add_subdirectory(dart)

if(NOT BUILD_CORE_ONLY)

if(DART_BUILD_OSGDART)
add_subdirectory(osgDart)
endif(DART_BUILD_OSGDART)

# Unit tests
if(DART_BUILD_UNITTESTS)
enable_testing()
add_subdirectory(unittests)
endif()
endif(DART_BUILD_UNITTESTS)

# Examples
if(DART_BUILD_EXAMPLES)
add_subdirectory(apps)
endif()
endif(DART_BUILD_EXAMPLES)

endif()
endif(NOT BUILD_CORE_ONLY)

#===============================================================================
# Export targets
Expand Down
19 changes: 18 additions & 1 deletion cmake/DARTConfig.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,23 @@ set(DART_LIBRARY_DIRS "@CMAKE_INSTALL_PREFIX@/lib" "@Boost_LIBRARY_DIRS@")

include("${CURRENT_DIR}/DARTTargets.cmake")

set(DART_LIBRARIES dart)
find_library(dart_location NAMES "dart" PATHS "@CMAKE_INSTALL_PREFIX@/lib")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This wouldn't work if DART is built in debug mode since the library name would contain appendix "d" (i.e., dartd). I'm not sure we should care the case.

Also, I haven't seen quotation mark is used for library name in find_library. Do we need it?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This wouldn't work if DART is built in debug mode since the library name would contain appendix "d"

This is a good point. After looking into this a bit, it seems like the standard way to handle this would be to have two versions of the find_package macro: one for the release version and one for the debug version. That said, I'd be open to suggestions for other ways to have find_package distinguish between release and debug libraries.

Also, I haven't seen quotation mark is used for library name in find_library. Do we need it?

It looks like quotes in cmake are only really used to ensure that an argument with spaces in it does not get split into multiple arguments. That being the case, the quotes are probably worthless here.

set(DART_LIBRARIES "${dart_location}")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we set DART_LIBRARIES variable using find_library directly?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍


if(DART_FIND_COMPONENTS)
foreach(comp ${DART_FIND_COMPONENTS})
find_library(dart_${comp}_location
NAMES "dart-${comp}"
PATHS "@CMAKE_INSTALL_PREFIX@/lib")
if(dart_${comp}_location)
list(APPEND DART_LIBRARIES "${dart_${comp}_location}")
else()
if(DART_FIND_REQUIRED_${comp})
message(FATAL_ERROR "dart-${comp} not available")
endif(DART_FIND_REQUIRED_${comp})
endif(dart_${comp}_location)
endforeach(comp)
endif(DART_FIND_COMPONENTS)


set(DART_VERSION @DART_VERSION@)
6 changes: 3 additions & 3 deletions dart/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ add_subdirectory(collision)
add_subdirectory(common)
add_subdirectory(constraint)
add_subdirectory(dynamics)
add_subdirectory(optimizer)
add_subdirectory(integration)
add_subdirectory(lcpsolver)
add_subdirectory(math)
add_subdirectory(renderer)
add_subdirectory(simulation)
if(NOT BUILD_CORE_ONLY)
add_subdirectory(gui)
add_subdirectory(optimizer)
add_subdirectory(planning)
add_subdirectory(utils)
endif()
Expand All @@ -33,6 +33,7 @@ set(dart_core_hdrs
${dart_integration_hdrs}
${dart_lcpsolver_hdrs}
${dart_dynamics_hdrs}
${dart_optimizer_hdrs}
${dart_collision_hdrs}
${dart_constraint_hdrs}
${dart_simulation_hdrs}
Expand All @@ -43,6 +44,7 @@ set(dart_core_srcs
${dart_integration_srcs}
${dart_lcpsolver_srcs}
${dart_dynamics_srcs}
${dart_optimizer_srcs}
${dart_collision_srcs}
${dart_constraint_srcs}
${dart_simulation_srcs}
Expand All @@ -51,14 +53,12 @@ if(NOT BUILD_CORE_ONLY)
set(dart_hdrs
dart.h
${dart_gui_hdrs}
${dart_optimizer_hdrs}
${dart_planning_hdrs}
${dart_renderer_hdrs}
${dart_utils_hdrs}
)
set(dart_srcs
${dart_gui_srcs}
${dart_optimizer_srcs}
${dart_planning_srcs}
${dart_renderer_srcs}
${dart_utils_srcs}
Expand Down
1 change: 1 addition & 0 deletions dart/collision/bullet/BulletCollisionNode.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
#include <btBulletCollisionCommon.h>
#include <Eigen/Dense>

#include "dart/dynamics/SmartPointer.h"
#include "dart/dynamics/Shape.h"
#include "dart/collision/CollisionNode.h"

Expand Down
2 changes: 2 additions & 0 deletions dart/collision/fcl_mesh/FCLMeshCollisionDetector.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@
* POSSIBILITY OF SUCH DAMAGE.
*/

#define NOMINMAX
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need this per #482.


#include "dart/collision/fcl_mesh/FCLMeshCollisionDetector.h"

#include <algorithm>
Expand Down
Loading