/// <summary> /// Compares two objects for geometric equality /// </summary> /// <param name="a"></param> /// <param name="b">object to compare with</param> /// <returns></returns> public static bool GeometricEquals(this IfcDirection a, IfcDirection b) { if (a.Equals(b)) return true; XbimVector3D va = a.XbimVector3D(); XbimVector3D vb = b.XbimVector3D(); return va.IsEqual(vb,b.ModelOf.ModelFactors.Precision); }
/// <summary> /// Compares two objects for geometric equality /// </summary> /// <param name="a"></param> /// <param name="b">object to compare with</param> /// <returns></returns> public static bool GeometricEquals(this IfcDirection a, IfcDirection b) { if (a.Equals(b)) { return(true); } XbimVector3D va = a.XbimVector3D(); XbimVector3D vb = b.XbimVector3D(); return(va.IsEqual(vb, b.ModelOf.ModelFactors.Precision)); }
public override string WhereRule() { string baseErr = base.WhereRule(); if (_extrudedDirection != null && XbimVector3D.DotProduct(_extrudedDirection.XbimVector3D(), new XbimVector3D(0, 0, 1)) == 0) { baseErr += "WR31 ExtrudedAreaSolid : The ExtrudedDirection shall not be perpendicular to the local z-axis.\n"; } return(baseErr); }