示例#1
0
        public static IFCBoundedCurve ProcessIFCBoundedCurve(IFCAnyHandle ifcBoundedCurve)
        {
            if (IFCAnyHandleUtil.IsNullOrHasNoValue(ifcBoundedCurve))
            {
                Importer.TheLog.LogNullError(IFCEntityType.IfcBoundedCurve);
                return(null);
            }
            if (IFCImportFile.TheFile.SchemaVersionAtLeast(IFCSchemaVersion.IFC2x2) && IFCAnyHandleUtil.IsValidSubTypeOf(ifcBoundedCurve, IFCEntityType.IfcBSplineCurve))
            {
                return(IFCBSplineCurve.ProcessIFCBSplineCurve(ifcBoundedCurve));
            }
            if (IFCAnyHandleUtil.IsValidSubTypeOf(ifcBoundedCurve, IFCEntityType.IfcCompositeCurve))
            {
                return(IFCCompositeCurve.ProcessIFCCompositeCurve(ifcBoundedCurve));
            }
            if (IFCAnyHandleUtil.IsValidSubTypeOf(ifcBoundedCurve, IFCEntityType.IfcPolyline))
            {
                return(IFCPolyline.ProcessIFCPolyline(ifcBoundedCurve));
            }
            if (IFCAnyHandleUtil.IsValidSubTypeOf(ifcBoundedCurve, IFCEntityType.IfcTrimmedCurve))
            {
                return(IFCTrimmedCurve.ProcessIFCTrimmedCurve(ifcBoundedCurve));
            }
            if (IFCImportFile.TheFile.SchemaVersionAtLeast(IFCSchemaVersion.IFC4Obsolete) && IFCAnyHandleUtil.IsValidSubTypeOf(ifcBoundedCurve, IFCEntityType.IfcIndexedPolyCurve))
            {
                return(IFCIndexedPolyCurve.ProcessIFCIndexedPolyCurve(ifcBoundedCurve));
            }

            Importer.TheLog.LogUnhandledSubTypeError(ifcBoundedCurve, IFCEntityType.IfcBoundedCurve, true);
            return(null);
        }
示例#2
0
        public static IFCBoundedCurve ProcessIFCBoundedCurve(IFCAnyHandle ifcBoundedCurve)
        {
            if (IFCAnyHandleUtil.IsNullOrHasNoValue(ifcBoundedCurve))
            {
                Importer.TheLog.LogNullError(IFCEntityType.IfcBoundedCurve);
                return(null);
            }
            if (IFCAnyHandleUtil.IsSubTypeOf(ifcBoundedCurve, IFCEntityType.IfcBSplineCurve))
            {
                return(IFCBSplineCurve.ProcessIFCBSplineCurve(ifcBoundedCurve));
            }
            if (IFCAnyHandleUtil.IsSubTypeOf(ifcBoundedCurve, IFCEntityType.IfcCompositeCurve))
            {
                return(IFCCompositeCurve.ProcessIFCCompositeCurve(ifcBoundedCurve));
            }
            if (IFCAnyHandleUtil.IsSubTypeOf(ifcBoundedCurve, IFCEntityType.IfcPolyline))
            {
                return(IFCPolyline.ProcessIFCPolyline(ifcBoundedCurve));
            }
            if (IFCAnyHandleUtil.IsSubTypeOf(ifcBoundedCurve, IFCEntityType.IfcTrimmedCurve))
            {
                return(IFCTrimmedCurve.ProcessIFCTrimmedCurve(ifcBoundedCurve));
            }

            Importer.TheLog.LogUnhandledSubTypeError(ifcBoundedCurve, IFCEntityType.IfcBoundedCurve, true);
            return(null);
        }
示例#3
0
        /// <summary>
        /// Create an IFCCompositeCurve object from a handle of type IfcCompositeCurve
        /// </summary>
        /// <param name="ifcCompositeCurve">The IFC handle</param>
        /// <returns>The IFCCompositeCurve object</returns>
        public static IFCCompositeCurve ProcessIFCCompositeCurve(IFCAnyHandle ifcCompositeCurve)
        {
            if (IFCAnyHandleUtil.IsNullOrHasNoValue(ifcCompositeCurve))
            {
                Importer.TheLog.LogNullError(IFCEntityType.IfcCompositeCurve);
                return(null);
            }

            IFCEntity compositeCurve = null;

            if (!IFCImportFile.TheFile.EntityMap.TryGetValue(ifcCompositeCurve.StepId, out compositeCurve))
            {
                compositeCurve = new IFCCompositeCurve(ifcCompositeCurve);
            }

            return(compositeCurve as IFCCompositeCurve);
        }
      /// <summary>
      /// Create an IFCCompositeCurve object from a handle of type IfcCompositeCurve
      /// </summary>
      /// <param name="ifcCompositeCurve">The IFC handle</param>
      /// <returns>The IFCCompositeCurve object</returns>
      public static IFCCompositeCurve ProcessIFCCompositeCurve(IFCAnyHandle ifcCompositeCurve)
      {
         if (IFCAnyHandleUtil.IsNullOrHasNoValue(ifcCompositeCurve))
         {
            Importer.TheLog.LogNullError(IFCEntityType.IfcCompositeCurve);
            return null;
         }

         IFCEntity compositeCurve = null;
         if (!IFCImportFile.TheFile.EntityMap.TryGetValue(ifcCompositeCurve.StepId, out compositeCurve))
            compositeCurve = new IFCCompositeCurve(ifcCompositeCurve);

         return (compositeCurve as IFCCompositeCurve);
      }