예제 #1
0
        private void BuildShapes()
        {
            short[] cells = GetCells();

            Shapes = new MarkShape[cells.Length];

            for (int i = 0; i < cells.Length; i++)
            {
                Shapes[i] = new MarkShape(Source.Fight, new MapPoint(cells[i]), Color);
            }
        }
예제 #2
0
        public void CreateTransientErrorMarks(MarkShape shapeType, Point3d[] positions, AcadColor color, Drawable[] transientEntities)
        {
            // Clear previous transient graphics first.
            ClearTransientGraphics();

            IEnumerable <Entity> drawables = null;

            switch (shapeType)
            {
            case MarkShape.Circle:
                drawables = CreateCircleMarks(positions);
                break;

            case MarkShape.Diamond:
                drawables = CreateDiamondMarks(positions);
                break;

            case MarkShape.Square:
                drawables = CreateSquareMarks(positions);
                break;

            case MarkShape.Triangle:
                drawables = CreateTriangleMarks(positions);
                break;

            case MarkShape.Cross:
                drawables = CreateCrossMarks(positions);
                break;
            }
            foreach (var drawable in drawables)
            {
                drawable.Color = color;
            }

            _drawables.AddRange(drawables);
            if (transientEntities != null)
            {
                foreach (Entity transientEntity in transientEntities)
                {
                    transientEntity.Color = color;
                }
                _drawables.AddRange(transientEntities);
            }
            foreach (var d in _drawables)
            {
                TransientManager.CurrentTransientManager.AddTransient(
                    d, TransientDrawingMode.DirectShortTerm, 128, new IntegerCollection());
            }
        }
예제 #3
0
        internal ChannelMark(int chnlCount)
        {
            value = float.MinValue;

            showText = false;

            showMarkShape = true;

            markType = MarkType.mrkNormal;

            searchType = MarkSearchType.schPoint;

            markShape = MarkShape.markPloygon;

            markColor = Color.White;
            
            sequence = new int[chnlCount];
            for (int i = 0; i < chnlCount; i++)
                sequence[i] = -1;

           //默认,仅在channels[0]中,进行MARK点搜索
           sequence[0] = 0;                     
        }
예제 #4
0
 /// <summary>
 /// 设置由index标识的MARK线形态及其可见性
 /// </summary>
 /// <param name="index"></param>
 /// <param name="mrkshp"></param>
 /// <param name="value"></param>
 public void SetMarkShape(int index, MarkShape mrkshp, bool value)
 {
     plot.SetMarkShape(index, mrkshp, value);
 }
예제 #5
0
 public PathGeometry GetShape(MarkShape shapeType)
 {
     return(_shapes[shapeType]);
 }
예제 #6
0
 internal void SetMarkShape(int index, MarkShape mrkshp, bool value)
 {
     if ((index >= 0) && (index < marks.Length))
     {
         marks[index].markShape = mrkshp;
         marks[index].showMarkShape = value;
     }
 }