Blender V2.61 - r43446
|
#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 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 ConvexH::HalfEdge HalfEdge |
Definition at line 161 of file btConvexHull.cpp.
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().
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 |
||
) |
Definition at line 120 of file btConvexHull.cpp.
References btCross(), btDot(), btPlane::dist, fabs(), btPlane::normal, and PlaneLineIntersection().
Definition at line 850 of file btConvexHull.cpp.
int hasedge | ( | const int3 & | t, |
int | a, | ||
int | b | ||
) |
int hasvert | ( | const int3 & | t, |
int | v | ||
) |
Definition at line 329 of file btConvexHull.cpp.
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().
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 | ||
) |
Definition at line 51 of file btConvexHull.cpp.
References btPlane::dist, and btPlane::normal.
Definition at line 302 of file btConvexHull.cpp.
References i.
btVector3 orth | ( | const btVector3 & | v | ) |
Definition at line 239 of file btConvexHull.cpp.
References btCross().
Referenced by maxdirsterid(), project_paint_view_clip(), setwinmatrixview3d(), stretchto_evaluate(), and texture_paint_image_from_view_exec().
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 | ) |
Definition at line 673 of file btConvexHull.cpp.
References btAlignedObjectArray< T >::clear(), PHullResult::m_Indices, PHullResult::mIndexCount, PHullResult::mVcount, PHullResult::mVertices, and btAlignedObjectArray< T >::size().
Referenced by HullLibrary::CreateConvexHull().
Definition at line 334 of file btConvexHull.cpp.
Definition at line 179 of file btConvexHull.cpp.
References i, PlaneTest(), btAlignedObjectArray< T >::size(), and ConvexH::vertices.
void Swap | ( | T & | a, |
T & | b | ||
) |
Definition at line 26 of file btConvexHull.cpp.
References T.
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 | ||
) |
btScalar planetestepsilon = PAPERWIDTH |
Definition at line 157 of file btConvexHull.cpp.
Referenced by PlaneTest().