Message 1 of 12
Unexpected side effect with GetReverseParameterCurve
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
The Curve2d (as the Curve3d) class has a GetReverseParameterCurve method which returns a newly created Curve2d (or Curve3d) with reversed parameters as expected.
But this method also unexpectedly reverses the source curve.
var ed = Application.DocumentManager.MdiActiveDocument.Editor;
var line1 = new LineSegment2d(new Point2d(0, 0), new Point2d(2, 1));
ed.WriteMessage($"\nline1.StartPoint = {line1.StartPoint} line1.EndPoint: {line1.EndPoint}");
var line2 = line1.GetReverseParameterCurve();
ed.WriteMessage($"\nReferenceEquals(line1, line2): {ReferenceEquals(line1, line2)}");
ed.WriteMessage($"\nline1.StartPoint = {line1.StartPoint} line1.EndPoint: {line1.EndPoint}");
ed.WriteMessage($"\nline2.StartPoint = {line2.StartPoint} line2.EndPoint: {line2.EndPoint}");
line1.StartPoint = (0,0) line1.EndPoint: (2,1)
ReferenceEquals(line1, line2): False
line1.StartPoint = (2,1) line1.EndPoint: (0,0)
line2.StartPoint = (2,1) line2.EndPoint: (0,0)