Blender V2.61 - r43446
Classes | Defines | Typedefs | Functions | Variables

btConvexHull.cpp File Reference

#include <string.h>
#include "btConvexHull.h"
#include "btAlignedObjectArray.h"
#include "btMinMax.h"
#include "btVector3.h"

Go to the source code of this file.

Classes

class  int3
class  VertFlag
class  EdgeFlag
class  PlaneFlag
class  Coplanar
class  btHullTriangle

Defines

#define COPLANAR   (0)
#define UNDER   (1)
#define OVER   (2)
#define SPLIT   (OVER|UNDER)
#define PAPERWIDTH   (btScalar(0.001))
#define EPSILON   btScalar(0.000001)

Typedefs

typedef ConvexH::HalfEdge HalfEdge

Functions

template<class T >
void Swap (T &a, T &b)
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

Define Documentation

#define COPLANAR   (0)

Definition at line 151 of file btConvexHull.cpp.

Referenced by PlaneTest().

#define EPSILON   btScalar(0.000001)
#define OVER   (2)

Definition at line 153 of file btConvexHull.cpp.

Referenced by PlaneTest().

#define PAPERWIDTH   (btScalar(0.001))

Definition at line 155 of file btConvexHull.cpp.

#define SPLIT   (OVER|UNDER)

Definition at line 154 of file btConvexHull.cpp.

#define UNDER   (1)

Definition at line 152 of file btConvexHull.cpp.

Referenced by PlaneTest().


Typedef Documentation

Definition at line 161 of file btConvexHull.cpp.


Function Documentation

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

Definition at line 313 of file btConvexHull.cpp.

References btDot(), and TriNormal().

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

Definition at line 839 of file btConvexHull.cpp.

Referenced by ATTRIBUTE_ALIGNED16().

int coplanar ( const btPlane a,
const btPlane b 
) [inline]

Definition at line 52 of file btConvexHull.cpp.

References PlaneFlip().

btScalar DistanceBetweenLines ( const btVector3 &  ustart,
const btVector3 &  udir,
const btVector3 &  vstart,
const btVector3 &  vdir,
btVector3 *  upoint = NULL,
btVector3 *  vpoint = NULL 
)
btScalar GetDist ( btScalar  px,
btScalar  py,
btScalar  pz,
const btScalar p2 
)

Definition at line 850 of file btConvexHull.cpp.

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

Definition at line 319 of file btConvexHull.cpp.

References i.

Referenced by shareedge().

int hasvert ( const int3 t,
int  v 
)

Definition at line 329 of file btConvexHull.cpp.

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

Definition at line 224 of file btConvexHull.cpp.

References btAssert, btDot(), and i.

Referenced by maxdirsterid().

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

Definition at line 253 of file btConvexHull.cpp.

References btAssert, btCos(), btCross(), btSin(), maxdirfiltered(), orth(), SIMD_RADS_PER_DEG, and T.

btVector3 NormalOf ( const btVector3 *  vert,
const int  n 
)
int operator== ( const btPlane a,
const btPlane b 
) [inline]

Definition at line 51 of file btConvexHull.cpp.

References btPlane::dist, and btPlane::normal.

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

Definition at line 302 of file btConvexHull.cpp.

References i.

btVector3 orth ( const btVector3 &  v)
btPlane PlaneFlip ( const btPlane plane) [inline]

Definition at line 50 of file btConvexHull.cpp.

References btPlane::dist, and btPlane::normal.

Referenced by coplanar().

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

Definition at line 94 of file btConvexHull.cpp.

References btDot(), btPlane::dist, and btPlane::normal.

Referenced by DistanceBetweenLines().

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

Definition at line 104 of file btConvexHull.cpp.

References btDot(), btPlane::dist, and btPlane::normal.

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

Definition at line 172 of file btConvexHull.cpp.

References btDot(), COPLANAR, btPlane::dist, btPlane::normal, OVER, planetestepsilon, and UNDER.

Referenced by SplitTest().

void ReleaseHull ( PHullResult result)
int shareedge ( const int3 a,
const int3 b 
)

Definition at line 334 of file btConvexHull.cpp.

References hasedge(), and i.

int SplitTest ( ConvexH convex,
const btPlane plane 
)

Definition at line 179 of file btConvexHull.cpp.

References i, PlaneTest(), btAlignedObjectArray< T >::size(), and ConvexH::vertices.

template<class T >
void Swap ( T &  a,
T &  b 
)

Definition at line 26 of file btConvexHull.cpp.

References T.

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

Definition at line 61 of file btConvexHull.cpp.

References btAssert, btFabs(), btPlane::dist, and btPlane::normal.

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

Definition at line 109 of file btConvexHull.cpp.

References btCross().

Referenced by above().


Variable Documentation

btScalar planetestepsilon = PAPERWIDTH

Definition at line 157 of file btConvexHull.cpp.

Referenced by PlaneTest().