Beispiel #1
0
            public static MaterialCollection GetMaterialsByPackageID_CompanyID_TypeID(Int64 PackageID, Int64 CompanyID, int TypeID)
            {
                MaterialCollection c = new MaterialCollection();

                SqlCommand             cmd    = new SqlCommand();
                SqlParameterCollection Params = cmd.Parameters;

                Params.Add(new SqlParameter("PackageID", PackageID));
                Params.Add(new SqlParameter("CompanyID", CompanyID));
                Params.Add(new SqlParameter("TypeID", TypeID));

                DataTable dt = Execute.FillDataTable(StoredProcedures.GetMaterialsByPackageID_CompanyID_TypeID, Params);

                if (dt.Rows.Count > 0)
                {
                    foreach (DataRow row in dt.Rows)
                    {
                        Material o = new Material();
                        LoadMaterialByReader(row, o);
                        c.Add(o);
                    }
                }

                return(c);
            }
Beispiel #2
0
        private void Init()
        {
            _oldSlice   = Slice;
            _collection = new MaterialCollection();
            var go = new GameObject("map");

            _cloud = new ChunkCloud(_collection, go.transform);
            _cloud.StartBatch();
            for (var x = -300; x < 300; x++)
            {
                for (var y = 0; y < 3; y++)
                {
                    for (var z = -300; z < 300; z++)
                    {
                        _cloud.SetVoxel(TransparentMaterial, new Vector3Int(x, y, z));
                    }
                }
            }
            for (var x = -1; x < 1; x++)
            {
                for (var y = -1; y < 1; y++)
                {
                    for (var z = -1; z < 1; z++)
                    {
                        _cloud.SetVoxel(OpaqueMaterial, new Vector3Int(x, y, z));
                    }
                }
            }
            _cloud.FinishBatch();
        }
        public MaterialCollection Read(Stream stream)
        {
            if (stream == default)
            {
                throw new ArgumentNullException(nameof(stream));
            }

            var reader     = new LineReader();
            var collection = new MaterialCollection();
            var state      = new MaterialReaderState(collection, reader);

            foreach (var values in reader.Read(stream))
            {
                if (values.Length == 0)
                {
                    continue;
                }

                if (!Enum.TryParse <MaterialToken>(values[0], true, out var token))
                {
                    throw new InvalidDataException(string.Format("Unable to parse token <{0}>. Line: {1}.", token, state.LineNumber));
                }

                if (!Executors.TryGetValue(token, out var executor))
                {
                    throw new InvalidOperationException(string.Format("Unable to find an executor for token <{0}>.", token));
                }

                executor.Invoke(state, token, values);
            }

            collection.Header = state.Header;

            return(collection);
        }
Beispiel #4
0
        private static void ApplyMeshData(MaterialCollection materials, MeshData meshdata, ref Mesh mesh, MeshRenderer meshRenderer, MeshCollider meshCollider, MeshFilter meshFilter)
        {
            if (mesh == null)
            {
                mesh = new Mesh();
            }
            mesh.Clear();
            mesh.vertices     = meshdata.Vertices;
            mesh.normals      = meshdata.Normals;
            mesh.subMeshCount = meshdata.Triangles.Keys.Count;
            mesh.uv           = meshdata.Uvs;
            mesh.colors       = new Color[meshdata.Vertices.Length];

            var keyArray = meshdata.Triangles.Keys.ToArray();
            var myMats   = new Material[meshdata.Triangles.Keys.Count];

            for (var i = 0; i < meshdata.Triangles.Keys.Count; i++)
            {
                mesh.SetTriangles(meshdata.Triangles[keyArray[i]], i);
                myMats[i] = materials.GetById((ushort)keyArray[i]).Material;
            }
            meshRenderer.sharedMaterials = myMats;
            meshFilter.sharedMesh        = mesh;
            meshCollider.sharedMesh      = null;
            meshCollider.sharedMesh      = mesh;
            //SetHighlightMaterial(_highlightColor);
        }
