/// <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 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(); }
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(); }
/*AUTO SCRIPT*/ /*AUTO SCRIPT*/ public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) /*AUTO SCRIPT*/ { /*AUTO SCRIPT*/ if (list == null) /*AUTO SCRIPT*/ { /*AUTO SCRIPT*/ list = EditorUtility.GetPropertyObject <Vector3List>(property); /*AUTO SCRIPT*/ rList = new ReorderableList(list, typeof(Vector3), true, false, true, true); /*AUTO SCRIPT*/ // rList.onAddCallback += data => { list.Add(defaultVal); }; /*AUTO SCRIPT*/ // rList.onChangedCallback += data=> { /*AUTO SCRIPT*/ // }; /*AUTO SCRIPT*/ } /*AUTO SCRIPT*/ /*AUTO SCRIPT*/ numLines = 3 + list.Count; /*AUTO SCRIPT*/ var title = new GUIContent($" {label.text}"); /*AUTO SCRIPT*/ var height = base.GetPropertyHeight(property, label); /*AUTO SCRIPT*/ var rect = new Rect(position.x, position.y, position.width, height); /*AUTO SCRIPT*/ EditorGUI.BeginChangeCheck(); /*AUTO SCRIPT*/ rList.DoList(rect); /*AUTO SCRIPT*/ EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), title); /*AUTO SCRIPT*/ /*AUTO SCRIPT*/ if (EditorGUI.EndChangeCheck()) { /*AUTO SCRIPT*/ property.serializedObject.ApplyModifiedProperties(); } /*AUTO SCRIPT*/ /*AUTO SCRIPT*/ }
/// <summary> /// /// </summary> /// <param name="list"></param> /// <returns></returns> public static List <float3> ToFloat3List(this Vector3List list) { List <float3> newList = new List <float3> (); for (int i = 0; i < list.Count; i++) { newList.Add(list[i]); } return(newList); }
/// <summary> /// /// </summary> /// <param name="list"></param> /// <returns></returns> public static float3[] ToFloat3Array(this Vector3List list) { float3[] newArray = new float3[list.Count]; for (int i = 0; i < list.Count; i++) { newArray[i] = list[i]; } return(newArray); }
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; }
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(); }
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); }
/// <summary> /// /// </summary> /// <param name="list"></param> /// <param name="items"></param> public static void Initialise(this Vector3List list, IEnumerable <float3> items) { list.Clear(); list.AddRange(items); }
/// <summary> /// /// </summary> /// <param name="list"></param> /// <param name="allocator"></param> /// <returns></returns> public static NativeArray <float3> ToFloat3NativeArray(this Vector3List list, Allocator allocator) { return(new NativeArray <float3> (list.ToFloat3Array(), allocator)); }
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(); }
public void CreateGameObjectList() { vector3List = ScriptableObject.CreateInstance <Vector3List> (); }