• 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);
            }
  • 相关阅读:
    [非专业翻译] Mapster
    [非专业翻译] Mapster
    排序之猴子算法
    1309游客统计
    1631低洼地
    1636车牌问题
    1638图形
    这是一篇小短文
    1500【自定义函数】走楼梯
    PHP 之表单提交大数据,数据不完整
  • 原文地址:https://www.cnblogs.com/ankier/p/2952990.html
Copyright © 2020-2023  润新知