//! Identifies the orientation of a topological shape.
//! Orientation can represent a relation between two
//! entities, or it can apply to a shape in its own right.
//! When used to describe a relation between two
//! shapes, orientation allows you to use the underlying
//! entity in either direction. For example on a curve
//! which is oriented FORWARD (say from left to right)
//! you can have both a FORWARD and a REVERSED
//! edge. The FORWARD edge will be oriented from
//! left to right, and the REVERSED edge from right to
//! left. In this way, you share the underlying entity. In
//! other words, two faces of a cube can share an
//! edge, and can also be used to build compound shapes.
//! For each case in which an element is used as the
//! boundary of a geometric domain of a higher
//! dimension, this element defines two local regions of
//! which one is arbitrarily considered as the default
//! region. A change in orientation implies a switch of
//! default region. This allows you to apply changes of
//! orientation to the shape as a whole.
enum TopAbs_Orientation
{
TopAbs_FORWARD,
TopAbs_REVERSED,
TopAbs_INTERNAL,
TopAbs_EXTERNAL
};
以下内容来自:https://blog.csdn.net/HU110110/article/details/117307713
由于OCCT支持non-manifold模型,因此定义了四种类型:
TopAbs_FORWARD,
TopAbs_REVERSED,
TopAbs_INTERNAL,
TopAbs_EXTERNAL
对manifold模型中,通常一个共边对应两个有向边,两个有向边,方向一正一反,对应一个是TopAbs_FORWARD,一个是TopAbs_REVERSED。对Non-manifold模型来说,可能存在一些内部边,或者悬边,另外两个值分别对应这两种情况。
对Face来说,Face的法矢方向可能和对应曲面的法矢方向相同(TopAbs_FORWARD),也可能和对应曲面的法矢方向相反(TopAbs_REVERSED),此时使用该数据成员来表示这些情况。