/// <summary> /// Tests the express where-clause specified in param 'clause' /// </summary> /// <param name="clause">The express clause to test</param> /// <returns>true if the clause is satisfied.</returns> public bool ValidateClause(IfcFillAreaStyleHatchingClause clause) { var retVal = false; try { switch (clause) { case IfcFillAreaStyleHatchingClause.WR21: retVal = !(Functions.TYPEOF(StartOfNextHatchLine).Contains("IFC2X3.IFCTWODIRECTIONREPEATFACTOR")); break; case IfcFillAreaStyleHatchingClause.WR22: retVal = !(Functions.EXISTS(PatternStart)) || (PatternStart.Dim == 2); break; case IfcFillAreaStyleHatchingClause.WR23: retVal = !(Functions.EXISTS(PointOfReferenceHatchLine)) || (PointOfReferenceHatchLine.Dim == 2); break; } } catch (Exception ex) { var log = Validation.ValidationLogging.CreateLogger <Xbim.Ifc2x3.PresentationAppearanceResource.IfcFillAreaStyleHatching>(); log?.LogError(string.Format("Exception thrown evaluating where-clause 'IfcFillAreaStyleHatching.{0}' for #{1}.", clause, EntityLabel), ex); } return(retVal); }
/// <summary> /// Tests the express where-clause specified in param 'clause' /// </summary> /// <param name="clause">The express clause to test</param> /// <returns>true if the clause is satisfied.</returns> public bool ValidateClause(IfcFillAreaStyleHatchingClause clause) { var retVal = false; try { switch (clause) { case IfcFillAreaStyleHatchingClause.PatternStart2D: retVal = !(Functions.EXISTS(PatternStart)) || (PatternStart.Dim == 2); break; case IfcFillAreaStyleHatchingClause.RefHatchLine2D: retVal = !(Functions.EXISTS(PointOfReferenceHatchLine)) || (PointOfReferenceHatchLine.Dim == 2); break; } } catch (Exception ex) { var log = Validation.ValidationLogging.CreateLogger <Xbim.Ifc4.PresentationAppearanceResource.IfcFillAreaStyleHatching>(); log?.LogError(string.Format("Exception thrown evaluating where-clause 'IfcFillAreaStyleHatching.{0}' for #{1}.", clause, EntityLabel), ex); } return(retVal); }