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);
            }
  • 相关阅读:
    Pascal's Triangle
    Pascal's Triangle II
    贪心算法入门
    Jump Game
    Symmetric Tree
    Reverse Words in a String
    [BZOJ2342][Shoi2011]双倍回文
    [HDU3068]最长回文
    [POJ1984]Navigation Nightmare
    [BZOJ3295][Cqoi2011]动态逆序对
  • 原文地址:https://www.cnblogs.com/ankier/p/2952990.html
Copyright © 2011-2022 走看看