コード例 #1
0
ファイル: PipeAnnotationForm.cs プロジェクト: wzfxue/Revit
                /// <summary>
                /// 移除队首的
                /// </summary>
                public void PopFirst()
                {
                    if (SkewPipes.Count == 0)
                    {
                        return;
                    }

                    SkewPipes.RemoveAt(0);
                    Lefts.RemoveAt(0);
                    Rights.RemoveAt(0);
                }
コード例 #2
0
ファイル: PipeAnnotationForm.cs プロジェクト: wzfxue/Revit
                /// <summary>
                /// 移除队尾的
                /// </summary>
                public void PopLast()
                {
                    int index = SkewPipes.Count - 1;

                    if (index < 0)
                    {
                        return;
                    }

                    SkewPipes.RemoveAt(index);
                    Lefts.RemoveAt(index);
                    Rights.RemoveAt(index);
                }
コード例 #3
0
ファイル: PipeAnnotationForm.cs プロジェクト: wzfxue/Revit
                /// <summary>
                /// 加入队列
                /// </summary>
                /// <param name="skewPipe"></param>
                public void Push(SkewPipe skewPipe)
                {
                    //这里以X小的为左点,X大的为右点
                    SkewPipes.Add(skewPipe);
                    var curve = (skewPipe.pipe.Location as LocationCurve).Curve;

                    if (curve.GetEndPoint(0).X < curve.GetEndPoint(1).X)
                    {
                        Lefts.Add(ReferenceCurve.Project(curve.GetEndPoint(0)).XYZPoint);
                        Rights.Add(ReferenceCurve.Project(curve.GetEndPoint(1)).XYZPoint);
                    }
                    else
                    {
                        Lefts.Add(ReferenceCurve.Project(curve.GetEndPoint(1)).XYZPoint);
                        Rights.Add(ReferenceCurve.Project(curve.GetEndPoint(0)).XYZPoint);
                    }
                }
コード例 #4
0
ファイル: PipeAnnotationForm.cs プロジェクト: wzfxue/Revit
 public PipeGroup ToPipeGroup()
 {
     return(new PipeGroup(SkewPipes.Select(c => c.pipe)));
 }
コード例 #5
0
ファイル: PipeAnnotationForm.cs プロジェクト: wzfxue/Revit
 /// <summary>
 /// 清空
 /// </summary>
 public void Clear()
 {
     SkewPipes.Clear();
     Lefts.Clear();
     Rights.Clear();
 }