public IGraphCloneable Clone(CloneContext cloneContext) { DxfEvalGraph.GraphEdge graphEdge = (DxfEvalGraph.GraphEdge)cloneContext.GetExistingClone((IGraphCloneable)this); if (graphEdge == null) { graphEdge = new DxfEvalGraph.GraphEdge(); cloneContext.RegisterClone((IGraphCloneable)this, (IGraphCloneable)graphEdge); graphEdge.CopyFrom(cloneContext, this); } return((IGraphCloneable)graphEdge); }
protected virtual void CopyFrom(CloneContext cloneContext, DxfEvalGraph.GraphEdge from) { this.StartNode = from.StartNode; this.EndNode = from.EndNode; this.Flags = from.Flags; this.ReferenceCount = from.ReferenceCount; this.PreviousIncoming = from.PreviousIncoming; this.NextIncoming = from.NextIncoming; this.PreviousOutgoing = from.PreviousOutgoing; this.NextOutgoing = from.NextOutgoing; this.ReverseEdgeIndex = from.ReverseEdgeIndex; }