Я занимаюсь разработкой приложения WinForm с использованием ActiViz 8.1 (версия VTK C #).
Когда я добавляю в свой код любой виджет VTK, возникает ошибка нарушения доступа.
Кажется, ошибка возникает, когда я изменяю размер формы или вводим курсор мыши.
Я также тестировал ActiViz 5.0 и 7.1, но произошла та же ошибка.
Я не могу найти ни одного рабочего примера, показывающего, как использовать виджеты, так что я не могу знать, правильно ли я использую виджеты.
Не могли бы вы рассказать мне, как решить проблему или как использовать виджеты в WinForm?
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
renderWindowControl1.Load += RenderWindowControl_Load;
}
private void RenderWindowControl_Load(object sender, EventArgs e)
{
vtkSphereSource SphereSource = vtkSphereSource.New();
SphereSource.SetRadius(0.5);
vtkPolyDataMapper SphereMapper = vtkPolyDataMapper.New();
SphereMapper.SetInputConnection(SphereSource.GetOutputPort());
vtkActor SphereActor = vtkActor.New();
SphereActor.SetMapper(SphereMapper);
vtkRenderWindow RenderWindow = renderWindowControl1.RenderWindow;
vtkRenderer Renderer = RenderWindow.GetRenderers().GetFirstRenderer();
Renderer.SetBackground(0.2, 0.3, 0.4);
Renderer.AddActor(SphereActor);
Renderer.ResetCamera();
vtkAxesActor axes = vtkAxesActor.New();
vtkOrientationMarkerWidget oriWidget = vtkOrientationMarkerWidget.New();
oriWidget.SetOutlineColor(0.9300, 0.5700, 0.1300);
oriWidget.SetOrientationMarker(axes);
oriWidget.SetViewport(0.0, 0.0, 0.3, 0.3);
oriWidget.SetInteractor(RenderWindow.GetInteractor());
oriWidget.SetEnabled(1);
}
}