geom.h
Go to the documentation of this file.
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 boolean RectangleCircleClipping(double r2, Tinterval *x, Tinterval *y, Tinterval *x_new, Tinterval *y_new) Clips a rectangle and a circle. Definition: geom.c:347 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 boolean NeighbouringTriangles(unsigned int *v1, unsigned int *v2) Determines if two sets of vertices define a neighbouring triangle. Definition: geom.c:657 void Plane3Points(double *x, double *y, double *z, boolean normalized, double *c) Defines a plane given 3 points. Definition: geom.c:313 void Print3Reals(FILE *f, double r1, double r2, double r3) Pretty print three real number. Definition: geom.c:763 void FirstCombination(unsigned int n, unsigned int m, unsigned int *cb) Initializes a combination. Definition: geom.c:706 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 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 double DotProduct(double *v1, double *v2) Computes the dot product of two 3d vectors. Definition: geom.c:652 boolean SameTriangle(unsigned int *v1, unsigned int *v2) Identifies triangles formed by the same set of vertices. Definition: geom.c:671 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 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 double Det3x3(double *c1, double *c2, double *c3) Determinant of a 3x3 matrix. Definition: geom.c:739 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 boolean NextCombination(unsigned int n, unsigned int m, unsigned int *cb) Moves to the next combination. Definition: geom.c:714 void Line2Points(double *x, double *y, boolean normalized, double *c) Defines a line given two points. Definition: geom.c:289 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 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 void DefineNormalVector(double *v, double *n) Defines a unitary vector normal to a given vector. Definition: geom.c:571 Definition of the Tinterval type and the associated functions. |
Follow us!