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))); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }