好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

OCC开源框架学习分享.ppt

25页
  • 卖家[上传人]:s9****2
  • 文档编号:584703034
  • 上传时间:2024-08-31
  • 文档格式:PPT
  • 文档大小:122.51KB
  • / 25 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • OCC的一些分享 目录1.研究方法2.总体描述3.OCC与MFC框架4.OCC的基础数据5.OCC的显示6.OCC与Smart Electrical数据的设计 1.研究方法(重点研究2D)1.阅读ppt英文文档,不清楚的地方再参考OCCT帮助文档达到对occ有个大致了解的目的)2.重新建立一个OCC工程,在视图窗口中画一个死的基本元素 (能处理各种编译问题,了解occ架构和基本运行原理)3.在此基础上,参考occtry,OCAF的例子,完成对视图中对象的动态绘制及交互处理 (对occ的整个操作模式有个基本的感受,基本入门)4.仔细研究OCAF,在OCAF上实现cad的一些基础功能,包括绘图,插入,移动,拷贝,回退,前进等操作达到可以进行Smart Electrical开发的要求) 2.总体描述选取occ作为底层框架的原因:1.基于C++2.易于实现CAD技术框架,2D,3D扩展性3.支持windows,android,mac4.发展多年,较为成熟,功能完善5.EPLAN等商业软件也采用OCC 2.总体描述 2.总体描述Foundation Classes(基本类)(基本类)1.基本的类型,变量,特殊字符串等定义,比如Standard_Integer2.自动内存管理(handle管理机制)3.对象集合的管理4.基本的数学对象和运算定义,包括矢量,矩阵运算5.内存对象的ACSII码存储?????知识零散,前3条必须掌握 2.总体描述Modeling Data(数据类)(数据类)1.建立2D,3D几何对象2.各种几何对象建立工具3.建立3D(2D)的TOPO对象重点:必须熟练运用重点:必须熟练运用 2.总体描述Modeling Algorithms(几何计算类)(几何计算类)各种几何计算工具,包括插值,曲面计算等等,,,,暂时可不研究 2.总体描述MESS((3D网格呈现)网格呈现)主要用于3D实体网格化显示,包括各种工具和方法暂时可不研究 2.总体描述Visualization(图形显示和交互)(图形显示和交互)1.Interactive Context 及AIS对象,最重要的显示及交互的环境,所有的显示和交互由它来完成。

      2.Interactive Objects,即交互实体,只有交互实体才能在交互环境中显示3.Graphic Attributes Manager,用来设置交互实体的图形属性4.Selection Filters,对用户希望的选择进行设置重点:熟练掌握重点:熟练掌握 2.总体描述Data Exchange(数据交互)(数据交互)1.STEP等标准的数据结构免费)2.DXF等标准的数据结构扩展,收费)稍后研究稍后研究 2.总体描述OCAF(应用程序框架)(应用程序框架)1.结合mfc,App,doc,view的建立2.主要工作在doc和view上,doc建立数据,view完成交互3.其他一些功能,拷贝,黏贴,回退,前进,外部数据交换,文档保存等逐步仔细研究逐步仔细研究 3.OCC与MFC框架它是OCAF在MFC上的实现CDocument->OCC_BaseDoc->OCC_2dDocCview->OCC_BaseView->OCC_2dView pDocTemplateForView2d = new CMultiDocTemplate( IDR_2DTYPE, RUNTIME_CLASS(CMy2dDoc), RUNTIME_CLASS(CMyFrame2D), // custom MDI child frame RUNTIME_CLASS(CMyView2D)); 3.OCC与MFC框架它是OCAF在MFC上的实现CWinApp->OCC_App->MyAppCDocument->OCC_BaseDoc->OCC_2dDoc->My2dDocCview->OCC_BaseView->OCC_2dView->My2dView pDocTemplateForView2d = new CMultiDocTemplate( IDR_2DTYPE, RUNTIME_CLASS(My2dDoc), RUNTIME_CLASS(MyFrame2D), // custom MDI child frame RUNTIME_CLASS(MyView2D)); 3.OCC与MFC框架视图初始化过程1.在app构造函数中得到opengl连接句柄。

      2.在doc的构造函数中,用opengl连接创建viewer(仅创建视图指针,而非视图窗口),并作初始化设置同时通过viewer再得到AISContext交互环境句柄3.在view的OnInitialUpdate()中,创建窗口(window),完成显示设置 主要功能1.Doc完成图形数据的构建,图形数据的处理(移动,拷贝等)视图自动更新2.View接收事件的消息,并调用doc中的方法来完成响应3.OCC与MFC框架 学习方法仔细读例子代码,理清逻辑关系3.OCC与MFC框架 4.OCC基础数据一个图形数据(component)分为以下三部分,并分在不同的package和class下面:Abstaction:图形的数据抽象(极简)Control:图形的各种创建方法Presetation:图形的显示 4.OCC基础数据1.Abstraction主要分两类Basic:gp,例如gp_Pnt,gp_Circle……Advance(句柄操作):Geom,Geom2d,例如Geom_Pnt,Geom2d_Pnt…… 4.OCC基础数据2.Control 4.OCC基础数据3.PresentationPresentation PackagesSelection packagesBasic ManagementPrsMgrSelectMgr2D objectsV2d and Graphic2dSelectBasics, Select2d, Select3d and StdSelect3D objectsV3d, Prs3d, Graphic3d and StdPrs 5. OCC的显示几何基本元素AIS_Interactive_ObjectAISContext->Display()图形数据到显示,调用过程如下:图形Topo结构组合注意:只有AIS_Interactive_Object才可以添加到视图中,其他几何元素不行。

      5. OCC的显示Application Interactive Services (AIS)类用来管理视图的显示显示和选择选择 可以在AIS_Context->display的方式往视图添加AIS_Interactive_Object 也可以AIS_Context->remove的方式从视图删除AIS_Interactive_Object 5. OCC的显示Application Interactive Services (AIS)类用来管理视图的显示显示和选择选择 显示过程自动完成显示过程自动完成可以在AIS_Context->display的方式往视图添加AIS_Interactive_Object 也可以AIS_Context->remove的方式从视图删除AIS_Interactive_Object选中中过程自程自动检测可以在myAISContext->AddFilter(EdgeFilter)的方式设置选择模式 5. OCC的显示AIS_Interactive_Object 分为三类:1.基本类(与几何造型无关): AIS_Point, AIS_Axis, AIS_Line, AIS_Circle, AIS_Plane, AIS_Trihedron2.Object类:AIS_Shape为主3.标注类:AIS_RadiusDimensionAIS_Interactive_Object都由具体的几何模型创建得到,每个AIS_Interactive_Object都可以设置自己的显示模式和选中模式 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.