文档详情

HOOPS基本培训课程日程安排.ppt

发布:2017-02-19约1.5万字共95页下载文档
文本预览下载声明
HOOPS基本培训课程日程安排 选择和高亮 HOOPS选择事件 选择示例 联系11:选择 高亮实现 段间的移动 联系12:高亮 HOOPS选择事件 一般来说输入的是鼠标位置 定义选择涉嫌 定义选择体 探测和选择射线相交的可选几何对象 选择事件执行以下操作 遍历段结构树 将可选几何对象转换到窗口空间 用选择区域和可选几何对象比较 在列表中的对象执行Z排序 ‘selection sorting’选项可以控制是否执行Z排序 选择结果保存在选择队列中 与搜索函数返回的对象格式相同 HC_Compute_Selection 得到选中对象 int HC_Compute_Selection(const char *display, const char *start_seg, const char *action, double x, double y) display:拥有驱动的段 start_seg:搜索起始段 action:作用于对象的鼠标事件 x,y:选择点在窗口空间的坐标值 函数变形 By_Area By_Polygon By_Polyline By_Volume By_Shell HC_Compute_Selection 选中的对象存储在选择列表中 按从前到后顺序排列 可以设置选择邻近区域的大小 HC_Set_Driver_Option函数的”selection proximity”选项 可以设置选择列表中可以保存的对象的数目 HC_Set_Driver_Option函数的”related selection limit”选项 可以搜索选择列表中的对象 HC_Show_Selection_XXX() 使用键值得到需要的几何对象 HC_Show_Selection_XXX() 搜索选择列表中的对象 void HC_Show_Selection_XXX() 函数变形 Show_Selection Show_Selection_Element Show_Selection_Elements Show_Selection_Keys Show_Selection_Original_Key Show_Selection_Original_Keys Show_Selection_Pathname Show_Selection_Position Show_Selection_Source HC_Find_Related_Selection 在选择列表中移动,指向下一个对象 HC_BOOLEAN HC_Find_Related_Selection(void) HC_Set_Selectability 设置段或基本图元的可选择性 void HC_Set_Selectability(const char *list) list:设置字符串 缺省情况下不可见的对象是无法选中的 通过指定”invisible”或”on!”可以打开对不可见对象的选择 HC_Set_Selectability(“eveything = off”); 选择示例 long primitive; int count,offset1,offset2,offset3; char type[32],pathname[128]; count = HC_Compute_Selection(“.”,”.”,”v”,new_point.x,new_point.y); HC_Show_Selection_Element(primitive,offset1,offset2,offset3); HC_Show_Key_Type(primitive,type); if(streq(type,”marker”)) HC_delete_By_Key(primitive); else Highlight_Primitive(primitive); 练习11:选择 找出HOOPS可以从几何中得到的信息 参考在线帮助 提示 HC_Show_Selection_element(key,offset1,offset2,offset3) 高亮的实现 需要高亮的几何被临时移动到高亮段 高亮段拥有高亮颜色设置 更新代价取决于属性更新 改变颜色时,宜采用增量更新 改变边的线宽时,需要采用全部更新 段之间的移动 可以用来移动段和几何 几何接受了目标段的属性 移动一个对象 HC_Move_By_Key 给定待移动对象的键值 段的复制 HC_Copy_Segment 一般来说建议采用实力化的方式 HC_Move_By_Key 段之间的移动 void HC_Move_By_Key(HC_KEY key,const char* newowner) key:待移动的段或几何的键值
显示全部
相似文档