/// <summary> /// returns a Hash for the geometric behaviour of this object /// </summary> /// <param name="solid"></param> /// <returns></returns> public static int GetGeometryHashCode(this IfcShell shell) { if (shell is IfcOpenShell) { return(((IfcOpenShell)shell).GetGeometryHashCode()); } if (shell is IfcClosedShell) { return(((IfcClosedShell)shell).GetGeometryHashCode()); } else { return(shell.GetHashCode()); //use object hash for a uniqueish result } }