一杯清酒邀明月
天下本无事,庸人扰之而烦耳。

1、正常显示vtk,需要

vtkActor (可以有多个) 进行一些演员的处理

vtkRenderer (可以有多个) 将vtkActor进行加入

vtkRenderWindow(只能有一个) 将vtkRenderer进行加入

vtkRenderWindowInteractor(只能有一个) 将vtkRenderWindow进行加入 (将窗口加入)

vtkInteractorStyleTrackballActor (只能有一个)

vtkInteractorStyleTrackballCamera: 相当于移动摄像头,按键,屏幕上的所有内容都会动起来

vtkInteractorStyleTrackballActor: 相当于实体对象,当鼠标在某一个对象上按键时,只有这个对象会动

 

2、查看render中有多少个actor

 1 vtkActorCollection* actorCollection = m_Render->GetActors();
 2 int num = actorCollection->GetNumberOfItems();
 3 actorCollection->InitTraversal();
 4 for (int i=0;i<num1;++i)
 5 {
 6     vtkActor* actor = actorCollection->GetNextActor();
 7         //处理code
 8     double coloraa[3];
 9         double *acolor = NULL;
10         acolor = actor->GetProperty()->GetColor();
11     coloraa[0]=acolor[0];
12     coloraa[1]=acolor[1];
13     coloraa[2]=acolor[2];
14     cout<<"coloraa[0]=="<<coloraa[0]<<endl;
15     cout<<"coloraa[1]=="<<coloraa[1]<<endl;
16     cout<<"coloraa[2]=="<<coloraa[2]<<endl;
17 }

 

3、 //当有多个render时,设置活动的那个

m_Renderer->SetInteractive(1);

 

4、vtk渲染流程:

 

posted on 2023-06-21 14:26  一杯清酒邀明月  阅读(764)  评论(0编辑  收藏  举报