Beispiel #5
0
    public override void OnInspectorGUI()
    {
        var setter = (BuildingMaterialSetter)target;

        setter.materialStore = Resources.Load <MaterialCollection>("materialDefinitions");
        var targetStore = setter.materialStore;

        if (materialList == null || originalCollection == null || targetStore != originalCollection)
        {
            originalCollection = targetStore;
            materialList       = new string[targetStore.textures.Count];
            for (int i = 0; i < targetStore.textures.Count; i++)
            {
                materialList[i] = targetStore.textures[i].tag.ToString();
            }
            Debug.Log("Updated " + materialList.Length + " material names");
        }
        EditorGUI.BeginChangeCheck();
        setter.materialChosen = EditorGUILayout.Popup(setter.materialChosen, materialList);
        setter.materialChosen = EditorGUILayout.IntSlider(setter.materialChosen, 0, targetStore.textures.Count - 1);
        if (EditorGUI.EndChangeCheck())
        {
            EditorUtility.SetDirty(setter);
            setter.SetMaterials();
        }
    }
Beispiel #6
0
        public MeshMaterials(Mesh mesh, MaterialCollection materials = new MaterialCollection())
        {
            Mesh      = mesh;
            Materials = materials;

            subMeshes = null;
        }
Beispiel #7
0
    private void FillDDls()
    {
        ddlMaterial.Items.Clear();
        MaterialCollection materials = Material.Utils.GetMaterialsByCaseID(caseID);

        ddlMaterial.Items.Add(new ListItem(Resources.DeliveryPlanTexts.Choose, "-1"));
        foreach (var item in materials)
        {
            ddlMaterial.Items.Add(new ListItem(item.Title, item.ID.ToString()));
        }

        PartCollection parts = Part.Utils.GetPartsByCaseID(caseID);

        ddlPart.Items.Add(new ListItem(Resources.DeliveryPlanTexts.Choose, "-1"));
        foreach (var item in parts)
        {
            ddlPart.Items.Add(new ListItem(item.Title, item.ID.ToString()));
        }

        ActivityCollection activities = Activity.Utils.GetActitvitiesByCaseID(caseID);

        ddlActivity.Items.Add(new ListItem(Resources.DeliveryPlanTexts.Choose, "-1"));
        foreach (var item in activities)
        {
            Contract contract = new Contract(item.ContractID);
            ListItem listItem = new ListItem(item.Title, item.ID.ToString());
            listItem.Attributes["data-optiongroup"] = contract.Title;
            ddlActivity.Items.Add(listItem);
        }
    }
Beispiel #8
0
        /// <summary>
        /// Metoda smaže materiál určený uživatelem.
        /// </summary>
        /// <param name="materialMarked"></param>
        public void DestroyMaterial(Material materialMarked)
        {
            // Materiál vybraný ke smazání
            Material selectMaterial = null;
            bool     materialExist  = false;

            foreach (Material material in MaterialCollection)
            {
                //Sníží množství materiálu o 1, když je ho dostatek na skladě.
                if ((materialMarked == material) && (material.MaterialQuantity > 1))
                {
                    material.MaterialQuantity--;
                    DeletedMaterialCollection.Add(new Material(material.MaterialNames, material.MaterialPrice, 1));//////
                    materialMarked.MaterialChange("MaterialQuantity");
                    materialExist = true;
                }
                // Pokud jde o poslední kus materiálu, je označen pro smazání z kolekce celý jeho typ.
                else if ((materialMarked.MaterialNames.ToString() == material.MaterialNames.ToString()) && (material.MaterialQuantity == 1))
                {
                    selectMaterial = material;
                    DeletedMaterialCollection.Add(new Material(material.MaterialNames, material.MaterialPrice, 1));//////
                }
            }
            // Odstranění materiálu z kolekce.
            if ((selectMaterial != null) && (materialExist == false))
            {
                MaterialCollection.Remove(selectMaterial);
            }
            // Uložení změn
            Save();
        }
