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

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()

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

Definition at line 802 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 813 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.