vtk 动画入门 1 代码

实现效果如图:

cpp 复制代码
#include <vtkAutoInit.h>
//VTK_MODULE_INIT(vtkRenderingOpenGL2);
//VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
//VTK_MODULE_INIT(vtkRenderingFreeType);
#include <iostream>
#include <windows.h>
#include "vtkSmartPointer.h"
#include "vtkMultiBlockDataSet.h"
#include "vtkTecplotReader.h"
#include "vtkPointData.h"
#include "vtkCellData.h"
#include "vtkDataSetMapper.h"
#include "vtkPolyDataMapper.h"
#include "vtkActor.h"
#include "vtkRenderWindow.h"
#include "vtkRenderer.h"
#include "vtkCellDataToPointData.h"
#include "vtkAppendFilter.h" 
#include "vtkPolyData.h"
#include "vtkUnstructuredGrid.h" 
#include "vtkLookupTable.h"
#include "vtkScalarBarActor.h"
#include "vtkRenderWindowInteractor.h"
#include <string>
#include "vtkCellArray.h"
#include "vtkIdList.h" 
#include "vtkSphereSource.h" 
#include "vtkPolyDataMapper.h" 
#include "vtkAnimationCue.h" 
#include "vtkAnimationScene.h" 
#include "vtkNew.h" 


class  vtkCustomAnimationCue : public vtkAnimationCue
{
public:
	static vtkCustomAnimationCue* New();
	//vtkTypeRevisionMacro(vtkCustomAnimationCue,vtkAnimationCue);
	 vtkRenderWindow *  RenWin ;
	 vtkSphereSource *  Sphere  ;

protected:
	vtkCustomAnimationCue() {

	}
	virtual void TickInternal(double currenttime, double deltatime,double clocktime) {
		double new_st = currenttime * 180;
		this->Sphere->SetStartTheta(new_st);
		this->RenWin->Render();
	}

private:

};

vtkStandardNewMacro(vtkCustomAnimationCue);
 

void main() {

	/**/
	vtkNew<vtkRenderer> renderer ;
	vtkNew<vtkRenderWindow> renWin  ;
	renWin->SetMultiSamples(0);
	//renWin->SetSize(2000,2000);
	renWin->AddRenderer(renderer);

	vtkNew<vtkSphereSource> sphere ;

	vtkNew<vtkPolyDataMapper> mapper  ;
	mapper->SetInputConnection(sphere->GetOutputPort());
	vtkNew<vtkActor> actor ;
	actor->SetMapper(mapper);
	renderer->AddActor(actor);
	renWin->Render();

	/** /
	vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New();
	renderWindowInteractor->SetRenderWindow(renWin);
	renderWindowInteractor->Start();
	**/

	vtkNew<vtkAnimationScene> scene  ;
	//scene->SetModeToRealTime();
	scene->SetModeToSequence();
	scene->SetFrameRate(30);
	scene->SetStartTime(0);
	scene->SetEndTime(60);

	vtkNew<vtkCustomAnimationCue> cue;
	cue->Sphere = sphere;
	cue->RenWin = renWin;
	cue->SetTimeModeToNormalized();
	cue->SetStartTime(.0);
	cue->SetEndTime(1.0);

	scene->AddCue(cue);
	scene->Play();
	scene->Stop();
	 
}
  
相关推荐
砚边数影12 小时前
数据可视化入门:Matplotlib 基础语法与折线图绘制
数据库·信息可视化·matplotlib·数据可视化·kingbase·数据库平替用金仓·金仓数据库
计算机学姐18 小时前
基于SpringBoot的民宿预定管理系统【三角色+个性化推荐算法+数据可视化统计】
java·vue.js·spring boot·mysql·信息可视化·intellij-idea·推荐算法
北京青翼科技19 小时前
【PCIe732】青翼PCIe采集卡-优质光纤卡- PCIe接口-万兆光纤卡
图像处理·人工智能·fpga开发·智能硬件·嵌入式实时数据库
爱吃泡芙的小白白19 小时前
环境数据可视化利器:Hexbin Chart 全解析与应用实战
信息可视化·数据挖掘·数据分析·环境领域·hexbin chart
爱吃泡芙的小白白19 小时前
环境数据可视化利器:气泡图(Bubble Chart)全解析
信息可视化·数据挖掘·数据分析·气泡图·bubble chart·环境领域
计算机学姐21 小时前
基于SpringBoot的校园社团管理系统
java·vue.js·spring boot·后端·spring·信息可视化·推荐算法
数研小生21 小时前
1688商品列表API:高效触达批发电商海量商品数据的技术方案
大数据·python·算法·信息可视化·json
沐墨染21 小时前
Vue实战:自动化研判报告组件的设计与实现
前端·javascript·信息可视化·数据分析·自动化·vue
海绵宝宝de派小星1 天前
图像处理基础概念与常用操作
图像处理·人工智能·ai
BYSJMG1 天前
计算机毕设推荐:基于大数据的共享单车数据可视化分析
大数据·后端·python·信息可视化·数据分析·课程设计