Classes | |
class | Array |
class | ArrayRet |
class | BuildMesh |
class | CHull |
class | CHullSort |
class | ConvexBuilder |
class | ConvexDecompInterface |
class | ConvexH |
class | ConvexHullTriangleInterface |
class | ConvexHullVertex |
class | ConvexResult |
class | Coplanar |
class | CTri |
class | DecompDesc |
class | double2 |
class | double3 |
class | double3x3 |
class | double4 |
class | double4x4 |
class | Edge |
class | EdgeFlag |
class | Eigen |
class | FaceTri |
class | FConvexResult |
class | FHullResult |
class | GeometryInterface |
class | GeometryVertex |
class | HullDesc |
class | HullLibrary |
class | HullResult |
class | InPlaceParser |
class | InPlaceParserInterface |
class | int3 |
class | int4 |
class | Line |
class | OBJ |
class | PHullResult |
class | plane |
class | Plane |
class | PlaneFlag |
class | point |
class | polygon |
class | Quaternion |
class | Rect3d |
class | Tri |
class | Vec2d |
class | Vec3 |
class | Vector2d |
class | Vector3d |
class | VertexLess |
class | VertexPool |
class | VertexPosition |
class | VertFlag |
class | WavefrontObj |
class | Wpoint |
Typedefs | |
typedef std::vector< CHull * > | CHullVector |
typedef std::vector< CTri > | CTriVector |
typedef std::vector< Edge > | EdgeVector |
typedef std::vector< double > | FloatVector |
typedef ConvexH::HalfEdge | HalfEdge |
typedef std::vector< int > | IntVector |
typedef std::vector< Vec2d > | Vec2dVector |
typedef std::vector< Vector2d < double > > | Vector2dVector |
typedef std::vector< Vector3d < double > > | Vector3dVector |
typedef void * | VertexLookup |
typedef std::vector< Wpoint > | WpointVector |
Enumerations | |
enum | HullError { QE_OK, QE_FAIL } |
enum | HullFlag { QF_TRIANGLES = (1<<0), QF_REVERSE_ORDER = (1<<1), QF_SKIN_WIDTH = (1<<2), QF_DEFAULT = 0 } |
enum | PlaneTriResult { PTR_FRONT, PTR_BACK, PTR_SPLIT } |
enum | RDIFF { RD_EQUAL, RD_LESS, RD_GREATER } |
enum | SeparatorType { ST_DATA, ST_HARD, ST_SOFT, ST_EOS } |
Functions | |
int | above (double3 *vertices, const int3 &t, const double3 &p, double epsilon) |
static void | add (const double *p, double *dest, unsigned int tstride, unsigned int &pcount) |
static void | AddPoint (unsigned int &vcount, double *p, double x, double y, double z) |
static double | Area (const Vec2dVector &contour) |
static double | area2 (const double3 &v0, const double3 &v1, const double3 &v2) |
int | argmin (double a[], int n) |
int | AssertIntact (ConvexH &convex) |
int | b2b (const int3 &a, const int3 &b) |
void | b2bfix (Tri *s, Tri *t) |
int | BoxInside (const double3 &p, const double3 &bmin, const double3 &bmax) |
int | BoxIntersect (const double3 &v0, const double3 &v1, const double3 &bmin, const double3 &bmax, double3 *impact) |
int | calchull (double3 *verts, int verts_count, int *&tris_out, int &tris_count, int vlimit) |
int | calchullgen (double3 *verts, int verts_count, int vlimit) |
int | calchullpbev (double3 *verts, int verts_count, int vlimit, Array< Plane > &planes, double bevangle) |
static int | candidateplane (Plane *planes, int planes_count, ConvexH *convex, double epsilon) |
void | checkit (Tri *t) |
double | clampf (double a) |
double4 | cmul (const double4 &a, const double4 &b) |
double3 | cmul (const double3 &a, const double3 &b) |
void | computeBestFitABB (unsigned int vcount, const float *points, unsigned int pstride, float *sides, float *pos) |
void | computeBestFitABB (unsigned int vcount, const double *points, unsigned int pstride, double *sides, double *pos) |
void | computeBestFitOBB (unsigned int vcount, const float *points, unsigned int pstride, float *sides, float *pos, float *quat) |
void | computeBestFitOBB (unsigned int vcount, const double *points, unsigned int pstride, double *sides, double *pos, double *quat) |
void | computeBestFitOBB (unsigned int vcount, const double *points, unsigned int pstride, double *sides, double *matrix) |
float | computeBoundingSphere (unsigned int vcount, const float *points, float *center) |
double | computeBoundingSphere (unsigned int vcount, const double *points, double *center) |
double | computeConcavity (unsigned int vcount, const double *vertices, unsigned int tcount, const unsigned int *indices, ConvexDecompInterface *callback, double *plane, double &volume) |
bool | ComputeHull (unsigned int vcount, const double *vertices, PHullResult &result, unsigned int maxverts, double inflate) |
float | computeMeshVolume (const float *vertices, unsigned int tcount, const unsigned int *indices) |
double | computeMeshVolume (const double *vertices, unsigned int tcount, const unsigned int *indices) |
float | computeMeshVolume2 (const float *vertices, unsigned int tcount, const unsigned int *indices) |
double | computeMeshVolume2 (const double *vertices, unsigned int tcount, const unsigned int *indices) |
void | computeOBB (unsigned int vcount, const double *points, unsigned int pstride, double *sides, double *matrix) |
static void | computePlane (const double *A, const double *B, const double *C, double *plane) |
double | computeSphereVolume (double r) |
bool | computeSplitPlane (unsigned int vcount, const double *vertices, unsigned int tcount, const unsigned int *indices, ConvexDecompInterface *callback, double *plane) |
ConvexH * | ConvexHCrop (ConvexH &convex, const Plane &slice) |
ConvexH * | ConvexHDup (ConvexH *src) |
ConvexH * | ConvexHMakeCube (const REAL3 &bmin, const REAL3 &bmax) |
int | coplanar (const Plane &a, const Plane &b) |
static void | Copy (float *dest, const float *source) |
static void | Copy (double *dest, const double *source) |
double3 | cross (const double3 &a, const double3 &b) |
void | CrossProduct (const float *a, const float *b, float *cross) |
void | CrossProduct (const double *a, const double *b, double *cross) |
float | det (const float *p0, const float *p1, const float *p2, const float *p3) |
float | det (const float *p1, const float *p2, const float *p3) |
double | det (const double *p0, const double *p1, const double *p2, const double *p3) |
double | det (const double *p1, const double *p2, const double *p3) |
double | Determinant (const double3x3 &m) |
double | DistanceBetweenLines (const double3 &ustart, const double3 &udir, const double3 &vstart, const double3 &vdir, double3 *upoint=NULL, double3 *vpoint=NULL) |
static double | DistToPt (const double *p, const double *plane) |
double | dot (const Quaternion &a, const Quaternion &b) |
double | dot (const double3 &a, const double3 &b) |
float | DotProduct (const float *a, const float *b) |
double | DotProduct (const double *a, const double *b) |
Tri * | extrudable (double epsilon) |
void | extrude (Tri *t0, int v) |
bool | featureMatch (CTri &m, const CTriVector &tris, ConvexDecompInterface *callback, const CTriVector &input_mesh) |
int4 | FindSimplex (double3 *verts, int verts_count, Array< int > &allow) |
double | fm_capsuleVolume (double radius, double h) |
void | fm_computeNormalVector (double *n, const double *p1, const double *p2) |
double | fm_computePlane (const double *A, const double *B, const double *C, double *n) |
bool | fm_computeWindingOrder (const double *p1, const double *p2, const double *p3) |
void | fm_cross (double *cross, const double *a, const double *b) |
double | fm_cylinderVolume (double radius, double h) |
double | fm_distance (const double *p1, const double *p2) |
double | fm_distanceSquared (const double *p1, const double *p2) |
double | fm_distToPlane (const double *plane, const double *p) |
double | fm_dot (const double *p1, const double *p2) |
void | fm_eulerMatrix (double ax, double ay, double az, double *matrix) |
void | fm_eulerToQuat (double roll, double pitch, double yaw, double *quat) |
void | fm_getAABB (unsigned int vcount, const double *points, unsigned int pstride, double *bmin, double *bmax) |
void | fm_getTranslation (const double *matrix, double *t) |
void | fm_identity (double *matrix) |
void | fm_inverseRT (const double *matrix, const double *pos, double *t) |
void | fm_matrixToQuat (const double *matrix, double *quat) |
void | fm_normalize (double *n) |
void | fm_quatRotate (const double *quat, const double *v, double *r) |
void | fm_quatToMatrix (const double *quat, double *matrix) |
void | fm_rotate (const double *matrix, const double *v, double *t) |
double | fm_sphereVolume (double radius) |
void | fm_transform (const double *matrix, const double *v, double *t) |
static const char * | GetArg (const char **argv, int i, int argc) |
bool | getBestFitPlane (unsigned int vcount, const double *points, unsigned int vstride, const double *weights, unsigned int wstride, double *plane) |
double | getBoundingRegion (unsigned int vcount, const double *points, unsigned int pstride, double *bmin, double *bmax) |
unsigned int | getDebugColor (void) |
double | GetDist (double px, double py, double pz, const double *p2) |
static PlaneTriResult | getSidePlane (const double *p, const double *plane, double epsilon) |
int | hasedge (const int3 &t, int a, int b) |
int | hasvert (const int3 &t, int v) |
bool | hasVolume (double3 *verts, int p0, int p1, int p2, int p3) |
double4 | Homogenize (const double3 &v3, const double &w=1.0f) |
static bool | InsideTriangle (double Ax, double Ay, double Bx, double By, double Cx, double Cy, double Px, double Py) |
Quaternion | Interpolate (const Quaternion &q0, const Quaternion &q1, double alpha) |
double3 | Interpolate (const double3 &v0, const double3 &v1, double alpha) |
double | Interpolate (const double &f0, const double &f1, double alpha) |
static void | intersect (const double *p1, const double *p2, double *split, const double *plane) |
Quaternion | Inverse (const Quaternion &q) |
double4x4 | Inverse (const double4x4 &m) |
double3x3 | Inverse (const double3x3 &a) |
int | isa (const int3 &a, const int3 &b) |
bool | isFeatureTri (CTri &t, CTriVector &flist, double fc, ConvexDecompInterface *callback, unsigned int color) |
bool | lineIntersectsTriangle (const double *rayStart, const double *rayEnd, const double *p1, const double *p2, const double *p3, double *sect) |
double3 | LineProject (const double3 &p0, const double3 &p1, const double3 &a) |
double | LineProjectTime (const double3 &p0, const double3 &p1, const double3 &a) |
double | magnitude (const double3 &v) |
double4x4 | MatrixFromQuatVec (const Quaternion &q, const double3 &v) |
double4x4 | MatrixLookAt (const double3 &eye, const double3 &at, const double3 &up) |
double4x4 | MatrixPerspectiveFov (double fovy, double Aspect, double zn, double zf) |
double4x4 | MatrixRigidInverse (const double4x4 &m) |
double4x4 | MatrixRotationZ (const double angle_radians) |
double4x4 | MatrixTranslation (const double3 &t) |
double4x4 | MatrixTranspose (const double4x4 &m) |
template<class T > | |
T | Max (const T &a, const T &b) |
template<class T > | |
int | maxdir (const T *p, int count, const T &dir) |
template<class T > | |
int | maxdirfiltered (const T *p, int count, const T &dir, Array< int > &allow) |
template<class T > | |
int | maxdirsterid (const T *p, int count, const T &dir, Array< int > &allow) |
template<class T > | |
T | Min (const T &a, const T &b) |
Quaternion | normalize (Quaternion a) |
double3 | normalize (const double3 &v) |
double3 | NormalOf (const double3 *vert, const int n) |
int | operator!= (const double3 &a, const double3 &b) |
template<class Type > | |
Vector2d< Type > | operator* (Type s, const Vector2d< Type > &v) |
template<class Type > | |
Vector3d< Type > | operator* (Type s, const Vector3d< Type > &v) |
double3 | operator* (const double3 &v, const Quaternion &q) |
double3 | operator* (const Quaternion &q, const double3 &v) |
Quaternion | operator* (const Quaternion &a, const Quaternion &b) |
Quaternion | operator* (const Quaternion &a, double s) |
double4 | operator* (const double4 &v, const double4x4 &m) |
double4x4 | operator* (const double4x4 &a, const double4x4 &b) |
double4 | operator* (double s, const double4 &v) |
double4 | operator* (const double4 &v, double s) |
double3x3 | operator* (const double3x3 &ma, const double3x3 &mb) |
double3x3 | operator* (const double3x3 &m, const double &s) |
double3 | operator* (const double3x3 &m, const double3 &v) |
double3 | operator* (const double3 &v, const double3x3 &m) |
double3 | operator* (const double s, const double3 &v) |
double3 | operator* (const double3 &v, const double s) |
Quaternion & | operator*= (Quaternion &a, double s) |
double3x3 & | operator*= (double3x3 &a, const double &s) |
double3 & | operator*= (double3 &v, const double s) |
Quaternion | operator+ (const Quaternion &a, const Quaternion &b) |
double4 | operator+ (const double4 &a, const double4 &b) |
double3x3 | operator+ (const double3x3 &a, const double3x3 &b) |
double3 | operator+ (const double3 &a, const double3 &b) |
double2 | operator+ (const double2 &a, const double2 &b) |
double3x3 & | operator+= (double3x3 &a, const double3x3 &b) |
double3 & | operator+= (double3 &a, const double3 &b) |
double4 | operator- (const double4 &a, const double4 &b) |
double3x3 | operator- (const double3x3 &a, const double3x3 &b) |
double3 | operator- (const double3 &v) |
double3 | operator- (const double3 &a, const double3 &b) |
double2 | operator- (const double2 &a, const double2 &b) |
double3x3 & | operator-= (double3x3 &a, const double3x3 &b) |
double3 & | operator-= (double3 &a, const double3 &b) |
double3x3 | operator/ (const double3x3 &a, const double &s) |
double3 | operator/ (const double3 &v, const double s) |
double3 & | operator/= (double3 &v, const double s) |
int | operator== (const int3 &a, const int3 &b) |
int | operator== (const Plane &a, const Plane &b) |
int | operator== (const double4x4 &a, const double4x4 &b) |
int | operator== (const double4 &a, const double4 &b) |
int | operator== (const double3 &a, const double3 &b) |
double3 | orth (const double3 &v) |
static int | overhull (Plane *planes, int planes_count, double3 *verts, int verts_count, int maxplanes, double3 *&verts_out, int &verts_count_out, int *&faces_out, int &faces_count_out, double inflate) |
static int | overhullv (double3 *verts, int verts_count, int maxplanes, double3 *&verts_out, int &verts_count_out, int *&faces_out, int &faces_count_out, double inflate, double bevangle, int vlimit) |
bool | overlapAABB (const double *bmin1, const double *bmax1, const double *bmin2, const double *bmax2) |
unsigned int | performConvexDecomposition (const DecompDesc &desc) |
double | Pitch (const double3 &v) |
double | Pitch (const Quaternion &q) |
Plane | PlaneFlip (const Plane &plane) |
double3 | PlaneLineIntersection (const Plane &plane, const double3 &p0, const double3 &p1) |
double3 | PlaneProject (const Plane &plane, const double3 &point) |
int | PlaneTest (const Plane &p, const REAL3 &v) |
PlaneTriResult | planeTriIntersection (const double *_plane, const double *triangle, unsigned int tstride, double epsilon, double *front, unsigned int &fcount, double *back, unsigned int &bcount) |
int | PolyHit (const double3 *vert, const int n, const double3 &v0, const double3 &v1, double3 *impact=NULL, double3 *normal=NULL) |
static bool | Process (const Vec2dVector &contour, Vec2dVector &result) |
bool | rayIntersectsTriangle (const double *p, const double *d, const double *v0, const double *v1, const double *v2, double &t) |
static RDIFF | relativeDiff (const double *a, const double *b, double magnitude) |
void | ReleaseHull (PHullResult &result) |
void | removeb2b (Tri *s, Tri *t) |
double | Roll (Quaternion q) |
int3 | roll3 (int3 a) |
Quaternion | RotationArc (double3 v0, double3 v1) |
double3 | Round (const double3 &a, double precision) |
double | Round (double a, double precision) |
double3 | safenormalize (const double3 &v) |
static void | Set (float *n, float x, float y, float z) |
static void | Set (double *n, double x, double y, double z) |
int | shareedge (const int3 &a, const int3 &b) |
Quaternion | slerp (Quaternion a, const Quaternion &b, double interp) |
static bool | Snip (const Vec2dVector &contour, int u, int v, int w, int n, int *V) |
void | Split_Polygon (polygon *poly, plane *part, polygon &front, polygon &back) |
void | splitRect (unsigned int axis, const Rect3d &source, Rect3d &b1, Rect3d &b2, const double *midpoint) |
int | SplitTest (ConvexH &convex, const Plane &plane) |
double | sqr (double a) |
template<class T > | |
void | Swap (T &a, T &b) |
ConvexH * | test_btbq () |
ConvexH * | test_cube () |
float | tetVolume (const float *p0, const float *p1, const float *p2, const float *p3) |
double | tetVolume (const double *p0, const double *p1, const double *p2, const double *p3) |
double3 | ThreePlaneIntersection (const Plane &p0, const Plane &p1, const Plane &p2) |
double3x3 | Transpose (const double3x3 &m) |
unsigned int | triangulate2d (unsigned int pcount, const double *vertices, double *triangles, unsigned int maxTri) |
unsigned int | triangulate3d (unsigned int pcount, const unsigned int *indices, const double *vertices, double *triangles, unsigned int maxTri, const double *plane) |
unsigned int | triangulate3d (unsigned int pcount, const double *vertices, double *triangles, unsigned int maxTri, const double *plane) |
double3 | TriNormal (const double3 &v0, const double3 &v1, const double3 &v2) |
double3 | vabs (const double3 &v) |
double3 | VectorMax (const double3 &a, const double3 &b) |
double3 | VectorMin (const double3 &a, const double3 &b) |
Quaternion | VirtualTrackBall (const double3 &cop, const double3 &cor, const double3 &dir0, const double3 &dir1) |
VertexLookup | Vl_createVertexLookup (void) |
unsigned int | Vl_getIndex (VertexLookup vlook, const double *pos) |
unsigned int | Vl_getVcount (VertexLookup vlook) |
const double * | Vl_getVertices (VertexLookup vlook) |
void | Vl_releaseVertexLookup (VertexLookup vlook) |
double | Yaw (const double3 &v) |
double | Yaw (const Quaternion &q) |
Quaternion | YawPitchRoll (double yaw, double pitch, double roll) |
Variables | |
int | countpolyhit = 0 |
const double | DEG_TO_RAD = ((2.0f * 3.14152654f) / 360.0f) |
static const double | EPSILON = 0.0000000001f |
const double | FM_DEG_TO_RAD = ((2.0f * FM_PI) / 360.0f) |
const double | FM_PI = 3.141592654f |
const double | FM_RAD_TO_DEG = (360.0f / (2.0f * FM_PI)) |
double | minadjangle = 3.0f |
double | planetestepsilon = PAPERWIDTH |
const double | RAD_TO_DEG = (360.0f / (2.0f * 3.141592654f)) |
double | tmpp [3] = {0,0,0} |
static Array< Tri * > | tris |
Copyright (c) 2007 by John W. Ratcliff mailto:jratcliff@infiniplex.net
Portions of this source has been released with the PhysXViewer application, as well as Rocket, CreateDynamics, ODF, and as a number of sample code snippets.
If you find this code useful or you are feeling particularily generous I would ask that you please go to http://www.amillionpixels.us and make a donation to Troy DeMolay.
DeMolay is a youth group for young men between the ages of 12 and 21. It teaches strong moral principles, as well as leadership skills and public speaking. The donations page uses the 'pay for pixels' paradigm where, in this case, a pixel is only a single penny. Donations can be made for as small as $4 or as high as a $100 block. Each person who donates will get a link to their own site as well as acknowledgement on the donations blog located here http://www.amillionpixels.blogspot.com/
If you wish to contact me you can use the following methods:
Skype Phone: 636-486-4040 (let it ring a long time while it goes through switches) Skype ID: jratcliff63367 Yahoo: jratcliff63367 AOL: jratcliff1961 email: jratcliff@infiniplex.net Personal website: http://jratcliffscarab.blogspot.com Coding Website: http://codesuppository.blogspot.com FundRaising Blog: http://amillionpixels.blogspot.com Fundraising site: http://www.amillionpixels.us New Temple Site: http://newtemple.blogspot.com
The MIT license:
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
typedef std::vector< CHull * > ConvexDecomposition::CHullVector |
Definition at line 191 of file ConvexDecomposition.cpp.
typedef std::vector< CTri > ConvexDecomposition::CTriVector |
Definition at line 436 of file concavity.cpp.
typedef std::vector< Edge > ConvexDecomposition::EdgeVector |
Definition at line 110 of file ConvexDecomposition.cpp.
typedef std::vector< double > ConvexDecomposition::FloatVector |
Definition at line 76 of file cd_wavefront.cpp.
Definition at line 1673 of file cd_hull.cpp.
typedef std::vector< int > ConvexDecomposition::IntVector |
Definition at line 75 of file cd_wavefront.cpp.
typedef std::vector< Vec2d > ConvexDecomposition::Vec2dVector |
Definition at line 99 of file triangulate.cpp.
typedef std::vector< Vector2d<double> > ConvexDecomposition::Vector2dVector |
Definition at line 1197 of file cd_vector.h.
typedef std::vector< Vector3d<double> > ConvexDecomposition::Vector3dVector |
Definition at line 1196 of file cd_vector.h.
typedef void* ConvexDecomposition::VertexLookup |
typedef std::vector< Wpoint > ConvexDecomposition::WpointVector |
Definition at line 121 of file concavity.cpp.
Definition at line 63 of file planetri.h.
Definition at line 261 of file vlookup.cpp.
Definition at line 91 of file cd_wavefront.cpp.
int ConvexDecomposition::above | ( | double3 * | vertices, | |
const int3 & | t, | |||
const double3 & | p, | |||
double | epsilon | |||
) |
Definition at line 2361 of file cd_hull.cpp.
static void ConvexDecomposition::add | ( | const double * | p, | |
double * | dest, | |||
unsigned int | tstride, | |||
unsigned int & | pcount | |||
) | [static] |
Definition at line 89 of file planetri.cpp.
static void ConvexDecomposition::AddPoint | ( | unsigned int & | vcount, | |
double * | p, | |||
double | x, | |||
double | y, | |||
double | z | |||
) | [static] |
Definition at line 3165 of file cd_hull.cpp.
double ConvexDecomposition::Area | ( | const Vec2dVector & | contour | ) | [static] |
Definition at line 108 of file triangulate.cpp.
static double ConvexDecomposition::area2 | ( | const double3 & | v0, | |
const double3 & | v1, | |||
const double3 & | v2 | |||
) | [static] |
Definition at line 2693 of file cd_hull.cpp.
int ConvexDecomposition::argmin | ( | double | a[], | |
int | n | |||
) |
Definition at line 607 of file cd_hull.cpp.
int ConvexDecomposition::AssertIntact | ( | ConvexH & | convex | ) |
Definition at line 1743 of file cd_hull.cpp.
int ConvexDecomposition::b2b | ( | const int3 & | a, | |
const int3 & | b | |||
) |
Definition at line 2357 of file cd_hull.cpp.
void ConvexDecomposition::b2bfix | ( | Tri * | s, | |
Tri * | t | |||
) |
Definition at line 2435 of file cd_hull.cpp.
int ConvexDecomposition::BoxInside | ( | const double3 & | p, | |
const double3 & | bmin, | |||
const double3 & | bmax | |||
) |
Definition at line 1382 of file cd_hull.cpp.
int ConvexDecomposition::BoxIntersect | ( | const double3 & | v0, | |
const double3 & | v1, | |||
const double3 & | bmin, | |||
const double3 & | bmax, | |||
double3 * | impact | |||
) |
Definition at line 1390 of file cd_hull.cpp.
int ConvexDecomposition::calchull | ( | double3 * | verts, | |
int | verts_count, | |||
int *& | tris_out, | |||
int & | tris_count, | |||
int | vlimit | |||
) |
Definition at line 2675 of file cd_hull.cpp.
int ConvexDecomposition::calchullgen | ( | double3 * | verts, | |
int | verts_count, | |||
int | vlimit | |||
) |
Definition at line 2572 of file cd_hull.cpp.
int ConvexDecomposition::calchullpbev | ( | double3 * | verts, | |
int | verts_count, | |||
int | vlimit, | |||
Array< Plane > & | planes, | |||
double | bevangle | |||
) |
Definition at line 2698 of file cd_hull.cpp.
static int ConvexDecomposition::candidateplane | ( | Plane * | planes, | |
int | planes_count, | |||
ConvexH * | convex, | |||
double | epsilon | |||
) | [static] |
Definition at line 2203 of file cd_hull.cpp.
void ConvexDecomposition::checkit | ( | Tri * | t | ) |
Definition at line 2458 of file cd_hull.cpp.
double ConvexDecomposition::clampf | ( | double | a | ) |
Definition at line 592 of file cd_hull.cpp.
double4 ConvexDecomposition::cmul | ( | const double4 & | a, | |
const double4 & | b | |||
) |
Definition at line 908 of file cd_hull.cpp.
double3 ConvexDecomposition::cmul | ( | const double3 & | a, | |
const double3 & | b | |||
) |
Definition at line 666 of file cd_hull.cpp.
void ConvexDecomposition::computeBestFitABB | ( | unsigned int | vcount, | |
const float * | points, | |||
unsigned int | pstride, | |||
float * | sides, | |||
float * | pos | |||
) |
void ConvexDecomposition::computeBestFitABB | ( | unsigned int | vcount, | |
const double * | points, | |||
unsigned int | pstride, | |||
double * | sides, | |||
double * | pos | |||
) |
void ConvexDecomposition::computeBestFitOBB | ( | unsigned int | vcount, | |
const float * | points, | |||
unsigned int | pstride, | |||
float * | sides, | |||
float * | pos, | |||
float * | quat | |||
) |
void ConvexDecomposition::computeBestFitOBB | ( | unsigned int | vcount, | |
const double * | points, | |||
unsigned int | pstride, | |||
double * | sides, | |||
double * | pos, | |||
double * | quat | |||
) |
void ConvexDecomposition::computeBestFitOBB | ( | unsigned int | vcount, | |
const double * | points, | |||
unsigned int | pstride, | |||
double * | sides, | |||
double * | matrix | |||
) |
float ConvexDecomposition::computeBoundingSphere | ( | unsigned int | vcount, | |
const float * | points, | |||
float * | center | |||
) |
double ConvexDecomposition::computeBoundingSphere | ( | unsigned int | vcount, | |
const double * | points, | |||
double * | center | |||
) |
double ConvexDecomposition::computeConcavity | ( | unsigned int | vcount, | |
const double * | vertices, | |||
unsigned int | tcount, | |||
const unsigned int * | indices, | |||
ConvexDecompInterface * | callback, | |||
double * | plane, | |||
double & | volume | |||
) |
bool ConvexDecomposition::ComputeHull | ( | unsigned int | vcount, | |
const double * | vertices, | |||
PHullResult & | result, | |||
unsigned int | maxverts, | |||
double | inflate | |||
) |
Definition at line 2880 of file cd_hull.cpp.
float ConvexDecomposition::computeMeshVolume | ( | const float * | vertices, | |
unsigned int | tcount, | |||
const unsigned int * | indices | |||
) |
double ConvexDecomposition::computeMeshVolume | ( | const double * | vertices, | |
unsigned int | tcount, | |||
const unsigned int * | indices | |||
) |
float ConvexDecomposition::computeMeshVolume2 | ( | const float * | vertices, | |
unsigned int | tcount, | |||
const unsigned int * | indices | |||
) |
Definition at line 231 of file meshvolume.cpp.
double ConvexDecomposition::computeMeshVolume2 | ( | const double * | vertices, | |
unsigned int | tcount, | |||
const unsigned int * | indices | |||
) |
void ConvexDecomposition::computeOBB | ( | unsigned int | vcount, | |
const double * | points, | |||
unsigned int | pstride, | |||
double * | sides, | |||
double * | matrix | |||
) |
Definition at line 95 of file bestfitobb.cpp.
static void ConvexDecomposition::computePlane | ( | const double * | A, | |
const double * | B, | |||
const double * | C, | |||
double * | plane | |||
) | [static] |
Definition at line 79 of file splitplane.cpp.
double ConvexDecomposition::computeSphereVolume | ( | double | r | ) |
bool ConvexDecomposition::computeSplitPlane | ( | unsigned int | vcount, | |
const double * | vertices, | |||
unsigned int | tcount, | |||
const unsigned int * | indices, | |||
ConvexDecompInterface * | callback, | |||
double * | plane | |||
) |
ConvexH* ConvexDecomposition::ConvexHCrop | ( | ConvexH & | convex, | |
const Plane & | slice | |||
) |
hmmm something to think about: i might be able to output this edge regarless of
Definition at line 1890 of file cd_hull.cpp.
ConvexH* ConvexDecomposition::ConvexHDup | ( | ConvexH * | src | ) |
Definition at line 1685 of file cd_hull.cpp.
ConvexH* ConvexDecomposition::ConvexHMakeCube | ( | const REAL3 & | bmin, | |
const REAL3 & | bmax | |||
) |
Definition at line 1871 of file cd_hull.cpp.
int ConvexDecomposition::coplanar | ( | const Plane & | a, | |
const Plane & | b | |||
) | [inline] |
Definition at line 565 of file cd_hull.cpp.
static void ConvexDecomposition::Copy | ( | float * | dest, | |
const float * | source | |||
) | [inline, static] |
Definition at line 235 of file fitsphere.cpp.
static void ConvexDecomposition::Copy | ( | double * | dest, | |
const double * | source | |||
) | [inline, static] |
Definition at line 92 of file fitsphere.cpp.
double3 ConvexDecomposition::cross | ( | const double3 & | a, | |
const double3 & | b | |||
) |
Definition at line 672 of file cd_hull.cpp.
void ConvexDecomposition::CrossProduct | ( | const float * | a, | |
const float * | b, | |||
float * | cross | |||
) | [inline] |
Definition at line 184 of file meshvolume.cpp.
void ConvexDecomposition::CrossProduct | ( | const double * | a, | |
const double * | b, | |||
double * | cross | |||
) | [inline] |
Definition at line 89 of file meshvolume.cpp.
float ConvexDecomposition::det | ( | const float * | p0, | |
const float * | p1, | |||
const float * | p2, | |||
const float * | p3 | |||
) | [inline] |
Definition at line 226 of file meshvolume.cpp.
float ConvexDecomposition::det | ( | const float * | p1, | |
const float * | p2, | |||
const float * | p3 | |||
) | [inline] |
Definition at line 157 of file meshvolume.cpp.
double ConvexDecomposition::det | ( | const double * | p0, | |
const double * | p1, | |||
const double * | p2, | |||
const double * | p3 | |||
) | [inline] |
Definition at line 131 of file meshvolume.cpp.
double ConvexDecomposition::det | ( | const double * | p1, | |
const double * | p2, | |||
const double * | p3 | |||
) | [inline] |
Definition at line 62 of file meshvolume.cpp.
double ConvexDecomposition::Determinant | ( | const double3x3 & | m | ) |
Definition at line 786 of file cd_hull.cpp.
double ConvexDecomposition::DistanceBetweenLines | ( | const double3 & | ustart, | |
const double3 & | udir, | |||
const double3 & | vstart, | |||
const double3 & | vdir, | |||
double3 * | upoint = NULL , |
|||
double3 * | vpoint = NULL | |||
) |
Definition at line 1485 of file cd_hull.cpp.
static double ConvexDecomposition::DistToPt | ( | const double * | p, | |
const double * | plane | |||
) | [inline, static] |
Definition at line 68 of file planetri.cpp.
double ConvexDecomposition::dot | ( | const Quaternion & | a, | |
const Quaternion & | b | |||
) |
Definition at line 1180 of file cd_hull.cpp.
double ConvexDecomposition::dot | ( | const double3 & | a, | |
const double3 & | b | |||
) |
Definition at line 661 of file cd_hull.cpp.
float ConvexDecomposition::DotProduct | ( | const float * | a, | |
const float * | b | |||
) | [inline] |
Definition at line 191 of file meshvolume.cpp.
double ConvexDecomposition::DotProduct | ( | const double * | a, | |
const double * | b | |||
) | [inline] |
Definition at line 96 of file meshvolume.cpp.
Tri* ConvexDecomposition::extrudable | ( | double | epsilon | ) |
Definition at line 2507 of file cd_hull.cpp.
void ConvexDecomposition::extrude | ( | Tri * | t0, | |
int | v | |||
) |
Definition at line 2472 of file cd_hull.cpp.
bool ConvexDecomposition::featureMatch | ( | CTri & | m, | |
const CTriVector & | tris, | |||
ConvexDecompInterface * | callback, | |||
const CTriVector & | input_mesh | |||
) |
Definition at line 438 of file concavity.cpp.
int4 ConvexDecomposition::FindSimplex | ( | double3 * | verts, | |
int | verts_count, | |||
Array< int > & | allow | |||
) |
Definition at line 2542 of file cd_hull.cpp.
double ConvexDecomposition::fm_capsuleVolume | ( | double | radius, | |
double | h | |||
) |
void ConvexDecomposition::fm_computeNormalVector | ( | double * | n, | |
const double * | p1, | |||
const double * | p2 | |||
) |
double ConvexDecomposition::fm_computePlane | ( | const double * | A, | |
const double * | B, | |||
const double * | C, | |||
double * | n | |||
) |
bool ConvexDecomposition::fm_computeWindingOrder | ( | const double * | p1, | |
const double * | p2, | |||
const double * | p3 | |||
) |
void ConvexDecomposition::fm_cross | ( | double * | cross, | |
const double * | a, | |||
const double * | b | |||
) |
double ConvexDecomposition::fm_cylinderVolume | ( | double | radius, | |
double | h | |||
) |
double ConvexDecomposition::fm_distance | ( | const double * | p1, | |
const double * | p2 | |||
) |
double ConvexDecomposition::fm_distanceSquared | ( | const double * | p1, | |
const double * | p2 | |||
) |
double ConvexDecomposition::fm_distToPlane | ( | const double * | plane, | |
const double * | p | |||
) |
double ConvexDecomposition::fm_dot | ( | const double * | p1, | |
const double * | p2 | |||
) |
void ConvexDecomposition::fm_eulerMatrix | ( | double | ax, | |
double | ay, | |||
double | az, | |||
double * | matrix | |||
) |
void ConvexDecomposition::fm_eulerToQuat | ( | double | roll, | |
double | pitch, | |||
double | yaw, | |||
double * | quat | |||
) |
void ConvexDecomposition::fm_getAABB | ( | unsigned int | vcount, | |
const double * | points, | |||
unsigned int | pstride, | |||
double * | bmin, | |||
double * | bmax | |||
) |
void ConvexDecomposition::fm_getTranslation | ( | const double * | matrix, | |
double * | t | |||
) |
void ConvexDecomposition::fm_identity | ( | double * | matrix | ) |
void ConvexDecomposition::fm_inverseRT | ( | const double * | matrix, | |
const double * | pos, | |||
double * | t | |||
) |
void ConvexDecomposition::fm_matrixToQuat | ( | const double * | matrix, | |
double * | quat | |||
) |
void ConvexDecomposition::fm_normalize | ( | double * | n | ) |
void ConvexDecomposition::fm_quatRotate | ( | const double * | quat, | |
const double * | v, | |||
double * | r | |||
) |
void ConvexDecomposition::fm_quatToMatrix | ( | const double * | quat, | |
double * | matrix | |||
) |
void ConvexDecomposition::fm_rotate | ( | const double * | matrix, | |
const double * | v, | |||
double * | t | |||
) |
double ConvexDecomposition::fm_sphereVolume | ( | double | radius | ) |
void ConvexDecomposition::fm_transform | ( | const double * | matrix, | |
const double * | v, | |||
double * | t | |||
) |
static const char* ConvexDecomposition::GetArg | ( | const char ** | argv, | |
int | i, | |||
int | argc | |||
) | [static] |
Definition at line 602 of file cd_wavefront.cpp.
bool ConvexDecomposition::getBestFitPlane | ( | unsigned int | vcount, | |
const double * | points, | |||
unsigned int | vstride, | |||
const double * | weights, | |||
unsigned int | wstride, | |||
double * | plane | |||
) |
double ConvexDecomposition::getBoundingRegion | ( | unsigned int | vcount, | |
const double * | points, | |||
unsigned int | pstride, | |||
double * | bmin, | |||
double * | bmax | |||
) |
unsigned int ConvexDecomposition::getDebugColor | ( | void | ) |
Definition at line 80 of file concavity.cpp.
double ConvexDecomposition::GetDist | ( | double | px, | |
double | py, | |||
double | pz, | |||
const double * | p2 | |||
) |
Definition at line 3175 of file cd_hull.cpp.
static PlaneTriResult ConvexDecomposition::getSidePlane | ( | const double * | p, | |
const double * | plane, | |||
double | epsilon | |||
) | [static] |
Definition at line 78 of file planetri.cpp.
int ConvexDecomposition::hasedge | ( | const int3 & | t, | |
int | a, | |||
int | b | |||
) |
Definition at line 2366 of file cd_hull.cpp.
int ConvexDecomposition::hasvert | ( | const int3 & | t, | |
int | v | |||
) |
Definition at line 2375 of file cd_hull.cpp.
bool ConvexDecomposition::hasVolume | ( | double3 * | verts, | |
int | p0, | |||
int | p1, | |||
int | p2, | |||
int | p3 | |||
) |
Definition at line 2533 of file cd_hull.cpp.
double4 ConvexDecomposition::Homogenize | ( | const double3 & | v3, | |
const double & | w = 1.0f | |||
) |
Definition at line 939 of file cd_hull.cpp.
bool ConvexDecomposition::InsideTriangle | ( | double | Ax, | |
double | Ay, | |||
double | Bx, | |||
double | By, | |||
double | Cx, | |||
double | Cy, | |||
double | Px, | |||
double | Py | |||
) | [static] |
Definition at line 122 of file triangulate.cpp.
Quaternion ConvexDecomposition::Interpolate | ( | const Quaternion & | q0, | |
const Quaternion & | q1, | |||
double | alpha | |||
) |
Definition at line 1216 of file cd_hull.cpp.
double3 ConvexDecomposition::Interpolate | ( | const double3 & | v0, | |
const double3 & | v1, | |||
double | alpha | |||
) |
Definition at line 760 of file cd_hull.cpp.
double ConvexDecomposition::Interpolate | ( | const double & | f0, | |
const double & | f1, | |||
double | alpha | |||
) |
Definition at line 601 of file cd_hull.cpp.
static void ConvexDecomposition::intersect | ( | const double * | p1, | |
const double * | p2, | |||
double * | split, | |||
const double * | plane | |||
) | [static] |
Definition at line 103 of file planetri.cpp.
Quaternion ConvexDecomposition::Inverse | ( | const Quaternion & | q | ) |
Definition at line 1125 of file cd_hull.cpp.
double4x4 ConvexDecomposition::Inverse | ( | const double4x4 & | m | ) |
Definition at line 1023 of file cd_hull.cpp.
double3x3 ConvexDecomposition::Inverse | ( | const double3x3 & | a | ) |
Definition at line 792 of file cd_hull.cpp.
int ConvexDecomposition::isa | ( | const int3 & | a, | |
const int3 & | b | |||
) |
Definition at line 2353 of file cd_hull.cpp.
bool ConvexDecomposition::isFeatureTri | ( | CTri & | t, | |
CTriVector & | flist, | |||
double | fc, | |||
ConvexDecompInterface * | callback, | |||
unsigned int | color | |||
) |
Definition at line 547 of file concavity.cpp.
bool ConvexDecomposition::lineIntersectsTriangle | ( | const double * | rayStart, | |
const double * | rayEnd, | |||
const double * | p1, | |||
const double * | p2, | |||
const double * | p3, | |||
double * | sect | |||
) |
double3 ConvexDecomposition::LineProject | ( | const double3 & | p0, | |
const double3 & | p1, | |||
const double3 & | a | |||
) |
Definition at line 1351 of file cd_hull.cpp.
double ConvexDecomposition::LineProjectTime | ( | const double3 & | p0, | |
const double3 & | p1, | |||
const double3 & | a | |||
) |
Definition at line 1360 of file cd_hull.cpp.
double ConvexDecomposition::magnitude | ( | const double3 & | v | ) |
Definition at line 724 of file cd_hull.cpp.
double4x4 ConvexDecomposition::MatrixFromQuatVec | ( | const Quaternion & | q, | |
const double3 & | v | |||
) |
Definition at line 1302 of file cd_hull.cpp.
double4x4 ConvexDecomposition::MatrixLookAt | ( | const double3 & | eye, | |
const double3 & | at, | |||
const double3 & | up | |||
) |
Definition at line 982 of file cd_hull.cpp.
double4x4 ConvexDecomposition::MatrixPerspectiveFov | ( | double | fovy, | |
double | Aspect, | |||
double | zn, | |||
double | zf | |||
) |
Definition at line 969 of file cd_hull.cpp.
double4x4 ConvexDecomposition::MatrixRigidInverse | ( | const double4x4 & | m | ) |
Definition at line 960 of file cd_hull.cpp.
double4x4 ConvexDecomposition::MatrixRotationZ | ( | const double | angle_radians | ) |
Definition at line 1004 of file cd_hull.cpp.
double4x4 ConvexDecomposition::MatrixTranslation | ( | const double3 & | t | ) |
Definition at line 994 of file cd_hull.cpp.
double4x4 ConvexDecomposition::MatrixTranspose | ( | const double4x4 & | m | ) |
Definition at line 951 of file cd_hull.cpp.
T ConvexDecomposition::Max | ( | const T & | a, | |
const T & | b | |||
) | [inline] |
Definition at line 339 of file cd_hull.cpp.
int ConvexDecomposition::maxdir | ( | const T * | p, | |
int | count, | |||
const T & | dir | |||
) | [inline] |
Definition at line 2254 of file cd_hull.cpp.
int ConvexDecomposition::maxdirfiltered | ( | const T * | p, | |
int | count, | |||
const T & | dir, | |||
Array< int > & | allow | |||
) | [inline] |
Definition at line 2267 of file cd_hull.cpp.
int ConvexDecomposition::maxdirsterid | ( | const T * | p, | |
int | count, | |||
const T & | dir, | |||
Array< int > & | allow | |||
) | [inline] |
Definition at line 2288 of file cd_hull.cpp.
T ConvexDecomposition::Min | ( | const T & | a, | |
const T & | b | |||
) | [inline] |
Definition at line 345 of file cd_hull.cpp.
Quaternion ConvexDecomposition::normalize | ( | Quaternion | a | ) |
Definition at line 1185 of file cd_hull.cpp.
double3 ConvexDecomposition::normalize | ( | const double3 & | v | ) |
Definition at line 731 of file cd_hull.cpp.
double3 ConvexDecomposition::NormalOf | ( | const double3 * | vert, | |
const int | n | |||
) |
int ConvexDecomposition::operator!= | ( | const double3 & | a, | |
const double3 & | b | |||
) | [inline] |
Definition at line 411 of file cd_hull.cpp.
Vector2d<Type> ConvexDecomposition::operator* | ( | Type | s, | |
const Vector2d< Type > & | v | |||
) | [inline] |
Definition at line 1203 of file cd_vector.h.
Vector3d<Type> ConvexDecomposition::operator* | ( | Type | s, | |
const Vector3d< Type > & | v | |||
) | [inline] |
Definition at line 1199 of file cd_vector.h.
double3 ConvexDecomposition::operator* | ( | const double3 & | v, | |
const Quaternion & | q | |||
) |
Definition at line 1169 of file cd_hull.cpp.
double3 ConvexDecomposition::operator* | ( | const Quaternion & | q, | |
const double3 & | v | |||
) |
Definition at line 1149 of file cd_hull.cpp.
Quaternion ConvexDecomposition::operator* | ( | const Quaternion & | a, | |
const Quaternion & | b | |||
) |
Definition at line 1109 of file cd_hull.cpp.
Quaternion ConvexDecomposition::operator* | ( | const Quaternion & | a, | |
double | s | |||
) |
Definition at line 1120 of file cd_hull.cpp.
double4 ConvexDecomposition::operator* | ( | const double4 & | v, | |
const double4x4 & | m | |||
) |
Definition at line 888 of file cd_hull.cpp.
double4x4 ConvexDecomposition::operator* | ( | const double4x4 & | a, | |
const double4x4 & | b | |||
) |
Definition at line 946 of file cd_hull.cpp.
double4 ConvexDecomposition::operator* | ( | double | s, | |
const double4 & | v | |||
) |
Definition at line 920 of file cd_hull.cpp.
double4 ConvexDecomposition::operator* | ( | const double4 & | v, | |
double | s | |||
) |
Definition at line 914 of file cd_hull.cpp.
double3x3 ConvexDecomposition::operator* | ( | const double3x3 & | ma, | |
const double3x3 & | mb | |||
) |
Definition at line 832 of file cd_hull.cpp.
double3x3 ConvexDecomposition::operator* | ( | const double3x3 & | m, | |
const double & | s | |||
) |
Definition at line 837 of file cd_hull.cpp.
double3 ConvexDecomposition::operator* | ( | const double3x3 & | m, | |
const double3 & | v | |||
) |
Definition at line 827 of file cd_hull.cpp.
double3 ConvexDecomposition::operator* | ( | const double3 & | v, | |
const double3x3 & | m | |||
) |
Definition at line 822 of file cd_hull.cpp.
double3 ConvexDecomposition::operator* | ( | const double | s, | |
const double3 & | v | |||
) |
Definition at line 650 of file cd_hull.cpp.
double3 ConvexDecomposition::operator* | ( | const double3 & | v, | |
const double | s | |||
) |
Definition at line 644 of file cd_hull.cpp.
Quaternion & ConvexDecomposition::operator*= | ( | Quaternion & | a, | |
double | s | |||
) |
Definition at line 1130 of file cd_hull.cpp.
double3x3 & ConvexDecomposition::operator*= | ( | double3x3 & | a, | |
const double & | s | |||
) |
Definition at line 868 of file cd_hull.cpp.
double3 & ConvexDecomposition::operator*= | ( | double3 & | v, | |
const double | s | |||
) |
Definition at line 700 of file cd_hull.cpp.
Quaternion ConvexDecomposition::operator+ | ( | const Quaternion & | a, | |
const Quaternion & | b | |||
) |
Definition at line 1175 of file cd_hull.cpp.
double4 ConvexDecomposition::operator+ | ( | const double4 & | a, | |
const double4 & | b | |||
) |
Definition at line 926 of file cd_hull.cpp.
double3x3 ConvexDecomposition::operator+ | ( | const double3x3 & | a, | |
const double3x3 & | b | |||
) |
Definition at line 846 of file cd_hull.cpp.
double3 ConvexDecomposition::operator+ | ( | const double3 & | a, | |
const double3 & | b | |||
) |
Definition at line 626 of file cd_hull.cpp.
double2 ConvexDecomposition::operator+ | ( | const double2 & | a, | |
const double2 & | b | |||
) | [inline] |
Definition at line 375 of file cd_hull.cpp.
double3x3 & ConvexDecomposition::operator+= | ( | double3x3 & | a, | |
const double3x3 & | b | |||
) |
Definition at line 854 of file cd_hull.cpp.
double3 & ConvexDecomposition::operator+= | ( | double3 & | a, | |
const double3 & | b | |||
) |
Definition at line 682 of file cd_hull.cpp.
double4 ConvexDecomposition::operator- | ( | const double4 & | a, | |
const double4 & | b | |||
) |
Definition at line 933 of file cd_hull.cpp.
double3x3 ConvexDecomposition::operator- | ( | const double3x3 & | a, | |
const double3x3 & | b | |||
) |
Definition at line 850 of file cd_hull.cpp.
double3 ConvexDecomposition::operator- | ( | const double3 & | v | ) |
Definition at line 638 of file cd_hull.cpp.
double3 ConvexDecomposition::operator- | ( | const double3 & | a, | |
const double3 & | b | |||
) |
Definition at line 632 of file cd_hull.cpp.
double2 ConvexDecomposition::operator- | ( | const double2 & | a, | |
const double2 & | b | |||
) | [inline] |
Definition at line 374 of file cd_hull.cpp.
double3x3 & ConvexDecomposition::operator-= | ( | double3x3 & | a, | |
const double3x3 & | b | |||
) |
Definition at line 861 of file cd_hull.cpp.
double3 & ConvexDecomposition::operator-= | ( | double3 & | a, | |
const double3 & | b | |||
) |
Definition at line 691 of file cd_hull.cpp.
double3x3 ConvexDecomposition::operator/ | ( | const double3x3 & | a, | |
const double & | s | |||
) |
Definition at line 841 of file cd_hull.cpp.
double3 ConvexDecomposition::operator/ | ( | const double3 & | v, | |
const double | s | |||
) |
Definition at line 656 of file cd_hull.cpp.
double3 & ConvexDecomposition::operator/= | ( | double3 & | v, | |
const double | s | |||
) |
Definition at line 709 of file cd_hull.cpp.
int ConvexDecomposition::operator== | ( | const int3 & | a, | |
const int3 & | b | |||
) |
Definition at line 2336 of file cd_hull.cpp.
int ConvexDecomposition::operator== | ( | const Plane & | a, | |
const Plane & | b | |||
) | [inline] |
Definition at line 564 of file cd_hull.cpp.
int ConvexDecomposition::operator== | ( | const double4x4 & | a, | |
const double4x4 & | b | |||
) |
Definition at line 1017 of file cd_hull.cpp.
int ConvexDecomposition::operator== | ( | const double4 & | a, | |
const double4 & | b | |||
) |
Definition at line 893 of file cd_hull.cpp.
int ConvexDecomposition::operator== | ( | const double3 & | a, | |
const double3 & | b | |||
) | [inline] |
Definition at line 410 of file cd_hull.cpp.
double3 ConvexDecomposition::orth | ( | const double3 & | v | ) |
Definition at line 2279 of file cd_hull.cpp.
static int ConvexDecomposition::overhull | ( | Plane * | planes, | |
int | planes_count, | |||
double3 * | verts, | |||
int | verts_count, | |||
int | maxplanes, | |||
double3 *& | verts_out, | |||
int & | verts_count_out, | |||
int *& | faces_out, | |||
int & | faces_count_out, | |||
double | inflate | |||
) | [static] |
Definition at line 2773 of file cd_hull.cpp.
static int ConvexDecomposition::overhullv | ( | double3 * | verts, | |
int | verts_count, | |||
int | maxplanes, | |||
double3 *& | verts_out, | |||
int & | verts_count_out, | |||
int *& | faces_out, | |||
int & | faces_count_out, | |||
double | inflate, | |||
double | bevangle, | |||
int | vlimit | |||
) | [static] |
Definition at line 2864 of file cd_hull.cpp.
bool ConvexDecomposition::overlapAABB | ( | const double * | bmin1, | |
const double * | bmax1, | |||
const double * | bmin2, | |||
const double * | bmax2 | |||
) |
unsigned int ConvexDecomposition::performConvexDecomposition | ( | const DecompDesc & | desc | ) |
double ConvexDecomposition::Pitch | ( | const double3 & | v | ) |
Definition at line 1255 of file cd_hull.cpp.
double ConvexDecomposition::Pitch | ( | const Quaternion & | q | ) |
Definition at line 1236 of file cd_hull.cpp.
Plane ConvexDecomposition::PlaneFlip | ( | const Plane & | plane | ) | [inline] |
Definition at line 563 of file cd_hull.cpp.
double3 ConvexDecomposition::PlaneLineIntersection | ( | const Plane & | plane, | |
const double3 & | p0, | |||
const double3 & | p1 | |||
) |
Definition at line 1336 of file cd_hull.cpp.
double3 ConvexDecomposition::PlaneProject | ( | const Plane & | plane, | |
const double3 & | point | |||
) |
Definition at line 1346 of file cd_hull.cpp.
int ConvexDecomposition::PlaneTest | ( | const Plane & | p, | |
const REAL3 & | v | |||
) |
Definition at line 1700 of file cd_hull.cpp.
PlaneTriResult ConvexDecomposition::planeTriIntersection | ( | const double * | _plane, | |
const double * | triangle, | |||
unsigned int | tstride, | |||
double | epsilon, | |||
double * | front, | |||
unsigned int & | fcount, | |||
double * | back, | |||
unsigned int & | bcount | |||
) |
int ConvexDecomposition::PolyHit | ( | const double3 * | vert, | |
const int | n, | |||
const double3 & | v0, | |||
const double3 & | v1, | |||
double3 * | impact = NULL , |
|||
double3 * | normal = NULL | |||
) |
Definition at line 1557 of file cd_hull.cpp.
bool ConvexDecomposition::Process | ( | const Vec2dVector & | contour, | |
Vec2dVector & | result | |||
) | [static] |
Definition at line 154 of file triangulate.cpp.
bool ConvexDecomposition::rayIntersectsTriangle | ( | const double * | p, | |
const double * | d, | |||
const double * | v0, | |||
const double * | v1, | |||
const double * | v2, | |||
double & | t | |||
) |
static RDIFF ConvexDecomposition::relativeDiff | ( | const double * | a, | |
const double * | b, | |||
double | magnitude | |||
) | [static] |
Definition at line 268 of file vlookup.cpp.
void ConvexDecomposition::ReleaseHull | ( | PHullResult & | result | ) |
Definition at line 2932 of file cd_hull.cpp.
void ConvexDecomposition::removeb2b | ( | Tri * | s, | |
Tri * | t | |||
) |
Definition at line 2451 of file cd_hull.cpp.
double ConvexDecomposition::Roll | ( | Quaternion | q | ) |
Definition at line 1243 of file cd_hull.cpp.
int3 ConvexDecomposition::roll3 | ( | int3 | a | ) |
Definition at line 2345 of file cd_hull.cpp.
Quaternion ConvexDecomposition::RotationArc | ( | double3 | v0, | |
double3 | v1 | |||
) |
Definition at line 1286 of file cd_hull.cpp.
double3 ConvexDecomposition::Round | ( | const double3 & | a, | |
double | precision | |||
) |
Definition at line 754 of file cd_hull.cpp.
double ConvexDecomposition::Round | ( | double | a, | |
double | precision | |||
) |
Definition at line 595 of file cd_hull.cpp.
double3 ConvexDecomposition::safenormalize | ( | const double3 & | v | ) |
Definition at line 745 of file cd_hull.cpp.
static void ConvexDecomposition::Set | ( | float * | n, | |
float | x, | |||
float | y, | |||
float | z | |||
) | [inline, static] |
Definition at line 228 of file fitsphere.cpp.
static void ConvexDecomposition::Set | ( | double * | n, | |
double | x, | |||
double | y, | |||
double | z | |||
) | [inline, static] |
Definition at line 85 of file fitsphere.cpp.
int ConvexDecomposition::shareedge | ( | const int3 & | a, | |
const int3 & | b | |||
) |
Definition at line 2379 of file cd_hull.cpp.
Quaternion ConvexDecomposition::slerp | ( | Quaternion | a, | |
const Quaternion & | b, | |||
double | interp | |||
) |
Definition at line 1197 of file cd_hull.cpp.
bool ConvexDecomposition::Snip | ( | const Vec2dVector & | contour, | |
int | u, | |||
int | v, | |||
int | w, | |||
int | n, | |||
int * | V | |||
) | [static] |
Definition at line 135 of file triangulate.cpp.
void ConvexDecomposition::Split_Polygon | ( | polygon * | poly, | |
plane * | part, | |||
polygon & | front, | |||
polygon & | back | |||
) |
Definition at line 202 of file planetri.cpp.
void ConvexDecomposition::splitRect | ( | unsigned int | axis, | |
const Rect3d & | source, | |||
Rect3d & | b1, | |||
Rect3d & | b2, | |||
const double * | midpoint | |||
) |
Definition at line 169 of file splitplane.cpp.
int ConvexDecomposition::SplitTest | ( | ConvexH & | convex, | |
const Plane & | plane | |||
) |
Definition at line 1706 of file cd_hull.cpp.
double ConvexDecomposition::sqr | ( | double | a | ) |
Definition at line 591 of file cd_hull.cpp.
void ConvexDecomposition::Swap | ( | T & | a, | |
T & | b | |||
) | [inline] |
Definition at line 329 of file cd_hull.cpp.
ConvexH* ConvexDecomposition::test_btbq | ( | ) |
Definition at line 1787 of file cd_hull.cpp.
ConvexH* ConvexDecomposition::test_cube | ( | ) |
Definition at line 1815 of file cd_hull.cpp.
float ConvexDecomposition::tetVolume | ( | const float * | p0, | |
const float * | p1, | |||
const float * | p2, | |||
const float * | p3 | |||
) | [inline] |
Definition at line 196 of file meshvolume.cpp.
double ConvexDecomposition::tetVolume | ( | const double * | p0, | |
const double * | p1, | |||
const double * | p2, | |||
const double * | p3 | |||
) | [inline] |
Definition at line 101 of file meshvolume.cpp.
double3 ConvexDecomposition::ThreePlaneIntersection | ( | const Plane & | p0, | |
const Plane & | p1, | |||
const Plane & | p2 | |||
) |
Definition at line 878 of file cd_hull.cpp.
double3x3 ConvexDecomposition::Transpose | ( | const double3x3 & | m | ) |
Definition at line 814 of file cd_hull.cpp.
unsigned int ConvexDecomposition::triangulate2d | ( | unsigned int | pcount, | |
const double * | vertices, | |||
double * | triangles, | |||
unsigned int | maxTri | |||
) |
unsigned int ConvexDecomposition::triangulate3d | ( | unsigned int | pcount, | |
const unsigned int * | indices, | |||
const double * | vertices, | |||
double * | triangles, | |||
unsigned int | maxTri, | |||
const double * | plane | |||
) |
unsigned int ConvexDecomposition::triangulate3d | ( | unsigned int | pcount, | |
const double * | vertices, | |||
double * | triangles, | |||
unsigned int | maxTri, | |||
const double * | plane | |||
) |
double3 ConvexDecomposition::TriNormal | ( | const double3 & | v0, | |
const double3 & | v1, | |||
const double3 & | v2 | |||
) |
Definition at line 1370 of file cd_hull.cpp.
double3 ConvexDecomposition::vabs | ( | const double3 & | v | ) |
Definition at line 718 of file cd_hull.cpp.
double3 ConvexDecomposition::VectorMax | ( | const double3 & | a, | |
const double3 & | b | |||
) |
Definition at line 769 of file cd_hull.cpp.
double3 ConvexDecomposition::VectorMin | ( | const double3 & | a, | |
const double3 & | b | |||
) |
Definition at line 765 of file cd_hull.cpp.
Quaternion ConvexDecomposition::VirtualTrackBall | ( | const double3 & | cop, | |
const double3 & | cor, | |||
const double3 & | dir0, | |||
const double3 & | dir1 | |||
) |
Definition at line 1511 of file cd_hull.cpp.
VertexLookup ConvexDecomposition::Vl_createVertexLookup | ( | void | ) |
unsigned int ConvexDecomposition::Vl_getIndex | ( | VertexLookup | vlook, | |
const double * | pos | |||
) |
unsigned int ConvexDecomposition::Vl_getVcount | ( | VertexLookup | vlook | ) |
const double * ConvexDecomposition::Vl_getVertices | ( | VertexLookup | vlook | ) |
void ConvexDecomposition::Vl_releaseVertexLookup | ( | VertexLookup | vlook | ) |
double ConvexDecomposition::Yaw | ( | const double3 & | v | ) |
Definition at line 1250 of file cd_hull.cpp.
double ConvexDecomposition::Yaw | ( | const Quaternion & | q | ) |
Definition at line 1229 of file cd_hull.cpp.
Quaternion ConvexDecomposition::YawPitchRoll | ( | double | yaw, | |
double | pitch, | |||
double | roll | |||
) |
Definition at line 1221 of file cd_hull.cpp.
Definition at line 1556 of file cd_hull.cpp.
const double ConvexDecomposition::DEG_TO_RAD = ((2.0f * 3.14152654f) / 360.0f) |
Definition at line 79 of file cd_vector.h.
const double ConvexDecomposition::EPSILON = 0.0000000001f [static] |
Definition at line 106 of file triangulate.cpp.
const double ConvexDecomposition::FM_DEG_TO_RAD = ((2.0f * FM_PI) / 360.0f) |
Definition at line 83 of file float_math.h.
const double ConvexDecomposition::FM_PI = 3.141592654f |
Copyright (c) 2007 by John W. Ratcliff mailto:jratcliff@infiniplex.net
Portions of this source has been released with the PhysXViewer application, as well as Rocket, CreateDynamics, ODF, and as a number of sample code snippets.
If you find this code useful or you are feeling particularily generous I would ask that you please go to http://www.amillionpixels.us and make a donation to Troy DeMolay.
DeMolay is a youth group for young men between the ages of 12 and 21. It teaches strong moral principles, as well as leadership skills and public speaking. The donations page uses the 'pay for pixels' paradigm where, in this case, a pixel is only a single penny. Donations can be made for as small as $4 or as high as a $100 block. Each person who donates will get a link to their own site as well as acknowledgement on the donations blog located here http://www.amillionpixels.blogspot.com/
If you wish to contact me you can use the following methods:
Skype Phone: 636-486-4040 (let it ring a long time while it goes through switches) Skype ID: jratcliff63367 Yahoo: jratcliff63367 AOL: jratcliff1961 email: jratcliff@infiniplex.net Personal website: http://jratcliffscarab.blogspot.com Coding Website: http://codesuppository.blogspot.com FundRaising Blog: http://amillionpixels.blogspot.com Fundraising site: http://www.amillionpixels.us New Temple Site: http://newtemple.blogspot.com
The MIT license:
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Definition at line 82 of file float_math.h.
const double ConvexDecomposition::FM_RAD_TO_DEG = (360.0f / (2.0f * FM_PI)) |
Definition at line 84 of file float_math.h.
double ConvexDecomposition::minadjangle = 3.0f |
Definition at line 2202 of file cd_hull.cpp.
double ConvexDecomposition::planetestepsilon = PAPERWIDTH |
Definition at line 1649 of file cd_hull.cpp.
const double ConvexDecomposition::RAD_TO_DEG = (360.0f / (2.0f * 3.141592654f)) |
Definition at line 80 of file cd_vector.h.
double ConvexDecomposition::tmpp[3] = {0,0,0} |
Definition at line 257 of file vlookup.cpp.
Array<Tri*> ConvexDecomposition::tris [static] |
Definition at line 2390 of file cd_hull.cpp.