public RFSurface(RFSurface other) : this(other, null, null, other.SurfaceAxes) // Attention casting { ToModify = other.ToModify; ToDelete = other.ToDelete; var newEdges = new List <RFLine>(); if (other.Edges != null) { foreach (var edge in other.Edges) { newEdges.Add(new RFLine(edge)); } Edges = newEdges.ToArray(); if (other.Openings != null) { var newOpenings = new List <RFOpening>(); foreach (var op in other.Openings) { newOpenings.Add(new RFOpening(op)); } Openings = newOpenings.ToArray(); } } if (GeometryType == SurfaceGeometryType.NurbsSurfaceType) { ControlPoints = other.ControlPoints; OrderX = other.OrderX; OrderY = other.OrderY; KnotsX = other.KnotsX; KnotsY = other.KnotsY; Nodes = other.Nodes; Weights = other.Weights; } }
public RFSurface(RFSurface other) : this(other, null, null) { ToModify = other.ToModify; ToDelete = other.ToDelete; var newEdges = new List <RFLine>(); if (other.Edges != null) { foreach (var edge in other.Edges) { newEdges.Add(new RFLine(edge)); } Edges = newEdges.ToArray(); if (other.Openings != null) { var newOpenings = new List <RFOpening>(); foreach (var op in other.Openings) { newOpenings.Add(new RFOpening(op)); } Openings = newOpenings.ToArray(); } } }