本文主要介绍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
暂无评论内容