You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Writing these up really quickly because it's really late in the morning for me...
TransformList(IList<double[]>) and Transform(double[]) seem outdated
Since everything goes through Transform(ref double x, ref double y, ref double z), we can probably get rid of DimSource and DimTarget?
AffineTransform could probably have its own non-abstract versions of these properties.
All methods implemented via throw new NotImplementedException() are unused, let's eliminate them
XML doesn't seem to be used, yet every MathTransform subclass must implement it.
Forcing all implementations to provide a way to getWKT for their own instance is awkward. Is there a better way to accomplish this goal?
Do we need Transform(double x, double y) / Transform(double x, double y, double z) when we could just point people to the versions that take in ref parameters?
Overloads that differ only by the presence / absence of ref aren't CLS-compliant.
IMO we should strongly favor having separate overloads instead of default arguments the "z or no z?" case (public void Transform(Span<XY> xys, Span<double> zs = default, int strideZ = 0)).
As-is, this clashes with the notion of "if you don't have Z, then don't pass in anything for Z". Even though you're not explicitly passing in a value in the C# source code, the caller is still providing a value, and it's still visible through IntelliSense.
Subclasses should be required to implement at most one of either "invert myself" or "create an inverted copy of myself". IMO, we should drop Invert().
The text was updated successfully, but these errors were encountered:
Writing these up really quickly because it's really late in the morning for me...
TransformList(IList<double[]>)
andTransform(double[])
seem outdatedTransform(ref double x, ref double y, ref double z)
, we can probably get rid ofDimSource
andDimTarget
?AffineTransform
could probably have its own non-abstract
versions of these properties.throw new NotImplementedException()
are unused, let's eliminate themXML
doesn't seem to be used, yet everyMathTransform
subclass must implement it.WKT
for their own instance is awkward. Is there a better way to accomplish this goal?Transform(double x, double y)
/Transform(double x, double y, double z)
when we could just point people to the versions that take inref
parameters?ref
aren't CLS-compliant.public void Transform(Span<XY> xys, Span<double> zs = default, int strideZ = 0)
).Invert()
.The text was updated successfully, but these errors were encountered: