public void Init(JunctionDefinition data) { if (data.Boundaries != null) { //boundary init if (data.Boundaries.Length > 0) { Vector3[] extraPoints = new Vector3[data.Boundaries.Length + 1]; Array.Copy(data.Boundaries, extraPoints, data.Boundaries.Length); extraPoints[extraPoints.Length - 1] = extraPoints[0]; Boundary = new RenderLine(); Boundary.SetSelectedColour(new Vector4(1.0f, 0.0f, 0.0f, 1.0f)); Boundary.SetUnselectedColour(new Vector4(1.0f)); Boundary.Init(extraPoints); } } if (data.Splines != null) { //do spline Splines = new RenderLine[data.Splines.Length]; for (int i = 0; i < data.Splines.Length; i++) { RenderLine line = new RenderLine(); line.SetUnselectedColour(new Vector4(1.0f, 0.87f, 0f, 1.0f)); line.Init(data.Splines[i].Path); Splines[i] = line; } } DoRender = true; this.data = data; }
private RenderLine CreateConnectionLine(OBJData.VertexStruct FromPoint, OBJData.VertexStruct ToPoint, System.Drawing.Color Colour) { RenderLine navigationLine = new RenderLine(); navigationLine.SetUnselectedColour(Colour); navigationLine.SetSelectedColour(System.Drawing.Color.Red); navigationLine.Init(new Vector3[2] { FromPoint.Position, ToPoint.Position }); return(navigationLine); }
private void InitBoundary() { if (data.Boundaries != null) { //boundary init if (data.Boundaries.Length > 0) { Vector3[] extraPoints = new Vector3[data.Boundaries.Length + 1]; Array.Copy(data.Boundaries, extraPoints, data.Boundaries.Length); extraPoints[extraPoints.Length - 1] = extraPoints[0]; Boundary = new RenderLine(); Boundary.SetSelectedColour(Color.Red); Boundary.SetUnselectedColour(Color.White); Boundary.Init(extraPoints); } } }