geom.c
Go to the documentation of this file.
boolean Intersection(Tinterval *i1, Tinterval *i2, Tinterval *i_out) Computes the intersection of two intervals. Definition: interval.c:285 Definition of basic functions. boolean pointLeftOfLine(double px, double py, double x1, double y1, double x2, double y2) Determines if a point is at the left of a vector. Definition: geom.c:18 #define ROUNDDOWN Sets the floating point operations in rounding down mode. Definition: defines.h:219 void FirstCombination(unsigned int n, unsigned int m, unsigned int *cb) Initializes a combination. Definition: geom.c:706 double Det3x3(double *c1, double *c2, double *c3) Determinant of a 3x3 matrix. Definition: geom.c:739 void IntervalAdd(Tinterval *i1, Tinterval *i2, Tinterval *i_out) Addition of two intervals. Definition: interval.c:423 void IntervalInvert(Tinterval *i, Tinterval *i_out) Change of sign of a given interval. Definition: interval.c:461 void SegmentSphereIntersection(double r2, double *x, double *y, double *z, double tol, unsigned int *n, double *xi, double *yi, double *zi) Intersects a segment and a sphere. Definition: geom.c:185 boolean RectangleParabolaClipping(Tinterval *x, double alpha, double beta, Tinterval *y, Tinterval *x_new, Tinterval *y_new) Clips a 2D box and a scaled parabola. Definition: geom.c:473 void ComputeBoundingBox(unsigned int n, double *x, double *y, Tinterval *ix, Tinterval *iy) Determines the axis aligned bounding box of a set of points in R^2. Definition: geom.c:53 #define ZERO Floating point operations giving a value below this constant (in absolute value) are considered 0... Definition: defines.h:37 boolean NeighbouringTriangles(unsigned int *v1, unsigned int *v2) Determines if two sets of vertices define a neighbouring triangle. Definition: geom.c:657 boolean BoxSaddleClipping(Tinterval *x, Tinterval *y, double alpha, double beta, Tinterval *z, Tinterval *x_new, Tinterval *y_new, Tinterval *z_new) Clips a 3D box and a scaled saddle. Definition: geom.c:518 boolean NextCombination(unsigned int n, unsigned int m, unsigned int *cb) Moves to the next combination. Definition: geom.c:714 Error and warning functions. boolean IntervalSqrt(Tinterval *i, Tinterval *i_out) Interval square root. Definition: interval.c:530 double DotProduct(double *v1, double *v2) Computes the dot product of two 3d vectors. Definition: geom.c:652 Definitions of constants and macros used in several parts of the cuik library. void IntervalSubstract(Tinterval *i1, Tinterval *i2, Tinterval *i_out) Substraction of two intervals. Definition: interval.c:442 void SegmentCircleIntersection(double r2, double *x, double *y, double tol, unsigned int *n, double *xi, double *yi) Intersects a segment and a circle. Definition: geom.c:98 void ComputeBoundingBox3d(unsigned int n, double *x, double *y, double *z, Tinterval *ix, Tinterval *iy, Tinterval *iz) Determines the axis aligned bounding box of a set of points in R^3. Definition: geom.c:73 void Plane3Points(double *x, double *y, double *z, boolean normalized, double *c) Defines a plane given 3 points. Definition: geom.c:313 boolean pointRightOfLine(double px, double py, double x1, double y1, double x2, double y2) Determines if a point is at the right of a vector. Definition: geom.c:34 void IntervalDivision(Tinterval *num, Tinterval *den, Tinterval *i_out) Interval division. Definition: interval.c:556 boolean Union(Tinterval *i1, Tinterval *i2, Tinterval *i_out) Computes the union of two intervals. Definition: interval.c:297 void IntervalScale(Tinterval *i1, double e, Tinterval *i_out) Scales an interval. Definition: interval.c:360 boolean RectangleCircleClipping(double r2, Tinterval *x, Tinterval *y, Tinterval *x_new, Tinterval *y_new) Clips a rectangle and a circle. Definition: geom.c:347 boolean IsInside(double p, double tol, Tinterval *i) Checks if a value is inside an interval. Definition: interval.c:348 boolean SameTriangle(unsigned int *v1, unsigned int *v2) Identifies triangles formed by the same set of vertices. Definition: geom.c:671 void IntervalProduct(Tinterval *i1, Tinterval *i2, Tinterval *i_out) Product of two intervals. Definition: interval.c:389 void IntervalPow(Tinterval *i, unsigned int p, Tinterval *i_out) Power of a given interval by a integer power factor. Definition: interval.c:494 void DefineNormalVector(double *v, double *n) Defines a unitary vector normal to a given vector. Definition: geom.c:571 boolean BoxSphereClipping(double r2, Tinterval *x, Tinterval *y, Tinterval *z, Tinterval *x_new, Tinterval *y_new, Tinterval *z_new) Clips a 3D box and a sphere. Definition: geom.c:401 void CrossProduct(double *v1, double *v2, double *v3) Computes the cross product of two 3d vectors. Definition: geom.c:639 void Line2Points(double *x, double *y, boolean normalized, double *c) Defines a line given two points. Definition: geom.c:289 void Print3Reals(FILE *f, double r1, double r2, double r3) Pretty print three real number. Definition: geom.c:763 void IntervalOffset(Tinterval *i, double offset, Tinterval *i_out) Interval offset. Definition: interval.c:627 |
Follow us!