geo.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  PFSGeoPoint
struct  PFSGeoLine
struct  PFSGeoPlane
struct  PFSGeoNormPlane
struct  PFSGeoPoly
struct  PFSGeoPlanEqn
struct  PFSGeoSurfPoint
struct  PFSGeoSurfPar

Typedefs

typedef double PFSGeoPointPar
typedef enum
_PFSGeoStatus 
PFSGeoStatus
typedef enum
_PFSGeoPredicate 
PFSGeoPredicate
typedef enum
_PFSGeoPtTest 
PFSGeoPtTest

Enumerations

enum  _PFSGeoStatus { PFSGeoInvalid, PFSGeoValid }
enum  _PFSGeoPredicate { PFSGeoFalse, PFSGeoTrue }
enum  _PFSGeoPtTest { PFSGeoAbove, PFSGeoOn, PFSGeoBelow }

Functions

void PFSGeoSetTolerance (double tol)
double PFSGeoGetTolerance (void)
PFSGeoPredicate PFSGeoIntscPolyLine (PFSGeoSurfPar *line, PFSGeoSurfPar *spar)
PFSGeoPredicate PFSGeoIsInsidePoly (PFSGeoPoly *poly, PFSGeoSurfPar *spar)
PFSGeoPredicate PFSGeoIsOnPolyBdry (PFSGeoPoly *poly, PFSGeoPoint *pt)
void PFSGeoGenLine (PFSGeoPoint *pt0, PFSGeoPoint *pt1, PFSGeoLine *line)
void PFSGeoGenPlane (PFSGeoPoint *pt0, PFSGeoPoint *pt1, PFSGeoPoint *pt2, PFSGeoPlane *plane)
void PFSGeoGenPlanEqn (PFSGeoPoint *pt0, PFSGeoPoint *pt1, PFSGeoPoint *pt2, PFSGeoPlanEqn *plan_eqn)
PFSGeoStatus PFSGeoGenPoly (int *n_verts, PFSGeoPoint *verts, PFSGeoNormPlane *plane)
void PFSGeoEvalLine (PFSGeoPointPar *par, PFSGeoLine *line, PFSGeoPoint *pt)
void PFSGeoEvalPlane (PFSGeoSurfPar *par, PFSGeoPlane *pln, PFSGeoPoint *pt)
double PFSGeoDotProd (PFSGeoPoint *in0, PFSGeoPoint *in1)
void PFSGeoCrossProd (PFSGeoPoint *in0, PFSGeoPoint *in1, PFSGeoPoint *out)
double PFSGeoTripleProd (PFSGeoPoint *in0, PFSGeoPoint *in1, PFSGeoPoint *in2)
double PFSGeoVecLen (PFSGeoPoint *vec)
void PFSGeoVecNormalize (PFSGeoPoint *vec, PFSGeoPoint *n)
double PFSGeoDist (PFSGeoPoint *in0, PFSGeoPoint *in1)
PFSGeoPredicate PFSGeoNullVec (PFSGeoPoint *vec, double *tolerance)
void PFSGeoDiffVec (PFSGeoPoint *in0, PFSGeoPoint *in1, PFSGeoPoint *out)
void PFSGeoSumVec (PFSGeoPoint *in0, PFSGeoPoint *in1, PFSGeoPoint *out)
void PFSGeoProdScalVec (PFSGeoPoint *in, double *csi, PFSGeoPoint *out)
void PFSGeoLinCombVec (PFSGeoPoint *in0, double *csi0, PFSGeoPoint *in1, double *csi1, PFSGeoPoint *out)
void PFSGeoRotateX (double *angle, PFSGeoPoint *in, PFSGeoPoint *out)
void PFSGeoRotateY (double *angle, PFSGeoPoint *in, PFSGeoPoint *out)
void PFSGeoRotateZ (double *angle, PFSGeoPoint *in, PFSGeoPoint *out)
void PFSGeoRotateAxis (PFSGeoPoint *axis, double *angle, PFSGeoPoint *in, PFSGeoPoint *out)
PFSGeoStatus PFSGeoIntscLinePlane (PFSGeoLine *line, PFSGeoPlane *plane, PFSGeoPoint *pt, PFSGeoPointPar *ptpar, PFSGeoSurfPar *spar)
PFSGeoStatus PFSGeoIntscLinePoly (PFSGeoLine *line, PFSGeoPoly *poly, PFSGeoPoint *pt, PFSGeoPointPar *ptpar, PFSGeoSurfPar *spar)
PFSGeoStatus PFSGeoPolyNormal (int *n_verts, PFSGeoPoint *verts, PFSGeoPoint *norm)
PFSGeoStatus PFSGeoLstSqrPlanEqn (int *num_pts, PFSGeoPoint *pts, PFSGeoPlanEqn *plan_eqn)
void PFSGeoClstPtLine (PFSGeoLine *line, PFSGeoPoint *pt, PFSGeoPoint *clst, PFSGeoPointPar *par)
void PFSGeoClstPtNormPlane (PFSGeoNormPlane *plane, PFSGeoPoint *pt, PFSGeoPoint *clst, PFSGeoSurfPar *spar)
PFSGeoStatus PFSGeoClstPtPoly (PFSGeoPoly *poly, PFSGeoPoint *pt, PFSGeoPoint *clst, PFSGeoSurfPar *spar)
PFSGeoPredicate PFSGeoIsOnPlane (PFSGeoPoint *pt, PFSGeoNormPlane *pla)
PFSGeoStatus PFSGeoInvert2x2 (double a[2][2], double b[2][2])
PFSGeoStatus PFSGeoInvert3x3 (double a[3][3], double b[3][3])
PFSGeoStatus PFSGeodInvert3x3 (double a[3][3], double b[3][3])
void PFSGeoCentroid (int *num_pts, PFSGeoPoint *pts, PFSGeoPoint *cntrd)
PFSGeoStatus PFSGeoPerpLine (PFSGeoLine *in0, PFSGeoLine *in1, PFSGeoLine *out, PFSGeoPointPar *par0, PFSGeoPointPar *par1, PFSGeoPointPar *parout)
void PFSGeoPtNormToParPlan (PFSGeoPoint *pt, PFSGeoPoint *normal, PFSGeoNormPlane *plane)
void PFSGeoPlanToNormPlan (PFSGeoPlane *plane, PFSGeoNormPlane *normplane)
PFSGeoStatus PFSGeo3PointsToNormPlane (PFSGeoPoint *in0, PFSGeoPoint *in1, PFSGeoPoint *in2, PFSGeoNormPlane *plane)
void PFSGeoPlanEqnToParPlan (PFSGeoPlanEqn *plan_eqn, PFSGeoNormPlane *plane)
PFSGeoPtTest PFSGeoSideofPlan (PFSGeoPlanEqn *plan_eqn, PFSGeoPoint *pt)
void PFSGeoSurfInterp (int *num_pts, double *map_func, PFSGeoSurfPar *pts_val, PFSGeoSurfPar *interp_val)
void PFSGeoSurfJacob (int *num_pts, double *map_deriv_s, double *map_deriv_t, PFSGeoSurfPar *pts_val, double jac[2][2])
double PFSGeoAngVecAboutLine (PFSGeoLine *l, PFSGeoPoint *v0, PFSGeoPoint *v1)
double PFSGeoAngPtAboutLine (PFSGeoLine *l, PFSGeoPoint *p0, PFSGeoPoint *p1)
double PFSGeoAngPtAboutPt (PFSGeoPoint *pivot, PFSGeoPoint *p0, PFSGeoPoint *p1)
PFSGeoStatus PFSGeoProjVecPlane (PFSGeoPoint *vec, PFSGeoPlane *plane, PFSGeoPoint *proj)
double PFSGeoDistPtNormPlane (PFSGeoNormPlane *plane, PFSGeoPoint *pt)


