VTK--Picker(shzhou 20110727).doc


文档分类: | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6
文档列表 文档介绍
pciker的一些类(来自Shuiling),如下:
1. vtkAbstractPicker: define API for picking subclasses
该类是一个抽象基类,为它的具体的子类定义了最基本的API,最基本的功能是返回拾取位置的x-y-z global坐标系统的坐标值(pick自身是在屏幕坐标中进行定义的)
类定义了一个纯虚函数Pick(),它的作用是给定一个选择点(屏幕坐标系统里的,以像素为单位)以及一个Renderer,然后通过调用GetPickPosition()方法,生成global坐标系统的坐标值。Pick()函数的原型如下
virtual int Pick (double selectionX, double selectionY, double selectionZ, vtkRenderer *renderer)通常都把selectionZ设为0,与Renderer相关联的actor就是拾取的对象范围。在拾取过程中vtkPicker会触发一些事件:1、StartPickEvent, 2、PickEvent, 3、EndPickEvent。当something被拾取的时候,并且在所有的picking申请者已经通过测试,1/2/3事件就会在picking之前调用。注意:在pick的过程中,vtkProp的PickEvent事件会在vtkPicker的PickEvent之前被调用。
vtkAbstractPicker以及它的子类都不能拾取"拒绝拾取"的Prop(也就是该Prop通过调用自身的PickableOff()方法)和完全透明的Prop(即prop->GetProperty()->SetOpacity(0))。
Picker可以分为两类,分别是用几何方法拾取(典型的例子是光线投射)和基于硬件拾取。几何方法拾取能获取的信息较多同时也较慢,而基于硬件的拾取拾取速度快,但返回的信息最少。几何方法拾取主要的类有:vtkPicker, vtkCellPicker和vtkPointPicker。基于硬件拾取的类有:vtkWorldPointPicker和vtkPropPicker。vtkAbstractPicker有两个直接子类:vtkWorldPointPicker和vtkAbstractPropPicker。
2. vtkWorldPointPicker: find world x,y,z corresponding to display x,y,z
vtkWorldPointPicker是基于硬件的拾取,它返回与屏幕坐标(x, y, z)相对应的世界坐标点。这个类不能拾取Actor和/或Mapper,它只是简单地确定世界坐标上的坐标值。这个类不调用PickMethod()事件,只能调用StartPickEvent()和EndPickMethod()两个事件。
3. vtkPropPicker: pick an actor/prop using graphics hardware
vtkPropPicker -> vtkAbstractPropPicker -> vtkAbstractPicker
vtkPropPicker是基于图形硬件拾取一个Actor/Prop实例,速度比vtk

VTK--Picker(shzhou 20110727) 来自淘豆网www.taodocs.com转载请标明出处.