geo.c File Reference

#include <stdio.h>
#include <math.h>
#include "geo.h"

Include dependency graph for geo.c:

Go to the source code of this file.

Defines

#define real   double
#define RAD(x)   ((x)*(acos(-1.0)/180.0))
#define dsin(x)   sin(RAD(x))
#define dcos(x)   cos(RAD(x))
#define dtan(x)   tan(RAD(x))

Functions

PFSGeoPredicate PFSGeoIntscPolyLine (line, spar)
void PFSGeoSetTolerance (real tol)
real PFSGeoGetTolerance ()
PFSGeoPredicate PFSGeoIsInsidePoly (poly, spar)
PFSGeoPredicate PFSGeoIsOnPolyBdry (poly, pt)
void PFSGeoGenLine (PFSGeoPoint *pt0, PFSGeoPoint *pt1, line)
void PFSGeoGenPlane (PFSGeoPoint *pt0, PFSGeoPoint *pt1, PFSGeoPoint *pt2, plane)
void PFSGeoGenPlanEqn (PFSGeoPoint *pt0, PFSGeoPoint *pt1, PFSGeoPoint *pt2, plan_eqn)
PFSGeoStatus PFSGeoGenPoly (n_verts, verts, plane)
void PFSGeoEvalLine (par, line, pt)
void PFSGeoEvalPlane (par, plane, pt)
real PFSGeoDotProd (PFSGeoPoint *vec0, PFSGeoPoint *vec1)
void PFSGeoCrossProd (PFSGeoPoint *in0, PFSGeoPoint *in1, PFSGeoPoint *out)
real PFSGeoTripleProd (PFSGeoPoint *vec0, PFSGeoPoint *vec1, PFSGeoPoint *vec2)
PFSGeoPredicate PFSGeoNullVec (vec, tolerance)
real PFSGeoVecLen (vec)
void PFSGeoVecNormalize (vec, n)
real PFSGeoDist (in0, in1)
void PFSGeoDiffVec (PFSGeoPoint *in0, PFSGeoPoint *in1, PFSGeoPoint *out)
void PFSGeoSumVec (PFSGeoPoint *in0, PFSGeoPoint *in1, PFSGeoPoint *out)
void PFSGeoProdScalVec (PFSGeoPoint *in, csi, PFSGeoPoint *out)
void PFSGeoLinCombVec (PFSGeoPoint *in0, real *csi0, PFSGeoPoint *in1, real *csi1, PFSGeoPoint *out)
void PFSGeoRotateX (angle, PFSGeoPoint *in, PFSGeoPoint *out)
void PFSGeoRotateY (angle, PFSGeoPoint *in, PFSGeoPoint *out)
void PFSGeoRotateZ (angle, PFSGeoPoint *in, PFSGeoPoint *out)
void PFSGeoRotateAxis (axis, angle, PFSGeoPoint *in, PFSGeoPoint *out)
PFSGeoStatus PFSGeoIntscLinePlane (line, plane, pt, ptpar, spar)
PFSGeoStatus PFSGeoIntscLinePoly (line, poly, pt, ptpar, spar)
PFSGeoStatus PFSGeoPolyNormal (n_verts, verts, n)
PFSGeoStatus PFSGeoLstSqrPlanEqn (num_pts, pts, plan_eqn)
void PFSGeoClstPtLine (line, PFSGeoPoint *pt, PFSGeoPoint *clst, par)
void PFSGeoClstPtNormPlane (plane, PFSGeoPoint *pt, PFSGeoPoint *clst, spar)
PFSGeoStatus PFSGeoClstPtPoly (poly, PFSGeoPoint *pt, PFSGeoPoint *clst, spar)
PFSGeoPredicate PFSGeoIsOnPlane (pt, pla)
PFSGeoStatus PFSGeoInvert2x2 (a, b)
PFSGeoStatus PFSGeoInvert3x3 (a, b)
PFSGeoStatus PFSGeodInvert3x3 (a, b)
void PFSGeoCentroid (num_pts, pts, cntrd)
PFSGeoStatus PFSGeoPerpLine (PFSGeoLine *pl1, PFSGeoLine *pl2, PFSGeoLine *pl3, PFSGeoPointPar *u, PFSGeoPointPar *v, PFSGeoPointPar *w)
void PFSGeoPtNormToParPlan (PFSGeoPoint *pt, PFSGeoPoint *normal, plane)
void PFSGeoPlanToNormPlan (plane, normplane)
PFSGeoStatus PFSGeo3PointsToNormPlane (in0, in1, in2, plane)
void PFSGeoPlanEqnToParPlan (plan_eqn, plane)
PFSGeoPtTest PFSGeoSideofPlan (plan_eqn, pt)
void PFSGeoSurfInterp (num_pts, map_func, pts_val, interp_val)
void PFSGeoSurfJacob (num_pts, map_deriv_s, map_deriv_t, pts_val, jac)
real PFSGeoAngVecAboutLine (l, PFSGeoPoint *v0, PFSGeoPoint *v1)
real PFSGeoAngPtAboutLine (l, PFSGeoPoint *p0, PFSGeoPoint *p1)
real PFSGeoAngPtAboutPt (pivot, PFSGeoPoint *p0, PFSGeoPoint *p1)
PFSGeoStatus PFSGeoProjVecPlane (vec, plane, proj)
real PFSGeoDistPtNormPlane (plane, pt)
void PFSGeoDyadProd (PFSGeoPoint *vec0, PFSGeoPoint *vec1, matr)
void PFSGeoProdMatrVec (matr, vec0, vec1)

