⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cube.cxx

📁 VTK入门样例(种类齐全)
💻 CXX
字号:
#include "vtkRenderer.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkPolyData.h"
#include "vtkPoints.h"
#include "vtkCellArray.h"
#include "vtkFloatArray.h"
#include "vtkProperty.h"
#include "vtkActor.h"
#include "vtkCamera.h"
#include "vtkPointData.h"
#include "vtkMath.h"
#include "vtkShepardMethod.h"
#include "vtkDataSetMapper.h"

void main( int argc, char *argv[] )
{ 
    vtkRenderer *renderer = vtkRenderer::New();
    vtkRenderWindow *renWin = vtkRenderWindow::New();
      renWin->AddRenderer(renderer);

    vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
      iren->SetRenderWindow(renWin);

	int i;
	vtkMath *math=vtkMath::New();
	vtkPoints *points=vtkPoints::New();
	for (i=0;i<50;i++)
	{
		points->InsertPoint (i, math-> Random (0, 1), 
							 math-> Random (0, 1), math ->Random (0, 1));
	}

	vtkFloatArray *scalars=vtkFloatArray::New();
	for (i=0;i<50;i++)
	{
		scalars-> InsertValue (i ,math-> Random(0, 1));
	}

	vtkPolyData *profile=vtkPolyData::New();
		profile-> SetPoints (points);
		profile-> GetPointData() ->SetScalars (scalars);

	vtkShepardMethod *shepard=vtkShepardMethod::New();
		shepard-> SetInput (profile);
		shepard-> SetModelBounds( 0, 1 ,0, 1 ,.1 ,.5);
		shepard-> SetNullValue( 1);
		shepard-> SetSampleDimensions( 20, 20, 20);
		shepard-> Update();
    
	vtkDataSetMapper *map=vtkDataSetMapper::New();
		map-> SetInputConnection( shepard-> GetOutputPort());

	vtkActor *block=vtkActor::New();
		block-> SetMapper (map);
		block-> GetProperty()-> SetColor (1, 0, 0);


    vtkCamera *camera = vtkCamera::New();
      camera->SetPosition(1,1,1);
      camera->SetFocalPoint(0,0,0);
	  camera->SetClippingRange(0.0, 0.1);
	  camera->SetRoll(10);

    renderer->AddActor(block);
      renderer->SetActiveCamera(camera);
      renderer->ResetCamera();
      renderer->SetBackground(1,1,1);
  
    renWin->SetSize(300,300);

    renWin->Render();
    iren->Start();


	renderer->Delete();
	renWin->Delete();
	iren->Delete();
	camera->Delete();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -