Data Structures | Defines | Typedefs | Functions

pkgeomf.h File Reference

#include "pkvaria.h"
Include dependency graph for pkgeomf.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  trans2f
struct  Box2f
union  trans3f
struct  Box3f
struct  ray3f
struct  ConvexCone2f

Defines

#define SetVector2f(v, x, y)   SetPoint2f ( v, x, y )
#define SetVector3f(v, x, y, z)   SetPoint3f ( v, x, y, z )
#define Trans3RotXf(tr, angle)   Trans3Rotf ( tr, 2, 3, angle )
#define Trans3RotYTf(tr, angle)   Trans3Rotf ( tr, 3, 1, angle )
#define Trans3RotZTf(tr, angle)   Trans3Rotf ( tr, 1, 2, angle )
#define RotXTrans3f(tr, angle)   RotTrans3f ( tr, 2, 3, angle )
#define RotYTrans3f(tr, angle)   RotTrans3f ( tr, 3, 1, angle )
#define RotZTrans3f(tr, angle)   RotTrans3f ( tr, 1, 2, angle )
#define SetVector4f(v, X, Y, Z, W)   SetPoint4f ( v, X, Y, Z, W )
#define SetQuaternionf(q, a, x, y, z)   SetVector4f ( q, x, y, z, a )
#define AddQuaternionsf   AddVectors4f

Typedefs

typedef union trans2f trans2f
typedef struct Box2f Box2f
typedef union trans3f trans3f
typedef struct Box3f Box3f
typedef struct ray3f ray3f
typedef vector4f quaternionf

Functions

void SetPoint2f (point2f *p, float x, float y)
void TransPoint2f (const trans2f *tr, const point2f *p, point2f *q)
void TransVector2f (const trans2f *tr, const vector2f *p, vector2f *q)
void IdentTrans2f (trans2f *tr)
void CompTrans2f (trans2f *s, trans2f *t, trans2f *u)
void ShiftTrans2f (trans2f *tr, float tx, float ty)
void RotTrans2f (trans2f *tr, float angle)
void ScaleTrans2f (trans2f *tr, float sx, float sy)
void Trans2Shiftf (trans2f *tr, float tx, float ty)
void Trans2Rotf (trans2f *tr, float angle)
void Trans2Scalef (trans2f *tr, float sx, float sy)
boolean InvertTrans2f (trans2f *tr)
void MultVector2f (double a, const vector2f *v, vector2f *w)
void SubtractPoints2f (const point2f *p1, const point2f *p2, vector2f *v)
void AddVector2f (const point2f *p, const vector2f *v, point2f *q)
void AddVector2Mf (const point2f *p, const vector2f *v, double t, point2f *q)
void InterPoint2f (const point2f *p1, const point2f *p2, double t, point2f *q)
void Interp3Vectors2f (const vector2f *p0, const vector2f *p1, const vector2f *p2, const float *coeff, vector2f *p)
void NormalizeVector2f (vector2f *v)
void MidPoint2f (const point2f *p1, const point2f *p2, point2f *q)
double DotProduct2f (const vector2f *v1, const vector2f *v2)
double det2f (const vector2f *v1, const vector2f *v2)
void OrtVector2f (const vector2f *v1, const vector2f *v2, vector2f *v)
void ProjectPointOnLine2f (const point2f *p0, const point2f *p1, point2f *q)
double Point2Distancef (point2f *p, point2f *q)
short ExtendConvexCone2f (ConvexCone2f *cone, float a)
short ExtendConvexCone2fv (ConvexCone2f *cone, vector2f *v)
boolean InsideConvexCone2f (ConvexCone2f *cone, float a)
void Trans2Point3f (const trans2f *tr, const point3f *p, point3f *q)
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 Point4to2f (const point4f *P, point2f *p)
void Point2to4f (const point2f *p, float w, point4f *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 Trans3Point4f (const trans3f *tr, const point4f *p, point4f *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)
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)
void SetPoint4f (point4f *p, float X, float Y, float Z, float W)
void Point4to3f (const point4f *P, point3f *p)
void Point3to4f (const point3f *p, float w, point4f *P)
void SubtractPoints4f (const point4f *p1, const point4f *p2, vector4f *v)
void AddVector4f (const point4f *p, const vector4f *v, point4f *q)
void AddVector4Mf (const point4f *p, const vector4f *v, double t, point4f *q)
void MultVector4f (double a, const vector4f *v, vector4f *w)
void InterPoint4f (const point4f *p1, const point4f *p2, double t, point4f *q)
void MidPoint4f (const point4f *p1, const point4f *p2, point4f *q)
void Interp3Vectors4f (const vector4f *p0, const vector4f *p1, const vector4f *p2, const float *coeff, vector4f *p)
void NormalizeVector4f (vector4f *v)
double det4f (const vector4f *v0, const vector4f *v1, const vector4f *v2, const vector4f *v3)
void CrossProduct4f (const vector4f *v0, const vector4f *v1, const vector4f *v2, vector4f *v)
void CrossProduct4P3f (const vector4f *v0, const vector4f *v1, const vector4f *v2, vector3f *v)
double DotProduct4f (const vector4f *v0, const vector4f *v1)
void OutProduct4P3f (const vector4f *v0, const vector4f *v1, vector3f *v)
void OrtVector4f (const vector4f *v1, const vector4f *v2, vector4f *v)
void ProjectPointOnLine4f (const point4f *p0, const point4f *p1, point4f *q)
void ProjectPointOnPlane4f (const point4f *p0, const point4f *p1, const point4f *p2, point4f *q)
float pkg_LineRayDist3f (ray3f *ray, point3f *q0, point3f *q1, float *rparam, float *lparam, point3f *rp, point3f *lp)
void QuaternionMultf (quaternionf *q1, quaternionf *q2, quaternionf *q)
void QuaternionMultInvf (quaternionf *q1, quaternionf *q2, quaternionf *q)
void QuaternionInvMultf (quaternionf *q1, quaternionf *q2, quaternionf *q)
void QuaternionRotTrans3f (trans3f *tr, quaternionf *q)
void Trans3QuaternionRotf (trans3f *tr, quaternionf *q)

Define Documentation

#define AddQuaternionsf   AddVectors4f
#define RotXTrans3f (   tr,
  angle 
)    RotTrans3f ( tr, 2, 3, angle )
#define RotYTrans3f (   tr,
  angle 
)    RotTrans3f ( tr, 3, 1, angle )
#define RotZTrans3f (   tr,
  angle 
)    RotTrans3f ( tr, 1, 2, angle )
#define SetQuaternionf (   q,
  a,
  x,
  y,
  z 
)    SetVector4f ( q, x, y, z, a )
#define SetVector2f (   v,
  x,
  y 
)    SetPoint2f ( v, x, y )
#define SetVector3f (   v,
  x,
  y,
  z 
)    SetPoint3f ( v, x, y, z )
#define SetVector4f (   v,
  X,
  Y,
  Z,
  W 
)    SetPoint4f ( v, X, Y, Z, W )
#define Trans3RotXf (   tr,
  angle 
)    Trans3Rotf ( tr, 2, 3, angle )
#define Trans3RotYTf (   tr,
  angle 
)    Trans3Rotf ( tr, 3, 1, angle )
#define Trans3RotZTf (   tr,
  angle 
)    Trans3Rotf ( tr, 1, 2, angle )

Typedef Documentation

typedef struct Box2f Box2f
typedef struct Box3f Box3f
typedef struct ray3f ray3f
typedef union trans2f trans2f
typedef union trans3f trans3f

Function Documentation