Variables

static real PFSGeoTolerance = 0.0001


Define Documentation

#define dcos ( x   )     cos(RAD(x))

Definition at line 17 of file geo.c.

Referenced by PFSGeoRotateAxis(), PFSGeoRotateX(), PFSGeoRotateY(), and PFSGeoRotateZ().

#define dsin ( x   )     sin(RAD(x))

Definition at line 16 of file geo.c.

Referenced by PFSGeoRotateAxis(), PFSGeoRotateX(), PFSGeoRotateY(), and PFSGeoRotateZ().

#define dtan ( x   )     tan(RAD(x))

Definition at line 18 of file geo.c.

#define RAD ( x   )     ((x)*(acos(-1.0)/180.0))

Definition at line 14 of file geo.c.

#define real   double

Definition at line 9 of file geo.c.

Referenced by PFSGeoAngPtAboutPt(), PFSGeoAngVecAboutLine(), PFSGeoGenPlanEqn(), PFSGeoGenPoly(), PFSGeoIntscLinePlane(), PFSGeoIntscPolyLine(), PFSGeoInvert2x2(), PFSGeoInvert3x3(), PFSGeoIsOnPlane(), PFSGeoIsOnPolyBdry(), PFSGeoLstSqrPlanEqn(), PFSGeoPerpLine(), PFSGeoPlanEqnToParPlan(), PFSGeoPolyNormal(), PFSGeoProjVecPlane(), PFSGeoPtNormToParPlan(), PFSGeoRotateAxis(), PFSGeoRotateX(), PFSGeoRotateY(), PFSGeoRotateZ(), PFSGeoSideofPlan(), and PFSGeoVecNormalize().


Function Documentation

PFSGeoStatus PFSGeo3PointsToNormPlane ( in0  ,
in1  ,
in2  ,
plane   
)

Definition at line 1774 of file geo.c.

References _PFSGeoNormPlane::a, _PFSGeoNormPlane::n, PFSGeoCrossProd(), PFSGeoDiffVec(), PFSGeoInvalid, PFSGeoNullVec(), PFSGeoPlanToNormPlan(), PFSGeoTolerance, PFSGeoValid, _PFSGeoNormPlane::u, and _PFSGeoNormPlane::v.

Here is the call graph for this function:

real PFSGeoAngPtAboutLine ( l  ,
PFSGeoPoint *  p0,
PFSGeoPoint *  p1 
)

Definition at line 1971 of file geo.c.

References PFSGeoAngVecAboutLine(), PFSGeoClstPtLine(), _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Referenced by pfsAddAdjNode().

Here is the call graph for this function:

Here is the caller graph for this function:

real PFSGeoAngPtAboutPt ( pivot  ,
PFSGeoPoint *  p0,
PFSGeoPoint *  p1 
)

Definition at line 1999 of file geo.c.