Typedef Documentation

typedef double PFSGeoPointPar

Definition at line 46 of file geo.h.

typedef enum _PFSGeoPredicate PFSGeoPredicate

typedef enum _PFSGeoPtTest PFSGeoPtTest

typedef enum _PFSGeoStatus PFSGeoStatus


Enumeration Type Documentation

enum _PFSGeoPredicate

Enumerator:
PFSGeoFalse 
PFSGeoTrue 

Definition at line 52 of file geo.h.

enum _PFSGeoPtTest

Enumerator:
PFSGeoAbove 
PFSGeoOn 
PFSGeoBelow 

Definition at line 54 of file geo.h.

enum _PFSGeoStatus

Enumerator:
PFSGeoInvalid 
PFSGeoValid 

Definition at line 50 of file geo.h.


Function Documentation

PFSGeoStatus PFSGeo3PointsToNormPlane ( PFSGeoPoint in0,
PFSGeoPoint in1,
PFSGeoPoint in2,
PFSGeoNormPlane plane 
)

double PFSGeoAngPtAboutLine ( PFSGeoLine l,
PFSGeoPoint p0,
PFSGeoPoint p1 
)

double PFSGeoAngPtAboutPt ( PFSGeoPoint pivot,
PFSGeoPoint p0,
PFSGeoPoint p1 
)

