internal static bool IfcPathHeadToTail(IfcPath ifcPath) { var val = NullableIfcPathHeadToTail(ifcPath); if (!val.HasValue) { throw new ArgumentException("Undetermined value in where clause."); } return(val.Value); }
private static bool?NullableIfcPathHeadToTail(IfcPath APath) { // local variables int N = 0; bool?P = null; N = SIZEOF(APath.EdgeList); for (var i = 2; i <= N; i++) { if (!P.HasValue) { P = true; } P = P.Value && APath.EdgeList[i - 2].EdgeEnd == APath.EdgeList[i - 1].EdgeStart; } return(P); }