/// <summary> /// Create an IFCSolidModel object from a handle of type IfcSolidModel. /// </summary> /// <param name="ifcSolidModel">The IFC handle.</param> /// <returns>The IFCSolidModel object.</returns> public static IFCSolidModel ProcessIFCSolidModel(IFCAnyHandle ifcSolidModel) { if (IFCAnyHandleUtil.IsNullOrHasNoValue(ifcSolidModel)) { IFCImportFile.TheLog.LogNullError(IFCEntityType.IfcSolidModel); return(null); } if (IFCAnyHandleUtil.IsSubTypeOf(ifcSolidModel, IFCEntityType.IfcCsgSolid)) { return(IFCCSGSolid.ProcessIFCCSGSolid(ifcSolidModel)); } if (IFCAnyHandleUtil.IsSubTypeOf(ifcSolidModel, IFCEntityType.IfcManifoldSolidBrep)) { return(IFCManifoldSolidBrep.ProcessIFCManifoldSolidBrep(ifcSolidModel)); } if (IFCAnyHandleUtil.IsSubTypeOf(ifcSolidModel, IFCEntityType.IfcSweptAreaSolid)) { return(IFCSweptAreaSolid.ProcessIFCSweptAreaSolid(ifcSolidModel)); } if (IFCAnyHandleUtil.IsSubTypeOf(ifcSolidModel, IFCEntityType.IfcSweptDiskSolid)) { return(IFCSweptDiskSolid.ProcessIFCSweptDiskSolid(ifcSolidModel)); } IFCImportFile.TheLog.LogUnhandledSubTypeError(ifcSolidModel, IFCEntityType.IfcSolidModel, true); return(null); }