-
released this
2022-10-31 11:50:49 -04:00 | 40 commits to main since this releaseNerd_STF v2.3.1.52
Read this to know what works and what doesn't!
The
v2.3.1.xupdates go through every single field and method in Nerd_STF to make sure it works correctly.
You see, up until now I haven't actually tested literally anything at all. Partly because I didn't have the tools to and partly because I was lazy. But now, it's guarenteed to work in most cases (unless I like don't pick up some bug, you know).The following types have been checked for the most part and can be safe to use:
Nerd_STF.FileTypeNerd_STF.FillNerd_STF.Fill2DNerd_STF.ForeachNerd_STF.IClosestNerd_STF.IContainerNerd_STF.IEncapsulatorNerd_STF.IGroupNerd_STF.IGroup2DNerd_STF.LoggerNerd_STF.LogMessageNerd_STF.LogSeverityNerd_STF.ModifierNerd_STF.Modifier2DNerd_STF.Exceptions.DifferingVertCountExceptionNerd_STF.Exceptions.DisconnectedLinesExceptionNerd_STF.Exceptions.InvalidSizeExceptionNerd_STF.Exceptions.Nerd_STFExceptionNerd_STF.Exceptions.NoInverseExceptionNerd_STF.Extensions.Container2DExtensionNerd_STF.Extensions.ConversionExtensionNerd_STF.Extensions.EquationExtensionNerd_STF.Extensions.ToFillExtensionNerd_STF.Graphics.CMYKANerd_STF.Graphics.CMYKAByteNerd_STF.Graphics.ColorChannelNerd_STF.Graphics.HSVANerd_STF.Graphics.HSVAByteNerd_STF.Graphics.IColorNerd_STF.Graphics.IColorByteNerd_STF.Graphics.IlluminationFlagsNerd_STF.Graphics.IlluminationModelNerd_STF.Graphics.ImageNerd_STF.Graphics.MaterialNerd_STF.Graphics.RGBANerd_STF.Graphics.RGBAByteNerd_STF.Graphics.TextureConfigNerd_STF.Mathematics.AngleNerd_STF.Mathematics.CalculusNerd_STF.Mathematics.EquationNerd_STF.Mathematics.Float2Nerd_STF.Mathematics.Float3Nerd_STF.Mathematics.Float4Nerd_STF.Mathematics.Int2Nerd_STF.Mathematics.Int3Nerd_STF.Mathematics.Int4Nerd_STF.Mathematics.MathfNerd_STF.Mathematics.Geometry.ISubdividableNerd_STF.Mathematics.NumberSystems.ComplexNerd_STF.Mathematics.NumberSystems.QuaternionNerd_STF.Mathematics.Samples.ConstantsNerd_STF.Mathematics.Samples.Equations
The following types haven't been checked yet, and should still be taken with a grain of salt:
Nerd_STF.Mathematics.Algebra.IMatrixNerd_STF.Mathematics.Algebra.MatrixNerd_STF.Mathematics.Algebra.Matrix2x2Nerd_STF.Mathematics.Algebra.Matrix3x3Nerd_STF.Mathematics.Algebra.Matrix4x4Nerd_STF.Mathematics.Algebra.Vector2dNerd_STF.Mathematics.Algebra.Vector3dNerd_STF.Mathematics.Geometry.Box2DNerd_STF.Mathematics.Geometry.Box3DNerd_STF.Mathematics.Geometry.ITriangulatableNerd_STF.Mathematics.Geometry.LineNerd_STF.Mathematics.Geometry.PolygonNerd_STF.Mathematics.Geometry.QuadrilateralNerd_STF.Mathematics.Geometry.SphereNerd_STF.Mathematics.Geometry.TriangleNerd_STF.Mathematics.Geometry.Vert
16 left to go.
Honestly, most of the time taken for this update was spent on Quaternions. Turns out my multiply function was subtley wrong. Who knew!
Just a relief to be done with it. The other stuff wasn't too much of a problem. Matrixes are probably going to be a huge pain if they don't work first try, though. That'll be in the next update, probably.I should also note that I just realized after way to long that the
.csprojfile isn't included in the Github. It's included in this new release, and sometime in the future I'll go back and add a correctly working.csprojfile to all the other releases as well (with the exception of the legacy Nerd_STF 2021 versions likely. We'll see). I'll now not include the/binbuild files. They'll be in the release and you can build it yourself if you need to now. Anyway, have fun.* Nerd_STF * Extensions * Container2DExtension = Fixed `Flatten<T>(T[,], Int2)` = `GetColumn<T>(T[,], int, int)` and `GetRow<T>(T[,], int, int)` have been fixed (They had swapped roles) * ConversionExtension + ToFill<T>(T[]) + ToFill<T>(T[,], Int2) + ToFill2D<T>(T[,]) * EquationExtension = Fixed `Scale(Equation, float, ScaleType)` by swapping all instances of `x` and `value` (oops) = Moved `ScaleType` out of parent class `EquationExtension` and into namespace `Nerd_STF` * Geometry * ITriangulatable + TriangulateAll<T>(T[]) where T : ITriangulatable * Graphics + Renamed `IColor` to `IColorFloat` = Made IColor an object both `IColorFloat` and `IColorByte` inherit from. * CMYKA = Made `ToRGBA()` include the alpha value of the color. * CMYKAByte = In `ToHSVA()` and `ToHSVAByte()`, swapped some conversions from `RGBA` to `CMYKA` * HSVA = Made `ToRGBA()` include the alpha value of the color. * Image - Removed some useless constructors = Fixed some broken constructors * Mathematics * Algebra * Vector2d = Removed a default parameter value in `ToString(Angle.Type)` to prevent confusion. * Vector3d + string ToString() + string ToString(Angle.Type) + string ToString(IFormatProvider, Angle.Type) = Fixed `ToXYZ()` * NumberSystems * Complex + operator ~(Complex) * Quaternion + Rotate(Float3) + Rotate(Vector3d) + operator ~(Quaternion) - ToVector() = Gave `IJK` proper get and set accessors. = Renamed some terms in `ToString()` = Fixed the `Quaternion.FromAngles(*)` methods to do the proper thing. = Fixed `Quaternion.Rotate(Quaternion)` = Fixed `Quaternion.Rotate(Float3)` = Fixed `operator *(Quaternion, Quaternion)` = Optimized `GetAxis()` = Simplified `ToXYZ()` = Swapped the order of `Rotate(Quaternion)` = Made `GetAxis()` not accidentally create an infinite vector. * Angle + Complimentary + Supplementary * Float2 + operator *(Float2, Quaternion) * Float3 + operator *(Float3, Quaternion) = Fixed `ToVector()`Downloads