Legend

Class
Struct
Enum
Interface
Delegate
Constructor
Method
Property
Event
Field

Static class: RT.Util.Geometry.GeomUt

Summary

Contains general geometry-related utility functions.

Static methods

double
AngleDifference(double reference, double angle)
Returns "angle" relative to "reference". I.e. if the angles are the same, returns 0; if angle is further anticlockwise, returns a positive number.
bool
ArePointsSameSideOfLine(double lX, double lY, double pt1X, double pt1Y, double pt2X, double pt2Y)
Given a vector l, and two points pt1 and pt2, splits the space into two halves on the line defined by the vector l. If both points lie in the same half, returns true. If they lie in different halves, or if at least one point lies on the dividing line, returns false. If the vector l is of length 0, always returns false.
void Merges adjacent (touching) polygons and removes the touching edges. Behaviour is undefined if any polygons overlap. Only exactly matching edges are considered, and only if they have the opposite sense to each other. Example use case: simplifying subsets of VoronoiDiagram polygons.
double
NormalizedAngle(double a)
"Unwinds" the specified angle so that it's in the range (-pi, pi]
IEnumerable<PointD>
SmoothArc(PointD center, double a, double b, double t1, double t2, double smoothness)
Generates a series of points that approximate an elliptic arc curve.
IEnumerable<PointD>
SmoothBézier(PointD start, PointD c1, PointD c2, PointD end, double smoothness)
Generates a series of points that approximate a cubic Bézier curve.
IEnumerable<PointD>
SmoothCurve(double startT, double endT, Func<double, PointD> fnc, double smoothness)
Given a parametrized curve, generates a series of points along the curve such that no individual segment is more than smoothness away from the true curve.