double PFSGeoAngVecAboutLine ( PFSGeoLine l,
PFSGeoPoint v0,
PFSGeoPoint v1 
)

void PFSGeoCentroid ( int *  num_pts,
PFSGeoPoint pts,
PFSGeoPoint cntrd 
)

void PFSGeoClstPtLine ( PFSGeoLine line,
PFSGeoPoint pt,
PFSGeoPoint clst,
PFSGeoPointPar par 
)

void PFSGeoClstPtNormPlane ( PFSGeoNormPlane plane,
PFSGeoPoint pt,
PFSGeoPoint clst,
PFSGeoSurfPar spar 
)

PFSGeoStatus PFSGeoClstPtPoly ( PFSGeoPoly poly,
PFSGeoPoint pt,
PFSGeoPoint clst,
PFSGeoSurfPar spar 
)

void PFSGeoCrossProd ( PFSGeoPoint in0,
PFSGeoPoint in1,
PFSGeoPoint out 
)

Definition at line 539 of file geo.c.

void PFSGeoDiffVec ( PFSGeoPoint in0,
PFSGeoPoint in1,
PFSGeoPoint out 
)

Definition at line 604 of file geo.c.

PFSGeoStatus PFSGeodInvert3x3 ( double  a[3][3],
double  b[3][3] 
)

double PFSGeoDist ( PFSGeoPoint in0,
PFSGeoPoint in1 
)

double PFSGeoDistPtNormPlane ( PFSGeoNormPlane plane,
PFSGeoPoint pt 
)

double PFSGeoDotProd ( PFSGeoPoint in0,
PFSGeoPoint in1 
)

Definition at line 531 of file geo.c.

void PFSGeoEvalLine ( PFSGeoPointPar par,
PFSGeoLine line,
PFSGeoPoint pt 
)

void PFSGeoEvalPlane ( PFSGeoSurfPar par,
PFSGeoPlane pln,
PFSGeoPoint pt 
)

void PFSGeoGenLine ( PFSGeoPoint pt0,
PFSGeoPoint pt1,
PFSGeoLine line 
)

void PFSGeoGenPlane ( PFSGeoPoint pt0,
PFSGeoPoint pt1,
PFSGeoPoint pt2,
PFSGeoPlane plane 
)

void PFSGeoGenPlanEqn ( PFSGeoPoint pt0,
PFSGeoPoint pt1,
PFSGeoPoint pt2,
PFSGeoPlanEqn plan_eqn 
)

PFSGeoStatus PFSGeoGenPoly ( int *  n_verts,
PFSGeoPoint verts,
PFSGeoNormPlane plane 
)

double PFSGeoGetTolerance ( void   ) 

Definition at line 109 of file geo.c.

References PFSGeoTolerance.

PFSGeoStatus PFSGeoIntscLinePlane ( PFSGeoLine line,
PFSGeoPlane plane,
PFSGeoPoint pt,
PFSGeoPointPar ptpar,
PFSGeoSurfPar spar 
)

PFSGeoStatus PFSGeoIntscLinePoly ( PFSGeoLine line,
PFSGeoPoly poly,
PFSGeoPoint pt,
PFSGeoPointPar ptpar,
PFSGeoSurfPar spar 
)

PFSGeoPredicate PFSGeoIntscPolyLine ( PFSGeoSurfPar line,
PFSGeoSurfPar spar 
)

PFSGeoStatus PFSGeoInvert2x2 ( double  a[2][2],
double  b[2][2] 
)

PFSGeoStatus PFSGeoInvert3x3 ( double  a[3][3],
double  b[3][3] 
)

PFSGeoPredicate PFSGeoIsInsidePoly ( PFSGeoPoly poly,
PFSGeoSurfPar spar 
)

PFSGeoPredicate PFSGeoIsOnPlane ( PFSGeoPoint pt,
PFSGeoNormPlane pla 
)

PFSGeoPredicate PFSGeoIsOnPolyBdry ( PFSGeoPoly poly,
PFSGeoPoint pt 
)

void PFSGeoLinCombVec ( PFSGeoPoint in0,
double *  csi0,
PFSGeoPoint in1,
double *  csi1,
PFSGeoPoint out 
)

PFSGeoStatus PFSGeoLstSqrPlanEqn ( int *  num_pts,
PFSGeoPoint pts,
PFSGeoPlanEqn plan_eqn 
)

PFSGeoPredicate PFSGeoNullVec ( PFSGeoPoint vec,
double *  tolerance 
)

PFSGeoStatus PFSGeoPerpLine ( PFSGeoLine in0,
PFSGeoLine in1,
PFSGeoLine out,
PFSGeoPointPar par0,
PFSGeoPointPar par1,
PFSGeoPointPar parout 
)

Definition at line 1679 of file geo.c.

References PFSGeoCrossProd(), PFSGeoEvalLine(), PFSGeoInvalid, PFSGeoInvert3x3(), PFSGeoValid, real, PFSGeoPoint::x, PFSGeoPoint::y, and PFSGeoPoint::z.

Here is the call graph for this function:

void PFSGeoPlanEqnToParPlan ( PFSGeoPlanEqn plan_eqn,
PFSGeoNormPlane plane 
)

void PFSGeoPlanToNormPlan ( PFSGeoPlane plane,
PFSGeoNormPlane normplane 
)

PFSGeoStatus PFSGeoPolyNormal ( int *  n_verts,
PFSGeoPoint verts,
PFSGeoPoint norm 
)

void PFSGeoProdScalVec ( PFSGeoPoint in,
double *  csi,
PFSGeoPoint out 
)

PFSGeoStatus PFSGeoProjVecPlane ( PFSGeoPoint vec,
PFSGeoPlane plane,
PFSGeoPoint proj 
)

void PFSGeoPtNormToParPlan ( PFSGeoPoint pt,
PFSGeoPoint normal,
PFSGeoNormPlane plane 
)

void PFSGeoRotateAxis ( PFSGeoPoint axis,
double *  angle,
PFSGeoPoint in,
PFSGeoPoint out 
)

void PFSGeoRotateX ( double *  angle,
PFSGeoPoint in,
PFSGeoPoint out 
)

void PFSGeoRotateY ( double *  angle,
PFSGeoPoint in,
PFSGeoPoint out 
)

void PFSGeoRotateZ ( double *  angle,
PFSGeoPoint in,
PFSGeoPoint out 
)

void PFSGeoSetTolerance ( double  tol  ) 

PFSGeoPtTest PFSGeoSideofPlan ( PFSGeoPlanEqn plan_eqn,
PFSGeoPoint pt 
)

void PFSGeoSumVec ( PFSGeoPoint in0,
PFSGeoPoint in1,
PFSGeoPoint out 
)

Definition at line 614 of file geo.c.

void PFSGeoSurfInterp ( int *  num_pts,
double *  map_func,
PFSGeoSurfPar pts_val,
PFSGeoSurfPar interp_val 
)

void PFSGeoSurfJacob ( int *  num_pts,
double *  map_deriv_s,
double *  map_deriv_t,
PFSGeoSurfPar pts_val,
double  jac[2][2] 
)

double PFSGeoTripleProd ( PFSGeoPoint in0,
PFSGeoPoint in1,
PFSGeoPoint in2 
)

Definition at line 547 of file geo.c.

References PFSGeoCrossProd(), and PFSGeoDotProd().

Here is the call graph for this function:

double PFSGeoVecLen ( PFSGeoPoint vec  ) 

void PFSGeoVecNormalize ( PFSGeoPoint vec,
PFSGeoPoint n 
)


Generated on Tue Oct 23 11:23:55 2007 for Relax by  doxygen 1.5.3