Beispiel #9
0
 public ChunkCloud(MaterialCollection materialCollection, Transform map)
 {
     MaterialCollection = materialCollection;
     _map          = map;
     _chunks       = new Grid3D <Chunk>();
     _chunksMeshes = new Grid3D <MeshBuilder>();
 }
Beispiel #10
0
 internal ObjectSerializationAdaptor()
 {
     Metadata.Type = "Object";
     Geometries    = new GeometryCollection();
     Materials     = new MaterialCollection();
     Images        = new ImageCollection();
     Textures      = new TextureCollection();
 }
Beispiel #11
0
 /// <summary>
 /// This function generates a material preview for the materials, or updates
 /// the existing ones.
 /// </summary>
 /// <param name="materials">The materials to generate.</param>
 public virtual void GeneratePreview(MaterialCollection materials)
 {
     //	Generate each preview.
     foreach (Material material in materials)
     {
         GeneratePreview(material);
     }
 }
Beispiel #12
0
        public Form()
        {
            items = new ItemCollection();
            materials = new MaterialCollection();
            blocks = new BlockCollection(items, materials);

            InitializeComponent();
        }
Beispiel #13
0
    private void CreateMaterialsList()
    {
        using (StringWriter sw = new StringWriter())
        {
            using (HtmlTextWriter writer = new HtmlTextWriter(sw))
            {
                MaterialCollection materials = Material.Utils.GetMaterialsByPartID(partID);

                writer.AddAttribute("class", "listview");
                writer.AddAttribute("cellspacing", "0");
                writer.AddAttribute("cellpadding", "0");
                writer.RenderBeginTag(HtmlTextWriterTag.Table);
                writer.RenderBeginTag(HtmlTextWriterTag.Tr);

                writer.AddAttribute("class", "title");
                writer.RenderBeginTag(HtmlTextWriterTag.Th);
                writer.Write(Resources.MaterialTexts.ListHeaderTitle);
                writer.RenderEndTag(); // Th

                writer.AddAttribute("class", "unit");
                writer.RenderBeginTag(HtmlTextWriterTag.Th);
                writer.Write(Resources.MaterialTexts.ListHeaderUnit);
                writer.RenderEndTag(); // Th

                writer.AddAttribute("class", "delete");
                writer.RenderBeginTag(HtmlTextWriterTag.Th);
                writer.Write(Resources.Global.ListHeaderButtons);
                writer.RenderEndTag(); // Th

                writer.RenderEndTag(); // Tr
                foreach (var material in materials)
                {
                    writer.RenderBeginTag(HtmlTextWriterTag.Tr);
                    writer.AddAttribute("class", "title");
                    writer.RenderBeginTag(HtmlTextWriterTag.Td);
                    writer.Write(material.Title);
                    writer.RenderEndTag(); // Td
                    writer.AddAttribute("class", "unit");
                    writer.RenderBeginTag(HtmlTextWriterTag.Td);
                    MaterialUnit unit = new MaterialUnit(material.UnitID);
                    writer.Write(unit.Title);
                    writer.RenderEndTag(); // Td
                    writer.AddAttribute("class", "delete");
                    writer.RenderBeginTag(HtmlTextWriterTag.Td);
                    writer.AddAttribute("class", "fa fa fa-times remove");
                    writer.AddAttribute("onclick", "return removeMaterial(" + material.ID + ", '" + material.Title + "');");
                    writer.RenderBeginTag(HtmlTextWriterTag.I);
                    writer.RenderEndTag(); // I
                    writer.RenderEndTag(); // Td
                    writer.RenderEndTag(); //Tr
                }

                writer.RenderEndTag(); // Table

                litMaterialList.Text = sw.ToString();
            }
        }
    }
    public override void OnInspectorGUI()
    {
        var setter      = (BuildingMaterialSetter)target;
        var targetStore = Resources.Load <MaterialCollection>("materialDefinitions");

        if (materialList == null || originalCollection == null || targetStore != originalCollection)
        {
            originalCollection = targetStore;
            PopulateDropdowns(setter);
        }
        EditorGUI.BeginChangeCheck();
        EditorGUILayout.BeginHorizontal();
        var backupType = selectedType;

        selectedType = EditorGUILayout.Popup(selectedType, typeListLabels);
        if (selectedType != backupType)
        {
            type = typeList[selectedType];
            PopulateDropdowns(setter);
        }
        if (tag1Labels.Length > 1)
        {
            var backupTag1 = selectedTag1;
            selectedTag1 = EditorGUILayout.Popup(selectedTag1, tag1Labels);
            if (selectedTag1 != backupTag1)
            {
                tag1 = tag1List[selectedTag1];
                PopulateDropdowns(setter);
            }
        }
        if (tag2Labels.Length > 1)
        {
            var backupTag2 = selectedTag2;
            selectedTag2 = EditorGUILayout.Popup(selectedTag2, tag2Labels);
            if (selectedTag2 != backupTag2)
            {
                tag2 = tag2List[selectedTag2];
                PopulateDropdowns(setter);
            }
        }
        var backupMaterial = selectedMaterial;

        EditorGUILayout.EndHorizontal();
        if (validTextures.Count > 0)
        {
            selectedMaterial = EditorGUILayout.Popup(selectedMaterial, materialList);
            if (selectedMaterial != backupMaterial)
            {
                var mat = validTextures[selectedMaterial];
                setter.currentMaterialTag = mat.tag;
                setter.SetMaterials(mat);
            }
        }
        if (EditorGUI.EndChangeCheck())
        {
            EditorUtility.SetDirty(setter);
        }
    }
