• vtk renderer / rendering 绘制


    1.在绘制窗口中绘制出物体(静态的)
    vtkRenderWindow * w=vtkRenderWindow::New();  
    w->AddRenderer(r);        
    for(int i=0;i<65535;i++)       
         w->Render();

    2.在绘制窗口里面直接绘制出物体(演员),并通过自动旋转照相机来旋转物体
    vtkRenderWindow *w = vtkRenderWindow::New();
    w->AddRenderer( r );
    for (i = 0; i < 360; ++i)
    {
         w->Render();
         r->GetActiveCamera()->Azimuth( 1 ); 
    }

    3.对绘制窗口添加一个观察者,没有交互
    class vtkMyCallback : public vtkCommand
    {
    public:
    static vtkMyCallback *New() 
        { return new vtkMyCallback; }
    virtual void Execute(vtkObject *caller, unsigned long, void*)
        {
          vtkRenderer *renderer = reinterpret_cast<vtkRenderer*>(caller);
          cout << renderer->GetActiveCamera()->GetPosition()[0] << " "
               << renderer->GetActiveCamera()->GetPosition()[1] << " "
               << renderer->GetActiveCamera()->GetPosition()[2] << " ";
        }
    };

    vtkRenderWindow *renWin = vtkRenderWindow::New();
    renWin->AddRenderer( ren1 );
    vtkMyCallback *Observer = vtkMyCallback::New();
    ren1->AddObserver(vtkCommand::StartEvent,Observer);
    for (int i = 0; i < 360; ++i)
    {
       renWin->Render();
       ren1->GetActiveCamera()->Azimuth( 1 );
    }
    4.对绘制窗添加一个交互器,实现对物体(演员)的控制
    vtkRenderWindow *w = vtkRenderWindow::New();
    w->AddRenderer( r );
    vtkRenderWindowInteractor *i=vtkRenderWindowInteractor::New();
    i->SetRenderWindow(w);
    i->Initialize();
    i->Start();
    i->Delete();

    vtkInteractorObserver *p=(vtkInteractorObserver *)vtkInteractorObserver::New();
    p->EnabledOff ();

    5.将观察者注册到交互器上
    vtkRenderWindow *w = vtkRenderWindow::New();
    w->AddRenderer( r );
    vtkRenderWindowInteractor *i=vtkRenderWindowInteractor::New();
    i->SetRenderWindow(w);
    vtkPointWidget * c=vtkPointWidget::New(); //vtkInteractorObserver的子类
    c->SetInteractor(i); 
    i->Initialize();
    i->Start();

  • 相关阅读:
    传Windows 9预览版今秋发布
    谷歌上市十周年 成长为全球第二大技术公司
    Twitter CEO:有望进军中国 不会改变原则
    免费获得NOD32 半年、1年 激活码-14.08.12到期
    卡巴斯基正式版2015 简体中文版已经发布
    Google 宣布支持中文邮箱地址
    图片:走进柯达电影胶片厂
    Microsoft Visual Studio Ultimate 2013 with Update 3 CN+EN
    DataFrame衍生新特征操作
    isolation forest进行异常点检测
  • 原文地址:https://www.cnblogs.com/burellow/p/3641743.html
Copyright © 2020-2023  润新知