00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef PRPARAMUTIL_H
00034 #define PRPARAMUTIL_H
00035
00036 #include "Array.h"
00037 using Go::Vector2D;
00038 using Go::Vector3D;
00039
00044 void baryCoords(double x, double y, double x0, double y0, double x1, double y1,
00045 double x2, double y2, double& tau0, double& tau1, double& tau2);
00046
00051
00052 void baryCoords0(double& u0, double& v0, double& u1, double& v1,
00053 double& u2, double& v2, double& tau0, double& tau1, double& tau2);
00054
00055
00056 double det(const double& u1, const double& v1,
00057 const double& u2, const double& v2);
00058
00061 double area(const double& x0, const double& y0,
00062 const double& x1, const double& y1,
00063 const double& x2, const double& y2);
00064
00066 double area(const Vector3D& a,
00067 const Vector3D& b,
00068 const Vector3D& c);
00069
00072 void polarCoords(Vector2D v, double& r, double& theta);
00073
00076 void polarCoords(double u, double v, double& r, double& theta);
00077
00083
00084 double tanThetaOverTwo(const Vector3D& a,
00085 const Vector3D& b,
00086 const Vector3D& c);
00087
00088 double cotangent(const Vector3D& a, const Vector3D& b, const Vector3D& c);
00089
00090
00091 #endif // PRPARAMUTIL_H