Beispiel #15
0
    private void PopulateMatDefinitions()
    {
        MaterialCollection matCollection = Resources.Load <MaterialCollection>("materialDefinitions");

        foreach (var item in matCollection.textures)
        {
            MaterialTextures[item.tag.ToString()] = item;
        }
    }
Beispiel #16
0
        public void ChunkChangedSidesAreCorrect()
        {
            var matcol = new MaterialCollection();
            var chunk  = new Chunk();

            var changed = chunk.SetVoxelData(new Vector3Int(0, 0, 0), 1, matcol);

            CollectionAssert.AreEquivalent(new List <ChunkSide> {
                ChunkSide.Nx, ChunkSide.Nz, ChunkSide.Ny
            }, changed);

            changed = chunk.SetVoxelData(new Vector3Int(ChunkDataSettings.XSize - 1, ChunkDataSettings.YSize - 1, ChunkDataSettings.ZSize - 1), 1, matcol);
            CollectionAssert.AreEquivalent(new List <ChunkSide> {
                ChunkSide.Px, ChunkSide.Py, ChunkSide.Pz
            }, changed);

            changed = chunk.SetVoxelData(new Vector3Int(ChunkDataSettings.XSize - 1, ChunkDataSettings.YSize - 1, ChunkDataSettings.ZSize - 1), 1, matcol);
            CollectionAssert.AreEquivalent(changed, new List <ChunkSide>());

            changed = chunk.SetVoxelData(new Vector3Int(ChunkDataSettings.XSize - 1, ChunkDataSettings.YSize - 2, ChunkDataSettings.ZSize - 2), 1, matcol);
            CollectionAssert.AreEquivalent(new List <ChunkSide> {
                ChunkSide.Px
            }, changed);

            changed = chunk.SetVoxelData(new Vector3Int(ChunkDataSettings.XSize - 1, ChunkDataSettings.YSize - 2, ChunkDataSettings.ZSize - 2), 0, matcol);
            CollectionAssert.AreEquivalent(new List <ChunkSide> {
                ChunkSide.Px
            }, changed);

            changed = chunk.SetVoxelData(new Vector3Int(ChunkDataSettings.XSize - 1, ChunkDataSettings.YSize - 2, ChunkDataSettings.ZSize - 2), 0, matcol);
            CollectionAssert.AreEquivalent(new List <ChunkSide>(), changed);

            changed = chunk.SetVoxelData(new Vector3Int(ChunkDataSettings.XSize - 1, ChunkDataSettings.YSize - 2, ChunkDataSettings.ZSize - 2), 1, matcol);
            CollectionAssert.AreEquivalent(new List <ChunkSide> {
                ChunkSide.Px
            }, changed);
            changed = chunk.SetVoxelData(new Vector3Int(ChunkDataSettings.XSize - 2, ChunkDataSettings.YSize - 1, ChunkDataSettings.ZSize - 2), 1, matcol);
            CollectionAssert.AreEquivalent(new List <ChunkSide> {
                ChunkSide.Py
            }, changed);
            changed = chunk.SetVoxelData(new Vector3Int(ChunkDataSettings.XSize - 2, ChunkDataSettings.YSize - 2, ChunkDataSettings.ZSize - 1), 1, matcol);
            CollectionAssert.AreEquivalent(new List <ChunkSide> {
                ChunkSide.Pz
            }, changed);
            changed = chunk.SetVoxelData(new Vector3Int(0, 1, 1), 1, matcol);
            CollectionAssert.AreEquivalent(new List <ChunkSide> {
                ChunkSide.Nx
            }, changed);
            changed = chunk.SetVoxelData(new Vector3Int(1, 0, 1), 1, matcol);
            CollectionAssert.AreEquivalent(new List <ChunkSide> {
                ChunkSide.Ny
            }, changed);
            changed = chunk.SetVoxelData(new Vector3Int(1, 1, 0), 1, matcol);
            CollectionAssert.AreEquivalent(new List <ChunkSide> {
                ChunkSide.Nz
            }, changed);
        }
