coal  3.0.1
Coal, The Collision Detection Library. Previously known as HPP-FCL, fork of FCL -- The Flexible Collision Library
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345]
 Ccoal::AABBA class describing the AABB collision structure, which is a box in 3D space determined by two diagonal points
 Ccoal::BroadPhaseCollisionManagerBase class for broad phase collision. It helps to accelerate the collision/distance between N objects. Also support self collision, self distance and collision/distance with another M objects
 Ccoal::BroadPhaseContinuousCollisionManager< S >Base class for broad phase continuous collision. It helps to accelerate the continuous collision/distance between N objects. Also support self collision, self distance and collision/distance with another M objects
 Ccoal::BVFitterTpl< BV >The class for the default algorithm fitting a bounding volume to a set of points
 Ccoal::BVFitterTpl< AABB >
 Ccoal::BVFitterTpl< kIOS >
 Ccoal::BVFitterTpl< OBB >
 Ccoal::BVFitterTpl< OBBRSS >
 Ccoal::BVFitterTpl< RSS >
 Ccoal::BVHFrontNodeFront list acceleration for collision Front list is a set of internal and leaf nodes in the BVTT hierarchy, where the traversal terminates while performing a query during a given time instance. The front list reflects the subset of a BVTT that is traversed for that particular proximity query
 Ccoal::BVNodeBaseBVNodeBase encodes the tree structure for BVH
 Ccoal::BVSplitter< BV >A class describing the split rule that splits each BV node
 Ccoal::serialization::detail::cast_register_initializer< Derived, Base >
 Ccoal::CollisionCallBackBaseBase callback class for collision queries. This class can be supersed by child classes to provide desired behaviors according to the application (e.g, only listing the potential CollisionObjects in collision)
 Ccoal::CollisionDataCollision data stores the collision request and the result given by collision algorithm
 Ccoal::CollisionFunctionMatrixCollision matrix stores the functions for collision between different types of objects and provides a uniform call interface
 Ccoal::CollisionGeometryThe geometry for the object for collision or distance computation
 Ccoal::CollisionObjectObject for collision or distance computation, contains the geometry and the transform information
 Ccoal::ComputeCollisionThis class reduces the cost of identifying the geometry pair. This is mostly useful for repeated shape-shape queries
 Ccoal::ComputeContactPatchThis class reduces the cost of identifying the geometry pair. This is usefull for repeated shape-shape queries
 Ccoal::ComputeDistance
 Ccoal::ComputeShapeShapeContactPatch< ShapeType1, ShapeType2 >Shape-shape contact patch computation. Assumes that csolver and the ContactPatchResult have already been set up by the ContactPatchRequest
 Ccoal::ComputeShapeShapeContactPatch< Halfspace, Halfspace >
 Ccoal::ComputeShapeShapeContactPatch< Halfspace, OtherShapeType >
 Ccoal::ComputeShapeShapeContactPatch< Halfspace, Plane >
 Ccoal::ComputeShapeShapeContactPatch< OtherShapeType, Halfspace >
 Ccoal::ComputeShapeShapeContactPatch< OtherShapeType, Plane >
 Ccoal::ComputeShapeShapeContactPatch< Plane, Halfspace >
 Ccoal::ComputeShapeShapeContactPatch< Plane, OtherShapeType >
 Ccoal::ComputeShapeShapeContactPatch< Plane, Plane >
 Ccoal::ContactContact information returned by collision
 Ccoal::ContactPatchThis structure allows to encode contact patches. A contact patch is defined by a set of points belonging to a subset of a plane passing by p and supported by n, where n = Contact::normal and p = Contact::pos. If we denote by P this plane and by S1 and S2 the first and second shape of a collision pair, a contact patch is represented as a polytope which vertices all belong to P & S1 & S2, where & denotes the set-intersection. Since a contact patch is a subset of a plane supported by n, it has a preferred direction. In Coal, the Contact::normal points from S1 to S2. In the same way, a contact patch points by default from S1 to S2
 Ccoal::ContactPatchFunctionMatrixThe contact patch matrix stores the functions for contact patches computation between different types of objects and provides a uniform call interface
 Ccoal::ContactPatchRequestRequest for a contact patch computation
 Ccoal::ContactPatchResultResult for a contact patch computation
 Ccoal::ContactPatchSolverSolver to compute contact patches, i.e. the intersection between two contact surfaces projected onto the shapes' separating plane. Otherwise said, a contact patch is simply the intersection between two support sets: the support set of shape S1 in direction n and the support set of shape S2 in direction -n, where n is the contact normal (satisfying the optimality conditions of GJK/EPA)
 Ccoal::CPUTimes
 Ccoal::DistanceCallBackBaseBase callback class for distance queries. This class can be supersed by child classes to provide desired behaviors according to the application (e.g, only listing the potential CollisionObjects in collision)
 Ccoal::DistanceDataDistance data stores the distance request and the result given by distance algorithm
 Ccoal::DistanceFunctionMatrixDistance matrix stores the functions for distance between different types of objects and provides a uniform call interface
 Ccoal::IntervalTreeCollisionManager::EndPointSAP end point
 Ccoal::SaPCollisionManager::EndPointEnd point for an interval
 Ccoal::details::EPAClass for EPA algorithm
 Ccoal::details::GJKClass for GJK algorithm
 Ccoal::GJKSolverCollision and distance solver based on the GJK and EPA algorithms. Originally, GJK and EPA were implemented in fcl which itself took inspiration from the code of the GJK in bullet. Since then, both GJK and EPA have been largely modified to be faster and more robust to numerical accuracy and edge cases
 Ccoal::HFNodeBase
 Ccoal::detail::HierarchyTree< BV >Class for hierarchy tree structure
 Ccoal::detail::implementation_array::HierarchyTree< BV >Class for hierarchy tree structure
 Ccoal::detail::implementation_array::HierarchyTree< coal::AABB >
 Ccoal::serialization::detail::init_cast_register< Derived, Base >
 Ccoal::detail::IntervalTreeInterval tree
 Ccoal::detail::IntervalTreeNodeThe node for interval tree
 Ccoal::SaPCollisionManager::isNotValidPairFunctor to help remove collision pairs no longer valid (i.e., should be culled away)
 Ccoal::SaPCollisionManager::isUnregisteredFunctor to help unregister one object
 Ccoal::detail::it_recursion_nodeClass describes the information needed when we take the right branch in searching for intervals but possibly come back and check the left branch as well
 Ccoal::KDOP< N >KDOP class describes the KDOP collision structures. K is set as the template parameter, which should be 16, 18, or 24 The KDOP structure is defined by some pairs of parallel planes defined by some axes. For K = 16, the planes are 6 AABB planes and 10 diagonal planes that cut off some space of the edges: (-1,0,0) and (1,0,0) -> indices 0 and 8 (0,-1,0) and (0,1,0) -> indices 1 and 9 (0,0,-1) and (0,0,1) -> indices 2 and 10 (-1,-1,0) and (1,1,0) -> indices 3 and 11 (-1,0,-1) and (1,0,1) -> indices 4 and 12 (0,-1,-1) and (0,1,1) -> indices 5 and 13 (-1,1,0) and (1,-1,0) -> indices 6 and 14 (-1,0,1) and (1,0,-1) -> indices 7 and 15 For K = 18, the planes are 6 AABB planes and 12 diagonal planes that cut off some space of the edges: (-1,0,0) and (1,0,0) -> indices 0 and 9 (0,-1,0) and (0,1,0) -> indices 1 and 10 (0,0,-1) and (0,0,1) -> indices 2 and 11 (-1,-1,0) and (1,1,0) -> indices 3 and 12 (-1,0,-1) and (1,0,1) -> indices 4 and 13 (0,-1,-1) and (0,1,1) -> indices 5 and 14 (-1,1,0) and (1,-1,0) -> indices 6 and 15 (-1,0,1) and (1,0,-1) -> indices 7 and 16 (0,-1,1) and (0,1,-1) -> indices 8 and 17 For K = 18, the planes are 6 AABB planes and 18 diagonal planes that cut off some space of the edges: (-1,0,0) and (1,0,0) -> indices 0 and 12 (0,-1,0) and (0,1,0) -> indices 1 and 13 (0,0,-1) and (0,0,1) -> indices 2 and 14 (-1,-1,0) and (1,1,0) -> indices 3 and 15 (-1,0,-1) and (1,0,1) -> indices 4 and 16 (0,-1,-1) and (0,1,1) -> indices 5 and 17 (-1,1,0) and (1,-1,0) -> indices 6 and 18 (-1,0,1) and (1,0,-1) -> indices 7 and 19 (0,-1,1) and (0,1,-1) -> indices 8 and 20 (-1, -1, 1) and (1, 1, -1) --> indices 9 and 21 (-1, 1, -1) and (1, -1, 1) --> indices 10 and 22 (1, -1, -1) and (-1, 1, 1) --> indices 11 and 23
 Ccoal::CachedMeshLoader::Key
 Ccoal::kIOSA class describing the kIOS collision structure, which is a set of spheres
 Ccoal::internal::Loader
 Ccoal::internal::memory_footprint_evaluator< T >
 Ccoal::internal::memory_footprint_evaluator<::coal::BVHModel< BV > >
 Ccoal::MeshLoader
 CMeshShapeDistanceTraversalNode
 Ccoal::details::MinkowskiDiffMinkowski difference class of two shapes
 Ccoal::ConvexBase::Neighbors
 Ccoal::detail::implementation_array::NodeBase< BV >
 Ccoal::detail::NodeBase< BV >Dynamic AABB tree node
 Ccoal::detail::implementation_array::nodeBaseLess< BV >Functor comparing two nodes
 Ccoal::OBBOriented bounding box class
 Ccoal::OBBRSSClass merging the OBB and RSS, can handle collision and distance simultaneously
 Ccoal::QuadrilateralQuadrilateral with 4 indices for points
 Ccoal::QueryRequestBase class for all query requests
 Ccoal::QueryResultBase class for all query results
 Ccoal::serialization::register_type< T >
 Ccoal::serialization::register_type< CollisionGeometry >
 Ccoal::RSSA class for rectangle sphere-swept bounding volume
 Ccoal::SaPCollisionManager::SaPAABBSAP interval for one object
 Ccoal::SaPCollisionManager::SaPPairA pair of objects that are not culling away and should further check collision
 Ccoal::detail::implementation_array::SelectImpl< S, BV >
 Ccoal::detail::SelectImpl< S, BV >
 Ccoal::detail::implementation_array::SelectImpl< S, AABB >
 Ccoal::detail::SelectImpl< S, AABB >
 Ccoal::serialization::Serializer
 Ccoal::shape_traits_base
 Ccoal::details::ShapeSupportDataStores temporary data for the computation of support points
 Ccoal::detail::SimpleHashTable< Key, Data, HashFnc >A simple hash table implemented as multiple buckets. HashFnc is any extended hash function: HashFnc(key) = {index1, index2, ..., }
 Ccoal::detail::SimpleHashTable< AABB, CollisionObject *, detail::SpatialHash >
 Ccoal::detail::SimpleIntervalInterval trees implemented using red-black-trees as described in the book Introduction_To_Algorithms_ by Cormen, Leisserson, and Rivest
 Ccoal::details::GJK::SimplexA simplex is a set of up to 4 vertices. Its rank is the number of vertices it contains
 Ccoal::details::EPA::SimplexFace
 Ccoal::details::EPA::SimplexFaceListThe simplex list of EPA is a linked list of faces. Note: EPA's linked list does not own any memory. The memory it refers to is contiguous and owned by a std::vector
 Ccoal::details::EPA::SimplexHorizon
 Ccoal::details::GJK::SimplexV
 Ccoal::detail::SparseHashTable< Key, Data, HashFnc, TableT >A hash table implemented using unordered_map
 Ccoal::detail::SpatialHashSpatial hash function: hash an AABB to a set of integer values
 Ccoal::ConvexBase::SupportWarmStartPolytopeThe support warm start polytope contains certain points of this which are support points in specific directions of space. This struct is used to warm start the support function computation for large meshes (num_points > 32)
 Ccoal::TimerThis class mimics the way "boost/timer/timer.hpp" operates while using the modern std::chrono library. Importantly, this class will only have an effect for C++11 and more
 Ccoal::Transform3sSimple transform class used locally by InterpMotion
 Ccoal::TraversalTraitsCollision< TypeA, TypeB >
 Ccoal::TraversalTraitsDistance< TypeA, TypeB >
 Ccoal::TriangleTriangle with 3 indices for points
 Ccoal::internal::TriangleAndVertices
 Cstd::unordered_map
 Ccoal::details::UpdateBoundingVolume< BV >
 Ccoal::details::UpdateBoundingVolume< AABB >
 Ccoal::detail::UpdateImpl< S, BV >
 Ccoal::CachedMeshLoader::Value