public GsaNode Duplicate() { if (this.Node == null) { return(null); } GsaNode dup = new GsaNode { Node = new Node { AxisProperty = Node.AxisProperty, DamperProperty = Node.DamperProperty, MassProperty = Node.MassProperty, Name = Node.Name, Restraint = new NodalRestraint { X = Node.Restraint.X, Y = Node.Restraint.Y, Z = Node.Restraint.Z, XX = Node.Restraint.XX, YY = Node.Restraint.YY, ZZ = Node.Restraint.ZZ, }, SpringProperty = Node.SpringProperty, } }; if ((System.Drawing.Color)Node.Colour != System.Drawing.Color.FromArgb(0, 0, 0)) // workaround to handle that System.Drawing.Color is non-nullable type { dup.Node.Colour = Node.Colour; } dup.Point = new Point3d { X = Node.Position.X, Y = Node.Position.Y, Z = Node.Position.Z, }; if (m_id != 0) { dup.ID = m_id; } if (m_spring != null) { dup.Spring = m_spring.Duplicate(); } if (m_plane != null) { dup.LocalAxis = LocalAxis.Clone(); } return(dup); }
public GsaNode Duplicate() { GsaNode dup = new GsaNode { Node = Node //add clone or duplicate if available }; Point3dList pt = new Point3dList(Point); Point3dList duppt = pt.Duplicate(); dup.Point = duppt[0]; if (m_id != 0) { dup.ID = m_id; } if (m_spring != null) { dup.Spring = m_spring.Duplicate(); } dup.m_plane = LocalAxis.Clone(); return(dup); }