进入选择模式 命令 操作系统支持:Windows 所属类别:交互操作
为高级用户提供,初级用户无需掌握;
进入选择模式后画出的任何图元都不会显示出来。只有在选择模式下对模型进行命名的操作才有效。成功后将所有在选择区域中包含的命中记录存放在数组参数中。并且返回命中记录的个数。否则清空数组,并且返回0。 选择缓存内容的排列规则: 1.命中级别:
如果为顶级记录,值为1,二级为2,依次类推。 2.最近距离:只表示在屏幕内的深度,并不对应Z坐标,数值为VC中的 unsigned int 数据类型,需要转换到0~4294967295范围的值。不同的投影方式,会有不同的结果。
3.最远距离:同上。 4.名字列表:成员1表示顶级名字,成员2表示二级名字,依次类推,最后一个成员表示命中名字。
5.如果存在其他命中记录就重复1-4步。
语法: 整数型
进入选择模式 (屏幕横向位置, 屏幕纵向位置, 选择区域宽度, 选择区域高度, 命名图元子程序, 存放选择选择缓存的数组)
参数名
描
述
屏幕横向位置
必需的; 整数型。在当前OPenGL所显示的窗口组件中的横向位置。
屏幕纵向位置
必需的; 整数型。在当前OPenGL所显示的窗口组件中的纵向位置。
选择区域宽度
必需的; 整数型。需要进行选择的区域的宽度,宽度越大搜索范围越大,计算量也越大。
选择区域高度
必需的; 整数型。需要进行选择的区域的高度,高度越大搜索范围越大,计算量也越大。
命名图元子程序
必需的; 子程序指针。子程序没有使用参数和返回值。只有在这个子程序中使用与名字栈有关的命令才有效。
存放选择选择缓存的数组
必需的; 整数型,参数数据只能提供变量数组。原来的数据将被清除。并重新定义为一维数组。
例程:到屏幕坐标 命令 操作系统支持:Windows 所属类别:交互操作
将OPenGL的空间坐标转换到组件的屏幕坐标。成功返回真,否则返回假。
语法: 逻辑型
到屏幕坐标 (空间坐标横向位置, 空间坐标竖向位置, 空间坐标纵向位置, 存放屏幕坐标横向位置的变量, 存放屏幕坐标纵向位置的变量, 存放屏幕深度的变量)
参数名
描
述
空间坐标横向位置
必需的; 双精度小数型。OPenGL的空间坐标系中的横向位置。
空间坐标竖向位置
必需的; 双精度小数型。OPenGL的空间坐标系中的竖向位置。
空间坐标纵向位置
必需的; 双精度小数型。OPenGL的空间坐标系中的纵向位置。
存放屏幕坐标横向位置的变量
必需的; 双精度小数型,参数数据只能提供变量。窗口组件中的横向位置。
存放屏幕坐标纵向位置的变量
必需的; 双精度小数型,参数数据只能提供变量。窗口组件中的纵向位置。
存放屏幕深度的变量
必需的; 双精度小数型,参数数据只能提供变量。0表示与投影坐标系中的最近的平面,1表示最远的平面。
例程:
说明:
将设备的空间坐标转换成组件的屏幕坐标。
说明:
要使用交互操作,必须先设置本命令。