This commit is contained in:
Matthias Heil
2026-04-02 10:09:10 +02:00
parent 4623740937
commit 48e2f108a8
14 changed files with 172 additions and 104 deletions
@@ -0,0 +1,41 @@
using Microsoft.VisualStudio.DebuggerVisualizers;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Numerics;
namespace NrxVisualizerObjectSource;
public class NrxVisualizerObjectSource : VisualizerObjectSource
{
public NrxVisualizerObjectSource()
{
Debug.WriteLine("new Vector3ObjectSource");
}
public override void GetData(object target, Stream outgoingData)
{
Debug.WriteLine("GetData: objectType is: " + target.GetType().FullName);
Vector3Model vector3Model = new();
switch (target)
{
case Vector3 vector3:
vector3Model.Vector3 = vector3;
break;
case IEnumerable<Vector3> vector3List:
vector3Model.Vector3 = vector3List.Last();
break;
case Quaternion quaternion:
vector3Model.Quaternion = quaternion;
break;
}
SerializeAsJson(outgoingData, vector3Model);
}
public override object CreateReplacementObject(object target, Stream incomingData)
{
return base.CreateReplacementObject(target, incomingData);
}
public override void TransferData(object target, Stream incomingData, Stream outgoingData)
{
base.TransferData(target, incomingData, outgoingData);
}
}
@@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Nullable>enable</Nullable>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.VisualStudio.DebuggerVisualizers" Version="17.6.1032901" />
<PackageReference Include="System.Numerics.Vectors" Version="4.6.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\NamedPipes\NamedPipes.csproj" />
</ItemGroup>
</Project>
+13
View File
@@ -0,0 +1,13 @@
using System.Numerics;
using System.Runtime.Serialization;
namespace NrxVisualizerObjectSource;
[DataContract]
public class Vector3Model
{
[DataMember]
public Vector3? Vector3 { get; set; }
[DataMember]
public Quaternion? Quaternion { get; set;}
}