Ejemplo n.º 1
0
            //---------------------------------------------------------------------------------------------------------
            /// <summary>
            /// Копирование графического примитива
            /// </summary>
            /// <returns>Дубликат графического примитива со всеми параметрами и данными</returns>
            //---------------------------------------------------------------------------------------------------------
            public override CCadPrimitive Duplicate()
            {
                CCadWindowsPrimitiveGeometry geometry = new CCadWindowsPrimitiveGeometry();

                geometry.CopyParamemtrs(this);
                geometry.Update();
                return(geometry);
            }
Ejemplo n.º 2
0
            //---------------------------------------------------------------------------------------------------------
            /// <summary>
            /// Копирование параметров с графического примитива
            /// </summary>
            /// <param name="primitiv">Графический примитив</param>
            //---------------------------------------------------------------------------------------------------------
            public override void CopyParamemtrs(CCadPrimitive primitiv)
            {
                base.CopyParamemtrs(primitiv);

                CCadWindowsPrimitiveGeometry source = primitiv as CCadWindowsPrimitiveGeometry;

                mSegments.Clear();
                for (Int32 i = 0; i < source.Count; i++)
                {
                    switch (source.mSegments[i].SegmentType)
                    {
                    case TCadSegmentType.Points:
                    {
                        mSegments.Add(new CCadSegmentPoints(this, source.mSegments[i] as CCadSegmentPoints));
                    }
                    break;

                    case TCadSegmentType.Line:
                    {
                        mSegments.Add(new CCadSegmentLine(this, source.mSegments[i] as CCadSegmentLine));
                    }
                    break;

                    case TCadSegmentType.Arc:
                    {
                        mSegments.Add(new CCadSegmentArc(this, source.mSegments[i] as CCadSegmentArc));
                    }
                    break;

                    case TCadSegmentType.Bezier:
                        break;

                    default:
                        break;
                    }
                }
            }