ILNumerics.Community.SceneEditor.WinForms 7.3.4.296

dotnet add package ILNumerics.Community.SceneEditor.WinForms --version 7.3.4.296
                    
NuGet\Install-Package ILNumerics.Community.SceneEditor.WinForms -Version 7.3.4.296
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ILNumerics.Community.SceneEditor.WinForms" Version="7.3.4.296" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ILNumerics.Community.SceneEditor.WinForms" Version="7.3.4.296" />
                    
Directory.Packages.props
<PackageReference Include="ILNumerics.Community.SceneEditor.WinForms" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ILNumerics.Community.SceneEditor.WinForms --version 7.3.4.296
                    
#r "nuget: ILNumerics.Community.SceneEditor.WinForms, 7.3.4.296"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ILNumerics.Community.SceneEditor.WinForms@7.3.4.296
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ILNumerics.Community.SceneEditor.WinForms&version=7.3.4.296
                    
Install as a Cake Addin
#tool nuget:?package=ILNumerics.Community.SceneEditor.WinForms&version=7.3.4.296
                    
Install as a Cake Tool

ILNumerics.Community.SceneEditor

Nuget

Properties editor for ILNumerics (http://ilnumerics.net/) scene graphs and plot cubes.

Available for Avalonia, WinForms and MAUI, with .NET 10 support.

How to use

Attach the editor to your panel instance using the namespace for your UI framework:

using ILNumerics.Community.SceneEditor.Avalonia;
// Or ILNumerics.Community.SceneEditor.WinForms / .MAUI

var editor = ilPanel.AttachEditor();

Open the editor dialog by double-clicking an object in the graph/plot. For example, click on

  • the Axes X/Y/Z for axis properties
  • a Surface for surface properties
  • a LinePlot line for line properties
  • etc.

The editor provides:

  • Quick access to axes and plot objects, alongside the scene tree
  • Favorites for frequently used properties, saved between sessions and configurable per object type
  • Font and color editing, including font styles, opacity and inherited colors
  • Vector and matrix editing with individual components and compact matrix rows
  • Collapsible property groups to keep complex objects easy to browse
  • Plot Browser to show or hide individual plots

Applications can customize initial favorites, choose their persistence location or storage backend, and set whether nested property groups start expanded. These options are available through EditorOptions on all three platforms.

Drawing2 support is included: bar plots, box plots, candlesticks, error bars, filled and stacked areas, splines, and additional surface plots are recognized automatically.

Context menu (right click) provides additional options, including resetting the view and aligning it with a principal axis.

Public Methods

There are a few public methods on the panel editor:

  • ShowEditor() opens the panel editor to interactively change properties
  • ShowPlotBrowser() opens the plot browser
  • Update() refreshes the editor after changes to the scene structure
De/Serialize scene state

Scene state refers to the properties of all objects in the scene graph. It does NOT (de)serialize the actual scene graph, i.e. it does NOT restore the graph on deserialization. The scene state captures colors, line styles, visibility, fonts and font sizes, etc., all the properties defining the visual appearance of the scene. The primary use case is to save and re-apply or transfer the style to a new scene graph. To some degree the serialization is fuzzy, i.e. it still applies if objects are removed or added to the original scene (new objects obviously won't receive any styling).

Serialize settings from the current scene:

using ILNumerics.Community.SceneEditor.Serialization;

XmlSerializer.SerializeToFile(editor, filePath);

Deserialize settings to the current scene:

XmlDeserializer.DeserializeFromFile(editor, filePath);
PropertyChanged notifications

You can monitor for changes of the current scene's state by subscribing to the PropertyChanged event of the panel editor:

editor.PropertyChanged += myChangeHandler;
PlotCube menu

Right-click a plot cube to open its properties, reset its view, align with the X–Y, X–Z or Y–Z plane, or open the Plot Browser. Axis alignment is grouped in a submenu and is available for 3D plots.

Applications can enable or disable the built-in entries:

editor.ContextMenuOptions.ShowProperties = true;
editor.ContextMenuOptions.ShowResetView = true;
editor.ContextMenuOptions.ShowAlignView = true;
editor.ContextMenuOptions.ShowPlotBrowser = true;

To customize a PlotCube menu, obtain its wrapper:

using System.Linq;
using ILNumerics.Community.SceneEditor.Drawing.Plotting;

foreach (var cube in editor.Wrappers.OfType<PlotCubeWrapper>())
{
    cube.ContextMenu.AddSeparator();
    cube.ContextMenu.Add("Click Me", "my-action", () => { /* do something */ });
}

Disclaimer

SceneEditor is under active development. Support for custom scene types can be added through the panel editor's WrapperMap.

License

SceneEditor is licensed under the terms of the MIT license (http://opensource.org/licenses/MIT, see LICENSE.txt).

Product Compatible and additional computed target framework versions.
.NET net10.0-windows7.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
7.3.4.296 41 10/23/2026
7.2.0.98 171 6/16/2026
7.1.0.57 163 2/26/2026