zoukankan      html  css  js  c++  java
  • C#下使用Winform用户控件,Host vtkRenderWindow,来实现vtk与winform集成

    使用vtk的C# warp 版本 ActiViz.net之vtkRenderWindow。

    1.首先写个派生于UserControl下的一个自定义控件,用来host vtkRenderWindow

    代码如下:

     public partial class WinFormPaneFrame : UserControl
        {
            
            public WinFormPaneFrame() :
                base()
            {
                InitializeComponent();
            } 
    }   

    2. 在 构造函数中,添加vtkRenderWindow类的实现,并设置其父窗口时该控件。设置该renderWindow窗口的size 和控件的尺寸一致。启动该renderWindow

    代码如下:

    this._RenderWindow = vtkRenderWindow.New();
                    this._Renderer = vtkRenderer.New();
                    this._Renderer.SetBackground(0.2, 0.2, 0.2);
                    this._RenderWindow.AddRenderer(this._Renderer);
                    this._RenderWindow.SetParentId(this.Handle);
                    this._RenderWindow.SetSize(this.Size.Width, this.Size.Height);
                    this._RenderWindow.Start();

    3.  保持vtkRenderWindow的窗口大小和用户控件的大小一致。相应OnSizeCHanged事件,设置renderWindow的size

    代码:

     private void UserControlPaneFrame_SizeChanged(object sender, EventArgs e)
            {
                    this._RenderWindow.SetSize(this.Size.Width, this.Size.Height);
            }
  • 相关阅读:
    sizeof
    p与p->next
    每天学点java_Date类使用
    每天学点java_修饰符
    每天学点java_UML类图
    每天学点java_Arrays类
    每天学点java_插入排序
    每天学点java_for循环
    每天学点java_选择排序
    centos7 mysql
  • 原文地址:https://www.cnblogs.com/ankier/p/2952990.html
Copyright © 2011-2022 走看看