Beispiel #17
0
        public World(MaterialCollection materialCollection)
        {
            _materialCollection = materialCollection;
            var go = new GameObject("map");

            SolidChunks        = new ChunkCloud(materialCollection, go.transform);
            FluidChunks        = new FluidChunkCloud(materialCollection, go.transform);
            FluidUpdater       = go.AddComponent <FluidUpdaterCloud>();
            FluidUpdater.World = this;
        }
Beispiel #18
0
 private void FillDdlMaterials()
 {
     MaterialCollection materials = Material.Utils.GetMaterialsByCaseID(caseID);
     ddlMaterial.Items.Add(new ListItem(Resources.WaiveTexts.ChooseMaterial, "0"));
     foreach (var item in materials)
     {
         ListItem listItem = new ListItem(item.Title, item.ID.ToString());
         ddlMaterial.Items.Add(listItem);
     }
 }
Beispiel #19
0
    private void FillDdlMaterials()
    {
        MaterialCollection materials = Material.Utils.GetMaterialsByCaseID(caseID);

        ddlMaterials.Items.Clear();
        foreach (var item in materials)
        {
            ddlMaterials.Items.Add(new ListItem(item.Title, item.ID.ToString()));
        }
    }
Beispiel #20
0
        /// <summary>
        /// Metoda uloží kolekce v modelu do XAML souborů (MaterialCollection, EmployeeCollection, ContractCollection, OverviewModel, TransactionCollection, DeletedMaterialCollection, DeletedEmployeeCollection, DeletedContractCollection).
        /// </summary>
        public void Save()
        {
            // K ukládání je využit serializér
            XmlSerializer materialSerializer = new XmlSerializer(MaterialCollection.GetType());

            using (StreamWriter sw = new StreamWriter(materialTrack))
            {
                materialSerializer.Serialize(sw, MaterialCollection);
            }
            XmlSerializer employeeSerializer = new XmlSerializer(EmployeeCollection.GetType());

            using (StreamWriter sw = new StreamWriter(employeeTrack))
            {
                employeeSerializer.Serialize(sw, EmployeeCollection);
            }
            XmlSerializer contractSerializer = new XmlSerializer(ContractCollection.GetType());

            using (StreamWriter sw = new StreamWriter(contractTrack))
            {
                contractSerializer.Serialize(sw, ContractCollection);
            }

            XmlSerializer overviwSerializer = new XmlSerializer(OverviewModel.GetType());

            using (StreamWriter sw = new StreamWriter(overviewTrack))
            {
                overviwSerializer.Serialize(sw, OverviewModel);
            }
            XmlSerializer accountSerializer = new XmlSerializer(TransactionCollection.GetType());

            using (StreamWriter sw = new StreamWriter(transactionTrack))
            {
                accountSerializer.Serialize(sw, TransactionCollection);
            }

            XmlSerializer deletedMaterialSerializer = new XmlSerializer(DeletedMaterialCollection.GetType());

            using (StreamWriter sw = new StreamWriter(deletedMaterialTrack))
            {
                deletedMaterialSerializer.Serialize(sw, DeletedMaterialCollection);
            }
            XmlSerializer deletedEmployeeSerializer = new XmlSerializer(DeletedEmployeeCollection.GetType());

            using (StreamWriter sw = new StreamWriter(deletedEmployeeTrack))
            {
                deletedEmployeeSerializer.Serialize(sw, DeletedEmployeeCollection);
            }
            XmlSerializer deletedContractSerializer = new XmlSerializer(DeletedContractCollection.GetType());

            using (StreamWriter sw = new StreamWriter(deletedContractTrack))
            {
                deletedContractSerializer.Serialize(sw, DeletedContractCollection);
            }
            FillingAllCollections();
        }
