コード例 #1
0
        public TOuter FirstOrDefault()
        {
            var inner = _innerSet.FirstOrDefault();

            if (inner != null)
            {
                return(_transformOut(inner));
            }
            return(_extendedSet.FirstOrDefault());
        }
コード例 #2
0
ファイル: GeometryView.cs プロジェクト: wyh9462/XbimWindowsUI
        private static void Report(IIfcCircle circle, IItemSet <IIfcTrimmingSelect> trim1, IItemSet <IIfcTrimmingSelect> trim2, TextHighliter sb)
        {
            // this one makes an arc, knowing the circle
            var v1 = trim1.FirstOrDefault(); //  as Xbim.Ifc4.MeasureResource.IfcParameterValue;
            var v2 = trim2.FirstOrDefault(); //  as Xbim.Ifc4.MeasureResource.IfcParameterValue;

            if (v1 is null || v2 == null || v1 is IIfcCartesianPoint || v2 is IIfcCartesianPoint)
            {
                Report(circle, sb);
                return;
            }
            var startang = ((Xbim.Ifc4.MeasureResource.IfcParameterValue)v1) * circle.Model.ModelFactors.AngleToRadiansConversionFactor;
            var endang   = ((Xbim.Ifc4.MeasureResource.IfcParameterValue)v2) * circle.Model.ModelFactors.AngleToRadiansConversionFactor;
            // in acad we need the start point
            var startPx = circle.Radius * Math.Cos(startang);
            var startPy = circle.Radius * Math.Sin(startang);

            SetUcs(sb, circle.Position);
            sb.Append("ARC C", Brushes.Black);
            WritePointCoord(sb, 0, 0, 0);
            WritePointCoord(sb, startPx, startPy, double.NaN);
            sb.Append("A", Brushes.Black);
            var presentedEndAngle = (endang - startang) * 180 / Math.PI;

            sb.Append(presentedEndAngle.ToString(), Brushes.Black);
            SetUcs(sb);
        }
コード例 #3
0
ファイル: ProxyItemSet.cs プロジェクト: keremer/inFizYon
 public TOuter FirstOrDefault()
 {
     return(_inner.FirstOrDefault());
 }
コード例 #4
0
 public static IfcShapeModel Lookup(this IItemSet <IfcShapeModel> models, string identifier)
 {
     return(models.FirstOrDefault(item =>
                                  item.RepresentationIdentifier != null &&
                                  string.Compare(item.RepresentationIdentifier, identifier, true) == 0));
 }
コード例 #5
0
 public IItemSet <TOuter> FirstOrDefault()
 {
     return(GetOut(_inner.FirstOrDefault()));
 }