private void projectionToolStripMenuItem_Click(object sender, EventArgs e) { // construct a wire; Vector3List points = new Vector3List(); points.Add(new Vector3(0, 0, 0)); points.Add(new Vector3(0, 100, 0)); points.Add(new Vector3(100, 100, 0)); TopoShape wire = GlobalInstance.BrepTools.MakePolygon(points); renderView.ShowGeometry(wire, ++shapeId); Vector3 dirPlane1 = new Vector3(0, 1, 1); dirPlane1.Normalize(); TopoShape newWire1 = GlobalInstance.BrepTools.ProjectOnPlane(wire, new Vector3(0, 0, 100), dirPlane1, new Vector3(0, 0, 1)); Vector3 dirPlane2 = new Vector3(0, 1, -1); dirPlane2.Normalize(); TopoShape newWire2 = GlobalInstance.BrepTools.ProjectOnPlane(wire, new Vector3(0, 0, 500), dirPlane2, new Vector3(0, 0, 1)); TopoShapeGroup tsg = new TopoShapeGroup(); tsg.Add(newWire1); tsg.Add(newWire2); TopoShape loft = GlobalInstance.BrepTools.MakeLoft(tsg, false); renderView.ShowGeometry(loft, ++shapeId); renderView.RequestDraw(); }
private void projLineToSurfaceToolStripMenuItem_Click(object sender, EventArgs e) { Vector3List points = new Vector3List(); points.Add(new Vector3(0, 0, 0)); points.Add(new Vector3(50, 0, 0)); points.Add(new Vector3(100, 0, 0)); points.Add(new Vector3(0, 50, 0)); points.Add(new Vector3(50, 50, 5)); points.Add(new Vector3(100, 50, -5)); points.Add(new Vector3(0, 150, 5)); points.Add(new Vector3(50, 150, -5)); points.Add(new Vector3(100, 150, 0)); TopoShape surface = GlobalInstance.BrepTools.MakeSurfaceFromPoints(points, 3, 3); TopoShape line = GlobalInstance.BrepTools.MakeLine(new Vector3(0, 0, 200), new Vector3(100, 150, 200)); TopoShape proj = GlobalInstance.BrepTools.ProjectOnSurface(line, surface); renderView.ShowGeometry(proj, ++shapeId); renderView.ShowGeometry(surface, ++shapeId); renderView.RequestDraw(); }
/// <summary> /// /// </summary> /// <param name="list"></param> /// <param name="items"></param> public static void AddRange(this Vector3List list, IEnumerable <float3> items) { foreach (float3 item in items) { list.Add(item); } }
private void splineToolStripMenuItem_Click(object sender, EventArgs e) { Vector3List points = new Vector3List(); points.Add(new Vector3(0, 0, 0)); points.Add(new Vector3(0, 0, 10)); points.Add(new Vector3(0, 10, 50)); points.Add(new Vector3(10, 20, 150)); TopoShape spline = GlobalInstance.BrepTools.MakeSpline(points); TopoShape circle = GlobalInstance.BrepTools.MakeCircle(Vector3.ZERO, 10, Vector3.UNIT_Z); TopoShape shape = GlobalInstance.BrepTools.MakePipe(circle, spline, 0); renderView.ShowGeometry(shape, ++shapeId); renderView.RequestDraw(); }
private void InitialiseWind() { for (float x = 0; x < 1000; x++) { for (float z = 0; z < 1000; z++) { positions.Add(new Vector3(x, 0, z) / 100); } } }
public void Clear() { for (int i = 0; i < 10; i++) { vector3List.Add(Vector3.zero); } vector3List.Clear(); Assert.AreEqual(vector3List.Count, 0); }
public void Init() { string[] items = { "全部", "进行中", "可接取", "已完成", "未获取" }; m_DataChangeCallBackInfoPool.Init(32, () => { return(new DataChangeCallBackInfo()); }, v => { }); StrList strlist = new StrList(); strlist.Add(string.Empty); strlist.Sort((a, b) => a.CompareTo(b)); List <int> intlist = new List <int>(); intlist.Add(1); var sa = strlist[0]; intlist.Sort((a, b) => a.CompareTo(b)); int iaa = null != strlist ? strlist.Count : intlist.Count; int[] aa = new int[] { 1, 2, 3, 4, 5 }; int[,] bb = new int[, ] { { 1, 2 }, { 3, 4 }, { 5, 6 } }; var ia = bb[0, 1]; foreach (var s in strlist) { Console.WriteLine(s); } foreach (var v in aa) { Console.WriteLine(v); } foreach (var v in bb) { Console.WriteLine(v); } var act = (Action)(() => { Console.Write(ia); }); var cc = ToList(aa); List <Vector3> v3list = new List <Vector3>(); v3list.Add(Vector3.zero); Vector3List nv3list = new Vector3List(); nv3list.Add(Vector3.zero); var v3 = nv3list[0]; nv3list[0] = v3; var vv3 = ToArray(nv3list)[0]; ToArray(nv3list)[0] = vv3; }
public static Vector3List ConvertVector3DList(string vec) { Vector3List list = new Vector3List(); try { string strPos = vec; string[] resut = strPos.Split(s_ListSplitString, StringSplitOptions.RemoveEmptyEntries); if (resut != null && resut.Length > 0 && resut[0] != "") { for (int index = 0; index < resut.Length;) { list.Add(new ScriptRuntime.Vector3(Convert.ToSingle(resut[index]), Convert.ToSingle(resut[index + 1]), Convert.ToSingle(resut[index + 2]))); index += 3; } } } catch (System.Exception ex) { list.Clear(); LogSystem.Error("ConvertVector3DList {0} Exception:{1}/{2}", vec, ex.Message, ex.StackTrace); throw; } return(list); }
private void surfaceToolStripMenuItem_Click(object sender, EventArgs e) { LineStyle lineStyle = new LineStyle(); lineStyle.SetLineWidth(0.5f); lineStyle.SetColor(ColorValue.RED); Vector3List points = new Vector3List(); points.Add(new Vector3(0, 0, 0)); points.Add(new Vector3(50, 0, 0)); points.Add(new Vector3(100, 0, 0)); points.Add(new Vector3(0, 50, 0)); points.Add(new Vector3(50, 50, 5)); points.Add(new Vector3(100, 50, -5)); points.Add(new Vector3(0, 150, 5)); points.Add(new Vector3(50, 150, -5)); points.Add(new Vector3(100, 150, 0)); TopoShape face = GlobalInstance.BrepTools.MakeSurfaceFromPoints(points, 3, 3); renderView.ShowGeometry(face, ++shapeId); GeomeSurface surface = new GeomeSurface(); surface.Initialize(face); float ufirst = surface.FirstUParameter(); float uLarst = surface.LastUParameter(); float vfirst = surface.FirstVParameter(); float vLast = surface.LastVParameter(); float ustep = (uLarst - ufirst) * 0.1f; float vstep = (vLast - vfirst) * 0.1f; for (float ii = ufirst; ii <= uLarst; ii += ustep) { for (float jj = vfirst; jj <= vLast; jj += vstep) { Vector3List data = surface.D1(ii, jj); Vector3 pos = data.Get(0); Vector3 dirU = data.Get(1); Vector3 dirV = data.Get(2); Vector3 dir = dirV.CrossProduct(dirU); dir.Normalize(); { TopoShape line = GlobalInstance.BrepTools.MakeLine(pos, pos + dir * 10.0f); SceneNode node = renderView.ShowGeometry(line, ++shapeId); node.SetLineStyle(lineStyle); } } } TopoShapeProperty property = new TopoShapeProperty(); property.SetShape(face); float area = property.SurfaceArea(); TextNode text = new TextNode(); text.SetText(String.Format("Surface Area: {0}", area)); text.SetPosition(new Vector3(100, 100, 0)); renderView.SceneManager.ClearNodes2d(); renderView.SceneManager.AddNode2d(text); renderView.RequestDraw(); }