Beispiel #21
0
        internal void SelectMaterial(Collection <TActionComponent> gadgets)
        {
            gadgets.ThrowNull();

            MaterialCollection.Clear();

            foreach (var component in gadgets)
            {
                MaterialCollection.Add(component.Models.GadgetMaterialModel);
            }
        }
        public MaterialCollection GetMaterials()
        {
            MaterialCollection materials = new MaterialCollection();

            IDataReader dr = new MaterialDataAdapter().GetMaterials();
            while (dr.Read())
            {
                materials.Add(PopulateReader(dr));
            }
            return materials;
        }
Beispiel #23
0
        /// <summary>
        /// Metoda seřadí materiáli v MaterialCollection podle abecedy.
        /// </summary>
        public void RearrangeMaterialCollection()
        {
            // Do helpMaterialCollection jsou uloženy seřazené materiály z MaterialCollection
            IEnumerable <Material> helpMaterialCollection = MaterialCollection.OrderBy(a => a.MaterialNames.ToString());

            MaterialCollection = new ObservableCollection <Material>();
            foreach (Material material in helpMaterialCollection)
            {
                MaterialCollection.Add(new Material(material.MaterialNames, material.MaterialPrice, material.MaterialQuantity));
            }
        }
Beispiel #24
0
    protected void ddlCompany_SelectedIndexChanged(object sender, EventArgs e)
    {
        ddlMaterial.Items.Clear();
        MaterialCollection materials = Material.Utils.GetDDLMaterialsByCompanyID(Convert.ToInt32(ddlCompany.SelectedValue), caseID);

        ddlMaterial.Items.Add(new ListItem(Resources.DeliveryPlanTexts.Choose, "-1"));
        foreach (var item in materials)
        {
            ddlMaterial.Items.Add(new ListItem(item.Title, item.ID.ToString()));
        }
    }
Beispiel #25
0
        public void ChunkCanReadAndWriteVoxelsAtBorder()
        {
            var matcol = new MaterialCollection();
            var chunk  = new Chunk();
            var pos    = new Vector3Int(0, 13, 2);

            chunk.SetVoxelData(pos, 1, matcol);
            var data = chunk.GetVoxelData(pos);

            Assert.AreEqual(1, data);
        }
 internal ObjectSerializationAdaptor()
 {
     Metadata.Type    = "Object";
     Elements         = new ElementCollection();
     Geometries       = new GeometryCollection();
     BufferGeometries = new BufferGeometryCollection();
     Materials        = new MaterialCollection();
     Fonts            = new FontDataCollection();
     Images           = new ImageCollection();
     Textures         = new TextureCollection();
 }
