“30” “30”](http://www.ees.lanl.gov/staff/rao/mstkla/mstkla.md#UTILITIES:) “30” “30”](http://www.ees.lanl.gov/staff/rao/mstkla/GeomVertex.md) “30” “30”](http://www.ees.lanl.gov/staff/rao/mstkla/example.md)
“169” “131”
UTILITIES:
void ReportError(char modulename, *char message, *ErrType severity);
Report an error message. The severity may be specified as
MESSG: Print a message to the screen
WARNING: Print message with additional attention grabbing text
ERROR: Print message with additional attention grabbing text
FATAL: Print attention grabbing message and exit.
“31” “12” VECTOR FUNCTIONS:
void vdiff(double a, *double b, *double *a_minus_b);
void vsum(double a, *double b, *double *a_plus_b);
double vmag2(double *v);
double vmag(double *v);
void vcross(double a, *double b, *double *a_cross_b);
double vdot(double a, *double *b);
void vnorm(double a, *double *unita);
“31” “12”REAL NUMBER COMPARISON FUNCTIONS:
int REAL_le(double a, double b);
int REAL_ge(double a, double b);
int REAL_eq(double a, double b);
“31” “12” COMP GEOM FUNCTIONS:
int pntInTriangle2(double pnt, *double ( tri)[3], *double tol, int flag, int mtype, *int *locID);
Check if a point that is guaranteed to be in the plane of a triangle is inside the triangle itself.
If flag = 1, check if point is strictly inside
flag = 0, check if point is inside or on the boundary within a real tolerance ‘tol’
Return value = 1 (inside), 0 (outside), -1 (on boundary)
If point is on the boundary, mtype indicates type of entity it is on
locID indicates the local ID number of the vertex or edge it is on
int pntInTet(double pnt, *double ( tet)[3], *double tol, int flag, int mtype, *int *locID);
Check if a point is inside a tet
If flag = 1, check if point is strictly inside
flag = 0, check if point is inside or on the booundary
within a real tolerance ‘tol’
Return value = 1 (inside), 0 (outside), -1 (on boundary)
If point is on the boundary, mtype indicates type of entity it is on
locID indicates the local ID number of the vertex or edge it is on
void Tri_CircumCen(double ( xyz)[3], *double *cen);
double Tri_Area(double ( *xyz)[3]);
void Tri_Normal(double ( xyz)[3], *double *normal);
double Tet_Volume(double ( *xyz)[3]);
void Tet_CircumCen(double ( xyz)[3], *double *cen);
“30” “30”](http://www.ees.lanl.gov/staff/rao/mstkla/mstkla.md#UTILITIES:) “30” “30”](http://www.ees.lanl.gov/staff/rao/mstkla/GeomVertex.md) “30” “30”](http://www.ees.lanl.gov/staff/rao/mstkla/example.md)