private void GenerateGroupOff(ref ColModel model) { model.tris = new List <ColData.ColTri>(); uint off = 0; for (int i = 0; i < model.groups.Count; ++i) { ColData.GroupInfo grp = model.groups[i]; grp.Offset = off; grp.Size = (uint)model.triIndices[i].Count; off += grp.Size; model.tris.AddRange(model.triIndices[i]); model.groups[i] = grp; } }
private void comboBox1_TextChanged(object sender, EventArgs e) { if (listBox1.SelectedIndex == -1) { return; } int s; if (int.TryParse(comboBox1.Text.Split(' ')[0], out s)) { ColModel model = models[listBox1.SelectedIndex]; model.surface = s; models[listBox1.SelectedIndex] = model; } }
private void CheckMergeGroups(ref ColModel model) { HashSet <int> groups_to_delete = new HashSet <int>(); for (int i = 0; i < model.groups.Count; ++i) { if (groups_to_delete.Contains(i)) { continue; } HashSet <int> verts = new HashSet <int>(); for (int j = 0; j < model.triIndices[i].Count; ++j) { verts.Add(model.triIndices[i][j].Vert1); verts.Add(model.triIndices[i][j].Vert2); verts.Add(model.triIndices[i][j].Vert3); } for (int j = i + 1; j < model.groups.Count; ++j) { if ((model.triIndices[i].Count + model.triIndices[j].Count) > numericUpDown1.Value) { continue; } for (int k = 0; k < model.triIndices[j].Count; ++k) { if (verts.Contains(model.triIndices[j][k].Vert1) || verts.Contains(model.triIndices[j][k].Vert3) || verts.Contains(model.triIndices[j][k].Vert3)) { model.triIndices[i].AddRange(model.triIndices[j]); groups_to_delete.Add(j); break; } } } } List <int> delete_list = new List <int>(groups_to_delete); delete_list.Sort(); for (int i = delete_list.Count - 1; i >= 0; --i) { model.groups.RemoveAt(delete_list[i]); model.triIndices.RemoveAt(delete_list[i]); } }
public ActionResult CreateWorkflowCode(string databaseLinkId, string dbTable, string formData, string queryData, string colData, string baseInfo, string moduleEntityJson) { // 数据 List <DbTableModel> dbTableObj = dbTable.ToObject <List <DbTableModel> >(); FormModel formDataObj = formData.ToObject <FormModel>(); QueryModel queryDataObj = queryData.ToObject <QueryModel>(); ColModel colDataObj = colData.ToObject <ColModel>(); BaseModel baseInfoObj = baseInfo.ToObject <BaseModel>(); var moduleEntity = moduleEntityJson.ToObject <ModuleEntity>(); moduleEntity.F_Target = "iframe"; moduleEntity.F_UrlAddress = "/" + baseInfoObj.outputArea + "/" + baseInfoObj.name + "/Index"; List <ModuleButtonEntity> moduleButtonList = new List <ModuleButtonEntity>(); ModuleButtonEntity addButtonEntity = new ModuleButtonEntity(); addButtonEntity.Create(); addButtonEntity.F_EnCode = "lr_add"; addButtonEntity.F_FullName = "新增"; moduleButtonList.Add(addButtonEntity); ModuleButtonEntity editButtonEntity = new ModuleButtonEntity(); editButtonEntity.Create(); editButtonEntity.F_EnCode = "lr_edit"; editButtonEntity.F_FullName = "编辑"; moduleButtonList.Add(editButtonEntity); ModuleButtonEntity deleteButtonEntity = new ModuleButtonEntity(); deleteButtonEntity.Create(); deleteButtonEntity.F_EnCode = "lr_delete"; deleteButtonEntity.F_FullName = "删除"; moduleButtonList.Add(deleteButtonEntity); List <ModuleColumnEntity> moduleColumnList = new List <ModuleColumnEntity>(); int num = 0; foreach (var col in colDataObj.fields) { ModuleColumnEntity moduleColumnEntity = new ModuleColumnEntity(); moduleColumnEntity.Create(); moduleColumnEntity.F_EnCode = col.fieldId; moduleColumnEntity.F_FullName = col.fieldName; moduleColumnEntity.F_SortCode = num; moduleColumnEntity.F_ParentId = "0"; num++; moduleColumnList.Add(moduleColumnEntity); } var moduleEntityTemp = moduleIBLL.GetModuleByUrl(moduleEntity.F_UrlAddress); if (moduleEntityTemp == null) { moduleIBLL.SaveEntity("", moduleEntity, moduleButtonList, moduleColumnList); } string codeContent = ""; // 将表单数据进行一次转化 Dictionary <string, CompontModel> compontMap = new Dictionary <string, CompontModel>(); bool haveEditGird = false; foreach (var tab in formDataObj.tablist) { foreach (var compont in tab.componts) { if (compont.type == "gridtable") { haveEditGird = true; } compontMap.Add(compont.id, compont); } } // 实体类 映射类 string mainTable = ""; foreach (var tableOne in dbTableObj) { bool isMain = false; if (string.IsNullOrEmpty(tableOne.relationName)) { mainTable = tableOne.name; isMain = true; } // 实体类 codeContent = codeGenerator.WfEntityCreate(databaseLinkId, tableOne.name, tableOne.pk, baseInfoObj, colDataObj, isMain, formDataObj.workField); codeGenerator.CreateEntityCodeFile(baseInfoObj, tableOne.name, codeContent); // 映射类 codeContent = codeGenerator.MappingCreate(tableOne.name, tableOne.pk, baseInfoObj); codeGenerator.CreateMapCodeFile(baseInfoObj, tableOne.name, codeContent); } // 服务类 codeContent = codeGenerator.WfServiceCreate(databaseLinkId, dbTableObj, compontMap, queryDataObj, colDataObj, baseInfoObj, formDataObj.workField); codeGenerator.CreateSerivceCodeFile(baseInfoObj, codeContent); // 业务类 codeContent = codeGenerator.WfBllCreate(baseInfoObj, dbTableObj, compontMap, colDataObj); codeGenerator.CreateBLLCodeFile(baseInfoObj, codeContent); // 业务接口类 codeContent = codeGenerator.WfIBllCreate(baseInfoObj, dbTableObj, compontMap, colDataObj); codeGenerator.CreateIBLLCodeFile(baseInfoObj, codeContent); // 控制器类 codeContent = codeGenerator.WfControllerCreate(baseInfoObj, dbTableObj, compontMap, colDataObj); codeGenerator.CreateControllerCodeFile(baseInfoObj, codeContent); // 页面类 codeContent = codeGenerator.IndexCreate(baseInfoObj, compontMap, queryDataObj); codeGenerator.CreateIndexCodeFile(baseInfoObj, codeContent); // 页面js类 codeContent = codeGenerator.WfIndexJSCreate(baseInfoObj, dbTableObj, formDataObj, compontMap, colDataObj, queryDataObj); codeGenerator.CreateIndexJSCodeFile(baseInfoObj, codeContent); // 表单类 codeContent = codeGenerator.FormCreate(baseInfoObj, formDataObj, compontMap, haveEditGird); codeGenerator.CreateFormCodeFile(baseInfoObj, codeContent); // 表单js类 codeContent = codeGenerator.WfFormJsCreate(baseInfoObj, dbTableObj, formDataObj); codeGenerator.CreateFormJSCodeFile(baseInfoObj, codeContent); return(Success("创建成功")); }
public ActionResult LookWorkflowCode(string databaseLinkId, string dbTable, string formData, string queryData, string colData, string baseInfo) { // 数据 List <DbTableModel> dbTableObj = dbTable.ToObject <List <DbTableModel> >(); FormModel formDataObj = formData.ToObject <FormModel>(); QueryModel queryDataObj = queryData.ToObject <QueryModel>(); ColModel colDataObj = colData.ToObject <ColModel>(); BaseModel baseInfoObj = baseInfo.ToObject <BaseModel>(); // 将表单数据进行一次转化 Dictionary <string, CompontModel> compontMap = new Dictionary <string, CompontModel>(); bool haveEditGird = false; foreach (var tab in formDataObj.tablist) { foreach (var compont in tab.componts) { if (compont.type == "gridtable") { haveEditGird = true; } compontMap.Add(compont.id, compont); } } // 实体类 映射类 string entityCode = ""; string mapCode = ""; string mainTable = ""; foreach (var tableOne in dbTableObj) { bool isMain = false; if (string.IsNullOrEmpty(tableOne.relationName)) { mainTable = tableOne.name; isMain = true; } // 实体类 entityCode += codeGenerator.WfEntityCreate(databaseLinkId, tableOne.name, tableOne.pk, baseInfoObj, colDataObj, isMain, formDataObj.workField); // 映射类 mapCode += codeGenerator.MappingCreate(tableOne.name, tableOne.pk, baseInfoObj); } // 服务类 string serviceCode = codeGenerator.WfServiceCreate(databaseLinkId, dbTableObj, compontMap, queryDataObj, colDataObj, baseInfoObj, formDataObj.workField); // 业务类 string bllCode = codeGenerator.WfBllCreate(baseInfoObj, dbTableObj, compontMap, colDataObj); // 业务接口类 string ibllCode = codeGenerator.WfIBllCreate(baseInfoObj, dbTableObj, compontMap, colDataObj); // 控制器类 string controllerCode = codeGenerator.WfControllerCreate(baseInfoObj, dbTableObj, compontMap, colDataObj); // 页面类 string indexCode = codeGenerator.IndexCreate(baseInfoObj, compontMap, queryDataObj); // 页面js类 string indexJsCode = codeGenerator.WfIndexJSCreate(baseInfoObj, dbTableObj, formDataObj, compontMap, colDataObj, queryDataObj); // 表单类 string formCode = codeGenerator.FormCreate(baseInfoObj, formDataObj, compontMap, haveEditGird); // 表单js类 string formJsCode = codeGenerator.WfFormJsCreate(baseInfoObj, dbTableObj, formDataObj); var jsonData = new { entityCode = entityCode, mapCode = mapCode, serviceCode = serviceCode, bllCode = bllCode, ibllCode = ibllCode, controllerCode = controllerCode, indexCode = indexCode, indexJsCode = indexJsCode, formCode = formCode, formJsCode = formJsCode }; return(Success(jsonData)); }
public ActionResult LookCustmerProcCode(string databaseLinkId, string dbTable, string dbTablePk, string formData, string queryData, string colData, string baseInfo) { // 数据 FormModel formDataObj = formData.ToObject <FormModel>(); QueryModel queryDataObj = queryData.ToObject <QueryModel>(); ColModel colDataObj = colData.ToObject <ColModel>(); BaseModel baseInfoObj = baseInfo.ToObject <BaseModel>(); // 将表单数据进行一次转化 Dictionary <string, CompontModel> compontMap = new Dictionary <string, CompontModel>(); bool haveEditGird = false; foreach (var tab in formDataObj.tablist) { foreach (var compont in tab.componts) { if (compont.type == "gridtable") { haveEditGird = true; } compontMap.Add(compont.id, compont); } } // 实体类 string entityCode = codeGenerator.EntityCreate(databaseLinkId, dbTable, dbTablePk, baseInfoObj, colDataObj, true); // 映射类 string mapCode = codeGenerator.MappingCreate(dbTable, dbTablePk, baseInfoObj); //// 服务类 string serviceCode = codeGenerator.ServiceProcCreate(databaseLinkId, dbTable, dbTablePk, compontMap, queryDataObj, colDataObj, baseInfoObj); //// 业务类 string bllCode = codeGenerator.BllProcCreate(baseInfoObj, dbTable, compontMap, colDataObj); //// 业务接口类 string ibllCode = codeGenerator.IBllProcCreate(baseInfoObj, dbTable, compontMap, colDataObj); //// 控制器类 string controllerCode = codeGenerator.ControllerProcCreate(baseInfoObj, dbTable, compontMap, colDataObj); //// 页面类 string indexCode = codeGenerator.IndexCreate(baseInfoObj, compontMap, queryDataObj); //// 页面js类 string indexJsCode = codeGenerator.IndexJSProcCreate(baseInfoObj, dbTablePk, formDataObj, compontMap, colDataObj, queryDataObj); //// 表单类 string formCode = codeGenerator.FormCreate(baseInfoObj, formDataObj, compontMap, haveEditGird); //// 表单js类 string formJsCode = codeGenerator.FormJsProcCreate(baseInfoObj, formDataObj); var jsonData = new { entityCode = entityCode, mapCode = mapCode, serviceCode = serviceCode, bllCode = bllCode, ibllCode = ibllCode, controllerCode = controllerCode, indexCode = indexCode, indexJsCode = indexJsCode, formCode = formCode, formJsCode = formJsCode }; return(Success(jsonData)); }
public Grid AddColumn(Column column) { ColModel.Add(column); return(this); }
private void button1_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog { Filter = "Wavefront OBJ (*.obj)|*.obj", Multiselect = true }; if (ofd.ShowDialog() == DialogResult.OK) { for (int i = 0; i < ofd.FileNames.Length; ++i) { vertGroups = new Dictionary <int, int>(); int grp = 0; ColModel model = new ColModel { vtx = new List <Pos>(), groups = new List <ColData.GroupInfo>(), triIndices = new List <List <ColData.ColTri> >() }; StreamReader reader = new StreamReader(ofd.FileNames[i]); while (!reader.EndOfStream) { string[] str = reader.ReadLine().Split(' '); switch (str[0]) { case "v": model.vtx.Add(new Pos(-float.Parse(str[1].Replace(".", ".")), float.Parse(str[2].Replace(".", ".")), float.Parse(str[3].Replace(".", ".")), 1)); break; case "f": int v1 = int.Parse(str[1].Split('/')[0]) - 1; int v2 = int.Parse(str[2].Split('/')[0]) - 1; int v3 = int.Parse(str[3].Split('/')[0]) - 1; if (vertGroups.TryGetValue(v1, out grp) || vertGroups.TryGetValue(v2, out grp) || vertGroups.TryGetValue(v3, out grp)) { if (model.groups[grp].Size >= numericUpDown1.Value) { DiscardGroup(grp); grp = model.groups.Count; model.groups.Add(new ColData.GroupInfo()); model.triIndices.Add(new List <ColData.ColTri>()); } if (!vertGroups.ContainsKey(v1)) { vertGroups.Add(v1, grp); } if (!vertGroups.ContainsKey(v2)) { vertGroups.Add(v2, grp); } if (!vertGroups.ContainsKey(v3)) { vertGroups.Add(v3, grp); } } else { grp = model.groups.Count; model.groups.Add(new ColData.GroupInfo()); model.triIndices.Add(new List <ColData.ColTri>()); vertGroups.Add(v1, grp); vertGroups.Add(v2, grp); vertGroups.Add(v3, grp); } model.triIndices[grp].Add(new ColData.ColTri { Vert1 = v1, Vert2 = v2, Vert3 = v3 }); break; } } reader.Close(); //GenerateGroups(); CheckMergeGroups(ref model); GenerateGroupOff(ref model); if (model.groups.Count == 0) { continue; } listBox1.Items.Add(ofd.FileNames[i]); models.Add(model); vertexCount += model.vtx.Count; triCount += model.tris.Count; groupCount += model.groups.Count; } button3.Enabled = label4.Enabled = true; UpdateMainLabel(); } }