References _PFSGeoLine::d, _PFSGeoLine::e, PFSGeoAngVecAboutLine(), PFSGeoCrossProd(), PFSGeoDotProd(), PFSGeoNullVec(), PFSGeoTolerance, PFSGeoTrue, real, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Here is the call graph for this function:

real PFSGeoAngVecAboutLine ( l  ,
PFSGeoPoint *  v0,
PFSGeoPoint *  v1 
)

Definition at line 1923 of file geo.c.

References _PFSGeoLine::e, PFSGeoCrossProd(), PFSGeoDotProd(), PFSGeoFalse, PFSGeoNullVec(), PFSGeoTolerance, PFSGeoVecLen(), real, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Referenced by PFSGeoAngPtAboutLine(), and PFSGeoAngPtAboutPt().

Here is the call graph for this function:

Here is the caller graph for this function:

void PFSGeoCentroid ( num_pts  ,
pts  ,
cntrd   
)

Definition at line 1655 of file geo.c.

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

void PFSGeoClstPtLine ( line  ,
PFSGeoPoint *  pt,
PFSGeoPoint *  clst,
par   
)

Definition at line 1168 of file geo.c.

References _PFSGeoLine::d, _PFSGeoLine::e, PFSGeoDotProd(), PFSGeoEvalLine(), _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Referenced by PFSGeoAngPtAboutLine(), and PFSGeoIsOnPolyBdry().

Here is the call graph for this function:

Here is the caller graph for this function:

void PFSGeoClstPtNormPlane ( plane  ,
PFSGeoPoint *  pt,
PFSGeoPoint *  clst,
spar   
)

Definition at line 1186 of file geo.c.

References _PFSGeoNormPlane::a, _PFSGeoNormPlane::n, PFSGeoEvalPlane(), PFSGeoTripleProd(), _PFSGeoNormPlane::u, _PFSGeoSurfPar::u, _PFSGeoSurfPar::v, _PFSGeoNormPlane::v, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Referenced by pfsDistPntCurElem(), PFSGeoClstPtPoly(), PFSGeoDistPtNormPlane(), and pfsInitParams().

Here is the call graph for this function:

Here is the caller graph for this function:

PFSGeoStatus PFSGeoClstPtPoly ( poly  ,
PFSGeoPoint *  pt,
PFSGeoPoint *  clst,
spar   
)

Definition at line 1205 of file geo.c.

References _PFSGeoPoly::nplane, PFSGeoClstPtNormPlane(), PFSGeoInvalid, PFSGeoIsInsidePoly(), PFSGeoIsOnPolyBdry(), PFSGeoTrue, and PFSGeoValid.

Here is the call graph for this function:

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 ( a  ,
b   
)

Definition at line 1620 of file geo.c.

References PFSGeoInvalid, and PFSGeoValid.

real PFSGeoDist ( in0  ,
in1   
)

Definition at line 592 of file geo.c.

References PFSGeoVecLen(), _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Referenced by pfsDistPntCurElem(), PFSGeoDistPtNormPlane(), PFSGeoGenPoly(), PFSGeoIsOnPolyBdry(), PFSGeoPolyNormal(), and pfsLoopShot().

Here is the call graph for this function:

Here is the caller graph for this function:

real PFSGeoDistPtNormPlane ( plane  ,
pt   
)

Definition at line 2060 of file geo.c.

References PFSGeoClstPtNormPlane(), and PFSGeoDist().

Here is the call graph for this function:

real PFSGeoDotProd ( PFSGeoPoint *  vec0,
PFSGeoPoint *  vec1 
)

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 PFSGeoDyadProd ( PFSGeoPoint *  vec0,
PFSGeoPoint *  vec1,
matr   
)

Definition at line 2073 of file geo.c.

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

void PFSGeoEvalLine ( par  ,
line  ,
pt   
)

Definition at line 391 of file geo.c.

References _PFSGeoLine::d, _PFSGeoLine::e, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Referenced by PFSGeoClstPtLine(), PFSGeoIntscLinePlane(), and PFSGeoPerpLine().

Here is the caller graph for this function:

void PFSGeoEvalPlane ( par  ,
plane  ,
pt   
)

