From 9e55978ad8b8da90bb30407047b399e9c430c070 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Tue, 28 Jul 2020 14:54:31 -0700 Subject: More comments and light refactoring --- grapher/Form1.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'grapher/Form1.cs') diff --git a/grapher/Form1.cs b/grapher/Form1.cs index 1915b01..4165b0f 100644 --- a/grapher/Form1.cs +++ b/grapher/Form1.cs @@ -15,14 +15,14 @@ namespace grapher public RawAcceleration() { InitializeComponent(); - var managedAccel = new ManagedAccel(6, 0, 1, 0.025, 0); + var managedAccel = new ManagedAccel(6, 0, 1.333, 0.05, 0); var orderedPoints = new SortedDictionary(); for (int i = 0; i < 100; i++) { for (int j = 0; j <= i; j++) { - var output = managedAccel.Accelerate(i, j, 1, 6); + var output = managedAccel.Accelerate(i, j, 1); var inMagnitude = Magnitude(i,j); var outMagnitude = Magnitude(output.Item1, output.Item2); -- cgit v1.2.3 From cdd82efdfdd7c2e9b4c2ed9777792f9921eedb9e Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Tue, 28 Jul 2020 17:21:39 -0700 Subject: Get rid of enum and use types\tags directly --- grapher/Form1.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'grapher/Form1.cs') diff --git a/grapher/Form1.cs b/grapher/Form1.cs index 4165b0f..495640e 100644 --- a/grapher/Form1.cs +++ b/grapher/Form1.cs @@ -15,7 +15,7 @@ namespace grapher public RawAcceleration() { InitializeComponent(); - var managedAccel = new ManagedAccel(6, 0, 1.333, 0.05, 0); + var managedAccel = new ManagedAccel(5, 0, 0.3, 1.25, 15); var orderedPoints = new SortedDictionary(); for (int i = 0; i < 100; i++) -- cgit v1.2.3 From f7c88d689e924010f6f95b22894414f0b96c4aa0 Mon Sep 17 00:00:00 2001 From: a1xd <68629610+a1xd@users.noreply.github.com> Date: Fri, 31 Jul 2020 04:52:24 -0400 Subject: update grapher/wrapper for st-refactor --- grapher/Form1.cs | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) (limited to 'grapher/Form1.cs') diff --git a/grapher/Form1.cs b/grapher/Form1.cs index 495640e..47ef1d9 100644 --- a/grapher/Form1.cs +++ b/grapher/Form1.cs @@ -7,15 +7,82 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using System.Runtime.InteropServices; namespace grapher { + public enum accel_mode + { + linear=1, classic, natural, logarithmic, sigmoid, power, noaccel + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] + public struct vec2d + { + public double x; + public double y; + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] + public struct accel_args + { + public double offset; + public double accel; + public double limit; + public double exponent; + public double midpoint; + public double power_scale; + public vec2d weight; + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] + public struct accel_fn_args + { + public accel_args acc_args; + public int accel_mode; + public double time_min; + public vec2d cap; + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] + public struct modifier_args + { + public double degrees; + public vec2d sens; + public accel_fn_args acc_fn_args; + } + public partial class RawAcceleration : Form { public RawAcceleration() { InitializeComponent(); - var managedAccel = new ManagedAccel(5, 0, 0.3, 1.25, 15); + + modifier_args args; + + args.degrees = 0; + args.sens.x = 1; + args.sens.y = 1; + args.acc_fn_args.acc_args.offset = 0; + args.acc_fn_args.acc_args.accel = 0.01; + args.acc_fn_args.acc_args.limit = 2; + args.acc_fn_args.acc_args.exponent = 1; + args.acc_fn_args.acc_args.midpoint = 0; + args.acc_fn_args.acc_args.power_scale = 1; + args.acc_fn_args.acc_args.weight.x = 1; + args.acc_fn_args.acc_args.weight.y = 1; + args.acc_fn_args.accel_mode = (int)accel_mode.natural; + args.acc_fn_args.time_min = 0.4; + args.acc_fn_args.cap.x = 0; + args.acc_fn_args.cap.y = 0; + + IntPtr args_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(args)); + Marshal.StructureToPtr(args, args_ptr, false); + + var managedAccel = new ManagedAccel(args_ptr); + + Marshal.FreeHGlobal(args_ptr); + var orderedPoints = new SortedDictionary(); for (int i = 0; i < 100; i++) -- cgit v1.2.3