param( [string]$AssemblyPath = (Join-Path $PSScriptRoot '..\bin\Debug\netstandard2.0\ClumsyPilot.dll'), [string]$OutputPath = (Join-Path $PSScriptRoot '..\ParkrobTrajplanner\PathSmoothing\Test\Fixtures\path-smoothing-fixtures.json'), [switch]$Overwrite ) $ErrorActionPreference = 'Stop' $newtonsoftPath = Join-Path $env:USERPROFILE '.nuget\packages\newtonsoft.json\13.0.4\lib\netstandard2.0\Newtonsoft.Json.dll' if (Test-Path -LiteralPath $newtonsoftPath) { [Reflection.Assembly]::LoadFrom($newtonsoftPath) | Out-Null } $assembly = [Reflection.Assembly]::LoadFrom((Resolve-Path $AssemblyPath)) $type = $assembly.GetType('MultiWheelC.TrajectoryPlanning.PathSmoothing.Test.SmoothingFixtureGenerator', $true) $method = $type.GetMethod('Generate', [Type[]]@([string], [bool])) if ($null -eq $method) { throw 'SmoothingFixtureGenerator.Generate(string, bool) is missing.' } $method.Invoke($null, @([IO.Path]::GetFullPath($OutputPath), [bool]$Overwrite)) Write-Output "Path smoothing fixtures generated: $OutputPath"