OpenCaseCade在鼠标移动至图元时会高亮显示,当图元被选中时默认也会有变化,如何更改高亮的颜色以及选中时的颜色呢

这个问题以前自己尝试过自己处理改变,但是自己处理实现的效果感觉总是拖拖拉拉 ,而且时效性很差,在最近研究中发现一种方法,可以简单的实现该操作。

这里要关注一下OCC本身提供的 AIS_InteractiveContext.lxx  文件和AIS_InteractiveObject类

AIS_InteractiveContext.lxx文件中包含了许多内联函数,这里以前很少关注,但是这次也是从该文件中发现了好多未曾知道的方法。

实现过程:

一.在OCC环境初始化的时候时候指定高亮显示的颜色与选中的颜色(下面的方法)

myAISContext->SetHilightColor(Quantity_NOC_GREEN3);      //高亮颜色myAISContext->SelectionColor(Quantity_NOC_BLUE3);       //选中颜色

二.在画具体某个图元的时候,设置高亮显示模式(下面代码以画一个基本矩形为例)

//画基本矩形
void OccEditView::DrawBaseRect(double Length,double Width,double Height)
{RemoveAll();m_S1 = BRepPrimAPI_MakeBox(gp_Pnt(0.,0.,0.),Length,Width,Height).Shape();m_ais1 = new AIS_Shape(m_S1);m_ais1->SetHilightMode(1);   //设置高亮显示模式(目前可以设置为0,1,2)myAISContext->SetColor(m_ais1,Quantity_NOC_BLUE3,Standard_False); myAISContext->SetMaterial(m_ais1,Graphic3d_NOM_PLASTIC,Standard_False);    myAISContext->Display(m_ais1);}

此时就完成了,类似的操作细节可以查看OCC库文件,以及参阅开源实现代码。

OpenCasCade鼠标移动高亮颜色设置与选中颜色设置相关推荐

  1. UITabBar背景、icon图标颜色、被选中背景设置以及隐藏UITabBar的两种方式

    一.对UITabBar背景和icon图标的一些设置 (1)因为直接给UITabBar设置的背景颜色显示的不纯,半透明的感觉,所以,有时候我们可以直接利用纯色的图片作为背景达到想要的效果: (2)给ic ...

  2. 自定义DatePicker修改默认颜色和字体,选中颜色和字体,分割线

    1,设置默认的字体大小和颜色 在你的Androidmanifest.xml 对应的 android:theme="" 中添加: <item name="androi ...

  3. 微信小程序设置tabBar选中颜色和图标

    {"pages":["pages/index/index","pages/logs/logs"],"window":{& ...

  4. echarts图例板块默认高亮与鼠标移入高亮实现

    主要先设置 emphasis.scale= true 开启鼠标移入高亮动画,利用dispatchAction方法设置默认高亮组 块, 再检测鼠标的mouseover时间,当检测到鼠标悬停事件,取消默认 ...

  5. html控制checkbox选中状态,怎么设置checkbox 选中状态

    项目中经常遇到 checked 选中的问题,可以通过 JS 或者 jQuery 实现. 1.JS 方法 判断选中:var check = document.getElementsByTagName(' ...

  6. C# ListView控件显示表格(自适应宽度),添加 Checkbox,删除选择项,选中颜色和鼠标滑过背景变色

    本文转载自:http://www.liangshunet.com/ca/201309/586362553.htm 亮术网 2020-03-07 本网原创 DataGridView控件功能十分强大,显示 ...

  7. QTextEdit的几种高亮设置(选中文本、关键字)

    文本选中区域的颜色可以用 QPalette 或者设置样式表,选中后默认文本是渲染为白色,可以设置 palette 的 brush 为 Qt::NoBrush 保持原本的文本颜色. //背景和选区颜色Q ...

  8. CSDN-markdown 文字样式设置(字体, 大小, 颜色, 高亮底色)与数学表达式设置

    文字样式1(内嵌HTML) Size:规定文本的尺寸大小,取值从 1 到 7 ,浏览器默认值是 3. <font face="黑体">我是黑体字</font> ...

  9. Android RadioGroup动态加入RadioButton,动态设置选中和未选中的颜色及设置默认选中

    此篇文章主要实现功能:RadioGroup控件根据服务端返回的数据动态添加RadioButton 关于RadioButton动态设置背景颜色和字体颜色,踩过好多坑,接下来我总结一下遇到的所有问题及解决 ...

  10. SwiftUI TabView设置选中Item颜色和Tab背景颜色 教程含源码

    实战需求 SwiftUI TabView如何设置选中Item颜色和Tab背景颜色 本文价值与收获 看完本文后,您将能够作出下面的界面 看完本文您将掌握的技能 掌握TavView基础使用 掌握accen ...

最新文章

  1. Codeforces614D Skills
  2. python数据处理实例-Python数据分析实例操作
  3. mac搭建ios自动化环境之WebDriverAgent配置
  4. java实现动态验证码源代码——jsp页面
  5. 用置换破坏您的JUnit5测试
  6. PropertyGrid 控件使用方法
  7. 登录用户Eclipse中SVN访问用户的变更办法
  8. 2019-暑期实习生-自然语言处理算法岗-面试题
  9. 【BZOJ4129】Haruna’s Breakfast,树上带修莫队+权值分块求mex
  10. Using Java SecurityManager to grant/deny access to system functions
  11. python3可视化窗口操作_Python3.x+PyQtChart实现数据可视化界面(PyQtChart绘图;还有保存图片)和业务逻辑分离案例01_自己写的,有UI界面源代码...
  12. [BZOJ2850]巧克力王国
  13. 【礼仪大赛常识】 如何成为诱人焦点:晚装穿法有讲究
  14. Java 嵌入 SPL 轻松实现 Excel 文件合并
  15. java页面注册_java编写注册页面
  16. vs2015中提示未能找到类型或命名空间名Word
  17. 蓝韵DR采集工作站LINUX系统,蓝韵PACS系统的技术参数
  18. mysql转dm7_DM7 达梦数据库 数据库级 数据复制(DATA REPLICATION) 搭建手册
  19. 图片转pdf/pdf多文件合并,在线一键完成
  20. 音频变速播放原理分析及实现方案

热门文章

  1. universe是什么牌子_【寰宇影视】品牌介绍→寰宇电影_寰宇娱乐_买购网
  2. uniapp和原生开发区别_web app和原生app有什么区别?
  3. c++如何让字符串重复输出_Python基础三(数据类型之数字和字符串)
  4. 关闭git命令窗快捷键_git常用命令与AndroidStudio常用快捷键
  5. java json 打印出来_如何使用Java漂亮地打印现有的JSON数据?
  6. linux go missing git command,go: missing Git command的解决办法
  7. assert函数_类成员函数指针在成员函数内部的调用
  8. IntelliJ IDEA下SVN的配置及使用说明
  9. Git(4):提交代码时忽略不必要的文件或文件夹
  10. (2)Spring框架----IOC基础快速入门