|
Name
|
Description
|
|
Centroid()
|
Computes the area-centroid of the circle segment this arc represents.
|
|
Clip(Extents2d)
|
Clips the arc to a specified clipping box.
The result is a list of start- and endpoints
defining arc segments which are completely inside
the clip box. This result is returned in a new
point list. The result list is zero-length if the
arc does not intersect the clip box.
|
|
Clip(Extents2d, List<Point2d>)
|
Clips the arc to a specified clipping box.
The result is a list of start- and endpoints
defining arc segments which are completely inside
the clip box. This result is appended to an existing
list of points.
|
|
ClosestPoint(Point2d)
|
Computes a new point which resides on the arc, and which is as close as possible to another point.
|
|
ClosestPointInfinite(Point2d)
|
Computes the closest point on the circle defined by the arc or the infinte line.
|
|
Complement()
|
Creates a new arc that is the complement arc of the arc.
Creates an arc going from start to end but in the other direction
|
|
Create3p(Point2d, Point2d, Point2d)
|
Computes an arc passing through three points. If the given points are colinear, an arc that equals
a line segment from start to end points is returned.
|
|
Create3p(Point2d, Point2d, Point2d, double)
|
Slower but more accurate version of normal Create3p
|
|
CreateCRAA(Point2d, double, double, double, Direction)
|
Creates an arc from center, radius, start angle and end angle.
|
|
CreateCSA(Point2d, Point2d, double, Direction)
|
Creates an arc from center, start, angle and direction
|
|
CreateCSE(Point2d, Point2d, Point2d, Direction)
|
Creates an arc given the arc's center, start- and endpoint. If dir is Direction.Linear, the
center point is not used, but an arc that equals a line segment is created.
|
|
CreateCSL(Point2d, Point2d, double, Direction)
|
Creates an arc from center, start, length and direction
|
|
CreateFromLine(Line2d)
|
Creates an arc the exactly represents a line segment.
|
|
CreateFromLine(Point2d, Point2d)
|
Creates an arc from two points forming a line
|
|
CreateSACA(Point2d, double, Point2d, double)
|
Creates an arc given startpoint, start direction, center and end direction
|
|
CreateSED(Point2d, Point2d, double)
|
Creates an arc from startpoint to endpoint with the tangential angle from the startpoint beeing specified.
|
|
CreateSER(Point2d, Point2d, double, Direction, bool)
|
Creates an arc from start,end and radius.
|
|
Distance(Point2d)
|
Computes the distance from a point to the arc.
|
|
DistanceInfinite(Point2d)
|
Computes the distance from the point to the circle defined by the arc.
If the arc is linear it calculates the distance to the infinte line.
|
|
EndVector()
|
Calculates the tangent vector at the endpoint of the arc
In the direction of the arc.
|
|
Eval(double)
|
Returns a point on the arc given a parameter in the range 0.0 - 1.0 .
If the parameter is less than 0.0 or larger than 1.0 the point returned
is on the linear extension of the arcs end/start.
|
|
Eval(double, out double)
|
Returns a point on the arc given a parameter in the range 0.0 - 1.0 .
If the parameter is less than 0.0 or larger than 1.0 the point returned
is on the linear extension of the arcs end/start.
|
|
Flatten(double, FlattenMode)
|
Creates a polygonal approximation of this arc with a given tolerance.
|
|
Flatten(double, double)
|
Flattens the arc with 'inside' mode, with a given tolerance.
Also checks that the angle between adjacent segments in not larger than maxDeltaAngle.
|
|
Flatten(Poly2d, double, FlattenMode, bool, bool)
|
Appends a polygonal approximation of this arc to a Poly2d with a given tolerance.
Output of first and last point in result is optional.
|
|
GetX(double)
|
Returns the X pos for a certain Y
Arc must be Y-monotone and Y must lie "inside" the arc
|
|
GetY(double)
|
Returns the Y pos for a certain X
Arc must be X-monotone and X must lie "inside" the arc
|
|
InterpolateVectors(Vector3d, Vector3d, double, bool, bool)
|
Interpolates a Vector3d along the arc.
|
|
IsCirclePointOnArc(Point2d)
|
Checks if a point that is on the circle the arc is a part of is actually included in the arc.
If the arc equals a line segment, it returns false. This function is much faster than IsOn(...), but
only works well for points that is known to be on/close to the circle.
|
|
IsCirclePointOnArc(Point2d, double)
|
Checks if a point that is on the circle the arc is a part of is actually included in the arc.
If the arc equals a line segment, it returns true if the point is on the segment. This function is much faster than IsOn(...), but
only works well for points that is known to be on/close to the circle (or on the infinite line).
|
|
IsOn(Point2d, double)
|
Checks if a point is on (close to) the arc.
|
|
MakeXMonotone()
|
Splits the arc into x-montone pieces.
|
|
MakeYMonotone()
|
Splits the arc into y-monotone pieces.
|
|
Mirror(Point2d, Point2d)
|
Mirrors the arc in-place given a line.
|
|
Normal(double)
|
Calculates the normalized normal vector at parameter t.
The vector always points to the right of the arc.
|
|
Offset(double)
|
Computes an offsetted arc. If the arc is offsetted to much, a zero length arc at center is returned.
|
|
Offset2(double)
|
Same as offset except that if the arc "warps" around a new arc is created instead of a point.
|
|
Offset2(double, out bool)
|
Same as offset except that if the arc "warps" around a new arc is created instead of a point.
|
|
Param(Point2d)
|
Computes a parameter in the range 0.0 - 1.0 where a point is on the arc.
|
|
Param(Point2d, out double)
|
Computes a parameter in the range 0.0 - 1.0 where a point is on the arc.
|
|
ReinterpretParameter(double)
|
|
|
Reverse()
|
Reverses the arc in-place so that end point becomes start point and vice versa. Note that this will swap
the sign of the bulge factor.
|
|
Rotate(double)
|
Rotates the arc in-place around origo.
|
|
Rotate(double, Point2d)
|
Rotates the arc in-place.
|
|
Scale(double)
|
Scales the arc in-place using world origo as scale center.
|
|
Scale(double, Point2d)
|
Scales the arc in-place.
|
|
SegmentContains(Point2d)
|
Checks if a point is inside the segment represented by this arc. If the arc equals a line segment,
it always returns false.
|
|
SetEnd(Point2d)
|
Sets the end point of arc, maintaining the center and radius of it.
|
|
SetStart(Point2d)
|
Sets the start point of arc, maintaining the center and radius of it.
|
|
SideXMonotone()
|
Returns the side of a X-Monotone arc
Left equals bottom
|
|
SideYMonotone()
|
Returns the side of a Y-Monotone arc
|
|
Split(IEnumerable<Double>)
|
Splits the arcs at a list of parameters in the range 0.0 - 1.0
|
|
Split(params double[])
|
Splits the arcs at a list of parameters in the range 0.0 - 1.0
|
|
Split(double, out Arc2d, out Arc2d)
|
Splits the arc at a single point given by a parameter.
|
|
StartVector()
|
Calculates the tangent vector at the start of the arc.
In the direction of the arc.
|
|
Tangent(Point2d)
|
Returns the tangent angle in radians on the arc where the point is.
This is done by adding or subtracting 90 degrees from the angle between
center of the arc and p, which means the point does not have to lie
exactly on the arc.
|
|
ToRegion(double)
|
Creates a region representing the arc.
|
|
ToString()
|
Creates a string representation of the arc suitable for debugging.
|
|
Transform(Matrix2d)
|
Transforms the arc in-place with a matrix.
|
|
Translate(double, double)
|
Moves the arc in-place a specified distance in x and y.
|
|
WriteAutoCADScript(StreamWriter, int)
|
Writes text to a stream, that can be loaded as a script into autocad.
|