예제 #1
0
        public override void CopyFrom(DxfHandledObject from, CloneContext cloneContext)
        {
            base.CopyFrom(from, cloneContext);
            DxfBlockUserParameter blockUserParameter = (DxfBlockUserParameter)from;

            this.UnknownInt16  = blockUserParameter.UnknownInt16;
            this.Variable      = cloneContext.SourceModel == cloneContext.TargetModel ? blockUserParameter.Variable : (DxfHandledObject)cloneContext.Clone((IGraphCloneable)blockUserParameter.Variable);
            this.UnknownString = blockUserParameter.UnknownString;
            this.Unknown       = (DxfXRecordValue)cloneContext.Clone((IGraphCloneable)blockUserParameter.Unknown);
            this.ValueType     = blockUserParameter.ValueType;
        }
예제 #2
0
        public override IGraphCloneable Clone(CloneContext cloneContext)
        {
            DxfBlockUserParameter blockUserParameter = (DxfBlockUserParameter)cloneContext.GetExistingClone((IGraphCloneable)this);

            if (blockUserParameter == null)
            {
                blockUserParameter = new DxfBlockUserParameter();
                cloneContext.RegisterClone((IGraphCloneable)this, (IGraphCloneable)blockUserParameter);
                blockUserParameter.CopyFrom((DxfHandledObject)this, cloneContext);
            }
            return((IGraphCloneable)blockUserParameter);
        }