Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Guilhem Saurel
hpp-fcl
Commits
bde445ca
Commit
bde445ca
authored
Oct 08, 2019
by
Lucile Remigy
Browse files
Doxygen, private element
parent
0594e6db
Changes
5
Hide whitespace changes
Inline
Side-by-side
src/traversal/traversal_node_base.h
View file @
bde445ca
...
...
@@ -47,7 +47,10 @@ namespace hpp
namespace
fcl
{
/// @brief Node structure encoding the information required for traversal.
/// @internal TraversalNodeBase, private class.
class
TraversalNodeBase
{
public:
...
...
@@ -88,7 +91,9 @@ public:
Transform3f
tf2
;
};
/// @brief Node structure encoding the information required for collision traversal.
/// @internal CollisionTraversalNodeBase, private class.
class
CollisionTraversalNodeBase
:
public
TraversalNodeBase
{
public:
...
...
@@ -129,6 +134,7 @@ public:
};
/// @brief Node structure encoding the information required for distance traversal.
/// @internal DistanceTraversalNodeBase, private class.
class
DistanceTraversalNodeBase
:
public
TraversalNodeBase
{
public:
...
...
src/traversal/traversal_node_bvh_shape.h
View file @
bde445ca
...
...
@@ -53,6 +53,7 @@ namespace fcl
{
/// @brief Traversal node for collision between BVH and shape
/// @internal BVHShapeCollisionTraversalNode, private class.
template
<
typename
BV
,
typename
S
>
class
BVHShapeCollisionTraversalNode
:
public
CollisionTraversalNodeBase
{
...
...
@@ -96,6 +97,7 @@ public:
};
/// @brief Traversal node for collision between shape and BVH
/// @internal ShapeBVHCollisionTraversalNode, private class.
template
<
typename
S
,
typename
BV
>
class
ShapeBVHCollisionTraversalNode
:
public
CollisionTraversalNodeBase
{
...
...
@@ -146,6 +148,7 @@ public:
/// @brief Traversal node for collision between mesh and shape
/// @internal MeshShapeCollisionTraversalNode, private class.
template
<
typename
BV
,
typename
S
,
int
_Options
=
RelativeTransformationIsIdentity
>
class
MeshShapeCollisionTraversalNode
:
public
BVHShapeCollisionTraversalNode
<
BV
,
S
>
...
...
@@ -260,6 +263,7 @@ public:
};
/// @brief Traversal node for mesh and shape, when mesh BVH is one of the oriented node (OBB, RSS, OBBRSS, kIOS)
/// @internal MeshShapeCollisionTraversalNodeOBB/RSS/kIOS/OBBRSS, private class.
template
<
typename
S
>
class
MeshShapeCollisionTraversalNodeOBB
:
public
MeshShapeCollisionTraversalNode
<
OBB
,
S
,
0
>
{
...
...
@@ -307,6 +311,7 @@ public:
/// @brief Traversal node for collision between shape and mesh
/// @internalShapeMeshCollisionTraversalNode, private class.
template
<
typename
S
,
typename
BV
,
int
_Options
=
RelativeTransformationIsIdentity
>
class
ShapeMeshCollisionTraversalNode
:
public
ShapeBVHCollisionTraversalNode
<
S
,
BV
>
...
...
@@ -420,6 +425,7 @@ public:
};
/// @brief Traversal node for shape and mesh, when mesh BVH is one of the oriented node (OBB, RSS, OBBRSS, kIOS)
/// @internal ShapeMeshCollisionTraversalNodeOBB/RSS/kIOS/OBBRSS, private class.
template
<
typename
S
>
class
ShapeMeshCollisionTraversalNodeOBB
:
public
ShapeMeshCollisionTraversalNode
<
S
,
OBB
,
0
>
{
...
...
@@ -460,6 +466,7 @@ public:
};
/// @brief Traversal node for distance computation between BVH and shape
/// @internal BVHShapeDistanceTraversalNode, private class.
template
<
typename
BV
,
typename
S
>
class
BVHShapeDistanceTraversalNode
:
public
DistanceTraversalNodeBase
{
...
...
@@ -508,6 +515,7 @@ public:
};
/// @brief Traversal node for distance computation between shape and BVH
/// @internal ShapeBVHShapeDistanceTraversalNode, private class.
template
<
typename
S
,
typename
BV
>
class
ShapeBVHDistanceTraversalNode
:
public
DistanceTraversalNodeBase
{
...
...
@@ -557,6 +565,7 @@ public:
/// @brief Traversal node for distance between mesh and shape
/// @internal MeshShapeDistanceTraversalNode, private class.
template
<
typename
BV
,
typename
S
>
class
MeshShapeDistanceTraversalNode
:
public
BVHShapeDistanceTraversalNode
<
BV
,
S
>
{
...
...
@@ -681,7 +690,8 @@ static inline void distancePreprocessOrientedNode(const BVHModel<BV>* model1,
/// @brief Traversal node for distance between mesh and shape, when mesh BVH is one of the oriented node (RSS, OBBRSS, kIOS)
/// @brief Traversal node for distance between mesh and shape, when mesh BVH is one of the oriented node (RSS, kIOS, OBBRSS)
/// @internal MeshShapeDistanceTraversalNodeRSS/kIOS/OBBRSS, private class.
template
<
typename
S
>
class
MeshShapeDistanceTraversalNodeRSS
:
public
MeshShapeDistanceTraversalNode
<
RSS
,
S
>
{
...
...
@@ -780,6 +790,7 @@ public:
};
/// @brief Traversal node for distance between shape and mesh
/// @internal ShapeMeshDistanceTraversalNode, private class.
template
<
typename
S
,
typename
BV
>
class
ShapeMeshDistanceTraversalNode
:
public
ShapeBVHDistanceTraversalNode
<
S
,
BV
>
{
...
...
@@ -838,6 +849,8 @@ public:
const
GJKSolver
*
nsolver
;
};
/// @brief Traversal node for distance between shape and mesh, when mesh BVH is one of the oriented node (RSS, kIOS, OBBRSS)
/// @internal ShapeMeshDistanceTraversalNodeRSS/kIOS/OBBRSS, private class.
template
<
typename
S
>
class
ShapeMeshDistanceTraversalNodeRSS
:
public
ShapeMeshDistanceTraversalNode
<
S
,
RSS
>
{
...
...
src/traversal/traversal_node_bvhs.h
View file @
bde445ca
...
...
@@ -61,6 +61,7 @@ namespace hpp
namespace
fcl
{
/// @brief Traversal node for collision between BVH models
/// @internal BVHCollisionTraversalNode, private class.
template
<
typename
BV
>
class
BVHCollisionTraversalNode
:
public
CollisionTraversalNodeBase
{
...
...
@@ -138,6 +139,7 @@ public:
};
/// @brief Traversal node for collision between two meshes
/// @internal MeshCollisionTraversalNode, private class.
template
<
typename
BV
,
int
_Options
=
RelativeTransformationIsIdentity
>
class
MeshCollisionTraversalNode
:
public
BVHCollisionTraversalNode
<
BV
>
{
...
...
@@ -172,7 +174,7 @@ public:
/// \retval sqrDistLowerBound square of a lower bound of the minimal
/// distance between bounding volumes.
bool
BVDisjoints
(
int
b1
,
int
b2
,
FCL_REAL
&
sqrDistLowerBound
)
const
{
{
/// @internal MeshCollisionTraversalNode, private class.
if
(
this
->
enable_statistics
)
this
->
num_bv_tests
++
;
if
(
RTIsIdentity
)
return
!
this
->
model1
->
getBV
(
b1
).
overlap
(
this
->
model2
->
getBV
(
b2
),
...
...
@@ -264,6 +266,7 @@ public:
};
/// @brief Traversal node for collision between two meshes if their underlying BVH node is oriented node (OBB, RSS, OBBRSS, kIOS)
/// @internal MeshCollisionTraversalNode (OBB, RSS, OBBRSS, kIOS), private class.
typedef
MeshCollisionTraversalNode
<
OBB
,
0
>
MeshCollisionTraversalNodeOBB
;
typedef
MeshCollisionTraversalNode
<
RSS
,
0
>
MeshCollisionTraversalNodeRSS
;
typedef
MeshCollisionTraversalNode
<
kIOS
,
0
>
MeshCollisionTraversalNodekIOS
;
...
...
@@ -296,6 +299,7 @@ namespace details
}
// namespace details
/// @brief Traversal node for distance computation between BVH models
/// @internal BVHDistanceTraversalNode, private class.
template
<
typename
BV
>
class
BVHDistanceTraversalNode
:
public
DistanceTraversalNodeBase
{
...
...
@@ -381,6 +385,7 @@ public:
/// @brief Traversal node for distance computation between two meshes
/// @internal MeshDistanceTraversalNode, private class.
template
<
typename
BV
>
class
MeshDistanceTraversalNode
:
public
BVHDistanceTraversalNode
<
BV
>
{
...
...
@@ -448,6 +453,7 @@ public:
};
/// @brief Traversal node for distance computation between two meshes if their underlying BVH node is oriented node (RSS, OBBRSS, kIOS)
/// @internal MeshDistanceTraversalNodeRSS/kIOS/OBBRSS, private class.
class
MeshDistanceTraversalNodeRSS
:
public
MeshDistanceTraversalNode
<
RSS
>
{
public:
...
...
src/traversal/traversal_node_octree.h
View file @
bde445ca
...
...
@@ -51,6 +51,7 @@ namespace fcl
{
/// @brief Algorithms for collision related with octree
/// @internal OcTreeSolver, private class.
class
OcTreeSolver
{
private:
...
...
@@ -889,6 +890,7 @@ private:
/// @brief Traversal node for octree collision
/// @internal OcTreeCollisionTraversalNode, private class.
class
OcTreeCollisionTraversalNode
:
public
CollisionTraversalNodeBase
{
public:
...
...
@@ -925,6 +927,7 @@ public:
};
/// @brief Traversal node for octree distance
/// @internal OcTreeDistanceTraversalNode, private class.
class
OcTreeDistanceTraversalNode
:
public
DistanceTraversalNodeBase
{
public:
...
...
@@ -959,6 +962,7 @@ public:
};
/// @brief Traversal node for shape-octree collision
/// @internal ShapeOcTreeCollisionTraversalNode, private class.
template
<
typename
S
>
class
ShapeOcTreeCollisionTraversalNode
:
public
CollisionTraversalNodeBase
{
...
...
@@ -996,6 +1000,7 @@ public:
};
/// @brief Traversal node for octree-shape collision
/// @internal OcTreeShapeCollisionTraversalNode, private class.
template
<
typename
S
>
class
OcTreeShapeCollisionTraversalNode
:
public
CollisionTraversalNodeBase
{
...
...
@@ -1033,6 +1038,7 @@ public:
};
/// @brief Traversal node for shape-octree distance
/// @internal ShapeOcTreeCollisionTraversalNode, private class.
template
<
typename
S
>
class
ShapeOcTreeDistanceTraversalNode
:
public
DistanceTraversalNodeBase
{
...
...
@@ -1062,6 +1068,7 @@ public:
};
/// @brief Traversal node for octree-shape distance
/// @internal OcTreeShapeDistanceTraversalNode, private class.
template
<
typename
S
>
class
OcTreeShapeDistanceTraversalNode
:
public
DistanceTraversalNodeBase
{
...
...
@@ -1091,6 +1098,7 @@ public:
};
/// @brief Traversal node for mesh-octree collision
/// @internal MeshOcTreeCollisionTraversalNode, private class.
template
<
typename
BV
>
class
MeshOcTreeCollisionTraversalNode
:
public
CollisionTraversalNodeBase
{
...
...
@@ -1128,6 +1136,7 @@ public:
};
/// @brief Traversal node for octree-mesh collision
/// @internal OcTreeMeshCollisionTraversalNode, private class.
template
<
typename
BV
>
class
OcTreeMeshCollisionTraversalNode
:
public
CollisionTraversalNodeBase
{
...
...
@@ -1165,6 +1174,7 @@ public:
};
/// @brief Traversal node for mesh-octree distance
/// @internal MeshOcTreeDistanceTraversalNode, private class.
template
<
typename
BV
>
class
MeshOcTreeDistanceTraversalNode
:
public
DistanceTraversalNodeBase
{
...
...
@@ -1195,6 +1205,7 @@ public:
};
/// @brief Traversal node for octree-mesh distance
/// @internal OcTreeMeshDistanceTraversalNode, private class.
template
<
typename
BV
>
class
OcTreeMeshDistanceTraversalNode
:
public
DistanceTraversalNodeBase
{
...
...
src/traversal/traversal_recurse.cpp
View file @
bde445ca
...
...
@@ -89,6 +89,7 @@ void collisionRecurse(CollisionTraversalNodeBase* node, int b1, int b2,
collisionRecurse
(
node
,
b1
,
c2
,
front_list
,
sqrDistLowerBound2
);
sqrDistLowerBound
=
std
::
min
(
sqrDistLowerBound1
,
sqrDistLowerBound2
);
}
return
;
}
void
collisionNonRecurse
(
CollisionTraversalNodeBase
*
node
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment