很高兴在雪易的CSDN遇见你 ,给你糖糖
欢迎大家加入雪易社区-CSDN社区云
前言
本文系统分享vtkHandleRepresentation及其子类,希望对各位小伙伴有所帮助!
感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步!
你的点赞就是我的动力(^U^)ノ~YO
目录
前言
1. vtkHandleRepresentation
2. vtkHandleRepresentation常用方法
3.带约束的Handle表示方法
4. 正面面对相机的Handle表示方法
结论:
公众号同步更新:一个坐标点需要穿越多少障碍,才能被你看到【VTKWidgetRepresentation】第二期HandleRep
1. vtkHandleRepresentation
在三维交互中,vtkHandleRepresentation是基石的存在。任何一个稍微复杂的Representation都是以vtkHandleRepresentation为控制点的。下面我们来详细阐述下vtk中的Handle表示方法。
1 | vtkOrientedPolygonalHandleRepresentation3D | 任意多边形数据(vtkPolyData) |
2 | vtkFixedSizeHandleRepresentation3D | |
3 | vtkConstrainedPointHandleRepresentation | 点约束表示 |
4 | vtkMeasurementCubeHandleRepresentation3D | |
5 | vtkPointHandleRepresentation2D | |
6 | vtkPointHandleRepresentation3D | |
7 | vtkSphereHandleRepresentation |
2. vtkHandleRepresentation常用方法
-
SetDisplayPosition/SetWorldPosition,设置Handle的位置。
-
SetTolerance,设置误差范围,用于拾取HandleRep时的需要距离。
-
SetActiveRepresentation,设置激活时的Rep。
-
SetInteractionState,设置交互的状态,包括OutSide, Nearby, Selecting, Translating, Scaling.
-
SetConstrained,设置是否约束,例如Handle是否沿着指定的轴线进行移动。
-
SetPointPlacer,设置点放置器。点放置器可用于对Handle的位置约束。例如,vtkBoundedPlanePointPlacer可以将Handle约束在一组有界平面上。vtkFocalPlanePointPlacer将Handle约束在焦点平面上。默认的点放置器vtkPointPlacer没有应用任何约束,因此Handle可以自由移动到任何地方。
-
SetTranslationAxis,设置移动的轴。
在三维建模中,最重要的两个功能为几何建模和约束。VTK均实现了。
3.带约束的Handle表示方法
vtkConstraintedPointHandleRepresentation接口表示约束在指定平面上的3D位置。默认的外观是,当这个小部件没有被选中或处于活动状态时画一个白点,当它被高亮显示时画一个细的绿色圆圈,当它处于定位(约束)状态时画一个较粗的青色圆圈。
4. 正面面对相机的Handle表示方法
vtkOrientedPolygonalHandleRepresentation3D接口可以由任意多边形数据(vtkPolyData)表示,通过SetHandle(vtkPolyData*)进行设置。该接口始终正面面对相机,通过vtkFollower来渲染Prop来完成。
结论:
感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步!
你的赞赏是我的最最最最大的动力(^U^)ノ~YO