Blender
V3.3
|
#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 |
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 |
#define COPLANAR (0) |
Definition at line 136 of file btConvexHull.cpp.
#define EPSILON btScalar(0.000001) /* close enough to consider two btScalaring point numbers to be 'the same'. */ |
#define OVER (2) |
Definition at line 138 of file btConvexHull.cpp.
Definition at line 140 of file btConvexHull.cpp.
Definition at line 139 of file btConvexHull.cpp.
#define UNDER (1) |
Definition at line 137 of file btConvexHull.cpp.
typedef ConvexH::HalfEdge HalfEdge |
Definition at line 144 of file btConvexHull.cpp.
Definition at line 289 of file btConvexHull.cpp.
References btDot(), btVector3, blender::robust_pred::epsilon, t, and TriNormal().
Definition at line 44 of file btConvexHull.cpp.
References Freestyle::a, usdtokens::b(), and PlaneFlip().
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.
References btCross(), btDot(), btVector3, btPlane::dist, fabs(), btPlane::normal, and PlaneLineIntersection().
Definition at line 813 of file btConvexHull.cpp.
int hasedge | ( | const int3 & | t, |
int | a, | ||
int | b | ||
) |
Definition at line 295 of file btConvexHull.cpp.
References Freestyle::a, usdtokens::b(), i1, and t.
Referenced by shareedge().
int hasvert | ( | const int3 & | t, |
int | v | ||
) |
Definition at line 305 of file btConvexHull.cpp.
int maxdirfiltered | ( | const T * | p, |
int | count, | ||
const T & | dir, | ||
btAlignedObjectArray< int > & | allow | ||
) |
Definition at line 203 of file btConvexHull.cpp.
References btAssert, btDot(), and count.
Referenced by maxdirsterid().
int maxdirsterid | ( | const T * | p, |
int | count, | ||
const T & | dir, | ||
btAlignedObjectArray< int > & | allow | ||
) |
Definition at line 233 of file btConvexHull.cpp.
References btAssert, btCos(), btCross(), btSin(), Freestyle::c, count, maxdirfiltered(), orth(), SIMD_RADS_PER_DEG, T, v, and x.
Definition at line 43 of file btConvexHull.cpp.
References Freestyle::a, and usdtokens::b().
Definition at line 279 of file btConvexHull.cpp.
References Freestyle::a, and usdtokens::b().
Definition at line 218 of file btConvexHull.cpp.
References Freestyle::a, usdtokens::b(), btCross(), btVector3, and v.
Referenced by maxdirsterid(), and stretchto_evaluate().
Definition at line 42 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 86 of file btConvexHull.cpp.
References btDot(), btVector3, btPlane::dist, btPlane::normal, and t.
Referenced by DistanceBetweenLines().
Definition at line 96 of file btConvexHull.cpp.
References btDot(), btPlane::dist, btPlane::normal, and point.
Definition at line 154 of file btConvexHull.cpp.
References Freestyle::a, btDot(), COPLANAR, btPlane::dist, btPlane::normal, OVER, planetestepsilon, UNDER, and v.
Referenced by SplitTest().
void ReleaseHull | ( | PHullResult & | result | ) |
Definition at line 646 of file btConvexHull.cpp.
References result.
Referenced by HullLibrary::CreateConvexHull().
Definition at line 310 of file btConvexHull.cpp.
References Freestyle::a, usdtokens::b(), hasedge(), and i1.
Definition at line 162 of file btConvexHull.cpp.
References PlaneTest(), btAlignedObjectArray< T >::size(), and ConvexH::vertices.
Definition at line 52 of file btConvexHull.cpp.
References btAssert, btFabs(), btVector3, btPlane::dist, btPlane::normal, and result.
btScalar planetestepsilon = PAPERWIDTH |
Definition at line 142 of file btConvexHull.cpp.
Referenced by PlaneTest().