OSG中TerrainManipulator(地形适配操纵器)
osgManipulator
库提供了一套完整的3D物体交互操作解决方案。它的核心思想类似于3D建模软件(如Blender、Maya)中的物体变换工具:
-
操纵器(Manipulator):可见的3D控件,如箭头、圆圈、方块,用户可以通过拖动它们来操作物体。
-
命令(Command):记录操作的过程,支持撤销/重做。
-
选择(Selection):管理当前被选中的物体和操纵器。
其最大的优点是可视化和直观性——用户可以直接看到操作的方向和约束。
核心概念与类
核心类 | 功能描述 |
---|---|
osgManipulator::Dragger | 拖拽器基类。所有具体操纵器的基类,负责处理鼠标事件和变换计算。 |
osgManipulator::Selection | 选择管理器。管理当前选中的可拖拽对象。 |