VTK入门程序样例分析-vtk与MFc混编(2)

2019-04-21 19:17

renWin->SetSize( 300, 300 );

// Here is where we setup the observer, we do a new and ren1 will // eventually free the observer

vtkMyCallback *mo1 = vtkMyCallback::New(); ren1->AddObserver(vtkCommand::StartEvent,mo1); mo1->Delete(); //

// now we loop over 360 degrees and render the cone each time // int i;

for (i = 0; i < 360; ++i) {

// render the image renWin->Render();

// rotate the active camera by one degree ren1->GetActiveCamera()->Azimuth( 1 ); } //

// Free up any objects we created //

cone->Delete(); coneMapper->Delete(); coneActor->Delete(); ren1->Delete(); renWin->Delete();

return 0; }

3、一个圆锥两个renderer在同一个窗口下显示

#include \ #include \ #include \ #include \ #include \ #include \

int main() { //

// Next we create an instance of vtkConeSource and set some of its // properties. The instance of vtkConeSource \

// visualization pipeline (it is a source process object); it produces data // (output type is vtkPolyData) which other filters may process. //

vtkConeSource *cone = vtkConeSource::New(); cone->SetHeight( 3.0 ); cone->SetRadius( 1.0 ); cone->SetResolution( 10 ); //

// In this example we terminate the pipeline with a mapper process object. // (Intermediate filters such as vtkShrinkPolyData could be inserted in // between the source and the mapper.) We create an instance of

// vtkPolyDataMapper to map the polygonal data into graphics primitives. We // connect the output of the cone souece to the input of this mapper. //

vtkPolyDataMapper *coneMapper = vtkPolyDataMapper::New(); coneMapper->SetInputConnection( cone->GetOutputPort() ); //

// Create an actor to represent the cone. The actor orchestrates rendering // of the mapper's graphics primitives. An actor also refers to properties // via a vtkProperty instance, and includes an internal transformation // matrix. We set this actor's mapper to be coneMapper which we created // above. //

vtkActor *coneActor = vtkActor::New(); coneActor->SetMapper( coneMapper ); //

// Create two renderers and assign actors to them. A renderer renders into // a viewport within the vtkRenderWindow. It is part or all of a window on // the screen and it is responsible for drawing the actors it has. We also // set the background color here. In this example we are adding the same // actor to two different renderers; it is okay to add different actors to // different renderers as well. //

vtkRenderer *ren1= vtkRenderer::New(); ren1->AddActor( coneActor );

ren1->SetBackground( 0.1, 0.2, 0.4 ); ren1->SetViewport(0.0, 0.0, 0.5, 1.0);

vtkRenderer *ren2= vtkRenderer::New(); ren2->AddActor( coneActor );

ren2->SetBackground( 0.2, 0.3, 0.5 ); ren2->SetViewport(0.5, 0.0, 1.0, 1.0); //

// Finally we create the render window which will show up on the screen. // We put our renderer into the render window using AddRenderer. We also // set the size to be 300 pixels by 300. //

vtkRenderWindow *renWin = vtkRenderWindow::New(); renWin->AddRenderer( ren1 ); renWin->AddRenderer( ren2 ); renWin->SetSize( 600, 300 ); //

// Make one view 90 degrees from other. //

ren1->ResetCamera();

ren1->GetActiveCamera()->Azimuth(90); //

// Now we loop over 360 degreeees and render the cone each time. // int i;

for (i = 0; i < 360; ++i) {

// render the image renWin->Render();

// rotate the active camera by one degree ren1->GetActiveCamera()->Azimuth( 1 ); ren2->GetActiveCamera()->Azimuth( 1 ); } //

// Free up any objects we created. All instances in VTK are deleted by // using the Delete() method. //

cone->Delete(); coneMapper->Delete(); coneActor->Delete(); ren1->Delete(); ren2->Delete(); renWin->Delete();

return 0; }

4、一个圆锥两个renderer在同一个窗口下显示

Cone4

#include \ #include \ #include \ #include \ #include \ #include \ #include \

int main() { //

// Next we create an instance of vtkConeSource and set some of its // properties. The instance of vtkConeSource \

// visualization pipeline (it is a source process object); it produces data // (output type is vtkPolyData) which other filters may process. //

vtkConeSource *cone = vtkConeSource::New(); cone->SetHeight( 3.0 ); cone->SetRadius( 1.0 ); cone->SetResolution( 10 ); //

// In this example we terminate the pipeline with a mapper process object. // (Intermediate filters such as vtkShrinkPolyData could be inserted in // between the source and the mapper.) We create an instance of

// vtkPolyDataMapper to map the polygonal data into graphics primitives. We


VTK入门程序样例分析-vtk与MFc混编(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:ABB机器人RAPID指令中文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: