vtk处理外部事件
来源:互联网 发布:尸者的帝国知乎 编辑:程序博客网 时间:2024/06/13 01:11
Command方式
class CommandSubclass : public vtkCommand{public: vtkTypeMacro(CommandSubclass , vtkCommand); static CommandSubclass *New() { return new CommandSubclass ; } void Execute(vtkObject *caller, unsigned long eventId,void *callData) { // 过滤按键信息 if (eventId == vtkCommand::KeyPressEvent) { // 过滤ctrl vtkRenderWindowInteractor* interactor = dynamic_cast<vtkRenderWindowInteractor*>(caller); if (interactor->GetControlKey()) { std::string key = interactor->GetKeySym(); if(key == "a") cout << "ctrl + a" << endl; } } }};
InteractorStyle方式
class MouseInteractorStyleDoubleClick : public vtkInteractorStyleTrackballCamera{public: // 先是interactor style进行处理 // 再是Command进行捕获处理 static MouseInteractorStyleDoubleClick* New(); vtkTypeMacro(MouseInteractorStyleDoubleClick, vtkInteractorStyleTrackballCamera); MouseInteractorStyleDoubleClick() : NumberOfClicks(0), ResetPixelDistance(5) { this->PreviousPosition[0] = 0; this->PreviousPosition[1] = 0; } //http://blog.sina.com.cn/s/blog_5e3a1bbb0100esv3.html // keydown跟keypress区别 //virtual void OnKeyPress() //{ // //// Get the keypress // //vtkRenderWindowInteractor *rwi = this->Interactor; // //std::string key = rwi->GetKeySym(); // //if (rwi->GetControlKey()) // //{ // // // ctrl+ a // // if (key == "a") // // { // // std::cout << "Ctrl + a" << std::endl; // // } // // //rwi->get // //} // //vtkInteractorStyleTrackballCamera::OnKeyPress(); //} virtual void OnLeftButtonUp() { vtkRenderWindowInteractor *rwi = this->Interactor; std::cout << "left mouse" << std::endl; if (rwi->GetControlKey()) { std::cout << "Ctrl + left mouse" << std::endl; } vtkInteractorStyleTrackballCamera::OnLeftButtonUp(); }private: unsigned int NumberOfClicks; int PreviousPosition[2]; int ResetPixelDistance;};vtkStandardNewMacro(MouseInteractorStyleDoubleClick);
阅读全文
0 0
- vtk处理外部事件
- 事件处理003(外部类)
- vtk事件响应机制
- Vtk图像处理
- VTK平滑处理
- vtk 温度场 后处理 显示
- VTK图像处理之vtkImageMapToColors
- VTK图形处理之vtkTriangleFilter
- VTK图像处理之vtkImageReslice
- VTK图形处理之剪切
- VTK图形处理之剪裁
- VTK 无法解析的外部符号的解决办法
- VTK
- VTK
- vtk
- vtk
- vtk
- VTK
- javaScript之数组去重
- 第一天的博客
- jquery table 鼠标选中单元格效果
- 自定义GridView添加头视图和足视图
- HTML 速查列表
- vtk处理外部事件
- 分布式框架简介SSM组合+ springmvc+mybatis+shiro+restful+bootstrap
- [bzoj3060]Tour de Byteotia
- windows下如何github ssh 公钥
- iOS端一次视频全屏需求的实现
- Spark源码之persist方法,cache方法以及StorageLevel
- Python协程(coroutine)
- 报错解决Context initialization failed org.springframework.beans.factory.BeanCreationException
- 机房练习赛hao 【Tsinghua OJ】祖玛(Zuma) (字符串)