The issue is tracked down to Polyline.TransformAt where parameter value is treated as domain value in one place but still as 0 to 1 in other place. The function is updated.
It also treated TransformAt incorrectly for first and last vertex in the list if Polyline is actually a Polygon. Fixed it so all transforms at vertices are averaged.
I also found that IndexedPolycurve.CreateVerticesAndCurveIndices produced unique indexes. For two lines and arc in between it would be [0, 1], [2, 3, 4], [5, 6]. It contradicted with the fact that vertices in the same function were considered as shared but also changes indices when polyline is copies. If the TransformedPolycurve is called on polycurve with indices [0, 1], [1, 2, 3], [3, 4], new polycurve will have indices as described above: [0, 1], [2, 3, 4], [5, 6] indices that out of range of verticies. Did the fix.
TESTING:
Added PreservesIndicesTransformed and PolylineTransformAt tests.
FUTURE WORK:
There is discussion about introducing a convenient way to get Points from polyline uniformly distributed by length, since PointAtNormalized is not doing the job.
BACKGROUND:
DESCRIPTION:
TESTING:
FUTURE WORK:
REQUIRED:
CHANGELOG.md
.COMMENTS:
This change is