请找管理员授权。/funnyscript/edit_node_item.php
using Common_Robot2; using ConverxHull; namespace Test1 { /// <summary> /// 根据角度,长宽来过滤点云 /// </summary> public class Cloud_Array_Filter_By_Angle_Len1_Len2 : C_Node { //"key_list" 点云数组 public string key_cloud_array = ""; //"key_list_list_double" List<List<double>>变量 public string key_list_list_double = ""; //保存的点云数组变量 public string key_cloud_array_save = ""; public string angle_min = ""; public string angle_max = ""; public string len1_min = ""; public string len1_max = ""; public string len2_min = ""; public string len2_max = ""; public override void init() { } public Cloud_Array_Filter_By_Angle_Len1_Len2(string name, C_Space space_parent, C_Space space) : base(name,space_parent, space) { } public override Task run_sub() { run_sub_main(); return Task.CompletedTask; } public void run_sub_main() { List<List<C_Point3D>>? list = (List<List<C_Point3D>>?)this.read_var(this.key_cloud_array, "List<List<C_Point3D>>"); if (list == null) { Main.WriteLine(this, "要处理的对象" + key_cloud_array+ "为空!"); this.Next_Step = Node_Next.True; return; } List<List<double>>? list_result = new List<List<double>>(); for (var i = 0; i < list.Count; i++) { List<C_Point3D> cloud1=list[i]; List<double> list_value = new List<double>(); (List<C_Point3D> rect, double rect_angle, double len1, double len2) = m1.计算外接矩形(cloud1); list_value.Add(rect_angle); list_value.Add(len1); list_value.Add(len2); list_result.Add(list_value); } this.save_var(this.key_list_list_double, "", list_result); } } }
ID=10723 Cloud_Array_Filter_By_Angle_Len1_Len2.cs
保存
using Common_Robot2; using ConverxHull; namespace Test1 { /// <summary> /// 根据角度,长宽来过滤点云 /// </summary> public class Cloud_Array_Filter_By_Angle_Len1_Len2 : C_Node { //"key_list" 点云数组 public string key_cloud_array = ""; //"key_list_list_double" List<List<double>>变量 public string key_list_list_double = ""; //保存的点云数组变量 public string key_cloud_array_save = ""; public string angle_min = ""; public string angle_max = ""; public string len1_min = ""; public string len1_max = ""; public string len2_min = ""; public string len2_max = ""; public override void init() { } public Cloud_Array_Filter_By_Angle_Len1_Len2(string name, C_Space space_parent, C_Space space) : base(name,space_parent, space) { } public override Task run_sub() { run_sub_main(); return Task.CompletedTask; } public void run_sub_main() { List<List<C_Point3D>>? list = (List<List<C_Point3D>>?)this.read_var(this.key_cloud_array, "List<List<C_Point3D>>"); if (list == null) { Main.WriteLine(this, "要处理的对象" + key_cloud_array+ "为空!"); this.Next_Step = Node_Next.True; return; } List<List<double>>? list_result = new List<List<double>>(); for (var i = 0; i < list.Count; i++) { List<C_Point3D> cloud1=list[i]; List<double> list_value = new List<double>(); (List<C_Point3D> rect, double rect_angle, double len1, double len2) = m1.计算外接矩形(cloud1); list_value.Add(rect_angle); list_value.Add(len1); list_value.Add(len2); list_result.Add(list_value); } this.save_var(this.key_list_list_double, "", list_result); } } }