- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OCC类基础解析
一直在用OCC作项目,但这方面的中文资料很少,看来OCC在中国还不是十分普及;
后来,项目中使用OCC和DirectX结合使用,取得了很好的效果;
?随着OCC6.3版本的推出,Open CASCADE在速度方面已有了很大的改变。以下为一些OCC的基础知识,愿与各位OCC爱好者共同学习;
一:OCC中的基础类:
gp_Pnt
在OCC中,gp_Pnt表示一个顶点,gp_Vec表示一个向量,可以用两个顶点来生成一个向量。
比如:
gp_Pnt P1(0,0,0);???????????????????????
gp_Pnt P2(5,0,0);???????????????????????
gp_Vec V1 (P1,P2);
向量有一个方法.IsOpposite(),可以用来测试两个向量的方向是相对还是平行;
比如:????????????????????????????????????????
gp_Pnt P3(-5,0,2);
gp_Vec V2 (P1,P3);??????????????????????????????????????????
Standard_Boolean result =V1.IsOpposite(V2,Precision::Angular());
?
另外向量还有一些重要方法:
--Standard_Real Magnitude() const;计算向量的大小;
--Standard_Real SquareMagnitude() const;计算向量的平方;
--向量的加减乘除操作;
--向量的单位化;
--通过一个点,线,面得出其镜像的向量;
--向量的旋转,平移,缩放;
具体的函数名称可以看OCC的头文件说明;
?
有时需要决定一组空间点是位于一个点;一条直线,或一个平面,或一个空间:
OCC中提供了相应的算法;
比如:
TColgp_Array1OfPnt array (1,5); // sizing array?????????????????
array.SetValue(1,gp_Pnt(0,0,1));????????????????????????????????
array.SetValue(2,gp_Pnt(1,2,2));????????????????????????????????
array.SetValue(3,gp_Pnt(2,3,3));????????????????????????????????
array.SetValue(4,gp_Pnt(4,4,4));????????????????????????????????
array.SetValue(5,gp_Pnt(5,5,5));????????????????????????????????
?????????????????????????????????????????????????????????????????
GProp_PEquation PE (array,1.5 );????????????????????????????????
????????????????????????????????????????????????????????????????
if (PE.IsPoint()){ ??} //是否是同一个点???
gp_Lin L;???????????????????????????????????????????????????????
if (PE.IsLinear()) {??L = PE.Line();????} //是否位于一条直线上;????????????????????
if (PE.IsPlanar()){ ??}???//是否在一个平面内;?
if (PE.IsSpace()) { ??}?
?
gp_Dir类:
此类用来描述3D空间中的一个单位向量;
常用方法:
(1):IsEqual(const gp_Dir Other,const Standard_Real AngularTolerance) const;两个单位向量是否相等;
(2):IsNormal(const gp_Dir Other,const Standard_Real AngularTolerance) const;两个单位向量的夹角是否是PI/2;
(3):IsOpposite(const gp_Dir Other,const Standard_Real AngularTolerance) const;两个单位向量是否方向相反;
(4):IsParallel(const gp_Dir Other,const Standard_Real AngularTolerance)
您可能关注的文档
- Netvault--介绍解析.ppt
- new02需求分析解析.ppt
- New_energy_technologies(新能源介绍)解析.ppt
- new传感器项目8解析.ppt
- NO.3 酒店基础礼仪(含形体训练)解析.ppt
- No3_H3C_WX3024开局指导V1.0解析.ppt
- NNTP服务器的架设解析.ppt
- NOIP2007(pascal)第十三届全国青少年信息学奥林匹克联赛初赛试题解析.doc
- NOKIA高级考试复习备用解析.doc
- northern_blot-ppt解析.ppt
- 讲稿:深入理解“五个注重”把握进一步深化改革统筹部署以钉钉子精神抓好落实.pdf
- 副市长在2025年全市医疗工作会议上的讲话.docx
- 2025年市县处级以上党委(党组)理论学习中心组专题学习计划.docx
- 市民族宗教事务局党组书记、局长2024年度民主生活会个人对照检视发言材料.docx
- 烟草局党组书记2024年度抓基层党建工作述职报告.docx
- (汇编)学习2025年全国教育工作会议精神心得体会发言心得感悟.pdf
- 汇编学习领会在二十届中纪委四次全会上的重要讲话精神心得体会.pdf
- 在2025年镇安全生产、消防安全和生态环境保护第一次全体会议上的讲话提纲.docx
- 书记干部座谈会上的讲话+纪委全会上的讲话.pdf
- 党课:从毛泽东诗词中感悟共产党人初心使命.docx
文档评论(0)