Opencascade TopoDS_Shape Orientation

Opencascade拓扑-几何介绍

TopoDS_Shape
本文主要介绍TopoDS_Shape的Orientation属性:

Opencascade拓扑-几何介绍 de 第三四五节里会看到:
Edge orientation
Face orientation
More on location and orientation

本文用分析opennurbs的角度去理解Orientation

一: Edge HalfEdge Curve3d pCurve 的关系:

			flag:
					                 
			TopoDS_TEdge============Curve3d=============pCurve
									   |
									   |
									   |
									   |  Orientation 
									   |
									   |   
									   |             
									TopoDS_Edge
	pCurve的走向等同于Curve3d的走向,TopoDS_TEdge的方向就是Curve的方向。
	pCurve的走向等同于Curve3d的走向的一个好处是: 求交的参数曲线天然和Curve3d同向,这样节省了翻转							
    可以把TopoDS_TEdge理解成Edge,TopoDS_Edge理解成HalfEdge,OCCT这么做的一个目的是为了实现共享
   

二:用TopoDS_Edge去理解TopoDS_Wire:
TopoDS_Edge 的方向 == TopoDS_TEdge + Orientation ;
下图 红色 和 蓝色的是TEdge的走向, 如果换成TopoDS_Edge 理解,外环就是一个逆时针的矩形。
在这里插入图片描述
三:当TopoDS_Face的Orientation为Reversed时, 外环TopoDS_Wire的走向与Surface的Normal 是不是右手法则?

TopoDS_Wire 的方向 = TopoDS_TWire + Orientation
TopoDS_TWire 的方向 = TopoDS_Edges的连接走向
测试过 8种情况(一共就8种),得出结论: 外环TopoDS_Wire是与Surface的Normal 成右手法则的,也等价于2d参数域上pCurve是逆时针的:

**TopoDS_Face           TopoDS_Wire           TopoDS_Edge       Match Surf Normal**                     

  TopAbs_FORWARD        TopAbs_FORWARD        TopAbs_FORWARD         YES
  TopAbs_FORWARD        TopAbs_FORWARD        TopAbs_REVERSED        YES   
  TopAbs_FORWARD        TopAbs_REVERSED       TopAbs_FORWARD         YES
  TopAbs_FORWARD        TopAbs_REVERSED       TopAbs_REVERSED        YES
  TopAbs_REVERSED       TopAbs_FORWARD        TopAbs_FORWARD         YES
  TopAbs_REVERSED       TopAbs_FORWARD        TopAbs_REVERSED        YES
  TopAbs_REVERSED       TopAbs_REVERSED       TopAbs_FORWARD         YES
  TopAbs_REVERSED       TopAbs_REVERSED       TopAbs_REVERSED        YES

结论 : 外环TopoDS_Wire的走向总是右手法则匹配Surface的Normal , 不依赖Face的Orientation

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片