Beispiel #27
0
 bool MaterialCollectionFound(MaterialCollection collection)
 {
     //foreach (MaterialCollectionHolder holder in materialCollectionHolders)
     //{
     //    if (holder.collection == collection)
     //    {
     //        holder.MaterialCollectionObject.SetActive(true);
     //        return true;
     //    }
     //}
     return(false);
 }
        /// <overloads>
        /// <summary>
        /// Initializes a new instance of the <see cref="MaterialInstanceCollection"/> class.
        /// </summary>
        /// </overloads>
        ///
        /// <summary>
        /// Initializes a new instance of the <see cref="MaterialInstanceCollection"/> class.
        /// </summary>
        /// <param name="materials">The materials to be instantiated.</param>
        internal MaterialInstanceCollection(MaterialCollection materials)
        {
            InitializePassHashes(materials);

            int numberOfMaterials = materials.Count;

            _array = new MaterialInstance[numberOfMaterials];
            for (int i = 0; i < numberOfMaterials; i++)
            {
                _array[i] = new MaterialInstance(materials[i]);
            }
        }
        protected virtual void Header(MaterialCollection material, StreamWriter writer)
        {
            if (string.IsNullOrEmpty(material.Header))
            {
                return;
            }

            foreach (var line in material.Header.Split('\n'))
            {
                writer.WriteLine("#{0}", line);
            }
        }
Beispiel #30
0
        public GeometryModel3D FlatLabel(double SizeX, double SizeZ, double SizeY, Point3D Center, Color Background, String LabelText, Color TextColor, double Opacity)
        {
            double             cx       = Center.X;
            double             cy       = Center.Y;
            double             cz       = Center.Z;
            MaterialCollection material = new MaterialCollection();

            material.Add(new DiffuseMaterial(new SolidColorBrush(Background)
            {
                Opacity = Opacity
            }));
            material.Add(new DiffuseMaterial(new VisualBrush(new TextBlock()
            {
                Text = LabelText, Background = new SolidColorBrush(Background), Foreground = new SolidColorBrush(TextColor), Opacity = Opacity, HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Bottom
            })
            {
                Stretch = Stretch.Uniform, Opacity = Opacity
            }));
            GeometryModel3D label = new GeometryModel3D()
            {
                Geometry = new MeshGeometry3D()
                {
                    Positions = new Point3DCollection()
                    {
                        new Point3D(cx - SizeX / 2, cy, cz + SizeZ / 2),
                        new Point3D(cx + SizeX / 2, cy, cz + SizeZ / 2),
                        new Point3D(cx - SizeX / 2, cy - SizeY, cz + SizeZ / 2),
                        new Point3D(cx + SizeX / 2, cy - SizeY, cz + SizeZ / 2),

                        new Point3D(cx - SizeX / 2, cy, cz - SizeZ / 2),
                        new Point3D(cx + SizeX / 2, cy, cz - SizeZ / 2),
                        new Point3D(cx - SizeX / 2, cy, cz + SizeZ / 2),
                        new Point3D(cx + SizeX / 2, cy, cz + SizeZ / 2),
                    },
                    TriangleIndices = new Int32Collection()
                    {
                        0, 2, 1, 1, 2, 3,                   //square
                        4, 6, 5, 5, 6, 7                    //square
                    },
                    TextureCoordinates = new PointCollection()
                    {
                        new Point(0, 0), new Point(1, 0), new Point(0, 1), new Point(1, 1) //square
                    }
                },
                Material = new MaterialGroup()
                {
                    Children = material
                }
            };

            return(label);
        }
