Bullet Collision Detection & Physics Library: btInternalEdgeUtility.cpp File Reference

Bullet Collision Detection & Physics Library

Classes | Functions
btInternalEdgeUtility.cpp File Reference
`#include "btInternalEdgeUtility.h"`
`#include "BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h"`
`#include "BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.h"`
`#include "BulletCollision/CollisionShapes/btTriangleShape.h"`
`#include "BulletCollision/CollisionDispatch/btCollisionObject.h"`
`#include "BulletCollision/NarrowPhaseCollision/btManifoldPoint.h"`
`#include "LinearMath/btIDebugDraw.h"`
`#include "BulletCollision/CollisionDispatch/btCollisionObjectWrapper.h"`
Include dependency graph for btInternalEdgeUtility.cpp:

Go to the source code of this file.

## Classes
struct | btConnectivityProcessor

## Functions
static int | btGetHash (int partId, int triangleIndex)
static btScalar | btGetAngle (const btVector3 &edgeA, const btVector3 &normalA, const btVector3 &normalB)
void | btGenerateInternalEdgeInfo (btBvhTriangleMeshShape *trimeshShape, btTriangleInfoMap *triangleInfoMap)
| Call btGenerateInternalEdgeInfo to create triangle info, store in the shape 'userInfo'. More...
void | btNearestPointInLineSegment (const btVector3 &point, const btVector3 &line0, const btVector3 &line1, btVector3 &nearestPoint)
bool | btClampNormal (const btVector3 &edge, const btVector3 &tri_normal_org, const btVector3 &localContactNormalOnB, btScalar correctedEdgeAngle, btVector3 &clampedLocalNormal)
void | btAdjustInternalEdgeContacts (btManifoldPoint &cp, const btCollisionObjectWrapper *colObj0Wrap, const btCollisionObjectWrapper *colObj1Wrap, int partId0, int index0, int normalAdjustFlags)
| Changes a btManifoldPoint collision normal to the normal from the mesh. More...

## Function Documentation

## ◆ btAdjustInternalEdgeContacts()

void btAdjustInternalEdgeContacts | ( | btManifoldPoint & | cp,
|  | const btCollisionObjectWrapper * | colObj0Wrap,
|  | const btCollisionObjectWrapper * | colObj1Wrap,
|  | int | partId0,
|  | int | index0,
|  | int | normalAdjustFlags
| ) |  |

Changes a btManifoldPoint collision normal to the normal from the mesh.

Call the btFixMeshNormal to adjust the collision normal, using the triangle info map (generated using btGenerateInternalEdgeInfo) If this info map is missing, or the triangle is not store in this map, nothing will be done.

Definition at line 449 of file btInternalEdgeUtility.cpp.

## ◆ btClampNormal()

bool btClampNormal | ( | const btVector3 & | edge,
|  | const btVector3 & | tri_normal_org,
|  | const btVector3 & | localContactNormalOnB,
|  | btScalar | correctedEdgeAngle,
|  | btVector3 & | clampedLocalNormal
| ) |  |

Definition at line 413 of file btInternalEdgeUtility.cpp.

## ◆ btGenerateInternalEdgeInfo()

void btGenerateInternalEdgeInfo | ( | btBvhTriangleMeshShape * | trimeshShape,
|  | btTriangleInfoMap * | triangleInfoMap
| ) |  |

Call btGenerateInternalEdgeInfo to create triangle info, store in the shape 'userInfo'.

Definition at line 311 of file btInternalEdgeUtility.cpp.

## ◆ btGetAngle()

static btScalar btGetAngle | ( | const btVector3 & | edgeA,
|  | const btVector3 & | normalA,
|  | const btVector3 & | normalB
| ) |  |
| static

Definition at line 42 of file btInternalEdgeUtility.cpp.

## ◆ btGetHash()

static int btGetHash | ( | int | partId,
|  | int | triangleIndex
| ) |  |
| static

Definition at line 34 of file btInternalEdgeUtility.cpp.

## ◆ btNearestPointInLineSegment()

void btNearestPointInLineSegment | ( | const btVector3 & | point,
|  | const btVector3 & | line0,
|  | const btVector3 & | line1,
|  | btVector3 & | nearestPoint
| ) |  |

Definition at line 387 of file btInternalEdgeUtility.cpp.