2026-04-01 12:46:48 +02:00
|
|
|
using Microsoft.VisualStudio.DebuggerVisualizers;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Diagnostics;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Numerics;
|
2026-04-02 10:09:10 +02:00
|
|
|
namespace NrxVisualizerObjectSource;
|
2026-04-01 12:46:48 +02:00
|
|
|
|
2026-04-02 10:09:10 +02:00
|
|
|
public class NrxVisualizerObjectSource : VisualizerObjectSource
|
2026-04-01 12:46:48 +02:00
|
|
|
{
|
2026-04-02 10:09:10 +02:00
|
|
|
public NrxVisualizerObjectSource()
|
2026-04-01 12:46:48 +02:00
|
|
|
{
|
|
|
|
|
Debug.WriteLine("new Vector3ObjectSource");
|
|
|
|
|
}
|
|
|
|
|
public override void GetData(object target, Stream outgoingData)
|
|
|
|
|
{
|
2026-04-01 15:47:54 +02:00
|
|
|
Debug.WriteLine("GetData: objectType is: " + target.GetType().FullName);
|
2026-04-01 12:46:48 +02:00
|
|
|
Vector3Model vector3Model = new();
|
|
|
|
|
switch (target)
|
|
|
|
|
{
|
|
|
|
|
case Vector3 vector3:
|
2026-04-01 15:47:54 +02:00
|
|
|
vector3Model.Vector3 = vector3;
|
2026-04-01 12:46:48 +02:00
|
|
|
break;
|
|
|
|
|
case IEnumerable<Vector3> vector3List:
|
2026-04-01 15:47:54 +02:00
|
|
|
vector3Model.Vector3 = vector3List.Last();
|
2026-04-01 12:46:48 +02:00
|
|
|
break;
|
|
|
|
|
case Quaternion quaternion:
|
2026-04-01 15:47:54 +02:00
|
|
|
vector3Model.Quaternion = quaternion;
|
2026-04-01 12:46:48 +02:00
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
SerializeAsJson(outgoingData, vector3Model);
|
|
|
|
|
}
|
2026-04-02 10:09:10 +02:00
|
|
|
public override object CreateReplacementObject(object target, Stream incomingData)
|
|
|
|
|
{
|
2026-04-02 10:40:46 +02:00
|
|
|
Debug.WriteLine("CreateReplacementObject: objectType is: " + target.GetType().FullName);
|
2026-04-02 10:09:10 +02:00
|
|
|
return base.CreateReplacementObject(target, incomingData);
|
|
|
|
|
}
|
|
|
|
|
public override void TransferData(object target, Stream incomingData, Stream outgoingData)
|
|
|
|
|
{
|
2026-04-02 10:40:46 +02:00
|
|
|
Debug.WriteLine("TransferData: objectType is: " + target.GetType().FullName);
|
2026-04-02 10:09:10 +02:00
|
|
|
base.TransferData(target, incomingData, outgoingData);
|
|
|
|
|
}
|
2026-04-01 12:46:48 +02:00
|
|
|
}
|