当前位置: 首页 > news >正文

vtk 动画入门 1 代码

实现效果如图:


#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();}

http://www.lryc.cn/news/181365.html

相关文章:

  • 【VR】【unity】如何在VR中实现远程投屏功能?
  • OpenGl材质
  • 背包问题
  • JavaSE | 初始Java(十一) | 抽象类和抽象接口
  • 产品经理如何科学的进行需求调研?
  • AI智能问答系统源码/AI绘画商业系统/支持GPT联网提问/支持Midjourney绘画
  • 玩具玩偶配送经营商城小程序的作用是什么?
  • latex表格内容换行
  • 2023 牛客国庆day4 【10.2训练补题】
  • android的USB开发时 mUsbManager.getDeviceList()获取都为空
  • SpringCloud Alibaba - Seata 部署 TC 服务,并集成微服务
  • Java基础面试,接口和抽象类的区别?
  • 《视觉 SLAM 十四讲》V2 第 4 讲 李群与李代数 【什么样的相机位姿 最符合 当前观测数据】
  • 【深蓝学院】手写VIO第4章--基于滑动窗口算法的 VIO 系统:可观性和 一致性--笔记
  • mfc 动态加载dll库,Mat转CImage,读ini配置文件,鼠标操作,在edit控件上画框,调试信息打印
  • 索尼 toio™应用创意开发征文|检测工业平台震动
  • 【已解决】 Expected linebreaks to be ‘LF‘ but found ‘CRLF‘.
  • Java8 Lambda.stream.sorted() 方法使用浅析分享
  • Neural Networks for Fingerprint Recognition
  • ChatGPT推出全新功能,引发人工智能合成声音担忧|百能云芯
  • Java 实现遍历一个文件夹,文件夹有100万数据,获取到修改时间在2天之内的数据
  • 持续集成部署-k8s-命令行工具:基础命令的使用
  • 使用python脚本的时间盲注完整步骤
  • C++项目:仿mudou库one thread one loop式并发服务器实现
  • 【算法训练-贪心算法 一】买卖股票的最佳时机II
  • 单阶段目标检测与双阶段目标检测的联系与区别
  • Mysql技术文档--设计表规范式-一次性扫盲
  • python socket 传输opencv读取的图像
  • APACHE NIFI学习之—UpdateAttribute
  • BIT-7文件操作和程序环境(16000字详解)