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

Bullet Collision Detection & Physics Library

Classes | Macros | Typedefs | Functions | Variables
btConvexHull.cpp File Reference
`#include <string.h>`
`#include "btConvexHull.h"`
`#include "btAlignedObjectArray.h"`
`#include "btMinMax.h"`
`#include "btVector3.h"`
Include dependency graph for btConvexHull.cpp:

Go to the source code of this file.

## Classes
class | int3
class | VertFlag
class | EdgeFlag
class | PlaneFlag
class | Coplanar
class | btHullTriangle

## Macros
#define | COPLANAR (0)
#define | UNDER (1)
#define | OVER (2)
#define | SPLIT (OVER | UNDER)
#define | PAPERWIDTH (btScalar(0.001))
#define | EPSILON btScalar(0.000001) /* close enough to consider two btScalaring point numbers to be 'the same'. */

## Typedefs
typedef ConvexH::HalfEdge | HalfEdge

## Functions
btPlane | PlaneFlip (const btPlane &plane)
int | operator== (const btPlane &a, const btPlane &b)
int | coplanar (const btPlane &a, const btPlane &b)
btVector3 | PlaneLineIntersection (const btPlane &plane, const btVector3 &p0, const btVector3 &p1)
btVector3 | PlaneProject (const btPlane &plane, const btVector3 &point)
btVector3 | ThreePlaneIntersection (const btPlane &p0, const btPlane &p1, const btPlane &p2)
btScalar | DistanceBetweenLines (const btVector3 &ustart, const btVector3 &udir, const btVector3 &vstart, const btVector3 &vdir, btVector3 *upoint=NULL, btVector3 *vpoint=NULL)
btVector3 | TriNormal (const btVector3 &v0, const btVector3 &v1, const btVector3 &v2)
btVector3 | NormalOf (const btVector3 *vert, const int n)
int | PlaneTest (const btPlane &p, const btVector3 &v)
int | SplitTest (ConvexH &convex, const btPlane &plane)
template<class T>
int | maxdirfiltered (const T *p, int count, const T &dir, btAlignedObjectArray< int > &allow)
btVector3 | orth (const btVector3 &v)
template<class T>
int | maxdirsterid (const T *p, int count, const T &dir, btAlignedObjectArray< int > &allow)
int | operator== (const int3 &a, const int3 &b)
int | above (btVector3 *vertices, const int3 &t, const btVector3 &p, btScalar epsilon)
int | hasedge (const int3 &t, int a, int b)
int | hasvert (const int3 &t, int v)
int | shareedge (const int3 &a, const int3 &b)
void | ReleaseHull (PHullResult &result)
static void | addPoint (unsigned int &vcount, btVector3 *p, btScalar x, btScalar y, btScalar z)
btScalar | GetDist (btScalar px, btScalar py, btScalar pz, const btScalar *p2)

## Variables
btScalar | planetestepsilon = PAPERWIDTH

## Macro Definition Documentation

## ◆ COPLANAR

#define COPLANAR (0)

Definition at line 136 of file btConvexHull.cpp.

## ◆ EPSILON

#define EPSILON btScalar(0.000001) /* close enough to consider two btScalaring point numbers to be 'the same'. */

## ◆ OVER

#define OVER (2)

Definition at line 138 of file btConvexHull.cpp.

## ◆ PAPERWIDTH

#define PAPERWIDTH (btScalar(0.001))

Definition at line 140 of file btConvexHull.cpp.

## ◆ SPLIT

#define SPLIT (OVER | UNDER)

Definition at line 139 of file btConvexHull.cpp.

## ◆ UNDER

#define UNDER (1)

Definition at line 137 of file btConvexHull.cpp.

## Typedef Documentation

## ◆ HalfEdge

typedef ConvexH::HalfEdge HalfEdge

Definition at line 144 of file btConvexHull.cpp.

## Function Documentation

## ◆ above()

int above | ( | btVector3 * | vertices,
|  | const int3 & | t,
|  | const btVector3 & | p,
|  | btScalar | epsilon )

Definition at line 289 of file btConvexHull.cpp.

## ◆ addPoint()

void addPoint | ( | unsigned int & | vcount,
|  | btVector3 * | p,
|  | btScalar | x,
|  | btScalar | y,
|  | btScalar | z )
| static

