45 lines
1.6 KiB
C#
45 lines
1.6 KiB
C#
using Hi.Disp;
|
|
using Hi.Licenses;
|
|
using Hi.MongoUtils;
|
|
using Hi.Wpf.Disp;
|
|
using System.Windows;
|
|
|
|
namespace Sample.Disp
|
|
{
|
|
/// <summary>
|
|
/// Provides utility functions for running HiAPI display examples in a WPF environment.
|
|
/// Contains helper methods that simplify the setup and execution of WPF applications with HiAPI rendering.
|
|
/// Handles common initialization and cleanup tasks for visualization examples.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// ### Source Code
|
|
/// [!code-csharp[SampleCode](~/../Hi.Sample.Wpf/Disp/DemoUtil.cs)]
|
|
/// </remarks>
|
|
public static class DemoUtil
|
|
{
|
|
/// <summary>
|
|
/// Creates and runs a WPF application with a RenderingWindow to display 3D content.
|
|
/// Handles proper initialization and cleanup of HiAPI resources including MongoDB server,
|
|
/// display engine, and licensing.
|
|
/// </summary>
|
|
/// <param name="title">The title for the application window</param>
|
|
/// <param name="displayee">The object that implements IDisplayee to be rendered</param>
|
|
public static void RunApplication(string title, IDisplayee displayee)
|
|
{
|
|
Application app = new Application();
|
|
app.Exit += (o, e) =>
|
|
{
|
|
if(MongoServer.IsDefaultInit)
|
|
MongoServer.Default.Dispose();
|
|
DispEngine.FinishDisp();
|
|
License.LogOutAll();
|
|
};
|
|
app.Run(new RenderingWindow()
|
|
{
|
|
Title = title,
|
|
Displayee = displayee
|
|
});
|
|
}
|
|
}
|
|
}
|