Skip to content

Commit 549771b

Browse files
authored
Merge pull request #238 from open-ephys/issue-136
Add visualizers for Quaternion and Vector3
2 parents 17f4f93 + d613e0b commit 549771b

File tree

3 files changed

+65
-0
lines changed

3 files changed

+65
-0
lines changed

OpenEphys.Onix1.Design/OpenEphys.Onix1.Design.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
<ItemGroup>
1515
<PackageReference Include="Bonsai.Design" Version="2.8.5" />
16+
<PackageReference Include="Bonsai.Design.Visualizers" Version="2.8.0" />
1617
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
1718
<PackageReference Include="OpenEphys.ProbeInterface.NET" Version="0.1.0" />
1819
<PackageReference Include="ZedGraph" Version="5.1.7" />
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
using System;
2+
using Bonsai;
3+
using Bonsai.Design.Visualizers;
4+
using System.Numerics;
5+
using OpenEphys.Onix1.Design;
6+
7+
[assembly: TypeVisualizer(typeof(QuaternionVisualizer), Target = typeof(Quaternion))]
8+
9+
namespace OpenEphys.Onix1.Design
10+
{
11+
/// <summary>
12+
/// Provides a type visualizer that displays a sequence of <see cref="Quaternion"/>
13+
/// values as a time series.
14+
/// </summary>
15+
public class QuaternionVisualizer : TimeSeriesVisualizer
16+
{
17+
/// <summary>
18+
/// Initializes a new instance of the <see cref="QuaternionVisualizer"/> class.
19+
/// </summary>
20+
public QuaternionVisualizer()
21+
: base(numSeries: 4)
22+
{
23+
}
24+
25+
/// <inheritdoc/>
26+
public override void Show(object value)
27+
{
28+
var q = (Quaternion)value;
29+
AddValue(DateTime.Now, q.X, q.Y, q.Z, q.W);
30+
}
31+
}
32+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
using System;
2+
using Bonsai;
3+
using Bonsai.Design.Visualizers;
4+
using System.Numerics;
5+
using OpenEphys.Onix1.Design;
6+
7+
[assembly: TypeVisualizer(typeof(Vector3Visualizer), Target = typeof(Vector3))]
8+
9+
namespace OpenEphys.Onix1.Design
10+
{
11+
/// <summary>
12+
/// Provides a type visualizer that displays a sequence of <see cref="Vector3"/>
13+
/// values as a time series.
14+
/// </summary>
15+
public class Vector3Visualizer : TimeSeriesVisualizer
16+
{
17+
/// <summary>
18+
/// Initializes a new instance of the <see cref="Vector3Visualizer"/> class.
19+
/// </summary>
20+
public Vector3Visualizer()
21+
: base(numSeries: 3)
22+
{
23+
}
24+
25+
/// <inheritdoc/>
26+
public override void Show(object value)
27+
{
28+
var v = (Vector3)value;
29+
AddValue(DateTime.Now, v.X, v.Y, v.Z);
30+
}
31+
}
32+
}

0 commit comments

Comments
 (0)