public override void CopyFrom(DxfHandledObject from, CloneContext cloneContext) { base.CopyFrom(from, cloneContext); DxfBlockPropertiesTable blockPropertiesTable = (DxfBlockPropertiesTable)from; this.NodeId = (DxfEvalGraph.GraphNodeId)cloneContext.Clone((IGraphCloneable)blockPropertiesTable.NodeId); this.TableName = blockPropertiesTable.TableName; this.DescriptionString = blockPropertiesTable.DescriptionString; this.Unknown1 = blockPropertiesTable.Unknown1; this.PropertiesCanBeModifiedIndividually = blockPropertiesTable.PropertiesCanBeModifiedIndividually; this.UnknownFlag2 = blockPropertiesTable.UnknownFlag2; this.UnknownFlag3 = blockPropertiesTable.UnknownFlag3; if (blockPropertiesTable.Data == null) { this.Data = (DxfXRecordValue[][])null; } else { this.Data = new DxfXRecordValue[blockPropertiesTable.Data.Length][]; for (int index1 = 0; index1 < blockPropertiesTable.Data.Length; ++index1) { int length = blockPropertiesTable.Data[index1] == null ? 0 : blockPropertiesTable.Data[index1].Length; this.Data[index1] = new DxfXRecordValue[length]; for (int index2 = 0; index2 < length; ++index2) { this.Data[index1][index2] = (DxfXRecordValue)blockPropertiesTable.Data[index1][index2].Clone(cloneContext); } } } if (blockPropertiesTable.DataNodeId == null) { this.DataNodeId = (int[])null; } else { this.DataNodeId = new int[blockPropertiesTable.DataNodeId.Length]; for (int index = 0; index < blockPropertiesTable.DataNodeId.Length; ++index) { this.DataNodeId[index] = blockPropertiesTable.DataNodeId[index]; } } if (blockPropertiesTable.ColumnInformation == null) { this.ColumnInformation = (DxfBlockPropertiesTableColumnDefinition[])null; } else { this.ColumnInformation = new DxfBlockPropertiesTableColumnDefinition[blockPropertiesTable.ColumnInformation.Length]; for (int index = 0; index < blockPropertiesTable.ColumnInformation.Length; ++index) { this.ColumnInformation[index] = blockPropertiesTable.ColumnInformation[index].Clone(cloneContext) as DxfBlockPropertiesTableColumnDefinition; } } }
public override IGraphCloneable Clone(CloneContext cloneContext) { DxfBlockPropertiesTable blockPropertiesTable = (DxfBlockPropertiesTable)cloneContext.GetExistingClone((IGraphCloneable)this); if (blockPropertiesTable == null) { blockPropertiesTable = new DxfBlockPropertiesTable(); cloneContext.RegisterClone((IGraphCloneable)this, (IGraphCloneable)blockPropertiesTable); blockPropertiesTable.CopyFrom((DxfHandledObject)this, cloneContext); } return((IGraphCloneable)blockPropertiesTable); }