Defines | Functions

geom3f.c File Reference

#include <string.h>
#include <math.h>
#include "pknum.h"
#include "pkgeom.h"
Include dependency graph for geom3f.c:

Defines

#define eps   1.0e-6
#define tol   1.0e-15
#define tol   1.0e-15

Functions

void SetPoint3f (point3f *p, float x, float y, float z)
void Point3to2f (const point3f *P, point2f *p)
void Point2to3f (const point2f *p, float w, point3f *P)
void TransPoint3f (const trans3f *tr, const point3f *p, point3f *q)
void TransVector3f (const trans3f *tr, const vector3f *v, vector3f *w)
void TransContra3f (const trans3f *tri, const vector3f *v, vector3f *w)
void Trans3Point2f (const trans3f *tr, const point2f *p, point2f *q)
void Trans3Shiftf (trans3f *tr, float tx, float ty, float tz)
void Trans3Mirrorf (trans3f *tr, vector3f *n)
void Trans3Rotf (trans3f *tr, byte j, byte k, float angle)
void Trans3RotVf (trans3f *tr, vector3f *v, float angle)
void Trans3Scalef (trans3f *tr, float sx, float sy, float sz)
void IdentTrans3f (trans3f *tr)
void CompTrans3f (trans3f *s, trans3f *t, trans3f *u)
void GeneralAffineTrans3f (trans3f *tr, vector3f *v1, vector3f *v2, vector3f *v3)
void ShiftTrans3f (trans3f *tr, float tx, float ty, float tz)
void MirrorTrans3f (trans3f *tr, vector3f *n)
void RotTrans3f (trans3f *tr, byte j, byte k, float angle)
void EulerRotTrans3f (trans3f *tr, float psi, float theta, float phi)
void FindRotVEulerf (const vector3f *v, float angle, float *psi, float *theta, float *phi)
void RotVTrans3f (trans3f *tr, vector3f *v, float angle)
void ScaleTrans3f (trans3f *tr, float sx, float sy, float sz)
boolean InvertTrans3f (trans3f *tr)
float TrimAnglef (float angle)
void CompEulerRotf (float psi1, float theta1, float phi1, float psi2, float theta2, float phi2, float *psi, float *theta, float *phi)
void CompRotV3f (const vector3f *v1, float a1, const vector3f *v2, float a2, vector3f *v, float *a)
void MultVector3f (double a, const vector3f *v, vector3f *w)
void SubtractPoints3f (const point3f *p1, const point3f *p2, vector3f *v)
void AddVector3f (const point3f *p, const vector3f *v, point3f *q)
void AddVector3Mf (const point3f *p, const vector3f *v, double t, point3f *q)
void InterPoint3f (const point3f *p1, const point3f *p2, double t, point3f *q)
void MidPoint3f (const point3f *p1, const point3f *p2, point3f *q)
void Interp3Vectors3f (const vector3f *p0, const vector3f *p1, const vector3f *p2, const float *coeff, vector3f *p)
void NormalizeVector3f (vector3f *v)
double DotProduct3f (const vector3f *v1, const vector3f *v2)
void CrossProduct3f (const vector3f *v1, const vector3f *v2, vector3f *v)
void AddCrossProduct3f (const vector3f *w, const vector3f *v1, const vector3f *v2, vector3f *v)
double det3f (const vector3f *v1, const vector3f *v2, const vector3f *v3)
void OrtVector3f (const vector3f *v1, const vector3f *v2, vector3f *v)
void ProjectPointOnLine3f (const point3f *p0, const point3f *p1, point3f *q)
void ProjectPointOnPlane3f (const point3f *p0, const point3f *p1, const point3f *p2, point3f *q)
double Point3Distancef (point3f *p, point3f *q)

Define Documentation

#define eps   1.0e-6
#define tol   1.0e-15
#define tol   1.0e-15

Function Documentation

