/// <summary> /// Create an IFCLoop object from a handle of type IfcLoop. /// </summary> /// <param name="ifcLoop">The IFC handle.</param> /// <returns>The IFCLoop object.</returns> public static IFCLoop ProcessIFCLoop(IFCAnyHandle ifcLoop) { if (IFCAnyHandleUtil.IsNullOrHasNoValue(ifcLoop)) { Importer.TheLog.LogNullError(IFCEntityType.IfcLoop); return(null); } IFCEntity loop; if (IFCImportFile.TheFile.EntityMap.TryGetValue(ifcLoop.StepId, out loop)) { return(loop as IFCLoop); } if (IFCImportFile.TheFile.SchemaVersion >= IFCSchemaVersion.IFC2x2 && IFCAnyHandleUtil.IsSubTypeOf(ifcLoop, IFCEntityType.IfcEdgeLoop)) { return(IFCEdgeLoop.ProcessIFCEdgeLoop(ifcLoop)); } if (IFCAnyHandleUtil.IsSubTypeOf(ifcLoop, IFCEntityType.IfcPolyLoop)) { return(IFCPolyLoop.ProcessIFCPolyLoop(ifcLoop)); } Importer.TheLog.LogUnhandledSubTypeError(ifcLoop, IFCEntityType.IfcLoop, false); return(null); }
/// <summary> /// Create an IFCPolyLoop object from a handle of type IfcPolyLoop. /// </summary> /// <param name="ifcPolyLoop">The IFC handle.</param> /// <returns>The IFCPolyLoop object.</returns> public static IFCPolyLoop ProcessIFCPolyLoop(IFCAnyHandle ifcPolyLoop) { if (IFCAnyHandleUtil.IsNullOrHasNoValue(ifcPolyLoop)) { Importer.TheLog.LogNullError(IFCEntityType.IfcPolyLoop); return(null); } IFCEntity polyLoop; if (!IFCImportFile.TheFile.EntityMap.TryGetValue(ifcPolyLoop.StepId, out polyLoop)) { polyLoop = new IFCPolyLoop(ifcPolyLoop); } return(polyLoop as IFCPolyLoop); }
/// <summary> /// Create an IFCPolyLoop object from a handle of type IfcPolyLoop. /// </summary> /// <param name="ifcPolyLoop">The IFC handle.</param> /// <returns>The IFCPolyLoop object.</returns> public static IFCPolyLoop ProcessIFCPolyLoop(IFCAnyHandle ifcPolyLoop) { if (IFCAnyHandleUtil.IsNullOrHasNoValue(ifcPolyLoop)) { Importer.TheLog.LogNullError(IFCEntityType.IfcPolyLoop); return null; } IFCEntity polyLoop; if (!IFCImportFile.TheFile.EntityMap.TryGetValue(ifcPolyLoop.StepId, out polyLoop)) polyLoop = new IFCPolyLoop(ifcPolyLoop); return (polyLoop as IFCPolyLoop); }