This file is indexed.

/usr/include/bullet/Bullet3OpenCL/NarrowphaseCollision/b3SupportMappings.h is in libbullet-dev 2.87+dfsg-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef B3_SUPPORT_MAPPINGS_H
#define B3_SUPPORT_MAPPINGS_H

#include "Bullet3Common/b3Transform.h"
#include "Bullet3Common/b3AlignedObjectArray.h"
#include "b3VectorFloat4.h"


struct b3GjkPairDetector;



inline b3Vector3 localGetSupportVertexWithMargin(const float4& supportVec,const struct b3ConvexPolyhedronData* hull, 
	const b3AlignedObjectArray<b3Vector3>& verticesA, b3Scalar margin)
{
	b3Vector3 supVec = b3MakeVector3(b3Scalar(0.),b3Scalar(0.),b3Scalar(0.));
	b3Scalar maxDot = b3Scalar(-B3_LARGE_FLOAT);

    // Here we take advantage of dot(a, b*c) = dot(a*b, c).  Note: This is true mathematically, but not numerically. 
    if( 0 < hull->m_numVertices )
    {
        const b3Vector3 scaled = supportVec;
		int index = (int) scaled.maxDot( &verticesA[hull->m_vertexOffset], hull->m_numVertices, maxDot); 
        return verticesA[hull->m_vertexOffset+index];
    }

    return supVec;

}

inline b3Vector3 localGetSupportVertexWithoutMargin(const float4& supportVec,const struct b3ConvexPolyhedronData* hull, 
	const b3AlignedObjectArray<b3Vector3>& verticesA)
{
	return localGetSupportVertexWithMargin(supportVec,hull,verticesA,0.f);
}

#endif //B3_SUPPORT_MAPPINGS_H