OpenCascade的显示模块中visual3d层实现

本文深入解析OpenCascade的显示模块中visual3d层的实现,包括Graphic3d_Structure类及其管理结构,如Graphic3d_Group、Graphic3d_StructureManager和Visual3d_View。内容涵盖了这些类的重要属性和功能,以及它们如何协同工作以实现3D图形的创建、管理与显示。
摘要由CSDN通过智能技术生成

<!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:"/@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page Section1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;} div.Section1 {page:Section1;} -->

下面进入表示管理的下一层,主要关注 3d 的实现,暂称之为 visual3d 层,不一定准确。

       首先,由上面知道,每个显示模式对应一个显示对象(数据) PrsMgr_Presentation 对象,该类是一层封装,具体的实现是通过内部的 Graphic3d_Structure 类来实现的, Structure 类表示了具体的 3d 的显示对象的显示数据。因此先看该类。

       Graphic3d_Structure 类是上层拓扑或几何对象对应的显示数据的管理类,该类定义了一个图形显示对象,并且该显示对象可以被显示、删除、高亮显示等。该对象的显示数据包含了很多方面的内容,包括:剖分后生成 polyline 和三角面片等的数据,显示对象的一些显示属性信息,例如:颜色、线宽等,是否使用纹理等等信息,具体可参加低层的结构定义。

       该类允许将多个 Graphic3d_Structure 对象组织成树,以显示比较复杂的对象结构。该类是显示的基本单位,内部包含一系列的 group 对象,由多个 group 对象组成, group 对象是可编辑的图形显示的最小单位。

       该类包含的属性有:

       Graphic3d_CStructure MyCStructure; OpenGL 层的图形对象的结构,保存了要显示的所有相关数据。供 OpenGL 层显示使用。

       Handle_Graphic3d_GraphicDriver MyGraphicDriver 。显示驱动,用于显示图形对象。

       Graphic3d_SequenceOfGroup MyGroups ,包含的 group 列表。

       Standard_Address MyPtrStructureManager Graphic3d_StructureManager

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值