/// <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);
 }
Пример #2
0
        /// <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));
        }
Пример #3
0
        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);
        }