Definition at line 403 of file geo.c.

References _PFSGeoPlane::a, _PFSGeoPlane::b, _PFSGeoPlane::c, _PFSGeoSurfPar::u, _PFSGeoSurfPar::v, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Referenced by PFSGeoClstPtNormPlane().

Here is the caller graph for this function:

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

Definition at line 278 of file geo.c.

References _PFSGeoLine::d, _PFSGeoLine::e, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Referenced by PFSGeoIsOnPlane(), and PFSGeoIsOnPolyBdry().

Here is the caller graph for this function:

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

Definition at line 289 of file geo.c.

References _PFSGeoPlane::a, _PFSGeoPlane::b, _PFSGeoPlane::c, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

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

Definition at line 303 of file geo.c.

References _PFSGeoPlanEqn::a, _PFSGeoPlanEqn::b, _PFSGeoPlanEqn::c, _PFSGeoPlanEqn::d, real, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Referenced by PFSGeoLstSqrPlanEqn().

Here is the caller graph for this function:

PFSGeoStatus PFSGeoGenPoly ( n_verts  ,
verts  ,
plane   
)

Definition at line 336 of file geo.c.

References _PFSGeoNormPlane::a, _PFSGeoNormPlane::n, PFSGeoCrossProd(), PFSGeoDist(), PFSGeoInvalid, PFSGeoPolyNormal(), PFSGeoValid, real, _PFSGeoNormPlane::u, _PFSGeoNormPlane::v, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Here is the call graph for this function:

real PFSGeoGetTolerance ( void   ) 

Definition at line 109 of file geo.c.

References PFSGeoTolerance.

PFSGeoStatus PFSGeoIntscLinePlane ( line  ,
plane  ,
pt  ,
ptpar  ,
spar   
)

Definition at line 827 of file geo.c.

References _PFSGeoPlane::a, _PFSGeoPlane::b, _PFSGeoPlane::c, _PFSGeoLine::d, _PFSGeoLine::e, PFSGeoCrossProd(), PFSGeoDotProd(), PFSGeoEvalLine(), PFSGeoInvalid, PFSGeoTolerance, PFSGeoValid, PFSGeoVecLen(), real, size, _PFSGeoSurfPar::u, and _PFSGeoSurfPar::v.

Referenced by PFSGeoIntscLinePoly().

Here is the call graph for this function:

Here is the caller graph for this function:

PFSGeoStatus PFSGeoIntscLinePoly ( line  ,
poly  ,
pt  ,
ptpar  ,
spar   
)

Definition at line 869 of file geo.c.

References _PFSGeoNormPlane::a, _PFSGeoPlane::a, _PFSGeoPlane::b, _PFSGeoPlane::c, _PFSGeoPoly::nplane, PFSGeoIntscLinePlane(), PFSGeoInvalid, PFSGeoIsInsidePoly(), PFSGeoIsOnPolyBdry(), PFSGeoTrue, PFSGeoValid, _PFSGeoNormPlane::u, and _PFSGeoNormPlane::v.

Here is the call graph for this function:

PFSGeoPredicate PFSGeoIntscPolyLine ( line  ,
spar   
)

Definition at line 32 of file geo.c.

References PFSGeoFalse, PFSGeoTrue, real, _PFSGeoSurfPar::u, and _PFSGeoSurfPar::v.

Referenced by PFSGeoIsInsidePoly().

Here is the caller graph for this function:

PFSGeoStatus PFSGeoInvert2x2 ( a  ,
b   
)

Definition at line 1557 of file geo.c.

References PFSGeoInvalid, PFSGeoValid, and real.

PFSGeoStatus PFSGeoInvert3x3 ( a  ,
b   
)

Definition at line 1585 of file geo.c.

References PFSGeoInvalid, PFSGeoValid, and real.

Referenced by PFSGeoPerpLine().

Here is the caller graph for this function:

PFSGeoPredicate PFSGeoIsInsidePoly ( poly  ,
spar   
)

Definition at line 131 of file geo.c.

References PFSGeoDotProd(), PFSGeoFalse, PFSGeoIntscPolyLine(), PFSGeoTrue, _PFSGeoSurfPar::u, _PFSGeoSurfPar::v, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Referenced by PFSGeoClstPtPoly(), and PFSGeoIntscLinePoly().

