//Current public FoundationCatalogResource(int APIversion, uint version, FoundationType foundation, MaterialList materials, Common common, uint wallCatalogIndex, uint floorCatalogIndex, uint vpxyIndex, uint index3, uint index4, uint unknown5, uint unknown6, ShapeType shape, TGIBlockList ltgib) : this(APIversion, version, foundation, common, wallCatalogIndex, floorCatalogIndex, index3, index4, unknown5, unknown6, shape, ltgib) { if (checking) if (version < 0x00000004) throw new InvalidOperationException(String.Format("Version {0} invalid with these arguments", version)); this.materials = new MaterialList(OnResourceChanged, materials); this.vpxyIndex = vpxyIndex; }
protected override Stream UnParse() { Stream s = base.UnParse(); BinaryWriter w = new BinaryWriter(s); if (version >= 0x00000003) { if (materialList == null) { materialList = new MaterialList(OnResourceChanged); } materialList.UnParse(s); } if (common == null) { common = new Common(requestedApiVersion, OnResourceChanged); } common.UnParse(s); w.Write(railing4xModelVPXYIndex); w.Write(railing1xModelVPXYIndex); w.Write(postModelVPXYIndex); base.UnParse(s); w.Flush(); return(s); }
public void GetData(PmxModelData data) { var header = new PmxHeaderData() { Version = 2.0F }; var boneSlot = new PmxSlotData() { SlotName = "弾ボーン", Type = PmxSlotData.SLOT_TYPE_BONE, Indices = Enumerable.Range(0, BoneList.Count).ToArray() }; var morphSlot = new PmxSlotData() { SlotName = "弾モーフ", Type = PmxSlotData.SLOT_TYPE_MORPH, Indices = Enumerable.Range(0, MorphList.Count).ToArray() }; data.Header = header; data.VertexIndices = IndexList.ToArray(); data.TextureFiles = TextureList.ToArray(); data.VertexArray = VertexList.ToArray(); data.MaterialArray = MaterialList.ToArray(); data.BoneArray = BoneList.ToArray(); data.MorphArray = MorphList.ToArray(); data.SlotArray = new PmxSlotData[] { boneSlot, morphSlot }; }
public void SetupMaterials(ShotProperty prop, PmxMaterialData[] materials, string[] textures) { foreach (var texture in textures) { if (!TextureList.Contains(texture)) { TextureList.Add(texture); } } foreach (PmxMaterialData material in materials) { material.MaterialName = "MA_" + MaterialList.Count.ToString(); if (0 <= material.TextureId && material.TextureId < textures.Length) { material.TextureId = TextureList.IndexOf(textures[material.TextureId]); } else { material.TextureId = -1; } if (0 <= material.SphereId && material.SphereId < textures.Length) { material.SphereId = TextureList.IndexOf(textures[material.SphereId]); } else { material.SphereId = -1; } MaterialList.Add(material); } }
public IHttpActionResult PutMaterialList(int id, MaterialList materialList) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != materialList.Id) { return(BadRequest()); } db.Entry(materialList).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!MaterialListExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
private void addMaterial(uint chara_id) { uint id = (uint)MaterialList.Count; MasterDataParamChara materialMaster = MasterDataUtil.GetCharaParamFromID(chara_id); if (materialMaster == null) { return; } MaterialValue += materialMaster.name + "\n"; var iconModel = new ListItemModel((uint)id); MaterialDataContext _newData = new MaterialDataContext(iconModel); _newData.m_Id = (int)id; _newData.m_CharaId = chara_id; _newData.IsViewIcon = true; UnitIconImageProvider.Instance.Get( chara_id, sprite => { _newData.IconImage = sprite; }); _newData.IconColor = new Color(1, 1, 1); _newData.Width = m_IconSize; _newData.Height = m_IconSize; _newData.calcScale(); _newData.SelectImage = ResourceManager.Instance.Load("icon_square1"); MaterialList.Add(_newData); }
public virtual void DecorateMaterialListAfterLoad(MaterialList materials) { materials.ForEach(i => { i.ShowFileUrl = i.ExtraDataDictionary.GetValue("showUrl", i.ShowFileUrl); }); }
public void MaterialCloneAndPersistTest() { Material source = PrepareSourceMaterial(); Material dest = source.Clone(); MaterialList list = new MaterialList(); list.Add(dest); DbConnectionMappingContext.DoMappingAction( MaterialAdapter.Instance.GetConnectionName(), "SubjectDB", () => { TransactionScopeFactory.DoAction(() => { MaterialAdapter.Instance.InsertWithContent(list); MaterialList loadedList = MaterialAdapter.Instance.LoadMaterialByMaterialID(dest.ID); Assert.IsTrue(loadedList.Count > 0); loadedList[0].EnsureMaterialContent(); ValidateMaterial(source, loadedList[0]); }); }); }
public void Save() { if (NewMaterial == null || materialName == "") { return; } if (materialName == selectedImage) //ncrunch: no coverage start { if (GetDialogResultToRenameMaterial()) { MaterialName += "Material"; } else { return; } } if (MaterialList.Contains(MaterialName)) { if (!GetDialogResultToSaveMaterial()) { return; } } var metaDataCreator = new ContentMetaDataCreator(); ContentMetaData contentMetaData = metaDataCreator.CreateMetaDataFromMaterial(materialName, NewMaterial); service.UploadContent(contentMetaData); }
protected override Stream UnParse() { Stream s = base.UnParse(); BinaryWriter w = new BinaryWriter(s); if (version >= 0x00000003) { if (materialList == null) { materialList = new MaterialList(OnResourceChanged); } materialList.UnParse(s); } if (common == null) { common = new Common(requestedApiVersion, OnResourceChanged); } common.UnParse(s); w.Write(steps4xModelVPXYIndex); w.Write(steps1xModelVPXYIndex); w.Write(wallCapModelVPXYIndex); w.Write(catalogRailing); w.Write(catalogWall); w.Write(catalogWallFloorPattern); w.Write(catalogFence); base.UnParse(s); w.Flush(); return(s); }
protected override void Parse(Stream s) { BinaryReader r = new BinaryReader(s); base.Parse(s); this.materialList = (this.version >= 0x00000003) ? new MaterialList(OnResourceChanged, s) : null; this.common = new Common(requestedApiVersion, OnResourceChanged, s); this.steps4xModelVPXYIndex = r.ReadUInt32(); this.steps1xModelVPXYIndex = r.ReadUInt32(); this.wallCapModelVPXYIndex = r.ReadUInt32(); this.catalogRailing = r.ReadUInt32(); this.catalogWall = r.ReadUInt32(); this.catalogWallFloorPattern = r.ReadUInt32(); this.catalogFence = r.ReadUInt32(); list = new TGIBlockList(OnResourceChanged, s, tgiPosn, tgiSize); if (checking) { if (this.GetType().Equals(typeof(RoofStyleCatalogResource)) && s.Position != s.Length) { throw new InvalidDataException(String.Format("Data stream length 0x{0:X8} is {1:X8} bytes longer than expected at {2:X8}", s.Length, s.Length - s.Position, s.Position)); } } }
public PMDFormat(BinaryReader bin, GameObject caller, string path) { EntryPathes(path); this.caller = caller; try { this.head = new Header(bin); this.vertex_list = new VertexList(bin); this.face_vertex_list = new FaceVertexList(bin); this.material_list = new MaterialList(bin); this.bone_list = new BoneList(bin); this.ik_list = new IKList(bin); read_count++; this.skin_list = new SkinList(bin); read_count++; this.skin_name_list = new SkinNameList(bin); this.bone_name_list = new BoneNameList(bin); this.bone_display_list = new BoneDisplayList(bin); this.eg_head = new EnglishHeader(bin); if (this.eg_head.english_name_compatibility != 0) { this.eg_bone_name_list = new EnglishBoneNameList(bin, bone_list.bone_count); this.eg_skin_name_list = new EnglishSkinNameList(bin, skin_list.skin_count); this.eg_bone_display_list = new EnglishBoneDisplayList(bin, bone_name_list.bone_disp_name_count); } this.toon_texture_list = new ToonTextureList(bin); this.rigidbody_list = new RigidbodyList(bin); this.rigidbody_joint_list = new RigidbodyJointList(bin); } catch { Debug.Log("Don't read full format"); } }
public override AssetList ImportMany(string path) { MaterialList materials = new MaterialList(); MAT mat = MAT.Load(path); foreach (MATMaterial material in mat.Materials) { if (material.Texture == Path.GetFileNameWithoutExtension(material.Texture)) { //materials.Entries.Add( // new Material // { // Name = material.Name, // Texture = SceneManager.Current.Content.Load<Texture, TIFImporter>(material.Texture, Path.GetDirectoryName(path)) // } //); //materials.Entries[materials.Entries.Count - 1].SupportingDocuments["Source"] = material; } else { materials.Entries.Add( new Material { Name = material.Name, Texture = SceneManager.Current.Content.Load <Texture, PIXImporter>(material.Texture, Path.GetDirectoryName(path), true) } ); } } return(materials); }
public void UpdateMaterials() { try { lock (MaterialList) { MaterialList.Clear(); List <CastSpellAction> castSpellList = CastSpellAction.GetCastSpellActionList(CurrentProfile.Branch); if (castSpellList != null) { foreach (CastSpellAction ca in castSpellList) { if (ca.IsRecipe) { foreach (var ingred in ca.Recipe.Ingredients) { MaterialList[ingred.ID] = MaterialList.ContainsKey(ingred.ID) ? MaterialList[ingred.ID] + (ca.CalculatedRepeat > 0 ? (int)ingred.Required * (ca.CalculatedRepeat - ca.Casted) : 0) : (ca.CalculatedRepeat > 0 ? (int)ingred.Required * (ca.CalculatedRepeat - ca.Casted) : 0); } } } } } } catch (Exception ex) { Err(ex.ToString()); } }
public override void Export(AssetList asset, string path) { MaterialList materials = (asset as MaterialList); MAT mat = new MAT(); foreach (Material material in materials.Entries) { if (material == null) { continue; } if (material.Texture == null) { continue; } mat.Materials.Add( new MATMaterial( material.Name, material.Texture.Name ) ); } mat.Save(path); }
public override AssetList ImportMany(string path) { MaterialList materials = new MaterialList(); MAT mat = MAT.Load(path); foreach (var material in mat.Materials) { if (material.Texture == Path.GetFileNameWithoutExtension(material.Texture)) { materials.Entries.Add( new Material { Name = material.Name, Texture = SceneManager.Current.Content.Load<Texture, TIFImporter>(material.Texture, Path.GetDirectoryName(path)) } ); materials.Entries[materials.Entries.Count - 1].SupportingDocuments["Source"] = material; } else { materials.Entries.Add( new Material { Name = material.Name, Texture = SceneManager.Current.Content.Load<Texture, PIXImporter>(material.Texture, Path.GetDirectoryName(path)) } ); } } return materials; }
private void btnCikar2_Click(object sender, EventArgs e) { Tender currentTender = UICurrentManager.Instance.CurrentTender; int[] selectedRows = gridView2.GetSelectedRows(); List <MaterialListModel> models = (List <MaterialListModel>)gridView2.DataSource; MaterialListModel[] selectedRowsItems = models.ToArray(); foreach (int item in selectedRows) { MaterialListModel pozModel = selectedRowsItems[item]; MaterialList selectedItem = currentTender.MaterialList.Where(p => p.PozOBFId == pozModel.PozOBFId).FirstOrDefault(); currentTender.MaterialList.Remove(selectedItem); if (selectedItem.Id > 0) { selectedItem.IsMarkedForDeletion = true; MaterialListProvider.Instance.Save(selectedItem); } } List <MaterialList> items = currentTender.MaterialList.Where(p => p.IsPoz && p.TenderGroupId == this.SelectedGroupId && !p.IsMarkedForDeletion).ToList(); List <MaterialListModel> dataSource = IhalematikModelBase.GetModels <MaterialListModel, MaterialList>(items).ToList(); grdAddedPoz.DataSource = null; grdAddedPoz.DataSource = dataSource; this.LoadMaterialListGrid(); }
public override void Export(AssetList asset, string path) { MaterialList materials = asset as MaterialList; List <string> textures = new List <string>(); PIX pix = new PIX(); foreach (Material material in materials) { foreach (Texture texture in material.Textures) { if (texture.FileName == null) { continue; } if (!textures.Contains(texture.FileName)) { PIXIE pixie = PIXIE.FromBitmap(PIXIE.PixelmapFormat.C1_8bit, texture.GetBitmap(false)); pixie.Name = texture.Name; pix.Pixies.Add(pixie); textures.Add(texture.FileName); } } } pix.Save(path); }
// Current version public FenceCatalogResource( uint version, MaterialList materialList, //Version>=0x07 Common common, uint modelVPXYIndex, uint diagonalVPXYIndex, uint postVPXYIndex, uint tileSpacing, bool canWalkOver, bool shouldNotGetThickSnow, bool snowPostShapeIsCircle, //Version>=0x0A float snowThicknessPostScaleFactor, float snowThicknessRailScaleFactor, //Version>=0x0A float snowThicknessPostVerticalOffset, float snowThicknessRailVerticalOffset, bool hasWall, //Version>=0x0A bool risesAboveWall, uint wallIndex, //Version>=0x08 TGIBlockList ltgib) : base(version, common, ltgib) { this.materialList = materialList != null ? new MaterialList(OnResourceChanged, materialList) : null; this.common = new Common(OnResourceChanged, common); this.modelVPXYIndex = modelVPXYIndex; this.diagonalVPXYIndex = diagonalVPXYIndex; this.postVPXYIndex = postVPXYIndex; this.tileSpacing = tileSpacing; this.canWalkOver = canWalkOver; this.shouldNotGetThickSnow = shouldNotGetThickSnow; this.snowPostShapeIsCircle = snowPostShapeIsCircle; this.snowThicknessPostScaleFactor = snowThicknessPostScaleFactor; this.snowThicknessRailScaleFactor = snowThicknessRailScaleFactor; this.snowThicknessPostVerticalOffset = snowThicknessPostVerticalOffset; this.snowThicknessRailVerticalOffset = snowThicknessRailVerticalOffset; this.hasWall = hasWall; this.risesAboveWall = risesAboveWall; this.wallIndex = wallIndex; }
public ActionResult GetMaterialList() { MaterialListPost postobj = new MaterialListPost(); postobj.count = 20; postobj.type = "image"; postobj.offset = 0; string token = AccessTokenService.GetAccessToken(); string postJsonStr = JsonConvert.SerializeObject(postobj); string result = WechatMaterialServices.GetMaterialList(token, postJsonStr); WechatResult wechatResult = JsonConvert.DeserializeObject <WechatResult>(result); if (wechatResult.errcode != 0) { ViewBag.msg = "获取素材列表失败!返回错误代码如下:"; ViewBag.content = result; } else { MaterialList materialList = JsonConvert.DeserializeObject <MaterialList>(result); ViewData["materialList"] = materialList.item; ViewBag.msg = "success"; } return(View()); }
private void GenerateButton_Click(object sender, RoutedEventArgs e) { (GenProperties gp, string r) = ValidateInput(); OutputBox.Text = r; System.Windows.Forms.Application.DoEvents(); if (gp == null) { return; // Error during validation } System.Windows.Forms.Application.DoEvents(); MF.Reseed(); Heightmap heightmap = new Heightmap(gp.hm_width, gp.hm_height); MaterialList matlist = new MaterialList(gp.mat_list); List <CFFKernel> CFFkernels = CFFKernel.InitKernals(gp); List <MesaAgent1> masI = new List <MesaAgent1>(); for (int i = 0; i < gp.m_origins; i++) { MesaAgent1 magent = new MesaAgent1(gp); magent.Run(heightmap, CFFkernels); masI.Add(magent); } MesaAgent2 masII = new MesaAgent2(heightmap, gp); masII.Run(); OutputBox.Text = "Finished generating! Rendering now..."; System.Windows.Forms.Application.DoEvents(); RenderHeightmap(heightmap, gp.hm_cellsize); OutputBox.Text = "Rendered!"; System.Windows.Forms.Application.DoEvents(); }
//Current public FoundationCatalogResource(uint version, FoundationType foundation, MaterialList materials, Common common, uint wallCatalogIndex, uint floorCatalogIndex, uint vpxyIndex, uint index3, uint index4, uint unknown5, uint unknown6, ShapeType shape, TGIBlockList ltgib) : this(version, foundation, common, wallCatalogIndex, floorCatalogIndex, index3, index4, unknown5, unknown6, shape, ltgib) { if (version < 0x00000004) { throw new InvalidOperationException(String.Format("Version {0} invalid with these arguments", version)); } this.materials = new MaterialList(OnResourceChanged, materials); this.vpxyIndex = vpxyIndex; }
void prepareMaterial() { string sqlstr = "select '' as mat_id, '' as mat_name union(select mat_id, mat_name from material) order by mat_id"; MaterialList.DataSource = mydb.GetDataTable(sqlstr); MaterialList.DataBind(); }
protected override void ReadPolygons(BinaryReader reader, CDC.Objects.ExportOptions options) { if (_polygonStart == 0 || _polygonCount == 0) { return; } reader.BaseStream.Position = _polygonStart; for (UInt16 p = 0; p < _polygonCount; p++) { ReadPolygon(reader, p, options); } HandleDebugRendering(options); MaterialList xMaterialsList = null; for (UInt16 p = 0; p < _polygonCount; p++) { if (xMaterialsList == null) { xMaterialsList = new MaterialList(_polygons[p].material); _materialsList.Add(_polygons[p].material); } else { Material newMaterial = xMaterialsList.AddToList(_polygons[p].material); if (_polygons[p].material != newMaterial) { _polygons[p].material = newMaterial; } else { _materialsList.Add(_polygons[p].material); } } } _materialCount = (UInt32)_materialsList.Count; for (UInt32 t = 0; t < _groupCount; t++) { _trees[t] = new Tree(); _trees[t].mesh = new Mesh(); _trees[t].mesh.indexCount = _indexCount; _trees[t].mesh.polygonCount = _polygonCount; _trees[t].mesh.polygons = _polygons; _trees[t].mesh.vertices = _geometry.Vertices; _trees[t].mesh.vertices = new Vertex[_indexCount]; for (UInt16 poly = 0; poly < _polygonCount; poly++) { _trees[t].mesh.vertices[(3 * poly) + 0] = _polygons[poly].v1; _trees[t].mesh.vertices[(3 * poly) + 1] = _polygons[poly].v2; _trees[t].mesh.vertices[(3 * poly) + 2] = _polygons[poly].v3; } } }
public static void EnsureSeedData(this A1ServicesAppDbContext ctx) { var jobMaterialLinks = ProcessServiceMaterialsLinkFile("D:\\Projects\\A1ServicesApp\\A1ServicesApp\\Features\\JobServiceMaterialLinks\\ServiceMaterialsLinks.csv"); var servicesList = ProcessServicesFile("D:\\Projects\\A1ServicesApp\\A1ServicesApp\\Features\\JobServiceMaterialLinks\\ServicesBook.csv"); var materialsList = ProcessMaterialsFile("D:\\Projects\\A1ServicesApp\\A1ServicesApp\\Features\\JobServiceMaterialLinks\\MaterialsBook.csv"); var jobServiceMaterialLinks = new List <JobServiceMaterialLink>(); if (ctx.JobServiceMaterialLinks.Any()) { return; } ctx.JobMaterials.AddRange(materialsList); ctx.JobServices.AddRange(servicesList); ctx.SaveChanges(); var jobMaterialLinksGroups = jobMaterialLinks.GroupBy(j => j.ServiceId).ToList(); foreach (var link in jobMaterialLinksGroups) { var service = ctx.JobServices.Where(s => s.ServiceId == link.Key).FirstOrDefault(); var newJobServiceMaterialLink = new JobServiceMaterialLink() { ServiceId = service.ServiceId, ServiceCode = service.Code, Active = 1, MaterialLists = new List <MaterialList>() }; foreach (var matList in link) { var newMaterialList = new MaterialList() { Type = "All", Name = matList.MaterialCode + " - " + link.Key + " - " + "Links" }; var material = ctx.JobMaterials.Where(j => j.MaterialId == matList.MaterialId).FirstOrDefault(); var materialListItem = new MaterialListItem() { JobMaterialId = material.Id, JobMaterial = material, MaterialId = material.MaterialId }; newMaterialList.MaterialListItems.Add(materialListItem); newJobServiceMaterialLink.MaterialLists.Add(newMaterialList); } jobServiceMaterialLinks.Add(newJobServiceMaterialLink); } ctx.JobServiceMaterialLinks.AddRange(jobServiceMaterialLinks); ctx.SaveChanges(); }
public void LoadOriginalData(ArchiveBasicInfo info) { MaterialList materials = MaterialAdapter.Instance.LoadMaterialsByResourceID(info.ResourceID); info.Context["Materials"] = materials; materials.ForEach(m => m.EnsureMaterialContent()); }
public CustomStyleBundle() { materials = new MaterialList[2]; materials[0] = new MaterialList(); materials[1] = new MaterialList(); //SetDefaultAssets(); }
protected void MaterialList_ItemCanceling(object sender, ListViewCancelEventArgs e)//отменить редактирование { MaterialList.EditIndex = -1; MaterialList.DataSource = MatServ.ReadAll() .Select(c => new { c.Id, c.Name, c.Date, c.UnitId, c.Num }) .ToList(); MaterialList.DataBind(); }
public void RefreshOnContentChange() { ImageList.Clear(); MaterialList.Clear(); LoadImageList(); LoadMaterials(); RaisePropertyChanged("ImageList"); RaisePropertyChanged("MaterialList"); }
public void IdentifyMaterial(int input) { var OrderedMaterialList = MaterialList.OrderBy(x => (Math.Abs(x.Item2 - ((double)scale / input)))); SelectedMaterial = OrderedMaterialList.First(); OnPropertyChanged(nameof(SelectedMaterial)); MaterialList = OrderedMaterialList.ToList(); OnPropertyChanged(nameof(MaterialList)); }
public RailingCatalogResource(int APIversion, Stream unused, RailingCatalogResource basis) : base(APIversion, basis.version, basis.common, basis.list) { this.materialList = (basis.version >= 0x00000003) ? new MaterialList(OnResourceChanged, basis.materialList) : null; this.common = new Common(requestedApiVersion, OnResourceChanged, basis.common); this.railing4xModelVPXYIndex = basis.railing4xModelVPXYIndex; this.railing1xModelVPXYIndex = basis.railing1xModelVPXYIndex; this.postModelVPXYIndex = basis.postModelVPXYIndex; }
/// <summary> /// Binds the data. /// </summary> public override void BindData() { base.BindData(); var workflowTemplateId = Guid.Empty; if (!IsEditMode) { workflowTemplateId = CurrentWorkflowTemplate; } else if (EditObjectId.HasValue) { workflowTemplateId = EditObjectId.Value; } if (MaterialList.Count == 0) { Session["Materials"] = DataManager.Material.SelectByWorkflowTemplateId(workflowTemplateId). Select( a => new MaterialMap { ID = a.ID, SiteID = a.SiteID, Name = a.Name, Type = a.Type, Description = a.Description, OldValue = a.Value, Value = ((MaterialType)a.Type == MaterialType.Form && !IsEditMode) ? null : a.Value, WorkflowTemplateID = a.WorkflowTemplateID }).ToList(); } var workflowTemplateElements = DataManager.WorkflowTemplateElement.SelectAll(workflowTemplateId).Where(a => a.ElementType == (int)WorkflowTemplateElementType.Message).ToList(); if (SiteActionTemplateList.Count == 0) { foreach (var workflowTemplateElement in workflowTemplateElements) { var workflowTemplateElementParameter = DataManager.WorkflowTemplateElementParameter.SelectByElementId(workflowTemplateElement.ID).FirstOrDefault(a => a.Name == "SiteActionTemplateID"); var siteActionTemplate = DataManager.SiteActionTemplate.SelectById(workflowTemplateElementParameter.Value.ToGuid()); SiteActionTemplateList.Add(siteActionTemplate); MaterialList.Add(new MaterialMap { ID = siteActionTemplate.ID, SiteID = CurrentUser.Instance.SiteID, Name = workflowTemplateElement.Name, OldValue = siteActionTemplate.ID.ToString(), Value = siteActionTemplate.ID.ToString(), Type = (int)MaterialType.ActionTemplate }); } } }
public void DDLUnitID() { var UnitIdDdl = MaterialList.FindControlRecursive <DropDownList>("UnitIdDdl"); if (UnitIdDdl != null) //наполняем элемент только если он найден { UnitIdDdl.DataSource = Enum.GetValues(typeof(UnitEnum)); UnitIdDdl.DataBind(); } }
public RailingCatalogResource(int APIversion, uint version, MaterialList materialList, Common common, uint railing4xModelIndex, uint railing1xModelIndex, uint postModelIndex, TGIBlockList ltgib) : base(APIversion, version, common, ltgib) { this.materialList = materialList != null ? new MaterialList(OnResourceChanged, materialList) : null; this.common = new Common(requestedApiVersion, OnResourceChanged, common); this.railing4xModelVPXYIndex = railing4xModelIndex; this.railing1xModelVPXYIndex = railing1xModelIndex; this.postModelVPXYIndex = postModelIndex; }
public StairsCatalogResource(int APIversion, Stream unused, StairsCatalogResource basis) : base(APIversion, basis.version, basis.common, basis.list) { this.materialList = (basis.version >= 0x00000003) ? new MaterialList(OnResourceChanged, basis.materialList) : null; this.common = new Common(requestedApiVersion, OnResourceChanged, basis.common); this.steps4xModelVPXYIndex = basis.steps4xModelVPXYIndex; this.steps1xModelVPXYIndex = basis.steps1xModelVPXYIndex; this.wallCapModelVPXYIndex = basis.wallCapModelVPXYIndex; this.catalogRailing = basis.catalogRailing; this.catalogWall = basis.catalogWall; this.catalogWallFloorPattern = basis.catalogWallFloorPattern; this.catalogFence = basis.catalogFence; }
protected override void Parse(Stream s) { BinaryReader r = new BinaryReader(s); base.Parse(s); this.materialList = (this.version >= 0x00000003) ? new MaterialList(OnResourceChanged, s) : null; this.common = new Common(requestedApiVersion, OnResourceChanged, s); this.railing4xModelVPXYIndex = r.ReadUInt32(); this.railing1xModelVPXYIndex = r.ReadUInt32(); this.postModelVPXYIndex = r.ReadUInt32(); list = new TGIBlockList(OnResourceChanged, s, tgiPosn, tgiSize); if (checking) if (this.GetType().Equals(typeof(RailingCatalogResource)) && s.Position != s.Length) throw new InvalidDataException(String.Format("Data stream length 0x{0:X8} is {1:X8} bytes longer than expected at {2:X8}", s.Length, s.Length - s.Position, s.Position)); }
public FoundationCatalogResource(int APIversion, Stream unused, FoundationCatalogResource basis) : this(APIversion, basis.version, basis.foundation, basis.common, basis.wallCatalogIndex, basis.floorCatalogIndex, basis.index3, basis.index4, basis.unknown5, basis.unknown6, basis.shape, basis.list) { materials = new MaterialList(OnResourceChanged, basis.materials); vpxyIndex = basis.vpxyIndex; }
public StairsCatalogResource(int APIversion, uint version, MaterialList materialList, Common common, uint steps4xModelVPXYIndex, uint steps1xModelVPXYIndex, uint wallCapModelVPXYIndex, uint catalogRailing, uint catalogWall, uint catalogWallFloorPattern, uint catalogFence, TGIBlockList ltgib) : base(APIversion, version, common, ltgib) { this.materialList = materialList != null ? new MaterialList(OnResourceChanged, materialList) : null; this.common = new Common(requestedApiVersion, OnResourceChanged, common); this.steps4xModelVPXYIndex = steps4xModelVPXYIndex; this.steps1xModelVPXYIndex = steps1xModelVPXYIndex; this.wallCapModelVPXYIndex = wallCapModelVPXYIndex; this.catalogRailing = catalogRailing; this.catalogWall = catalogWall; this.catalogWallFloorPattern = catalogWallFloorPattern; this.catalogFence = catalogFence; }
/// <summary> /// 获得指定附件的副本 /// </summary> /// <param name="materials">附件集合</param> /// <returns>指定附件对应的副本集合</returns> internal MaterialList LoadCopyVersionMaterial(MaterialList materials) { ExceptionHelper.TrueThrow<ArgumentNullException>(materials == null, "materials"); MaterialList copyVersionMaterials = new MaterialList(); if (materials.Count != 0) { ConnectiveSqlClauseCollection orClause = new ConnectiveSqlClauseCollection(LogicOperatorDefine.Or); foreach (Material material in materials) { WhereSqlClauseBuilder whereSqlClause = new WhereSqlClauseBuilder(); whereSqlClause.AppendItem("PARENT_ID", material.ID); whereSqlClause.AppendItem("WF_ACTIVITY_ID", material.WfActivityID); whereSqlClause.AppendItem("VERSION_TYPE", (int)MaterialVersionType.CopyVersion); orClause.Add(whereSqlClause); } string sql = string.Format("SELECT * FROM WF.MATERIAL WHERE {0}", orClause.AppendTenantCodeSqlClause(typeof(Material)).ToSqlString(TSqlBuilder.Instance)); using (DbContext dbi = DbHelper.GetDBContext(GetConnectionName())) { using (IDataReader dr = DbHelper.RunSqlReturnDR(sql, GetConnectionName())) { while (dr.Read()) { Material material = new Material(); ORMapping.DataReaderToObject(dr, material); copyVersionMaterials.Add(material); } } } DecorateMaterials(copyVersionMaterials); } return copyVersionMaterials; }
protected override Stream UnParse() { Stream s = base.UnParse(); BinaryWriter w = new BinaryWriter(s); if (version >= 0x00000003) { if (materialList == null) materialList = new MaterialList(OnResourceChanged); materialList.UnParse(s); } if (common == null) common = new Common(requestedApiVersion, OnResourceChanged); common.UnParse(s); w.Write(railing4xModelVPXYIndex); w.Write(railing1xModelVPXYIndex); w.Write(postModelVPXYIndex); base.UnParse(s); w.Flush(); return s; }
public static void DoFilesCopy(MaterialList materials, string sourceRootPathName, string destRootPathName) { string sourceRootPath = AppPathConfigSettings.GetConfig().Paths[sourceRootPathName].Dir; string destRootPath = AppPathConfigSettings.GetConfig().Paths[destRootPathName].Dir; ExceptionHelper.CheckStringIsNullOrEmpty(sourceRootPath, "sourceRootPath"); ExceptionHelper.CheckStringIsNullOrEmpty(destRootPath, "destRootPath"); foreach (Material material in materials) { FileInfo sourceFile = new FileInfo(sourceRootPath + material.RelativeFilePath); if (sourceFile.Exists == false) sourceFile = new FileInfo(sourceRootPath + @"Temp\" + Path.GetFileName(material.RelativeFilePath)); if (sourceFile.Exists) { FileInfo destFile = new FileInfo(Path.Combine(destRootPath, Path.GetFileName(material.RelativeFilePath))); DoFileCopy(sourceFile, destFile); } } }
public void InsertWithContent(MaterialList materials) { materials.NullCheck("materials"); StringBuilder strB = new StringBuilder(); ORMappingItemCollection mappings = ORMapping.GetMappingInfo(typeof(Material)); foreach (Material m in materials) { if (strB.Length > 0) strB.Append(TSqlBuilder.Instance.DBStatementSeperator); InsertSqlClauseBuilder builder = ORMapping.GetInsertSqlClauseBuilder(m, mappings, "CreateDateTime"); builder.AppendItem("CREATE_DATETIME", m.CreateDateTime); strB.AppendFormat("INSERT INTO {0}{1}", mappings.TableName, builder.ToSqlString(TSqlBuilder.Instance)); } if (strB.Length > 0) { using (TransactionScope scope = TransactionScopeFactory.Create()) { DbHelper.RunSql(strB.ToString(), GetConnectionName()); foreach (Material m in materials) { m.Content.RelativeID = m.ResourceID; MaterialFileOeprationInfo fileOp = new MaterialFileOeprationInfo(m, FileOperation.Update); DoFileOperation(MaterialAdapter.DefaultUploadPathName, fileOp, m.Content); } scope.Complete(); } } }
/// <summary> /// 保存文件的版本 /// </summary> /// <param name="materials">已经做好的文件版本信息</param> /// <param name="rootPathName">根文件夹路径配置名称</param> public void SaveOtherVersion(MaterialList materials, string rootPathName) { StringBuilder strB = new StringBuilder(256); foreach (Material material in materials) { if (strB.Length > 0) strB.Append(TSqlBuilder.Instance.DBStatementSeperator); strB.Append(ORMapping.GetInsertSql<Material>(material, TSqlBuilder.Instance)); } if (strB.Length != 0) { using (TransactionScope scope = TransactionScopeFactory.Create(TransactionScopeOption.Required)) { DbHelper.RunSql(strB.ToString(), GetConnectionName()); DoFilesCopy(materials, rootPathName, rootPathName, false); scope.Complete(); } } }
/// <summary> /// 获得指定操作的SQL语句 /// </summary> /// <param name="materials">material集合</param> /// <param name="fileOPList">文件操作集合</param> /// <param name="sqlDelegate">形成相应操作SQL语句的方法</param> /// <returns>形成的SQL语句</returns> private string GetMaterialsOperationSql(MaterialList materials, List<MaterialFileOeprationInfo> fileOPList, GetMaterialSqlOPDelegate sqlDelegate) { StringBuilder strB = new StringBuilder(256); for (int i = 0; i < materials.Count; i++) { if (strB.Length > 0) strB.Append(TSqlBuilder.Instance.DBStatementSeperator); strB.Append(sqlDelegate(materials[i], fileOPList)); } return strB.ToString(); }
protected override Stream UnParse() { Stream s = base.UnParse(); BinaryWriter w = new BinaryWriter(s); if (version >= 0x00000004) { w.Write((uint)foundation); if ((uint)foundation >= (uint)FoundationType.StiltedConcrete) { if (materials == null) materials = new MaterialList(OnResourceChanged); materials.UnParse(s); } } if (common == null) common = new Common(requestedApiVersion, OnResourceChanged); common.UnParse(s); if (version < 0x00000004) w.Write((uint)foundation); w.Write(wallCatalogIndex); w.Write(floorCatalogIndex); if (version >= 0x00000004) w.Write(vpxyIndex); w.Write(index3); w.Write(index4); w.Write(unknown5); w.Write(unknown6); w.Write((uint)shape); base.UnParse(s); w.Flush(); return s; }
protected override void LoadClientState(string clientState) { MultiMaterialList multiMaterialList = JSONSerializerExecute.Deserialize<MultiMaterialList>(clientState); if (multiMaterialList != null && multiMaterialList.DeltaMaterials != null && multiMaterialList.DeltaMaterials.Inserted != null) { for (int i = 0; i < multiMaterialList.DeltaMaterials.Inserted.Count; i++) { multiMaterialList.DeltaMaterials.Inserted[i].Creator = this.User; multiMaterialList.DeltaMaterials.Inserted[i].Department = this.Department; } } multiMaterialList.DeltaMaterials.GenerateTempPhysicalFilePath(); multiMaterialList.Materials.GenerateTempPhysicalFilePath(this.RootPathName); this.materials = multiMaterialList.Materials; this.deltaMaterials = multiMaterialList.DeltaMaterials; }
/// <summary> /// 获得指定ID的Material /// </summary> /// <param name="materialID">指定ID</param> /// <returns>MaterialList</returns> public MaterialList LoadMaterialByMaterialID(string materialID) { ExceptionHelper.CheckStringIsNullOrEmpty(materialID, "materialID"); MaterialList materials = new MaterialList(); WhereSqlClauseBuilder wBuilder = new WhereSqlClauseBuilder(); wBuilder.AppendItem("ID", materialID); wBuilder.AppendTenantCode(typeof(Material)); string sql = "SELECT * FROM WF.MATERIAL WHERE " + wBuilder.ToSqlString(TSqlBuilder.Instance); using (DbContext dbi = DbHelper.GetDBContext(GetConnectionName())) { using (IDataReader dr = DbHelper.RunSqlReturnDR(sql, GetConnectionName())) { while (dr.Read()) { Material material = new Material(); ORMapping.DataReaderToObject(dr, material); materials.Add(material); } } } DecorateMaterials(materials); return materials; }
/// <summary> /// 获得materialID对应的附件对象的所有版本和本身形成的树 /// 对应的存储过程GetMaterialVersions不存在 /// </summary> /// <param name="mainMaterialID">主版本ID</param> /// <returns>以主版本为跟节点各版本为子节点的树</returns> //[Obsolete("对应的存储过程GetMaterialVersions不存在")] public MaterialTreeNode LoadMaterialVersionsByMaterialID(string mainMaterialID) { ExceptionHelper.CheckStringIsNullOrEmpty(mainMaterialID, "mainMaterialID"); MaterialList materials = new MaterialList(); using (DbContext dbi = DbHelper.GetDBContext(GetConnectionName())) { Database db = DatabaseFactory.Create(dbi); using (SqlCommand dbc = new SqlCommand()) { SqlParameter sqlParameter = new SqlParameter(); sqlParameter.Value = mainMaterialID; sqlParameter.SqlDbType = SqlDbType.NVarChar; sqlParameter.Size = 36; sqlParameter.ParameterName = "@mainMaterialID"; sqlParameter.SourceColumn = "@mainMaterialID"; sqlParameter.Direction = ParameterDirection.InputOutput; dbc.CommandType = CommandType.StoredProcedure; dbc.CommandText = "GetMaterialVersions"; dbc.Parameters.Add(sqlParameter); using (IDataReader dr = db.ExecuteReader(dbc)) { while (dr.Read()) { Material material = new Material(); ORMapping.DataReaderToObject(dr, material); materials.Add(material); } } mainMaterialID = sqlParameter.Value.ToString(); } } return GenerateMaterialVersionTree(materials, mainMaterialID); }
protected override void LoadViewState(object savedState) { base.LoadViewState(savedState); this.materials = (MaterialList)ViewState["Materials"]; this.deltaMaterials = (DeltaMaterialList)ViewState["DeltaMaterials"]; }
public MaterialList LoadVersionMaterialsBySceneKey(string resourceID, string wfActivityName) { MaterialList copyVersionMaterials = new MaterialList(); WhereSqlClauseBuilder whereSqlClause = new WhereSqlClauseBuilder(); whereSqlClause.AppendItem("RESOURCE_ID", resourceID); whereSqlClause.AppendItem("VERSION_TYPE", Convert.ToInt16(MaterialVersionType.CopyVersion).ToString()); whereSqlClause.AppendItem("WF_ACTIVITY_NAME", wfActivityName); whereSqlClause.AppendTenantCode(typeof(Material)); string sql = string.Format("SELECT * FROM WF.MATERIAL WHERE {0}", whereSqlClause.ToSqlString(TSqlBuilder.Instance)); using (DbContext dbi = DbHelper.GetDBContext(GetConnectionName())) { using (IDataReader dr = DbHelper.RunSqlReturnDR(sql, GetConnectionName())) { while (dr.Read()) { Material material = new Material(); ORMapping.DataReaderToObject(dr, material); copyVersionMaterials.Add(material); } } } DecorateMaterials(copyVersionMaterials); return copyVersionMaterials; }
/// <summary> /// 复制文件 /// </summary> /// <param name="materials">文件集合</param> /// <param name="sourceRootPathName">源文件的主路径的配置节点名称</param> /// <param name="destRootPathName">目标文件的主路径的配置节点名称</param> /// <param name="copyFromTempFolder">是否从临时文件夹拷贝文件</param> private static void DoFilesCopy(MaterialList materials, string sourceRootPathName, string destRootPathName, bool copyFromTempFolder) { string sourceRootPath = AppPathConfigSettings.GetConfig().Paths[sourceRootPathName].Dir; string destRootPath = AppPathConfigSettings.GetConfig().Paths[destRootPathName].Dir; ExceptionHelper.CheckStringIsNullOrEmpty(sourceRootPath, "sourceRootPath"); ExceptionHelper.CheckStringIsNullOrEmpty(destRootPath, "destRootPath"); foreach (Material material in materials) { ExceptionHelper.TrueThrow<ArgumentNullException>(material.SourceMaterial == null, "material.SourceMaterial"); FileInfo sourceFile; if (copyFromTempFolder) sourceFile = new FileInfo(sourceRootPath + @"Temp\" + Path.GetFileName(material.SourceMaterial.RelativeFilePath)); else sourceFile = new FileInfo(sourceRootPath + material.SourceMaterial.RelativeFilePath); if (sourceFile.Exists) { FileInfo destFile = new FileInfo(destRootPath + material.RelativeFilePath); DoFileCopy(sourceFile, destFile); } } }
private static void DecorateMaterials(MaterialList materials) { MaterialFileOperationSettings.GetConfig().Operations.ForEach(op => op.DecorateMaterialListAfterLoad(materials)); }
public void ParseCommands(IEnumerable<RenderCommand> commandList, MaterialList materialList) { Clear(); Vector3 normal = new Vector3(1.0f, 0.0f, 0.0f); Vector2 texCoord = new Vector2(0.0f, 0.0f); Color4 color = new Color4(1.0f, 1.0f, 1.0f, 1.0f); Mesh mesh = null; foreach (var cmd in commandList) { if (cmd.Name == "MATERIAL" && cmd.Params.Count <= 1) { if (cmd.Params.Count == 0) mesh = this.GetMeshByMaterialID(string.Empty, true); else if (materialList.ContainsID(cmd.Params[0])) { mesh = this.GetMeshByMaterialID(cmd.Params[0], true); } } if (cmd.Name == "VERTEX3" && cmd.Params.Count == 3) { if (mesh != null) mesh.AddVertex(new MeshVertex() { Position = cmd.Params.ToVector3(), Normal = normal, Color = color, TexCoord = texCoord }); } if (cmd.Name == "NORMAL3" && cmd.Params.Count == 3) { normal = cmd.Params.ToVector3(); } if (cmd.Name == "COLOR4" && cmd.Params.Count == 4) { color = cmd.Params.ToColor4(); } if (cmd.Name == "TEXCOORD2" && cmd.Params.Count == 2) { texCoord = cmd.Params.ToVector2(); } if (cmd.Name == "PLANE" && cmd.Params.Count == 4) { if (mesh != null) mesh.AddPlane(cmd.Params[0].ToClearFloat(), cmd.Params[1].ToClearFloat(), cmd.Params[2].ToClearInt(), cmd.Params[3].ToClearInt(), color); } } }
protected override Stream UnParse() { Stream s = base.UnParse(); BinaryWriter w = new BinaryWriter(s); if (version >= 0x00000003) { if (materialList == null) materialList = new MaterialList(OnResourceChanged); materialList.UnParse(s); } if (common == null) common = new Common(requestedApiVersion, OnResourceChanged); common.UnParse(s); w.Write(steps4xModelVPXYIndex); w.Write(steps1xModelVPXYIndex); w.Write(wallCapModelVPXYIndex); w.Write(catalogRailing); w.Write(catalogWall); w.Write(catalogWallFloorPattern); w.Write(catalogFence); base.UnParse(s); w.Flush(); return s; }
/// <summary> ///由MaterialList形成以主版本为跟节点各版本为子节点的树 /// </summary> /// <param name="materials">包含主版本和其他版本的集合</param> /// <param name="mainMaterialID">重版本ID</param> /// <returns>形成的树</returns> private MaterialTreeNode GenerateMaterialVersionTree(MaterialList materials, string mainMaterialID) { MaterialTreeNode rootNode = null; MaterialTreeNodeCollection materialTreeNodeCollection = new MaterialTreeNodeCollection(); foreach (Material m in materials) { if (string.Compare(m.ID, mainMaterialID, true) == 0) rootNode = new MaterialTreeNode(m); else if (m.ParentID == mainMaterialID) { MaterialTreeNode node = GenerateMaterialVersionTree(materials, m.ID); if (node != null) materialTreeNodeCollection.Add(node); } } if (rootNode != null) { foreach (MaterialTreeNode node in materialTreeNodeCollection) { rootNode.Children.Add(node); } } return rootNode; }
/// <summary> /// 由资源ID查询 /// </summary> /// <param name="resourceIDs">资源ID</param> /// <returns>查询结果</returns> public MaterialList LoadMaterialsByResourceID(params string[] resourceIDs) { ExceptionHelper.TrueThrow<ArgumentNullException>(resourceIDs == null, "resourceIDs"); MaterialList result = new MaterialList(); if (resourceIDs.Length != 0) { InSqlClauseBuilder inBuilder = new InSqlClauseBuilder("RESOURCE_ID"); inBuilder.AppendItem(resourceIDs); OrderBySqlClauseBuilder orderClause = new OrderBySqlClauseBuilder(); orderClause.AppendItem("SORT_ID", FieldSortDirection.Ascending); string sql = string.Format("SELECT * FROM WF.MATERIAL WHERE {0} AND VERSION_TYPE = '{1}' ORDER BY {2}", inBuilder.AppendTenantCodeSqlClause(typeof(Material)).ToSqlString(TSqlBuilder.Instance), Convert.ToInt32(MaterialVersionType.Normal).ToString(), orderClause.ToSqlString(TSqlBuilder.Instance)); using (DbContext dbi = DbHelper.GetDBContext(GetConnectionName())) { using (IDataReader dr = DbHelper.RunSqlReturnDR(sql, GetConnectionName())) { while (dr.Read()) { Material material = new Material(); ORMapping.DataReaderToObject(dr, material); result.Add(material); } } } DecorateMaterials(result); } return result; }
/// <summary> /// 获得指定ID的副本 和 它之前的一切副本 按照时间正排序 /// </summary> /// <param name="id">id</param> /// <returns>MaterialList</returns> public MaterialList GetPreMaterialsCopyVersion(string id) { ExceptionHelper.CheckStringIsNullOrEmpty(id, "id"); WhereSqlClauseBuilder whereSqlClause = new WhereSqlClauseBuilder(); whereSqlClause.AppendItem("PARENT_ID", string.Format("(SELECT PARENT_ID FROM WF.MATERIAL WHERE ID = {0})", TSqlBuilder.Instance.CheckQuotationMark(id, true)), "=", true); whereSqlClause.AppendItem("MODIFY_TIME", string.Format("(SELECT MODIFY_TIME FROM WF.MATERIAL WHERE ID = {0})", TSqlBuilder.Instance.CheckQuotationMark(id, true)), "<=", true); whereSqlClause.AppendTenantCode(typeof(Material)); OrderBySqlClauseBuilder orderBySqlClause = new OrderBySqlClauseBuilder(); orderBySqlClause.AppendItem("MODIFY_TIME", FieldSortDirection.Ascending); string sql = string.Format(@"SELECT * FROM WF.MATERIAL WHERE {0} AND VERSION_TYPE = {1} ORDER BY {2}", whereSqlClause.ToSqlString(TSqlBuilder.Instance), Convert.ToInt16(MaterialVersionType.CopyVersion), orderBySqlClause.ToSqlString(TSqlBuilder.Instance)); MaterialList materials = new MaterialList(); using (DbContext dbi = DbHelper.GetDBContext(GetConnectionName())) { using (IDataReader dr = DbHelper.RunSqlReturnDR(sql, GetConnectionName())) { while (dr.Read()) { Material material = new Material(); ORMapping.DataReaderToObject(dr, material); materials.Add(material); } } } return materials; }