Go to the source code of this file.
Typedefs | |
typedef double(* | test_vol_fn )(const PointSet3d *ps, const Tet3d &A, const Tet3d &B) |
Functions | |
double | test_vol_mgc (const PointSet3d *ps, const Tet3d &A, const Tet3d &B) |
double | test_vol_planes (const PointSet3d *ps, const Tet3d &A, const Tet3d &B) |
double | test_vol_nop (const PointSet3d *ps, const Tet3d &A, const Tet3d &B) |
double | randFloat (void) |
Spit out a random floating point number, uniform on [0,1]. | |
CkVector3d | randPoint (void) |
Spit out a random 3-vector, uniform over the unit cube. | |
CkVector3d | randPlane (void) |
Spit out a random 3-vector, uniform over a skew plane. | |
Tet3d | randTet (int tetType, PointSet3d *ps) |
void | matchTest (int firstTest, int lastTest) |
double | timePer (test_vol_fn fn, int nTest, int degen) |
Return the time per intersection for nTest iterations of this volume function. | |
void | timeTest (const char *desc, test_vol_fn fn, int nTest, int degen) |
int | main (int argc, char *argv[]) |
Variables | |
const int | tetTypes = 6 |
typedef double(* test_vol_fn)(const PointSet3d *ps, const Tet3d &A, const Tet3d &B) |
Definition at line 17 of file test_vol.C.
double test_vol_mgc | ( | const PointSet3d * | ps, | |
const Tet3d & | A, | |||
const Tet3d & | B | |||
) |
Definition at line 11 of file test_vol_mgc.C.
References Mgc::FindIntersection(), cg3d::PointSet3d::getPoint(), cg3d::Shape3d::getPointIndex(), CkVector3dT< real >::x, CkVector3dT< real >::y, and CkVector3dT< real >::z.
Referenced by main(), and matchTest().
double test_vol_planes | ( | const PointSet3d * | ps, | |
const Tet3d & | A, | |||
const Tet3d & | B | |||
) |
Definition at line 13 of file test_vol_planes.C.
References computeVolumePlanes(), CkHalfspace3d::d, cg3d::Shape3d::getHalfspace(), and CkHalfspace3d::n.
Referenced by main(), and matchTest().
double test_vol_nop | ( | const PointSet3d * | ps, | |
const Tet3d & | A, | |||
const Tet3d & | B | |||
) |
Definition at line 13 of file test_vol.C.
Referenced by timeTest().
double randFloat | ( | void | ) |
Spit out a random floating point number, uniform on [0,1].
Definition at line 21 of file test_vol.C.
References float.
CkVector3d randPoint | ( | void | ) |
Spit out a random 3-vector, uniform over the unit cube.
Definition at line 26 of file test_vol.C.
References randFloat().
CkVector3d randPlane | ( | void | ) |
Spit out a random 3-vector, uniform over a skew plane.
This ensures a large number of degeneracies.
Definition at line 32 of file test_vol.C.
References randFloat().
Tet3d randTet | ( | int | tetType, | |
PointSet3d * | ps | |||
) | [inline] |
Definition at line 48 of file test_vol.C.
References C, randPlane(), randPoint(), PUP::t, cg3d::testShape(), and tetVolume().
Definition at line 75 of file test_vol.C.
References CmiAbort(), int, randFloat(), randTet(), test_vol_mgc(), test_vol_planes(), and tetTypes.
Referenced by main().
double timePer | ( | test_vol_fn | fn, | |
int | nTest, | |||
int | degen | |||
) |
Return the time per intersection for nTest iterations of this volume function.
Definition at line 107 of file test_vol.C.
References int, randFloat(), and randTet().
Referenced by timeTest().
void timeTest | ( | const char * | desc, | |
test_vol_fn | fn, | |||
int | nTest, | |||
int | degen | |||
) |
Definition at line 124 of file test_vol.C.
References test_vol_nop(), and timePer().
Referenced by main().
Definition at line 130 of file test_vol.C.
References matchTest(), test_vol_mgc(), test_vol_planes(), and timeTest().
Definition at line 45 of file test_vol.C.