예제 #1
0
        public override IGraphCloneable Clone(CloneContext cloneContext)
        {
            DxfIDBlockReference idBlockReference = (DxfIDBlockReference)cloneContext.GetExistingClone((IGraphCloneable)this);

            if (idBlockReference == null)
            {
                idBlockReference = new DxfIDBlockReference();
                cloneContext.RegisterClone((IGraphCloneable)this, (IGraphCloneable)idBlockReference);
                idBlockReference.CopyFrom((DxfHandledObject)this, cloneContext);
            }
            return((IGraphCloneable)idBlockReference);
        }
예제 #2
0
        public override void CopyFrom(DxfHandledObject from, CloneContext cloneContext)
        {
            base.CopyFrom(from, cloneContext);
            DxfIDBlockReference idBlockReference = (DxfIDBlockReference)from;

            if (idBlockReference.Viewport == null)
            {
                this.Viewport = (DxfHandledObject)null;
            }
            else if (cloneContext.SourceModel == cloneContext.TargetModel)
            {
                this.Viewport = idBlockReference.Viewport;
            }
            else
            {
                this.Viewport = (DxfHandledObject)idBlockReference.Viewport.Clone(cloneContext);
            }
        }