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

镇江网站建设平台广告公司网站制作

镇江网站建设平台,广告公司网站制作,做系统 和网站前端,医院网站建设策划书函数介绍 VTKPointPickerInteractorStyle是一个自定义的交互样式类,它是VTK库中vtkInteractorStyleTrackballCamera类的子类。VTK(Visualization Toolkit)是一个开源的,跨平台的库,用于处理、渲染和视觉化科学数据。它…

函数介绍

VTKPointPickerInteractorStyle是一个自定义的交互样式类,它是VTK库中vtkInteractorStyleTrackballCamera类的子类。VTK(Visualization Toolkit)是一个开源的,跨平台的库,用于处理、渲染和视觉化科学数据。它包括一系列的类和方法用于3D计算机图形、图像处理和可视化。

vtkInteractorStyleTrackballCamera是VTK中的一个交互样式类,它定义了用户与3D场景交互的方式,例如:旋转、缩放、平移等。VTKPointPickerInteractorStyle类继承了vtkInteractorStyleTrackballCamera类,并重写了一些方法,以自定义用户的交互行为。


class VTKPointPickerInteractorStyle : public vtkInteractorStyleTrackballCamera
{
public:static VTKPointPickerInteractorStyle* New();vtkTypeMacro(VTKPointPickerInteractorStyle, vtkInteractorStyleTrackballCamera);void setObjectIndex(int index) { m_index = index; }int getObjectIndex() const { return m_index; }VTKPointPickerInteractorStyle(){LastPickedActor = NULL;LastPickedProperty = vtkProperty::New();}virtual ~VTKPointPickerInteractorStyle(){LastPickedProperty->Delete();}virtual void OnLeftButtonUp() override{// Forward eventsvtkInteractorStyleTrackballCamera::OnLeftButtonUp();}virtual void OnLeftButtonDown() override{int* clickPos = this->GetInteractor()->GetEventPosition();this->Interactor->GetPicker()->Pick(clickPos[0], clickPos[1], 0,  // always zero.this->Interactor->GetRenderWindow()->GetRenderers()->GetFirstRenderer());double picked[3];this->Interactor->GetPicker()->GetPickPosition(picked);
//        std::cout << "Picked value: " << picked[0] << " " << picked[1] << " " << picked[2] << std::endl;// Forward eventsvtkInteractorStyleTrackballCamera::OnLeftButtonDown();}
//    virtual void OnMouseMove() override
//    {//    }private:vtkActor    *LastPickedActor;vtkProperty *LastPickedProperty;int m_index;};

被重写的方法还能保留之前的功能吗?重写一个方法会完全覆盖父类中的该方法的实现。但是,可以在子类的方法中显式调用父类的方法来保留父类的功能。

例如,在VTKPointPickerInteractorStyle类的OnLeftButtonDown方法中,在方法的最后,调用了vtkInteractorStyleTrackballCamera::OnLeftButtonDown()。这样,就可以在执行完VTKPointPickerInteractorStyle类的OnLeftButtonDown方法的自定义操作后,再执行vtkInteractorStyleTrackballCamera类的OnLeftButtonDown方法。这样做可以保证在执行完子类的自定义操作后,还能执行父类的操作。

设置回调

下面是用于设置回调,同时为了在鼠标点击窗口时确认当前窗口索引,将每个窗口的索引或objectName存储在类的某个成员变量中,并添加一个方法来检索它。

class VTKPointPickerInteractorStyle : public vtkInteractorStyleTrackballCamera
{...
public:void setObjectIndex(int index) { m_index = index; }int getObjectIndex() const { return m_index; }...
private:int m_index;
};

然后在创建VTKPointPickerInteractorStyle对象时设置索引i。

    for(int i=0;i<8;i++){vtkSmartPointer<VTKPointPickerInteractorStyle> style =vtkSmartPointer<VTKPointPickerInteractorStyle>::New();style->setObjectIndex(i);render[i]->GetInteractor()->SetInteractorStyle(style);}

将交互样式设置为 nullptr,也就是清除交互样式,回到默认的交互方法。

render[i]->GetInteractor()->SetInteractorStyle(nullptr);
http://www.khdw.cn/news/50571.html

相关文章:

  • 惠州市住房和城乡规划建设局网站百度推广seo优化
  • 百度海外视频网站建设上海最新新闻
  • 阿里巴巴网站做销售方案广州网站优化服务
  • 陕西建设厅证件查询网站品牌网络营销成功案例
  • 如果做网站需要多少钱百度站长工具抓取诊断
  • 舟山公司网站制作深圳网络推广培训中心
  • 大连网站建设谁家好济南seo优化
  • 网站推广的英文content高清视频线和音频线的接口类型
  • 单位网站查询工资链接怎么做百度广告联盟
  • 龙岗在线网站建设怎么给自己的网站设置关键词
  • 互站网官网免费b站推广网站有哪些
  • 绵阳公司网站建设seo提升排名
  • 网站设置为应用程序职业培训机构哪家最好
  • wordpress和wiki佛山做网络优化的公司
  • 做网站商城需要什么自动点击器怎么用
  • 江苏广泽建设公司网站seo排名优化工具
  • 云南省建设厅专家注册网站seo顾问服务 品达优化
  • 平顶山网站建设费用网站alexa排名查询
  • 和男朋友都是第一次做网站知名的建站公司
  • 企业网站服务器的选择网站网络推广公司
  • 社交网站开发流程seo的中文是什么
  • 湛江霞山最新疫情企业seo推广外包
  • 智通人才招聘网windows优化大师是官方的吗
  • 常州企业免费建站百度热度
  • 广州专业网站建设怎么做公众号
  • 做网站可以用php新平台推广赚钱
  • 营销型网站建设易网拓网站搭建详细教程
  • 免费网站建设报价网络营销软文范例
  • 哈什么网一个网站做ppt西安优化外
  • 阳谷企业做网站推广windows优化大师值得买吗