43 int ANALYSIS_EXPORT
faculty(
int n );
55 int ANALYSIS_EXPORT
lower(
int n,
int i );
57 double ANALYSIS_EXPORT
max(
double x,
double y );
59 double ANALYSIS_EXPORT
min(
double x,
double y );
61 double ANALYSIS_EXPORT
power(
double a,
int b );
double ANALYSIS_EXPORT planeTest(Point3D *test, Point3D *pt1, Point3D *pt2, Point3D *pt3)
Tests, if 'test' is in the same plane as 'p1', 'p2' and 'p3' and returns the z-difference from the pl...
bool ANALYSIS_EXPORT circumcenter(Point3D *p1, Point3D *p2, Point3D *p3, Point3D *result)
Calculates the center of the circle passing through p1, p2 and p3.
double ANALYSIS_EXPORT cFDerBernsteinPoly(int n, int i, double t)
Calculates the first derivative of a Bernstein polynomial with respect to the parameter t...
double ANALYSIS_EXPORT calcCubicHermitePoly(int n, int i, double t)
Calculates the value of a cubic Hermite polynomial.
double ANALYSIS_EXPORT crossVec(Point3D *first, Vector3D *vec1, Point3D *second, Vector3D *vec2)
Calculates the intersection of the two vectors vec1 and vec2, which start at first(vec1) and second(v...
double ANALYSIS_EXPORT cFDerCubicHermitePoly(int n, int i, double t)
Calculates the first derivative of a cubic Hermite polynomial with respect to the parameter t...
double ANALYSIS_EXPORT triArea(Point3D *pa, Point3D *pb, Point3D *pc)
Returns the area of a triangle.
bool ANALYSIS_EXPORT normalLeft(Vector3D *v1, Vector3D *result, double length)
Assigns the vector 'result', which is normal to the vector 'v1', on the left side of v1 and has lengt...
double ANALYSIS_EXPORT max(double x, double y)
Returns the maximum of two doubles or the first argument if both are equal.
bool ANALYSIS_EXPORT normalMinDistance(Vector3D *tangent, Vector3D *target, Vector3D *result)
Calculates a Vector orthogonal to 'tangent' with length 1 and closest possible to result...
int ANALYSIS_EXPORT faculty(int n)
Faculty function.
bool ANALYSIS_EXPORT inCircle(Point3D *testp, Point3D *p1, Point3D *p2, Point3D *p3)
Tests, whether 'testp' is inside the circle through 'p1', 'p2' and 'p3'.
Point3D is a class to represent a three dimensional point.
Class Vector3D represents a 3D-Vector, capable to store x-,y- and z-coordinates in double values...
bool ANALYSIS_EXPORT inDiametral(Point3D *p1, Point3D *p2, Point3D *point)
Tests, whether 'point' is inside the diametral circle through 'p1' and 'p2'.
bool ANALYSIS_EXPORT normalRight(Vector3D *v1, Vector3D *result, double length)
Assigns the vector 'result', which is normal to the vector 'v1', on the right side of v1 and has leng...
bool ANALYSIS_EXPORT calcBarycentricCoordinates(double x, double y, Point3D *p1, Point3D *p2, Point3D *p3, Point3D *result)
Calculates the barycentric coordinates of a point (x,y) with respect to p1, p2, p3 and stores the thr...
bool ANALYSIS_EXPORT lineIntersection(Point3D *p1, Point3D *p2, Point3D *p3, Point3D *p4)
Returns true, if line1 (p1 to p2) and line2 (p3 to p4) intersect.
double ANALYSIS_EXPORT angle(Point3D *p1, Point3D *p2, Point3D *p3, Point3D *p4)
Calculates the angle between two segments (in 2 dimension, z-values are ignored)
double ANALYSIS_EXPORT power(double a, int b)
Power function for integer coefficients.
int ANALYSIS_EXPORT lower(int n, int i)
Lower function.
bool ANALYSIS_EXPORT derVec(const Vector3D *v1, const Vector3D *v2, Vector3D *result, double x, double y)
Calculates the z-component of a vector with coordinates 'x' and 'y'which is in the same tangent plane...
void ANALYSIS_EXPORT normalFromPoints(Point3D *p1, Point3D *p2, Point3D *p3, Vector3D *vec)
Calculates the normal vector of the plane through the points p1, p2 and p3 and assigns the result to ...
bool ANALYSIS_EXPORT BarycentricToXY(double u, double v, double w, Point3D *p1, Point3D *p2, Point3D *p3, Point3D *result)
double ANALYSIS_EXPORT distPointFromLine(Point3D *thepoint, Point3D *p1, Point3D *p2)
Calculates the (2 dimensional) distance from 'thepoint' to the line defined by p1 and p2...
double ANALYSIS_EXPORT calcBernsteinPoly(int n, int i, double t)
Calculates the value of a Bernstein polynomial.
double ANALYSIS_EXPORT leftOf(Point3D *thepoint, Point3D *p1, Point3D *p2)
Returns whether 'thepoint' is left or right of the line from 'p1' to 'p2'.
bool ANALYSIS_EXPORT pointInsideTriangle(double x, double y, Point3D *p1, Point3D *p2, Point3D *p3)
Returns true, if the point with coordinates x and y is inside (or at the edge) of the triangle p1...
double ANALYSIS_EXPORT min(double x, double y)
Returns the minimum of two doubles or the first argument if both are equal.