27 if (meshInterface->hasPremadeAabb())
37btTriangleMeshShape::~btTriangleMeshShape()
41void btTriangleMeshShape::getAabb(
const btTransform& trans, btVector3& aabbMin, btVector3& aabbMax)
const
49 btVector3 center = trans(localCenter);
51 btVector3 extent = localHalfExtents.dot3(abs_b[0], abs_b[1], abs_b[2]);
52 aabbMin = center - extent;
53 aabbMax = center + extent;
56void btTriangleMeshShape::recalcLocalAabb()
58 for (
int i = 0; i < 3; i++)
72 btVector3 m_supportVertexLocal;
90 for (
int i = 0; i < 3; i++)
96 m_supportVertexLocal = triangle[i];
108 return m_supportVertexLocal;
112void btTriangleMeshShape::setLocalScaling(
const btVector3& scaling)
118const btVector3& btTriangleMeshShape::getLocalScaling()
const
125void btTriangleMeshShape::processAllTriangles(
btTriangleCallback*
callback,
const btVector3& aabbMin,
const btVector3& aabbMax)
const
150 FilteredCallback filterCallback(
callback, aabbMin, aabbMax);
152 m_meshInterface->InternalProcessAllTriangles(&filterCallback, aabbMin, aabbMax);
155void btTriangleMeshShape::calculateLocalInertia(
btScalar mass, btVector3& inertia)
const
163btVector3 btTriangleMeshShape::localGetSupportingVertex(
const btVector3& vec)
const
165 btVector3 supportVertex;
176 supportVertex = supportCallback.GetSupportVertexLocal();
178 return supportVertex;
SIMD_FORCE_INLINE bool TestTriangleAgainstAabb2(const btVector3 *vertices, const btVector3 &aabbMin, const btVector3 &aabbMax)
conservative test for overlap between triangle and aabb
virtual btVector3 localGetSupportingVertex(const btVector3 &vec) const
@ TRIANGLE_MESH_SHAPE_PROXYTYPE
virtual void processAllTriangles(btTriangleCallback *callback, const btVector3 &aabbMin, const btVector3 &aabbMax) const
virtual btScalar getMargin() const =0
btScalar m_collisionMargin
btMatrix3x3
The btMatrix3x3 class implements a 3x3 rotation matrix, to perform linear algebra in combination with...
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
btStridingMeshInterface * m_meshInterface
btVector3
btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-by...
btVector3 GetSupportVertexWorldSpace()
btVector3 m_supportVecLocal
btVector3 GetSupportVertexLocal()
SupportVertexCallback(const btVector3 &supportVecWorld, const btTransform &trans)
virtual void processTriangle(btVector3 *triangle, int partId, int triangleIndex)
virtual void internalProcessTriangleIndex(btVector3 *triangle, int partId, int triangleIndex)=0
virtual void processTriangle(btVector3 *triangle, int partId, int triangleIndex)=0
additional_info("compositor_sum_squared_difference_float_shared") .push_constant(Type output_img float dot(value.rgb, luminance_coefficients)") .define("LOAD(value)"
DEGForeachIDComponentCallback callback