From 1a769b4404337b0af544c7beb10b54d8560590f5 Mon Sep 17 00:00:00 2001 From: That-One-Nerd Date: Sun, 3 Apr 2022 09:58:10 -0400 Subject: [PATCH] v2.0.1 out tiny, i know --- Changelog.txt | 16 ++++++++++++++++ Nerd_STF/Mathematics/Geometry/Line.cs | 5 +++++ Nerd_STF/Mathematics/Geometry/Triangle.cs | 7 +++++++ Nerd_STF/Mathematics/Geometry/Vert.cs | 11 +++++++++-- Nerd_STF/bin/Release/net6.0/ref/Nerd_STF.dll | Bin 31744 -> 32256 bytes 5 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 Changelog.txt diff --git a/Changelog.txt b/Changelog.txt new file mode 100644 index 0000000..224a9e3 --- /dev/null +++ b/Changelog.txt @@ -0,0 +1,16 @@ +# Nerd_STF v2.0.1 + +* Nerd_STF + * Mathematics + * Geometry + * Line + + ToDoubleArray() + + ToDoubleList() + * Triangle + + ToDoubleArray() + + ToDoubleList() + * Vert + + : IGroup\ + + GetEnumerator() + + ToArray() + + ToList() diff --git a/Nerd_STF/Mathematics/Geometry/Line.cs b/Nerd_STF/Mathematics/Geometry/Line.cs index 542d38d..431f265 100644 --- a/Nerd_STF/Mathematics/Geometry/Line.cs +++ b/Nerd_STF/Mathematics/Geometry/Line.cs @@ -127,6 +127,11 @@ namespace Nerd_STF.Mathematics.Geometry public Vert[] ToArray() => new Vert[] { start, end }; public List ToList() => new() { start, end }; + public double[] ToDoubleArray() => new double[] { start.position.x, start.position.y, start.position.z, + end.position.x, end.position.y, end.position.z }; + public List ToDoubleList() => new() { start.position.x, start.position.y, start.position.z, + end.position.x, end.position.y, end.position.z }; + public static Line operator +(Line a, Line b) => new(a.start + b.start, a.end + b.end); public static Line operator +(Line a, Vert b) => new(a.start + b, a.end + b); public static Line operator -(Line a, Line b) => new(a.start - b.start, a.end - b.end); diff --git a/Nerd_STF/Mathematics/Geometry/Triangle.cs b/Nerd_STF/Mathematics/Geometry/Triangle.cs index 8709918..9b6e631 100644 --- a/Nerd_STF/Mathematics/Geometry/Triangle.cs +++ b/Nerd_STF/Mathematics/Geometry/Triangle.cs @@ -220,6 +220,13 @@ namespace Nerd_STF.Mathematics.Geometry public Vert[] ToArray() => new Vert[] { A, B, C }; public List ToList() => new() { A, B, C }; + public double[] ToDoubleArray() => new double[] { A.position.x, A.position.y, A.position.z, + B.position.x, B.position.y, B.position.z, + C.position.x, C.position.y, C.position.z }; + public List ToDoubleList() => new() { A.position.x, A.position.y, A.position.z, + B.position.x, B.position.y, B.position.z, + C.position.x, C.position.y, C.position.z }; + public static Triangle operator +(Triangle a, Triangle b) => new(a.A + b.A, a.B + b.B, a.C + b.C); public static Triangle operator +(Triangle a, Vert b) => new(a.A + b, a.B + b, a.C + b); public static Triangle operator -(Triangle a, Triangle b) => new(a.A - b.A, a.B - b.B, a.C - b.C); diff --git a/Nerd_STF/Mathematics/Geometry/Vert.cs b/Nerd_STF/Mathematics/Geometry/Vert.cs index 9e41d85..8705c41 100644 --- a/Nerd_STF/Mathematics/Geometry/Vert.cs +++ b/Nerd_STF/Mathematics/Geometry/Vert.cs @@ -1,8 +1,9 @@ -using System.Diagnostics.CodeAnalysis; +using System.Collections; +using System.Diagnostics.CodeAnalysis; namespace Nerd_STF.Mathematics.Geometry { - public struct Vert : ICloneable, IEquatable + public struct Vert : ICloneable, IEquatable, IGroup { public static Vert Back => new(0, 0, -1); public static Vert Down => new(0, -1, 0); @@ -73,6 +74,12 @@ namespace Nerd_STF.Mathematics.Geometry public object Clone() => new Vert(position); + IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); + public IEnumerator GetEnumerator() => position.GetEnumerator(); + + public double[] ToArray() => position.ToArray(); + public List ToList() => position.ToList(); + public static Vert operator +(Vert a, Vert b) => new(a.position + b.position); public static Vert operator -(Vert d) => new(-d.position); public static Vert operator -(Vert a, Vert b) => new(a.position - b.position); diff --git a/Nerd_STF/bin/Release/net6.0/ref/Nerd_STF.dll b/Nerd_STF/bin/Release/net6.0/ref/Nerd_STF.dll index 7303c5349b616144d588896525999faa6eb4d839..135be99fbeed21df5863a283ba6f84567f81c3f6 100644 GIT binary patch delta 3963 zcmbtX3s6+o8UD}NH|#DCm1TEXg#{uA0xKXIT+35LKt)A^T3rJKn-WpMN7a!{iN^Zq zU{A(|ghs5=rXg{f*_yP8ZMH$Jt!8!_?NI9&agbOiO;e2yYLc=4`S(TZw9`y?=6-zt z_nq_I|J-xgyVre>xxZvxd+Zo$2tLx1d+ruMLk>nH6CL=i2$ywjcpqnQ0r16c=3>9Hj9tg zWVXYj<_}nOZ*l3h%d4Q~2hG*ds}w&u?}<@<#w^f+r;(qzcyLg`k|Kb!&j2tyb%9u@ zPILZpAwcp@fRtK*I|k&7+c$n|U2~h96~7ulo-w&@F(e?5mb{{_vJC%bV%;N7sBD|*y&jBmB0;@O-tAlCKP1PN$a^WylKcgxS`lwpN9A?}IipJTyc;>nY)->gJ`ENYN%0We)okUtp{hst3@32f-?%fN zeaupYFcw608}9Rx;5co!xMWO^8ZbmC=7lt$CnjnW$N04hcTmLmwTfp$RgX9tS8oVS>K3%vxDq3i3$Q(#wl<{sJQ-;!c~-|1Yt&wYSGzxG!CJ9miob^!0vfIwdk9wk z9>Nv%aBqt2;qTg>U<~#!s(mF~iDenG2d(bakmmFJD1-hr*6J<%IBpuEqZM!fzcLxPH4-b)<@j|Y z`9V_r7@XBQ(<;84Wn{&oBCnq1dXD5xVvezs!dwBjzgA3TcrKvj^GtHjlI!Pgd`ffN^Fil(q5Ti+ zBri6I`OY|6wbk=r_Dk%)ju7{XZvUVAoi5guq|o`2g||@cIa%@{iyV*7*YRM%qe&bn zyTLL&o62*U`Fvy+G{7L@w+Y)|Br+FbAx->tj;SL}-vHYohBe?%9f_Ursi6toKd?^H zJ4x?EeY|lO=||*TeIIczK8fx60m9Ry3=7+ zFd4%EE~kwUS8(c`Q}2Yyq@)rrC0-ifv;g7_q&Eb()SHNRlHTd(N{)u7ey*9ZG|^U> zKgq67)yVUd6E-5I>6?hVHT{q!epk7|(4>`)V+!Fa(R>b;eznZ z%a?A7bRk{p$I|5(n9>g#VXMj?XV;fam9A@=bX~dqP$-(J3i0g6rpvScv??3dI9Qd; zTE!Pt`5EQL>vJry+^DROIVlxK@&0J6kO{pNGNE^FKfG?}U4UGysJ68}WqhvI0$Yv8 zYUTJ-wV%K)<0(?ElcHQC6Ur9Jgv7;{aZC}Ro3NMAOE^RbOK1$Ci_lHjOXw9bH71R# zPL6SlY~+bcX}qYZF|8aT4$DX(bP>7ea#AWhlT$UA0<{q4hj4MavLItiTqE;dc>V;iHH@=Jyeg@h=cxk& sWP(~;-JFUqiMlOSj5$Qz)?B>0S&-vN;#--n*Z-ote>T0!9?a4F6Tc=}tN;K2 delta 3809 zcmbtX3s6+o8UD}NC$M*yhwQSupga}ivCCr>N7oRMEb>rMQHdnM0M(?%MkK@#2bLjD z+gK-(;~1-^)u$NuNv2eeK*&Gb6= z+wcFrbH4K$x%c}2!Tevd?cYm(>EN5!A#{yGdTI=F1FT0OIw<~Spzo*4&ASEw7D*uh zutVFImS7qMFk!tJjbxF=^F#w%G~P%6V)2I%pgaHRq?6|`+^YesE{79oJQY|}0- zvT3YS)$=)Ip zI)`P8Q_-JT8kJit3MVbE_jO6?v6x#d#jR}OMXRA<_5F${9qWl*(U2G!`&S#V3_j4Tcr)S#Od(stsE>K!uZNu4XA4XWE5 zUOA&v$uj6laxiG!grNQu88k`1A=0T!Tu+ffS^DQ9+Mt><`Iy|fPW|g)5qGXrKM<*U z1WOCXzZKHtJWr;{`1keihTGvhW71{(u>M3u8&u2FFEEQ+Nip0Gi{KXdnH82E)b2&J z97_L@bbvcD0d9vwQ2KGx)hDEA|&JHC?=zCyb>&XCQc#6 zSQpU-RbRGFCf81PTE3$Mj6VolP%ECD9vo*!NW+!Maoo9boWB|OhMVFzw~Rj;uf$8a zavWpS;fOYrXb@u8X8$3w!)8(&xkF3MNBluZ?Jp2x(U(syzvwjSr<3H|%V+}FQ+yw5jZ(7(=W zc=m&|gajt?ybBXbXyu#neDIND#HS9Fh;3dUPW_y>!JbF%Z^#XDKRzZop1E)Cdy(@G zog^<&#Br~cR_#=ud|)^GuPwyd2fzG3&pSt4oR>-CWeE2iy_#2kmWk+!PuUdpdPOm_ zpN}bkW*9^KHsMD2GNu^f!6Upr+fyD>GdvG*tQp@gB=*7`r4`-ZvR=}AN$*8H&Af&5 z{j#s=5b*#${#>RZ!jq(2B7TYZ7^2H`nYe~wOYtk8t=nZPXEMK>ZG}p61@R_EbC7LJ z&7?Gw+e+L|ZZEmLr1X-zh4=x|4}`ePJVZQzy2ms`?hq+MvRAkHBo&v)xD?{D+hyV! zE+?Vka*8^_3{tX)mlH1!aasWJX40EOTF^yUF;PGfVZ_bL4mY>7!{9Hd!(BwUC5F8!5rBJruV}n z(O>OJaGB=kOSh>=x=qFXP$_Oy&&JUY&XA*fYFxOg)|w2qS$x07le@$`_K*YCn6*Bc zlj%EvyV~TFeOr8#Q`rx1E2)c65m#$cx;L6%sB^#;^T9gV{zTnp@Ur;?DPyE)m&kiP=J<*4BMcCZ62ekyN!Uc_C)`IEAcSSIO{&D@tc;2#LO)@EaFh`0sVQL@ zp`UOcVSsRy5SG)xgiYejTAKk@P+xJT);1|Xe3Wo(#U30UR*KApdGZuj;d;~+3s>p8 zllbrPfni7F;NX8i?nLB}%+DcDLF6!*4%m^1U0%@hzrq8g2m|CVOclYc36(K z9af@khlkO&LnGP_XhPQkkE82=7IYo(Ep#2Q7F{Q-L)QuG(RISpIxk`yx=v_EHyJje zn+%=kCc|cQlc5XUWbmV#2HE(j;e`qiA1yCppjuY+D&og2#bUH&djh_#-}gP{Z#^Aj zH8C(06}aU;{7__|qe89UaF&bg_SpEqfPB*rULQ(c)|Y1Grw7F2?KQ&OF;^*-pJSn` zR5WyW=#v4Th5+J~j@4|JxZRP#+SQb2-(wm#7{$n@ES(z)z^&?@tCnxlb)Cf_A&s}Q RsC~iD(a*i~!Pw_E{1a^*D`Efu -- 2.49.0.windows.1