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 _PFSGeoPoint PFSGeoPoint
typedef _PFSGeoLine PFSGeoLine
typedef _PFSGeoPlane PFSGeoPlane
typedef _PFSGeoNormPlane PFSGeoNormPlane
typedef _PFSGeoPoly PFSGeoPoly
typedef _PFSGeoPlanEqn PFSGeoPlanEqn
typedef _PFSGeoSurfPoint PFSGeoSurfPoint
typedef double PFSGeoPointPar
typedef _PFSGeoSurfPar PFSGeoSurfPar
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 struct _PFSGeoLine PFSGeoLine

typedef struct _PFSGeoNormPlane PFSGeoNormPlane

typedef struct _PFSGeoPlane PFSGeoPlane

typedef struct _PFSGeoPlanEqn PFSGeoPlanEqn

typedef struct _PFSGeoPoint PFSGeoPoint

typedef double PFSGeoPointPar

Definition at line 46 of file geo.h.

typedef struct _PFSGeoPoly PFSGeoPoly

typedef enum _PFSGeoPredicate PFSGeoPredicate

typedef enum _PFSGeoPtTest PFSGeoPtTest

typedef enum _PFSGeoStatus PFSGeoStatus

typedef struct _PFSGeoSurfPar PFSGeoSurfPar

typedef struct _PFSGeoSurfPoint PFSGeoSurfPoint


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 540 of file geo.c.

References _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Referenced by _surfaceCurrElemTransfMtx(), _surfaceLocalT3Coord(), pfsArea3d(), pfsDistPntCurElem(), PFSGeo3PointsToNormPlane(), PFSGeoAngPtAboutPt(), PFSGeoAngVecAboutLine(), PFSGeoGenPoly(), PFSGeoIntscLinePlane(), PFSGeoLstSqrPlanEqn(), PFSGeoPerpLine(), PFSGeoPlanEqnToParPlan(), PFSGeoPlanToNormPlan(), PFSGeoPtNormToParPlan(), PFSGeoTripleProd(), and pfsInitParams().

Here is the caller graph for this function:

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

Definition at line 605 of file geo.c.

References _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Referenced by _surfaceCurrElemTransfMtx(), _surfaceLocalT3Coord(), pfsDistPntCurElem(), pfsFinishFreeFaceShotLen(), PFSGeo3PointsToNormPlane(), PFSGeoLstSqrPlanEqn(), and pfsUpdateShotLen().

Here is the caller graph for this function:

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 532 of file geo.c.

References _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Referenced by _surfaceLocalT3Coord(), pfsArea3d(), pfsFindRefElem(), PFSGeoAngPtAboutPt(), PFSGeoAngVecAboutLine(), PFSGeoClstPtLine(), PFSGeoIntscLinePlane(), PFSGeoIsInsidePoly(), PFSGeoIsOnPlane(), PFSGeoProjVecPlane(), and PFSGeoTripleProd().

Here is the caller graph for this function:

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 1680 of file geo.c.

References _PFSGeoLine::d, _PFSGeoLine::e, 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 615 of file geo.c.

References _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Referenced by pfsFinishFreeFaceShotLen(), and pfsUpdateShotLen().

Here is the caller graph for this function:

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 548 of file geo.c.

References PFSGeoCrossProd(), and PFSGeoDotProd().

Referenced by PFSGeoClstPtNormPlane().

Here is the call graph for this function:

Here is the caller graph for this function:

double PFSGeoVecLen ( PFSGeoPoint *  vec  ) 

void PFSGeoVecNormalize ( PFSGeoPoint *  vec,
PFSGeoPoint *  n 
)


Generated on Fri Oct 5 15:55:05 2007 for ReconMS by  doxygen 1.5.1