//--------------------------------------------------------------------------------------------------------- /// <summary> /// Копирование графического примитива /// </summary> /// <returns>Дубликат графического примитива со всеми параметрами и данными</returns> //--------------------------------------------------------------------------------------------------------- public override CCadPrimitive Duplicate() { CCadWindowsPrimitiveGeometry geometry = new CCadWindowsPrimitiveGeometry(); geometry.CopyParamemtrs(this); geometry.Update(); return(geometry); }
//--------------------------------------------------------------------------------------------------------- /// <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; } } }