Here is the call graph for this function:

Here is the caller graph for this function:

PFSGeoPredicate PFSGeoIsOnPlane ( pt  ,
pla   
)

Definition at line 1233 of file geo.c.

References _PFSGeoNormPlane::a, _PFSGeoLine::e, _PFSGeoNormPlane::n, PFSGeoDotProd(), PFSGeoFalse, PFSGeoGenLine(), PFSGeoTolerance, PFSGeoTrue, PFSGeoVecLen(), and real.

Here is the call graph for this function:

PFSGeoPredicate PFSGeoIsOnPolyBdry ( poly  ,
pt   
)

Definition at line 170 of file geo.c.

References PFSGeoClstPtLine(), PFSGeoDist(), PFSGeoFalse, PFSGeoGenLine(), PFSGeoTolerance, PFSGeoTrue, and real.

Referenced by PFSGeoClstPtPoly(), and PFSGeoIntscLinePoly().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 637 of file geo.c.

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

PFSGeoStatus PFSGeoLstSqrPlanEqn ( num_pts  ,
pts  ,
plan_eqn   
)

Definition at line 1000 of file geo.c.

References _PFSGeoPlanEqn::a, _PFSGeoPlanEqn::b, _PFSGeoPlanEqn::c, _PFSGeoPlanEqn::d, PFSGeoCrossProd(), PFSGeoDiffVec(), PFSGeoFalse, PFSGeoGenPlanEqn(), PFSGeoInvalid, PFSGeoNullVec(), PFSGeoTolerance, PFSGeoValid, real, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Here is the call graph for this function:

PFSGeoPredicate PFSGeoNullVec ( vec  ,
tolerance   
)

Definition at line 557 of file geo.c.

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

Referenced by PFSGeo3PointsToNormPlane(), PFSGeoAngPtAboutPt(), PFSGeoAngVecAboutLine(), PFSGeoLstSqrPlanEqn(), PFSGeoPlanEqnToParPlan(), and PFSGeoPtNormToParPlan().

Here is the caller graph for this function:

PFSGeoStatus PFSGeoPerpLine ( PFSGeoLine *  pl1,
PFSGeoLine *  pl2,
PFSGeoLine *  pl3,
PFSGeoPointPar *  u,
PFSGeoPointPar *  v,
PFSGeoPointPar *  w 
)

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 ( plan_eqn  ,
plane   
)

Definition at line 1796 of file geo.c.

References _PFSGeoNormPlane::a, _PFSGeoPlanEqn::a, _PFSGeoPlanEqn::b, _PFSGeoPlanEqn::c, _PFSGeoPlanEqn::d, _PFSGeoNormPlane::n, PFSGeoCrossProd(), PFSGeoNullVec(), PFSGeoTolerance, PFSGeoTrue, PFSGeoVecLen(), real, size, _PFSGeoNormPlane::u, _PFSGeoNormPlane::v, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Here is the call graph for this function:

void PFSGeoPlanToNormPlan ( plane  ,
normplane   
)

Definition at line 1761 of file geo.c.

References _PFSGeoPlane::a, _PFSGeoNormPlane::a, _PFSGeoPlane::b, _PFSGeoPlane::c, _PFSGeoNormPlane::n, PFSGeoCrossProd(), PFSGeoVecNormalize(), _PFSGeoNormPlane::u, and _PFSGeoNormPlane::v.

Referenced by PFSGeo3PointsToNormPlane().

Here is the call graph for this function:

Here is the caller graph for this function:

PFSGeoStatus PFSGeoPolyNormal ( n_verts  ,
verts  ,
n   
)

Definition at line 955 of file geo.c.

References PFSGeoDist(), PFSGeoInvalid, PFSGeoTolerance, PFSGeoValid, PFSGeoVecLen(), real, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Referenced by PFSGeoGenPoly().

Here is the call graph for this function:

Here is the caller graph for this function:

void PFSGeoProdMatrVec ( matr  ,
vec0  ,
vec1   
)

Definition at line 2092 of file geo.c.

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

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

Definition at line 626 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:

PFSGeoStatus PFSGeoProjVecPlane ( vec  ,
plane  ,
proj   
)