Beispiel #31
0
        public static List <MaterialGoo> Convert(MaterialCollection collection)
        {
            var result = new List <MaterialGoo>();

            if (collection != null)
            {
                foreach (Material obj in collection)
                {
                    result.Add(new MaterialGoo(obj));
                }
            }
            return(result);
        }
Beispiel #32
0
        /// <summary>
        /// Initialize static reprocssing information.
        /// </summary>
        internal static void Load()
        {
            ReprocessingDatafile datafile = Util.DeserializeDatafile<ReprocessingDatafile>(
                DatafileConstants.ReprocessingDatafile, Util.LoadXslt(Properties.Resources.DatafilesXSLT));

            foreach (SerializableItemMaterials item in datafile.Items)
            {
                MaterialCollection materials = new MaterialCollection(item.Materials.Select(itemMaterial => new Material(itemMaterial)).ToList());
                s_itemMaterialsByID[item.ID] = materials;
            }

            GlobalDatafileCollection.OnDatafileLoaded();
        }
Beispiel #33
0
        public void CheckReadAndWritePerformance()
        {
            var matcol     = new MaterialCollection();
            var count      = 1000000;
            var chunkcount = count / 100;

            Debug.Log("Creating Random Positions");
            var randPos = new Vector3Int[count];

            for (var i = 0; i < count; i++)
            {
                randPos[i] = new Vector3Int(Random.Range(0, 16), Random.Range(0, 16), Random.Range(0, 16));
            }

            Debug.Log("Creating Chunks");
            var chunks = new Chunk[chunkcount];

            for (var i = 0; i < chunkcount; i++)
            {
                chunks[i] = new Chunk();
            }

            Debug.Log("Writing");
            var val   = 0;
            var index = 0;
            var watch = new Stopwatch();

            watch.Start();
            foreach (var pos in randPos)
            {
                chunks[index++ % chunkcount].SetVoxelData(pos, (ushort)(++val % 2), matcol);
            }
            var timeW = watch.ElapsedMilliseconds;

            Debug.Log(timeW);
            watch.Reset();

            Debug.Log("Reading");
            index = 0;
            var data = new ushort[count];

            watch.Reset();
            watch.Start();
            foreach (var pos in randPos)
            {
                data[index] = chunks[index++ % chunkcount].GetVoxelData(pos);
            }
            var timeR = watch.ElapsedMilliseconds;

            Debug.Log(timeR);
        }
Beispiel #34
0
    //--------------------------------------------------------------
    #region Creation & Cleanup
    //--------------------------------------------------------------

    /// <summary>
    /// Initializes a new instance of the <see cref="Mesh"/> class.
    /// </summary>
    public Mesh()
    {
      BoundingShape = Shape.Infinite;
      Materials = new MaterialCollection();
      Submeshes = new SubmeshCollection(this);
    }
Beispiel #35
0
 //***************************************************************************
 // Class Constructors
 // 
 private Graphics3D()
 {
     this._materials = new MaterialCollection();
     this._textures = new TextureCollection();
     this._meshes = new MeshObjectCollection();
     this._vertBuffers = new VertexBufferCollection();
     this._presentParams = new PresentParameters();
     this._presentParams.Windowed = true;
     this._presentParams.SwapEffect = SwapEffect.Discard;
     this._presentParams.AutoDepthStencilFormat = DepthFormat.D16;
     this._presentParams.EnableAutoDepthStencil = true;
     this._fov = ((float)System.Math.PI / 4.0f);
     this._clipNear = 1.0f;
     this._clipFar = 50.0f;
     this._aspect = 1.333f;
     this._minVS = new Version(0, 0);
     this._minPS = new Version(0, 0);
     this._camera = new Direct3DCamera();
 }
Beispiel #36
0
 /// <summary>
 /// This function generates a material preview for the materials, or updates
 /// the existing ones.
 /// </summary>
 /// <param name="materials">The materials to generate.</param>
 public virtual void GeneratePreview(MaterialCollection materials)
 {
     //	Generate each preview.
     foreach(Material material in materials)
         GeneratePreview(material);
 }