/// <summary> /// For edge number <paramref name="iedge"/>, whether it is /// conformal with the adjacent cells /// </summary> /// <param name="iedge"></param> /// <param name="InOrOut"> /// 0 for IN-cell/first cell, see <see cref="IsEdgeConformalWithCell1"/><br/> /// 1 for OUT-cell/second cell, see <see cref="IsEdgeConformalWithCell2"/> /// </param> /// <returns></returns> static public bool IsEdgeConformal(this IGeometricalEdgeData ge, int iedge, int InOrOut) { switch (InOrOut) { case 0: return(ge.IsEdgeConformalWithCell1(iedge)); case 1: return(ge.IsEdgeConformalWithCell2(iedge)); default: throw new ArgumentOutOfRangeException(); } }
/// <summary> /// For edge number <paramref name="e"/>, whether it is conformal /// with cell 2 /// </summary> static public bool IsEdgeConformalWithCell2(this IGeometricalEdgeData ge, int e) { return((ge.Info[e] & EdgeInfo.Cell2_Nonconformal) == 0); }
/// <summary> /// true, if edge <paramref name="e"/> is a boundary-edge. /// </summary> static public bool IsEdgeBoundaryEdge(this IGeometricalEdgeData ge, int e) { bool R = (ge.Info[e] & EdgeInfo.Boundary) != 0; return(R); }