void AddCrossProduct3f ( const vector3f w,
const vector3f v1,
const vector3f v2,
vector3f v 
)
void AddVector3f ( const point3f p,
const vector3f v,
point3f q 
)
void AddVector3Mf ( const point3f p,
const vector3f v,
double  t,
point3f q 
)
void CompEulerRotf ( float  psi1,
float  theta1,
float  phi1,
float  psi2,
float  theta2,
float  phi2,
float *  psi,
float *  theta,
float *  phi 
)
void CompRotV3f ( const vector3f v1,
float  a1,
const vector3f v2,
float  a2,
vector3f v,
float *  a 
)
void CompTrans3f ( trans3f s,
trans3f t,
trans3f u 
)
void CrossProduct3f ( const vector3f v1,
const vector3f v2,
vector3f v 
)
double det3f ( const vector3f v1,
const vector3f v2,
const vector3f v3 
)
double DotProduct3f ( const vector3f v1,
const vector3f v2 
)
void EulerRotTrans3f ( trans3f tr,
float  psi,
float  theta,
float  phi 
)
void FindRotVEulerf ( const vector3f v,
float  angle,
float *  psi,
float *  theta,
float *  phi 
)
void GeneralAffineTrans3f ( trans3f tr,
vector3f v1,
vector3f v2,
vector3f v3 
)
void IdentTrans3f ( trans3f tr  ) 
void Interp3Vectors3f ( const vector3f p0,
const vector3f p1,
const vector3f p2,
const float *  coeff,
vector3f p 
)
void InterPoint3f ( const point3f p1,
const point3f p2,
double  t,
point3f q 
)
boolean InvertTrans3f ( trans3f tr  ) 
void MidPoint3f ( const point3f p1,
const point3f p2,
point3f q 
)
void MirrorTrans3f ( trans3f tr,
vector3f n 
)
void MultVector3f ( double  a,
const vector3f v,
vector3f w 
)
void NormalizeVector3f ( vector3f v  ) 
void OrtVector3f ( const vector3f v1,
const vector3f v2,
vector3f v 
)
void Point2to3f ( const point2f p,
float  w,
point3f P 
)
double Point3Distancef ( point3f p,
point3f q 
)
void Point3to2f ( const point3f P,
point2f p 
)
void ProjectPointOnLine3f ( const point3f p0,
const point3f p1,
point3f q 
)
void ProjectPointOnPlane3f ( const point3f p0,
const point3f p1,
const point3f p2,
point3f q 
)
void RotTrans3f ( trans3f tr,
byte  j,
byte  k,
float  angle 
)
void RotVTrans3f ( trans3f tr,
vector3f v,
float  angle 
)
void ScaleTrans3f ( trans3f tr,
float  sx,
float  sy,
float  sz 
)
void SetPoint3f ( point3f p,
float  x,
float  y,
float  z 
)
void ShiftTrans3f ( trans3f tr,
float  tx,
float  ty,
float  tz 
)
void SubtractPoints3f ( const point3f p1,
const point3f p2,
vector3f v 
)
void Trans3Mirrorf ( trans3f tr,
vector3f n 
)
void Trans3Point2f ( const trans3f tr,
const point2f p,
point2f q 
)
void Trans3Rotf ( trans3f tr,
byte  j,
byte  k,
float  angle 
)
void Trans3RotVf ( trans3f tr,
vector3f v,
float  angle 
)
void Trans3Scalef ( trans3f tr,
float  sx,
float  sy,
float  sz 
)
void Trans3Shiftf ( trans3f tr,
float  tx,
float  ty,
float  tz 
)
void TransContra3f ( const trans3f tri,
const vector3f v,
vector3f w 
)
void TransPoint3f ( const trans3f tr,
const point3f p,
point3f q 
)
void TransVector3f ( const trans3f tr,
const vector3f v,
vector3f w 
)
float TrimAnglef ( float  angle  )