OpenCasCade(OCC) 选中三维模型_c语言利用occ做三维模型界面设计-程序员宅基地

技术标签: OpenCasCade  mfc  

1、选中导入模型的面主要在XXXView.cpp的消息中定义鼠标事件
2、需要对导入的模型的显示方式进行稍微的更改

//在导入模型时显示的状态有所更改
//其中 1 代表 不是线框模式
//其中 3 代表 TopAbs_Solid	
anAIScontext->Display(ais,1,3,Standard_True,Standard_True,AIS_DS_Displayed);

3、首先需要实现鼠标移动到模型的显示

//OnMouseMove中的部分代码
//获取上下文的对象
	Handle(AIS_InteractiveContext) ais = GetDocument()->GetIC();
//使得对象在移动的时候,选中
	ais->MoveTo(point.x,point.y,myView,Standard_True);
//选中后的显示状态的更改
	Handle(Prs3d_Drawer) t_hilight_style = ais->HighlightStyle();
	t_hilight_style->SetMethod(Aspect_TOHM_COLOR);  // 颜色显示方式
	t_hilight_style->SetColor(Quantity_NOC_LIGHTYELLOW);    // 设置高亮颜色
	t_hilight_style->SetDisplayMode(1); // 整体高亮
	t_hilight_style->SetTransparency(0.2f); // 设置透明度
	ais->SetSelectionStyle(t_hilight_style);

4、其次去定义鼠标左键按下的事件,可以实现选中的停留

//OnLButtonDown中的部分代码
	Handle(AIS_InteractiveContext) ais = GetDocument()->GetIC();
	ais->Select(Standard_True);//实现单选的功能
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40247982/article/details/106128471

智能推荐

修改tomcat设置访问根目录文件_tomcat实现无文根访问-程序员宅基地

文章浏览阅读3k次。1.清除webapps\ROOT下的内容2.修改conf下web.xml <servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servle..._tomcat实现无文根访问

Spark 官方文档(4)——Configuration配置_typeerror: sparkconf.setmaster() missing 1 require-程序员宅基地

文章浏览阅读6.7k次。Spark可以通过三种方式配置系统:通过SparkConf对象, 或者Java系统属性配置Spark的应用参数通过每个节点上的conf/spark-env.sh脚本为每台机器配置环境变量通过log4j.properties配置日志属性Spark属性Spark属性可以为每个应用分别进行配置,这些属性可以直接通过SparkConf设定,也可以通过set方法设定相关属性。 下面展示了在本地机使用_typeerror: sparkconf.setmaster() missing 1 required positional argument: 'va

逍遥安卓与Genymotion两种安卓模拟器的对比测试_逍遥模拟器 genymotion-程序员宅基地

文章浏览阅读6.5k次。逍遥安卓与Genymotion两种安卓模拟器的对比测试_逍遥模拟器 genymotion

运行FreeMind 弹出This application requires a Java Runtime Environment 1.5.0解决办法_mc-wns-client-程序员宅基地

文章浏览阅读1.9w次。系统已经安装过了java1.8(解压缩版的),已经安装了 jdk ,并且设置好了 java 环境变量,CMD 运行 java 或 javac 都正常,其他依赖 jdk 的应用程序都能正常运行,安装完FreeMind提示需要java1.5.0环境解决方法如下:1:点击上图中提示的确定按钮,浏览器自动跳转到下图,接着根据提示安装java环境;2.安装成功后,双击桌面Free..._mc-wns-client

限制浏览器登录某网站,比如4399_学校电脑禁止访问4399-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏8次。限制网站进入有三个方法:浏览器设置—找到Internet选项—点击内容审查程序的启用—许可站点—输入网址—点击始终—确定—设置密码—删除缓存关闭浏览器,然后在浏览器输入4399网址就进不了,但是有个问题,只要搜索4399之后,通过搜索条目还是可以进去,有了网页缓存之后又能进。 第三方软件限制,因为知道了第三个方法,这个方法没有过多寻找软件,但第三方软件强制关闭之后就实现不了限制网..._学校电脑禁止访问4399

IOS之怎样把自己开发的App安装到越狱的手机-程序员宅基地

文章浏览阅读188次。场景: 有开发人员账号,能够把设备加到开发人员账号中,真机调试。如今须要打包,安装到的越狱手机上(此越狱手机没有加到开发人员账号中,另外公司的人)。常识:没有越狱的话,最大的问题就是设备的签名,每一个程序都有相应的mobile provision文件,这个文件记录了这个程序是用来公布的还是 调试的,调试的话,是在哪些设备上调试,以及相应的公布和调试证书。...

随便推点

makefile生成 *.d 依赖文件及 gcc -M -MF -MP 等相关选项说明_gcc -mp-程序员宅基地

文章浏览阅读6.6k次,点赞4次,收藏18次。1. 为什么要使用后缀名为 .d 的依赖文件?在 Makefile 中, 我们的依赖关系可能需要包含一系列的头文件。 比如 main.c 源文件内容如下:#include "stdio.h"#include "defs.h"int main(int argc, char *argv[]){ printf("Hello, %s!\n", NAME); retur..._gcc -mp

大道至简第一章读后感-程序员宅基地

文章浏览阅读66次。《大道至简》第一章读后感 很荣幸的接触到了《大道至简》这本周爱民先生著的以软件工程实践者的思想为主要内容的作品,这是一本很难得的专家分享自己对编程见解的书,通过读这本书的第一章,我第一次认识到编程并没有想象中困难,也让我对自己有了信心。 这本书的第一章主要分为编程的精义、会或者不会编程、程序=算法+结构、语言、在没有工程的时代这五部分。 其中,在编程的精义这一部..._《大道至简》第一章读后感

扫雷游戏源代码_扫雷游戏代码-程序员宅基地

文章浏览阅读4k次,点赞2次,收藏5次。printf("w , a , s , d 控 制 坐 标 移 动");printf(" 1 键 插 旗 , 2 键 拔 旗 .");printf(" 按 空 格 键 有 惊 喜");printf("剩余雷数:%d \n",l2);system("title 扫雷");未登录的用户可以在代码段下方复制扫雷源码;_扫雷游戏代码

poj 1195 Mobile phones-程序员宅基地

文章浏览阅读51次。DescriptionSuppose that the fourth generation mobile phone base stations in the Tampere area operate as follows. The area is divided into squares. The squares form an S * S matrix with the rows an

Linux里如何直接修改jar包里的配置文件_linx怎么编辑配置文件-程序员宅基地

文章浏览阅读2.8w次,点赞8次,收藏27次。前言:相信不少小伙伴在项目需要打包上线时都遇到过一种情况,如服务器的地址或是端口变了,需要修改项目里的配置文件,于是不得不将jar包拿下来修改再上传,或是重新打包上传,可谓是不胜烦琐,今天教大家一个小技巧,既如何直接在Linux里面修改配置文件!准备步骤:1.安装unzip 命令:yum install -y unzip zip2.直接vim jar包名3./要找的..._linx怎么编辑配置文件

python报错AttributeError: ‘NoneType‘ object has no attribute ‘split‘_get_config().split()-程序员宅基地

文章浏览阅读2.2k次。错误:解决办法:手动刷新neo4j,他就解决了。很魔幻这是调试好的_get_config().split()

推荐文章

热门文章

相关标签