public void And_property(string id, string propertyName, double value)
        {
            var m        = materials[id];
            var ambient  = m.Ambient;
            var diffuse  = m.Diffuse;
            var specular = m.Specular;

            switch (propertyName)
            {
            case "ambient":
                ambient = value;
                break;

            case "diffuse":
                diffuse = value;
                break;

            case "specular":
                specular = value;
                break;

            default:
                throw new Exception($"Unknown property {propertyName}");
            }

            materials[id] = new PatternMaterial(
                ((PatternMaterial)m).Pattern,
                ambient, diffuse, specular, m.Shininess, m.Reflective, m.RefractiveIndex, m.Transparency);
        }
        public void Color_stripe_pattern(string id, double r1, double g1, double b1, double r2, double g2, double b2)
        {
            var m = materials[id];

            materials[id] = new PatternMaterial(
                new StripePattern(new Tuple4(r1, g1, b1, TupleFlavour.Vector), new Tuple4(r2, g2, b2, TupleFlavour.Vector)),
                m.Ambient, m.Diffuse, m.Specular, m.Shininess, m.Reflective, m.RefractiveIndex, m.Transparency);
        }
        public void Then_pattern_at_shape(string id, string pId, string oId, double x, double y, double z)
        {
            TestSphere f  = figure[oId];
            IMaterial  m  = f.Material;
            IMaterial  pm = new PatternMaterial(patterns[pId], m.Ambient, m.Diffuse, m.Specular, m.Shininess, m.Reflective, m.RefractiveIndex, m.Transparency);

            colors[id] = pm.GetColor(f.TransformToObjectPoint(new Tuple4(x, y, z, TupleFlavour.Point)));
        }
Beispiel #4
0
        /// <summary>
        /// convert part material view madel to domain
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public PatternMaterial ConvertToDomain(PatternMaterialViewModel model)
        {
            PatternMaterial material = new PatternMaterial();

            material.PatternMaterialId = model.PatternMaterialId;
            material.Description       = model.PatternDescription;
            material.IsActive          = model.IsActive;

            return(material);
        }
Beispiel #5
0
        /// <summary>
        /// convert pattern material to view model
        /// </summary>
        /// <param name="material"></param>
        /// <returns></returns>
        public PatternMaterialViewModel ConvertToView(PatternMaterial material)
        {
            PatternMaterialViewModel model = new PatternMaterialViewModel();

            model.PatternMaterialId  = material.PatternMaterialId;
            model.PatternDescription = (!string.IsNullOrEmpty(material.Description)) ? material.Description : "N/A";
            model.IsActive           = material.IsActive;

            return(model);
        }
Beispiel #6
0
        /// <summary>
        /// get pattern material
        /// </summary>
        /// <param name="patternMaterialId"></param>
        /// <returns></returns>
        public PatternMaterial GetPatternMaterial(Guid patternMaterialId)
        {
            var patternMaterial = new PatternMaterial();

            try
            {
                patternMaterial = _db.PatternMaterial.FirstOrDefault(x => x.PatternMaterialId == patternMaterialId);
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("Error getting pattern material: {0} ", ex.ToString());
            }

            return(patternMaterial);
        }
Beispiel #7
0
        /// <summary>
        /// save parttern material
        /// </summary>
        /// <param name="newPatternMaterial"></param>
        /// <returns></returns>
        public OperationResult SavePatternMaterial(PatternMaterial newPatternMaterial)
        {
            var operationResult = new OperationResult();

            try
            {
                var existingPatternMaterial = _db.PatternMaterial.FirstOrDefault(x => x.Description.ToLower() == newPatternMaterial.Description.ToLower());

                if (existingPatternMaterial == null)
                {
                    logger.Debug("PatternMaterial is being created...");

                    newPatternMaterial.IsActive = true;

                    _db.PatternMaterial.Add(newPatternMaterial);

                    _db.SaveChanges();

                    operationResult.Success = true;
                    operationResult.Message = "Success";
                }
                else
                {
                    operationResult.Success = false;
                    operationResult.Message = "Duplicate Entry";
                }
            }
            catch (Exception ex)
            {
                operationResult.Success = false;
                operationResult.Message = "Error";
                logger.ErrorFormat("Error saving new pattern material: {0} ", ex.ToString());
            }

            return(operationResult);
        }
Beispiel #8
0
        /// <summary>
        /// update parttern material
        /// </summary>
        /// <param name="patternMaterial"></param>
        /// <returns></returns>
        public OperationResult UpdatePatternMaterial(PatternMaterial patternMaterial)
        {
            var operationResult = new OperationResult();

            var existingPatternMaterial = GetPatternMaterial(patternMaterial.PatternMaterialId);

            if (existingPatternMaterial != null)
            {
                logger.Debug("PatternMaterial is being updated.");

                try
                {
                    _db.PatternMaterial.Attach(existingPatternMaterial);

                    _db.Entry(existingPatternMaterial).CurrentValues.SetValues(patternMaterial);

                    _db.SaveChanges();

                    operationResult.Success = true;
                    operationResult.Message = "Success";
                }
                catch (Exception ex)
                {
                    operationResult.Success = false;
                    operationResult.Message = "Error";
                    logger.ErrorFormat("Error while updating pattern material: { 0} ", ex.ToString());
                }
            }
            else
            {
                operationResult.Success = false;
                operationResult.Message = "Unable to find selected pattern material.";
            }

            return(operationResult);
        }