Definition at line 804 of file btConvexHull.cpp.

## ◆ coplanar()

int coplanar | ( | const btPlane & | a,
|  | const btPlane & | b )
| inline

Definition at line 44 of file btConvexHull.cpp.

## ◆ DistanceBetweenLines()

btScalar DistanceBetweenLines | ( | const btVector3 & | ustart,
|  | const btVector3 & | udir,
|  | const btVector3 & | vstart,
|  | const btVector3 & | vdir,
|  | btVector3 * | upoint = NULL,
|  | btVector3 * | vpoint = NULL )

Definition at line 111 of file btConvexHull.cpp.

## ◆ GetDist()

btScalar GetDist | ( | btScalar | px,
|  | btScalar | py,
|  | btScalar | pz,
|  | const btScalar * | p2 )

Definition at line 815 of file btConvexHull.cpp.

## ◆ hasedge()

int hasedge | ( | const int3 & | t,
|  | int | a,
|  | int | b )

Definition at line 295 of file btConvexHull.cpp.

## ◆ hasvert()

int hasvert | ( | const int3 & | t,
|  | int | v )

Definition at line 305 of file btConvexHull.cpp.

## ◆ maxdirfiltered()

template<class T>

int maxdirfiltered | ( | const T * | p,
|  | int | count,
|  | const T & | dir,
|  | btAlignedObjectArray< int > & | allow )

Definition at line 203 of file btConvexHull.cpp.

## ◆ maxdirsterid()

template<class T>

int maxdirsterid | ( | const T * | p,
|  | int | count,
|  | const T & | dir,
|  | btAlignedObjectArray< int > & | allow )

Definition at line 233 of file btConvexHull.cpp.

## ◆ NormalOf()

btVector3 NormalOf | ( | const btVector3 * | vert,
|  | const int | n )

## ◆ operator==() [1/2]

int operator== | ( | const btPlane & | a,
|  | const btPlane & | b )
| inline

Definition at line 43 of file btConvexHull.cpp.

## ◆ operator==() [2/2]

int operator== | ( | const int3 & | a,
|  | const int3 & | b )

Definition at line 279 of file btConvexHull.cpp.

## ◆ orth()

btVector3 orth | ( | const btVector3 & | v | ) |

Definition at line 218 of file btConvexHull.cpp.

## ◆ PlaneFlip()

btPlane PlaneFlip | ( | const btPlane & | plane | ) |
| inline

Definition at line 42 of file btConvexHull.cpp.

## ◆ PlaneLineIntersection()

btVector3 PlaneLineIntersection | ( | const btPlane & | plane,
|  | const btVector3 & | p0,
|  | const btVector3 & | p1 )

Definition at line 86 of file btConvexHull.cpp.

## ◆ PlaneProject()

btVector3 PlaneProject | ( | const btPlane & | plane,
|  | const btVector3 & | point )

Definition at line 96 of file btConvexHull.cpp.

## ◆ PlaneTest()

int PlaneTest | ( | const btPlane & | p,
|  | const btVector3 & | v )

Definition at line 154 of file btConvexHull.cpp.

## ◆ ReleaseHull()

void ReleaseHull | ( | PHullResult & | result | ) |

Definition at line 646 of file btConvexHull.cpp.

## ◆ shareedge()

int shareedge | ( | const int3 & | a,
|  | const int3 & | b )

Definition at line 310 of file btConvexHull.cpp.

## ◆ SplitTest()

int SplitTest | ( | ConvexH & | convex,
|  | const btPlane & | plane )

Definition at line 162 of file btConvexHull.cpp.

## ◆ ThreePlaneIntersection()

btVector3 ThreePlaneIntersection | ( | const btPlane & | p0,
|  | const btPlane & | p1,
|  | const btPlane & | p2 )

Definition at line 52 of file btConvexHull.cpp.

## ◆ TriNormal()

btVector3 TriNormal | ( | const btVector3 & | v0,
|  | const btVector3 & | v1,
|  | const btVector3 & | v2 )

Definition at line 101 of file btConvexHull.cpp.

## Variable Documentation

## ◆ planetestepsilon

btScalar planetestepsilon = PAPERWIDTH

Definition at line 142 of file btConvexHull.cpp.