Definition at line 2038 of file geo.c.

References _PFSGeoPlane::b, _PFSGeoPlane::c, PFSGeoDotProd(), PFSGeoInvalid, PFSGeoTolerance, PFSGeoValid, real, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Here is the call graph for this function:

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

Definition at line 1717 of file geo.c.

References _PFSGeoNormPlane::a, _PFSGeoNormPlane::n, PFSGeoCrossProd(), PFSGeoNullVec(), PFSGeoTolerance, PFSGeoTrue, PFSGeoVecLen(), real, size, _PFSGeoNormPlane::u, _PFSGeoNormPlane::v, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Here is the call graph for this function:

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

Definition at line 748 of file geo.c.

References dcos, dsin, PFSGeoVecNormalize(), real, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Here is the call graph for this function:

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

Definition at line 709 of file geo.c.

References dcos, dsin, real, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

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

Definition at line 722 of file geo.c.

References dcos, dsin, real, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

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

Definition at line 735 of file geo.c.

References dcos, dsin, real, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

void PFSGeoSetTolerance ( real  tol  ) 

Definition at line 104 of file geo.c.

References PFSGeoTolerance.

PFSGeoPtTest PFSGeoSideofPlan ( plan_eqn  ,
pt   
)

Definition at line 1857 of file geo.c.

References _PFSGeoPlanEqn::a, _PFSGeoPlanEqn::b, _PFSGeoPlanEqn::c, _PFSGeoPlanEqn::d, PFSGeoAbove, PFSGeoBelow, PFSGeoOn, PFSGeoTolerance, real, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

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 ( num_pts  ,
map_func  ,
pts_val  ,
interp_val   
)

Definition at line 1878 of file geo.c.

References _PFSGeoSurfPar::u, and _PFSGeoSurfPar::v.

void PFSGeoSurfJacob ( num_pts  ,
map_deriv_s  ,
map_deriv_t  ,
pts_val  ,
jac   
)

Definition at line 1899 of file geo.c.

References _PFSGeoSurfPar::u, and _PFSGeoSurfPar::v.

real PFSGeoTripleProd ( PFSGeoPoint *  vec0,
PFSGeoPoint *  vec1,
PFSGeoPoint *  vec2 
)

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:

real PFSGeoVecLen ( vec   ) 

Definition at line 569 of file geo.c.

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

Referenced by _surfaceLocalT3Coord(), pfsArea3d(), pfsElemNormal(), pfsFindRefElem(), PFSGeoAngVecAboutLine(), PFSGeoDist(), PFSGeoIntscLinePlane(), PFSGeoIsOnPlane(), PFSGeoPlanEqnToParPlan(), PFSGeoPolyNormal(), PFSGeoPtNormToParPlan(), PFSGeoVecNormalize(), pfsInitParams(), pfsNodeConstrNormal(), pfsNodeNormal(), and pfsUpdateShotLen().

Here is the caller graph for this function:

void PFSGeoVecNormalize ( vec  ,
n   
)

Definition at line 578 of file geo.c.

References PFSGeoVecLen(), real, _PFSGeoPoint::x, _PFSGeoPoint::y, and _PFSGeoPoint::z.

Referenced by _surfaceCurrElemTransfMtx(), _surfaceLocalT3Coord(), pfsDistPntCurElem(), pfsFinishFreeFaceShotLen(), PFSGeoPlanToNormPlan(), PFSGeoRotateAxis(), pfsInitParams(), and pfsUpdateShotLen().

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

real PFSGeoTolerance = 0.0001 [static]

Definition at line 12 of file geo.c.

Referenced by PFSGeo3PointsToNormPlane(), PFSGeoAngPtAboutPt(), PFSGeoAngVecAboutLine(), PFSGeoGetTolerance(), PFSGeoIntscLinePlane(), PFSGeoIsOnPlane(), PFSGeoIsOnPolyBdry(), PFSGeoLstSqrPlanEqn(), PFSGeoPlanEqnToParPlan(), PFSGeoPolyNormal(), PFSGeoProjVecPlane(), PFSGeoPtNormToParPlan(), PFSGeoSetTolerance(), and PFSGeoSideofPlan().


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