Files
LaGriT/docs/pages/mstkla/utilities.md
2025-12-17 11:00:57 +08:00

5.9 KiB
Executable File

GENERATOR
GENERATOR
Mozilla/4.05C-SGI [en] (X11; I; IRIX64 6.5 IP28) [Netscape]

 "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)