Table of Contents

Class Corner3

Namespace
GeometryHelper.Core
Assembly
GeometryHelper.dll

Rounding the corners of a chain in space.

public static class Corner3
Inheritance
Corner3
Inherited Members

Remarks

This is what a reinforcing bar is made of: straight runs with a tangent arc at every bend, one bending radius, and the bends free to lie in whatever planes they like. A corner between two straight runs is flat whether or not the chain around it is, so each is rounded in its own plane, by the same arithmetic Corner2 uses, and the answer is lifted back. Nothing is approximated.

The rule for two corners wanting the same edge is the one the plane already uses, and it carries over untouched because it is about lengths along edges and not about dimensions: an edge can give away no more than it is long, counting both ends, and where it cannot the corner taking more of it gives way.

Only a corner between two straight pieces is rounded. A leg that already curves lies in a plane of its own, which need not be the plane of the corner, so there is no one plane to do the arithmetic in; such a corner is left alone rather than answered approximately.

Methods

Chamfer(GeoPolygon3, double)

Cuts every corner of a straight loop back by the same distance.

Chamfer(GeoPolygon3, double, Tolerance)

Cuts every corner of a straight loop back by the same distance, within a tolerance.

Chamfer(GeoPolygon3, double, double)

Cuts every corner of a straight loop back, by one distance along the way in and another along the way out.

Chamfer(GeoPolygon3, double, double, Tolerance)

Cuts every corner of a straight loop back, by one distance along the way in and another along the way out, within a tolerance.

Chamfer(GeoPolyline3, double)

Cuts every corner of a straight chain back by the same distance.

Chamfer(GeoPolyline3, double, Tolerance)

Cuts every corner of a straight chain back by the same distance, within a tolerance.

Chamfer(GeoPolyline3, double, double)

Cuts every corner of a straight chain back, by one distance along the way in and another along the way out.

Chamfer(GeoPolyline3, double, double, Tolerance)

Cuts every corner of a straight chain back, by one distance along the way in and another along the way out, within a tolerance.

Chamfer(GeoPolylineArc3, double)

Cuts every corner of a curved chain back by the same distance.

Chamfer(GeoPolylineArc3, double, Tolerance)

Cuts every corner of a curved chain back by the same distance, within a tolerance.

Chamfer(GeoPolylineArc3, double, double)

Cuts every corner of a curved chain back, by one distance along the way in and another along the way out.

Chamfer(GeoPolylineArc3, double, double, Tolerance)

Cuts every corner of a curved chain back, by one distance along the way in and another along the way out, within a tolerance.

Fillet(GeoPolygon3, IReadOnlyList<double>)

Rounds the corners of a straight loop, one radius each.

Fillet(GeoPolygon3, IReadOnlyList<double>, Tolerance)

Rounds the corners of a straight loop, one radius each, within a tolerance.

Fillet(GeoPolygon3, double)

Rounds every corner of a straight loop by the same radius.

Fillet(GeoPolygon3, double, Tolerance)

Rounds every corner of a straight loop by the same radius, within a tolerance.

Fillet(GeoPolyline3, IReadOnlyList<double>)

Rounds the corners of a straight chain, each by its own radius.

Fillet(GeoPolyline3, IReadOnlyList<double>, Tolerance)

Rounds the corners of a straight chain, each by its own radius, within a tolerance.

Fillet(GeoPolyline3, double)

Rounds every corner of a straight chain by the same radius.

Fillet(GeoPolyline3, double, Tolerance)

Rounds every corner of a straight chain by the same radius, within a tolerance.

Fillet(GeoPolylineArc3, IReadOnlyList<double>)

Rounds the corners of a chain that may curve, each by its own radius.

Fillet(GeoPolylineArc3, IReadOnlyList<double>, Tolerance)

Rounds the corners of a chain that may curve, each by its own radius, within a tolerance.

Fillet(GeoPolylineArc3, double)

Rounds every corner of a chain that may curve by the same radius.

Fillet(GeoPolylineArc3, double, Tolerance)

Rounds every corner of a chain that may curve by the same radius, within a tolerance.

TryChamferAt(GeoPolygon3, int, double, double, out GeoPolygon3)

Cuts one corner of a straight loop back.

TryChamferAt(GeoPolygon3, int, double, double, out GeoPolygon3, Tolerance)

Cuts one corner of a straight loop back, within a tolerance.

TryChamferAt(GeoPolyline3, int, double, double, out GeoPolyline3)

Cuts one corner of a straight chain back.

TryChamferAt(GeoPolyline3, int, double, double, out GeoPolyline3, Tolerance)

Cuts one corner of a straight chain back, within a tolerance.

TryChamferAt(GeoPolylineArc3, int, double, double, out GeoPolylineArc3)

Cuts one corner of a curved chain back.

TryChamferAt(GeoPolylineArc3, int, double, double, out GeoPolylineArc3, Tolerance)

Cuts one corner of a curved chain back, within a tolerance.

TryFilletAt(GeoPolygon3, int, double, out GeoPolygonArc3)

Rounds one corner of a straight loop.

TryFilletAt(GeoPolygon3, int, double, out GeoPolygonArc3, Tolerance)

Rounds one corner of a straight loop, within a tolerance.

TryFilletAt(GeoPolyline3, int, double, out GeoPolylineArc3)

Rounds one named corner of a straight chain.

TryFilletAt(GeoPolyline3, int, double, out GeoPolylineArc3, Tolerance)

Rounds one named corner of a straight chain, within a tolerance.

TryFilletAt(GeoPolylineArc3, int, double, out GeoPolylineArc3)

Rounds one named corner of a chain that may curve.

TryFilletAt(GeoPolylineArc3, int, double, out GeoPolylineArc3, Tolerance)

Rounds one named corner of a chain that may curve, within a tolerance.