void AddVector2f ( const point2f p,
const vector2f v,
point2f q 
)
void AddVector2Mf ( const point2f p,
const vector2f v,
double  t,
point2f q 
)
void AddVector3f ( const point3f p,
const vector3f v,
point3f q 
)
void AddVector3Mf ( const point3f p,
const vector3f v,
double  t,
point3f q 
)
void AddVector4f ( const point4f p,
const vector4f v,
point4f q 
)
void AddVector4Mf ( const point4f p,
const vector4f v,
double  t,
point4f 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 CompTrans2f ( trans2f s,
trans2f t,
trans2f u 
)
void CompTrans3f ( trans3f s,
trans3f t,
trans3f u 
)
void CrossProduct3f ( const vector3f v1,
const vector3f v2,
vector3f v 
)
void CrossProduct4f ( const vector4f v0,
const vector4f v1,
const vector4f v2,
vector4f v 
)
void CrossProduct4P3f ( const vector4f v0,
const vector4f v1,
const vector4f v2,
vector3f v 
)
double det2f ( const vector2f v1,
const vector2f v2 
)
double det3f ( const vector3f v1,
const vector3f v2,
const vector3f v3 
)
double det4f ( const vector4f v0,
const vector4f v1,
const vector4f v2,
const vector4f v3 
)
double DotProduct2f ( const vector2f v1,
const vector2f v2 
)
double DotProduct3f ( const vector3f v1,
const vector3f v2 
)
double DotProduct4f ( const vector4f v0,
const vector4f v1 
)
void EulerRotTrans3f ( trans3f tr,
float  psi,
float  theta,
float  phi 
)
short ExtendConvexCone2f ( ConvexCone2f cone,
float  a 
)
short ExtendConvexCone2fv ( ConvexCone2f cone,
vector2f v 
)
void FindRotVEulerf ( const vector3f v,
float  angle,
float *  psi,
float *  theta,
float *  phi 
)
void GeneralAffineTrans3f ( trans3f tr,
vector3f v1,
vector3f v2,
vector3f v3 
)
void IdentTrans2f ( trans2f tr  ) 
void IdentTrans3f ( trans3f tr  ) 
boolean InsideConvexCone2f ( ConvexCone2f cone,
float  a 
)
void Interp3Vectors2f ( const vector2f p0,
const vector2f p1,
const vector2f p2,
const float *  coeff,
vector2f p 
)
void Interp3Vectors3f ( const vector3f p0,
const vector3f p1,
const vector3f p2,
const float *  coeff,
vector3f p 
)
void Interp3Vectors4f ( const vector4f p0,
const vector4f p1,
const vector4f p2,
const float *  coeff,
vector4f p 
)
void InterPoint2f ( const point2f p1,
const point2f p2,
double  t,
point2f q 
)
void InterPoint3f ( const point3f p1,
const point3f p2,
double  t,
point3f q 
)
void InterPoint4f ( const point4f p1,
const point4f p2,
double  t,
point4f q 
)
boolean InvertTrans2f ( trans2f tr  ) 
boolean InvertTrans3f ( trans3f tr  ) 
void MidPoint2f ( const point2f p1,
const point2f p2,
point2f q 
)
void MidPoint3f ( const point3f p1,
const point3f p2,
point3f q 
)
void MidPoint4f ( const point4f p1,
const point4f p2,
point4f q 
)
void MirrorTrans3f ( trans3f tr,
vector3f n 
)
void MultVector2f ( double  a,
const vector2f v,
vector2f w 
)
void MultVector3f ( double  a,
const vector3f v,
vector3f w 
)
void MultVector4f ( double  a,
const vector4f v,
vector4f w 
)
void NormalizeVector2f ( vector2f v  ) 
void NormalizeVector3f ( vector3f v  ) 
void NormalizeVector4f ( vector4f v  ) 
void OrtVector2f ( const vector2f v1,
const vector2f v2,
vector2f v 
)
void OrtVector3f ( const vector3f v1,
const vector3f v2,
vector3f v 
)
void OrtVector4f ( const vector4f v1,
const vector4f v2,
vector4f v 
)
void OutProduct4P3f ( const vector4f v0,
const vector4f v1,
vector3f v 
)
float pkg_LineRayDist3f ( ray3f ray,
point3f q0,
point3f q1,
float *  rparam,
float *  lparam,
point3f rp,
point3f lp 
)
double Point2Distancef ( point2f p,
point2f q 
)
void Point2to3f ( const point2f p,
float  w,
point3f P 
)
void Point2to4f ( const point2f p,
float  w,
point4f P 
)
double Point3Distancef ( point3f p,
point3f q 
)
void Point3to2f ( const point3f P,
point2f p 
)
void Point3to4f ( const point3f p,
float  w,
point4f P 
)
void Point4to2f ( const point4f P,
point2f p 
)
void Point4to3f ( const point4f P,
point3f p 
)
void ProjectPointOnLine2f ( const point2f p0,
const point2f p1,
point2f q 
)
void ProjectPointOnLine3f ( const point3f p0,
const point3f p1,
point3f q 
)
void ProjectPointOnLine4f ( const point4f p0,
const point4f p1,
point4f q 
)
void ProjectPointOnPlane3f ( const point3f p0,
const point3f p1,
const point3f p2,
point3f q 
)
void ProjectPointOnPlane4f ( const point4f p0,
const point4f p1,
const point4f p2,
point4f q 
)
void QuaternionInvMultf ( quaternionf q1,
quaternionf q2,
quaternionf q 
)
void QuaternionMultf ( quaternionf q1,
quaternionf q2,
quaternionf q 
)
void QuaternionMultInvf ( quaternionf q1,
quaternionf q2,
quaternionf q 
)
void QuaternionRotTrans3f ( trans3f tr,
quaternionf q 
)
void RotTrans2f ( trans2f tr,
float  angle 
)
void RotTrans3f ( trans3f tr,
byte  j,
byte  k,
float  angle 
)
void RotVTrans3f ( trans3f tr,
vector3f v,
float  angle 
)
void ScaleTrans2f ( trans2f tr,
float  sx,
float  sy 
)
void ScaleTrans3f ( trans3f tr,
float  sx,
float  sy,
float  sz 
)
void SetPoint2f ( point2f p,
float  x,
float  y 
)
void SetPoint3f ( point3f p,
float  x,
float  y,
float  z 
)
void SetPoint4f ( point4f p,
float  X,
float  Y,
float  Z,
float  W 
)
void ShiftTrans2f ( trans2f tr,
float  tx,
float  ty 
)
void ShiftTrans3f ( trans3f tr,
float  tx,
float  ty,
float  tz 
)
void SubtractPoints2f ( const point2f p1,
const point2f p2,
vector2f v 
)
void SubtractPoints3f ( const point3f p1,
const point3f p2,
vector3f v 
)
void SubtractPoints4f ( const point4f p1,
const point4f p2,
vector4f v 
)
void Trans2Point3f ( const trans2f tr,
const point3f p,
point3f q 
)
void Trans2Rotf ( trans2f tr,
float  angle 
)
void Trans2Scalef ( trans2f tr,
float  sx,
float  sy 
)
void Trans2Shiftf ( trans2f tr,
float  tx,
float  ty 
)
void Trans3Mirrorf ( trans3f tr,
vector3f n 
)
void Trans3Point2f ( const trans3f tr,
const point2f p,
point2f q 
)
void Trans3Point4f ( const trans3f tr,
const point4f p,
point4f q 
)
void Trans3QuaternionRotf ( trans3f tr,
quaternionf 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 TransPoint2f ( const trans2f tr,
const point2f p,
point2f q 
)
void TransPoint3f ( const trans3f tr,
const point3f p,
point3f q 
)
void TransVector2f ( const trans2f tr,
const vector2f p,
vector2f q 
)
void TransVector3f ( const trans3f tr,
const vector3f v,
vector3f w 
)
float TrimAnglef ( float  angle  )