You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
change contact, distance primitive id to intptr_t; add fcl::OcTree API to get info from opaque ids (#472)
* fix doxygen to examine conditional config includes
Some includes only contain code when prerequisite libraries exist.
For example, if FCL_HAVE_OCTOMAP is not nonzero, the OcTree class is
not declared. These preprocessor macros are defined in the generated
fcl/config.h. Doxygen was not configured to search for inclues in the
generated include directory. Therefore Doxygen would never add
documentation for OcTree.
Fix this by adding the generated include path to
DOXYGEN_INCLUDE_PATH, and actually have the Doxyfile.in make use of
the DOXYGEN_INCLUDE_PATH by providing it as an environment variable
to the doxygen tool.
* change contact, distance primitive id to intptr_t
The contact and distance result brief primitive information stored
the brief information in an `int`. However, some primitive ids can
only be stored by relative pointer (namely octree nodes), and `int`
is not wide enough on 64-bit platforms to safely store a pointer. So
upgrade the brief information to be `intptr_t` which is guaranteed to
be wide enough.
Also, provide a method, getNode, to make use of the query cell id
returned for `fcl::OcTree` cells. For getNode to efficiently find the
cell from the query cell id, it must be passed the contact point or
nearest point returned by the query to work correctly. The getNode
method returns a pointer to the corresponding OcTree node, and also
optionally returns the AABB representing the cell, the
octomap::OcTreeKey (which can be used with various octomap APIs) and
the depth of the cell in the tree (which may also be needed when
using octomap APIs).
Refer the contact info and distance result documentation to the new
getNode method for callers to know how to make use of these OcTree
query cell ids.
Add OcTree query cell id tests to test the new getNode method at the
same time as testing the BVH mesh ids in
test_fcl_octomap_collision.cpp.
0 commit comments