/// <inheritdoc /> public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = 41; if (Label != null) { hashCode = hashCode * 59 + Label.GetHashCode(); } if (CMax != null) { hashCode = hashCode * 59 + CMax.GetHashCode(); } if (CMin != null) { hashCode = hashCode * 59 + CMin.GetHashCode(); } if (ColorScale != null) { hashCode = hashCode * 59 + ColorScale.GetHashCode(); } if (Name != null) { hashCode = hashCode * 59 + Name.GetHashCode(); } if (TemplateItemName != null) { hashCode = hashCode * 59 + TemplateItemName.GetHashCode(); } return(hashCode); } }
public void AnalysisImage() { this.Name = "Elements_Analysis_AnalysisImage"; // <example> var origin = new Vector3(0, 0); var size = 900; var shape = Polygon.Rectangle(900, 900); Func <Vector3, double> analyze = (v) => { return(Math.Min(v.DistanceTo(origin) / size * 2, 1)); }; var colorScale = new ColorScale(new List <Elements.Geometry.Color>() { Colors.Magenta, Colors.Yellow, Colors.Lime, Colors.Teal }); var analysisImage = new AnalysisImage(shape, 10, 10, colorScale, analyze); analysisImage.Analyze(); this.Model.AddElement(analysisImage); // </example> }
internal SLConditionalFormattingRule2010 ToSLConditionalFormattingRule2010() { var cfr2010 = new SLConditionalFormattingRule2010(); cfr2010.Type = Type; cfr2010.Priority = Priority; cfr2010.StopIfTrue = StopIfTrue; cfr2010.AboveAverage = AboveAverage; cfr2010.Percent = Percent; cfr2010.Bottom = Bottom; cfr2010.HasOperator = HasOperator; cfr2010.Operator = Operator; cfr2010.Text = Text; cfr2010.HasTimePeriod = HasTimePeriod; cfr2010.TimePeriod = TimePeriod; cfr2010.Rank = Rank; cfr2010.StandardDeviation = StdDev; cfr2010.EqualAverage = EqualAverage; foreach (var f in Formulas) { cfr2010.Formulas.Add(new DocumentFormat.OpenXml.Office.Excel.Formula(f.Text)); } cfr2010.HasColorScale = HasColorScale; cfr2010.ColorScale = ColorScale.ToSLColorScale2010(); cfr2010.HasDataBar = HasDataBar; cfr2010.DataBar = DataBar.ToDataBar2010(); cfr2010.HasIconSet = HasIconSet; cfr2010.IconSet = IconSet.ToSLIconSet2010(); cfr2010.HasDifferentialType = HasDifferentialFormat; cfr2010.DifferentialType = DifferentialFormat.Clone(); return(cfr2010); }
internal void FromColorScale(ColorScale cs) { this.SetAllNull(); SLConditionalFormatValueObject cfvo; SLColor clr; using (OpenXmlReader oxr = OpenXmlReader.Create(cs)) { while (oxr.Read()) { if (oxr.ElementType == typeof(ConditionalFormatValueObject)) { cfvo = new SLConditionalFormatValueObject(); cfvo.FromConditionalFormatValueObject((ConditionalFormatValueObject)oxr.LoadCurrentElement()); this.Cfvos.Add(cfvo); } else if (oxr.ElementType == typeof(Color)) { clr = new SLColor(new List<System.Drawing.Color>(), new List<System.Drawing.Color>()); clr.FromSpreadsheetColor((Color)oxr.LoadCurrentElement()); this.Colors.Add(clr); } } } }
public void WriteConditionalFormattingColorScale(ColorScale colorScale, out CT_ColorScale cfColorScale) { if (colorScale == null) { cfColorScale = null; return; } List <CT_Cfvo> ct_cfvo_list = new List <CT_Cfvo>(); foreach (var ct_cfvo in colorScale.CFVOList) { ct_cfvo_list.Add(new CT_Cfvo { val = ct_cfvo.Value, type = (ST_CfvoType)ct_cfvo.Type //1-1 }); } List <CT_Color1> ct_color1_list = new List <CT_Color1>(); foreach (var color in colorScale.Colors) { ct_color1_list.Add(ConvertColor(color)); } cfColorScale = new CT_ColorScale { cfvo = ct_cfvo_list.ToArray(), color = ct_color1_list.ToArray() }; }
public ConditionalFormattingRule Convert(IXLConditionalFormat cf, Int32 priority, XLWorkbook.SaveContext context) { var conditionalFormattingRule = XLCFBaseConverter.Convert(cf, priority); var colorScale = new ColorScale(); for (Int32 i = 1; i <= cf.ContentTypes.Count; i++) { var type = cf.ContentTypes[i].ToOpenXml(); var val = (cf.Values.ContainsKey(i) && cf.Values[i] != null) ? cf.Values[i].Value : null; var conditionalFormatValueObject = new ConditionalFormatValueObject { Type = type }; if (val != null) { conditionalFormatValueObject.Val = val; } colorScale.Append(conditionalFormatValueObject); } for (Int32 i = 1; i <= cf.Colors.Count; i++) { Color color = new Color { Rgb = cf.Colors[i].Color.ToHex() }; colorScale.Append(color); } conditionalFormattingRule.Append(colorScale); return(conditionalFormattingRule); }
internal void FromColorScale(ColorScale cs) { SetAllNull(); SLConditionalFormatValueObject cfvo; SLColor clr; using (var oxr = OpenXmlReader.Create(cs)) { while (oxr.Read()) { if (oxr.ElementType == typeof(ConditionalFormatValueObject)) { cfvo = new SLConditionalFormatValueObject(); cfvo.FromConditionalFormatValueObject((ConditionalFormatValueObject)oxr.LoadCurrentElement()); Cfvos.Add(cfvo); } else if (oxr.ElementType == typeof(Color)) { clr = new SLColor(new List <System.Drawing.Color>(), new List <System.Drawing.Color>()); clr.FromSpreadsheetColor((Color)oxr.LoadCurrentElement()); Colors.Add(clr); } } } }
public void GetInterpolatedColor() { var defaultColorScale = new ColorScale(new List <Color>() { Colors.Cyan, Colors.Purple, Colors.Orange }); Assert.Equal(defaultColorScale.Colors[1], defaultColorScale.GetColor(0.5)); Assert.Equal(defaultColorScale.Colors[0], defaultColorScale.GetColor(0.0)); Assert.Equal(defaultColorScale.Colors[2], defaultColorScale.GetColor(1.0)); var unevenColorScale = new ColorScale(new List <Color>() { Colors.Cyan, Colors.Purple, Colors.Orange }, new List <double>() { 0, 10, 15 }); Assert.Equal(unevenColorScale.Colors[0], unevenColorScale.GetColor(0.0)); Assert.Equal(unevenColorScale.Colors[1], unevenColorScale.GetColor(10.0)); Assert.Equal(unevenColorScale.Colors[2], unevenColorScale.GetColor(15.0)); Assert.Throws <ArgumentException>(() => unevenColorScale.GetColor(15.1)); }
public void SetColorCalculator(ColorScale cs, Double per) { CurrentColorScale = cs; OpenPercentage = per; UpdateColors(); GetColor(); }
public ConditionalFormattingRule Convert(IXLConditionalFormat cf, Int32 priority, XLWorkbook.SaveContext context) { var conditionalFormattingRule = new ConditionalFormattingRule { Type = cf.ConditionalFormatType.ToOpenXml(), Priority = priority }; var colorScale = new ColorScale(); for (Int32 i = 1; i <= cf.Values.Count; i++) { var conditionalFormatValueObject = new ConditionalFormatValueObject { Type = cf.ContentTypes[i].ToOpenXml(), Val = cf.Values[i].Value }; colorScale.Append(conditionalFormatValueObject); } for (Int32 i = 1; i <= cf.Values.Count; i++) { Color color = new Color { Rgb = cf.Colors[i].Color.ToHex() }; colorScale.Append(color); } conditionalFormattingRule.Append(colorScale); return(conditionalFormattingRule); }
/// <inheritdoc /> public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = 41; if (Color != null) { hashCode = hashCode * 59 + Color.GetHashCode(); } if (ColorArray != null) { hashCode = hashCode * 59 + ColorArray.GetHashCode(); } if (CAuto != null) { hashCode = hashCode * 59 + CAuto.GetHashCode(); } if (CMin != null) { hashCode = hashCode * 59 + CMin.GetHashCode(); } if (CMax != null) { hashCode = hashCode * 59 + CMax.GetHashCode(); } if (CMid != null) { hashCode = hashCode * 59 + CMid.GetHashCode(); } if (ColorScale != null) { hashCode = hashCode * 59 + ColorScale.GetHashCode(); } if (AutoColorScale != null) { hashCode = hashCode * 59 + AutoColorScale.GetHashCode(); } if (ReverseScale != null) { hashCode = hashCode * 59 + ReverseScale.GetHashCode(); } if (ShowScale != null) { hashCode = hashCode * 59 + ShowScale.GetHashCode(); } if (ColorBar != null) { hashCode = hashCode * 59 + ColorBar.GetHashCode(); } if (ColorAxis != null) { hashCode = hashCode * 59 + ColorAxis.GetHashCode(); } if (ColorSrc != null) { hashCode = hashCode * 59 + ColorSrc.GetHashCode(); } return(hashCode); } }
private void SLVC(object sender, RoutedPropertyChangedEventArgs <double> e) { tb_hue.Text = sl_hue.Value.ToString(); tb_dark.Text = sl_dark.Value.ToString(); cells[8] = tb_hue.Text; cells[9] = tb_dark.Text; wpc.Background = new SolidColorBrush(ColorScale.ColorFromHSL(this.Hue(), 1, (1 - this.Dark()) > 0.5 ? 1 - this.Dark() : 0.5)); }
private int[] xx, yy; // public GridElement(float[] x, float[] y, float[,] data, ColorScale colorScale) { _data = data; _x = x; _y = y; _modelRect = new Rect(x[0], y[0], x[x.Length - 1] - x[0], y[y.Length - 1] - y[0]); _colorScale = colorScale; }
public MapResourceViewModel(List <Region> regions, Dictionary <int, int> regionToResource, ResourceTypeEnum resourceType) { ColorScale.AddRange(Colors.ResourceColors[resourceType]); ResourceName = resourceType.ToHumanReadable(); Items = regions .Where(r => r.Polygon != null) .Select(region => new GeoResourceMapItem(region, regionToResource[region.ID])).ToList(); }
public static void AddConditionalFormatting(this Worksheet worksheet, int rowStart, int rowCount, int columnStart, int columnCount) { string range = ComputeRange(rowStart, rowCount, columnStart, columnCount); ConditionalFormatting conditionalFormatting1 = new ConditionalFormatting() { SequenceOfReferences = new ListValue <StringValue>() { InnerText = range } }; ConditionalFormattingRule conditionalFormattingRule1 = new ConditionalFormattingRule() { Type = ConditionalFormatValues.ColorScale, Priority = 1 }; ColorScale colorScale1 = new ColorScale(); ConditionalFormatValueObject conditionalFormatValueObject1 = new ConditionalFormatValueObject() { Type = ConditionalFormatValueObjectValues.Number, Val = "0" }; ConditionalFormatValueObject conditionalFormatValueObject2 = new ConditionalFormatValueObject() { Type = ConditionalFormatValueObjectValues.Percentile, Val = "50" }; ConditionalFormatValueObject conditionalFormatValueObject3 = new ConditionalFormatValueObject() { Type = ConditionalFormatValueObjectValues.Number, Val = "100" }; Color color1 = new Color() { Rgb = "FFF8696B" }; Color color2 = new Color() { Rgb = "FFFFEB84" }; Color color3 = new Color() { Rgb = "FF63BE7B" }; colorScale1.Append(conditionalFormatValueObject1); colorScale1.Append(conditionalFormatValueObject2); colorScale1.Append(conditionalFormatValueObject3); colorScale1.Append(color1); colorScale1.Append(color2); colorScale1.Append(color3); conditionalFormattingRule1.Append(colorScale1); conditionalFormatting1.Append(conditionalFormattingRule1); // If we don't have this after SheetData, it corrupts the file if we have added hyperlinks before worksheet.InsertAfter(conditionalFormatting1, worksheet.Descendants <SheetData>().First()); }
public void InterpolatesCorrectNumberOfColors() { var colorScale = new ColorScale(new List <Color>() { Colors.Cyan, Colors.Purple }, 9); Assert.Equal(9, colorScale.Colors.Count); }
static MagicalAbility() { Icon = MJPModEntry.SHelper.Content.Load <Texture2D>("assets/icons.png"); for (float h = 0; h <= 1; h += 0.01f) { if (h * 100 < ColorMap.Length) { ColorMap[(int)Math.Floor(h * 100)] = ColorScale.ColorFromHSL(h, .7f, .7f); } } }
public void GetColor() { var colorScale = new ColorScale(new List <Color>() { Colors.Cyan, Colors.Purple, Colors.Orange }, 10); Assert.Equal(colorScale.Colors[4], colorScale.GetColorForValue(0.5)); Assert.Equal(colorScale.Colors[0], colorScale.GetColorForValue(0.0)); Assert.Equal(colorScale.Colors[9], colorScale.GetColorForValue(1.0)); }
/// <inheritdoc /> public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = 41; if (Type != null) hashCode = hashCode * 59 + Type.GetHashCode(); if (Visible != null) hashCode = hashCode * 59 + Visible.GetHashCode(); if (Opacity != null) hashCode = hashCode * 59 + Opacity.GetHashCode(); if (Name != null) hashCode = hashCode * 59 + Name.GetHashCode(); if (UId != null) hashCode = hashCode * 59 + UId.GetHashCode(); if (Ids != null) hashCode = hashCode * 59 + Ids.GetHashCode(); if (CustomData != null) hashCode = hashCode * 59 + CustomData.GetHashCode(); if (Meta != null) hashCode = hashCode * 59 + Meta.GetHashCode(); if (MetaArray != null) hashCode = hashCode * 59 + MetaArray.GetHashCode(); if (HoverInfo != null) hashCode = hashCode * 59 + HoverInfo.GetHashCode(); if (HoverInfoArray != null) hashCode = hashCode * 59 + HoverInfoArray.GetHashCode(); if (HoverLabel != null) hashCode = hashCode * 59 + HoverLabel.GetHashCode(); if (Stream != null) hashCode = hashCode * 59 + Stream.GetHashCode(); if (Transforms != null) hashCode = hashCode * 59 + Transforms.GetHashCode(); if (UiRevision != null) hashCode = hashCode * 59 + UiRevision.GetHashCode(); if (Z != null) hashCode = hashCode * 59 + Z.GetHashCode(); if (X != null) hashCode = hashCode * 59 + X.GetHashCode(); if (X0 != null) hashCode = hashCode * 59 + X0.GetHashCode(); if (DX != null) hashCode = hashCode * 59 + DX.GetHashCode(); if (Y != null) hashCode = hashCode * 59 + Y.GetHashCode(); if (Y0 != null) hashCode = hashCode * 59 + Y0.GetHashCode(); if (Dy != null) hashCode = hashCode * 59 + Dy.GetHashCode(); if (Text != null) hashCode = hashCode * 59 + Text.GetHashCode(); if (Transpose != null) hashCode = hashCode * 59 + Transpose.GetHashCode(); if (XType != null) hashCode = hashCode * 59 + XType.GetHashCode(); if (YType != null) hashCode = hashCode * 59 + YType.GetHashCode(); if (ZAuto != null) hashCode = hashCode * 59 + ZAuto.GetHashCode(); if (ZMin != null) hashCode = hashCode * 59 + ZMin.GetHashCode(); if (ZMax != null) hashCode = hashCode * 59 + ZMax.GetHashCode(); if (ZMid != null) hashCode = hashCode * 59 + ZMid.GetHashCode(); if (ColorScale != null) hashCode = hashCode * 59 + ColorScale.GetHashCode(); if (AutoColorScale != null) hashCode = hashCode * 59 + AutoColorScale.GetHashCode(); if (ReverseScale != null) hashCode = hashCode * 59 + ReverseScale.GetHashCode(); if (ShowScale != null) hashCode = hashCode * 59 + ShowScale.GetHashCode(); if (ColorBar != null) hashCode = hashCode * 59 + ColorBar.GetHashCode(); if (ColorAxis != null) hashCode = hashCode * 59 + ColorAxis.GetHashCode(); if (XAxis != null) hashCode = hashCode * 59 + XAxis.GetHashCode(); if (YAxis != null) hashCode = hashCode * 59 + YAxis.GetHashCode(); if (IdsSrc != null) hashCode = hashCode * 59 + IdsSrc.GetHashCode(); if (CustomDataSrc != null) hashCode = hashCode * 59 + CustomDataSrc.GetHashCode(); if (MetaSrc != null) hashCode = hashCode * 59 + MetaSrc.GetHashCode(); if (HoverInfoSrc != null) hashCode = hashCode * 59 + HoverInfoSrc.GetHashCode(); if (ZSrc != null) hashCode = hashCode * 59 + ZSrc.GetHashCode(); if (XSrc != null) hashCode = hashCode * 59 + XSrc.GetHashCode(); if (YSrc != null) hashCode = hashCode * 59 + YSrc.GetHashCode(); if (TextSrc != null) hashCode = hashCode * 59 + TextSrc.GetHashCode(); return hashCode; } }
public static Tuple <Mesh, List <Line> > MakeFrame(Model model, List <double> displacements) { var points = new List <Box>(); var beams = new List <Line>(); var meshes = new List <Mesh>(); Mesh meshComb = new Mesh(); if (model is null | displacements is null) { return(new Tuple <Mesh, List <Line> >(meshComb, beams)); } foreach (var node in model.Nodes) { var size = 0.02; //1.0 / xSize; var bbox = new BoundingBox(-size, -size, -size, size, size, size); var box = new Box(bbox); box.Transform(Transform.Translation(node.Location.X, node.Location.Y, node.Location.Z)); var temp = new Mesh(); points.Add(box); } foreach (var bar in model.Elements) { var start = bar.Nodes[0].Location; var end = bar.Nodes[1].Location; var line = new Line(new Point3d(start.X, start.Y, start.Z), new Point3d(end.X, end.Y, end.Z)); beams.Add(line); } var maxdisp = displacements.Select(i => Math.Abs(i)).Max(); var scale = 0.33 / maxdisp; for (int i = 0; i < points.Count; i++) { var mesh = Mesh.CreateFromBox(points[i], 1, 1, 1); Color color = ColorScale.ColorFromHSL((0.33 - scale * Math.Abs(displacements[i])), 1.0, 0.5); Color[] colors = Enumerable.Repeat(color, 24).ToArray(); mesh.VertexColors.AppendColors(colors); meshes.Add(mesh.DuplicateMesh()); } meshComb.Append(meshes); return(new Tuple <Mesh, List <Line> >(meshComb, beams)); }
public ColoredLinesChartElement(List <SortedDictionary <float, float> > lines, ColorScale colorScale) { _lines = lines; _colorScale = colorScale; var x0 = lines.Min(x => x.First().Key); const int y0 = 0; var xN = lines.Max(x => x.Last().Key); var yN = lines.Count + 2; _modelRect = new Rect(x0, y0, xN - x0, yN - y0); }
/// <summary> /// The ACADIAHeatMap function. /// </summary> /// <param name="model">The input model.</param> /// <param name="input">The arguments to the execution.</param> /// <returns>A ACADIAHeatMapOutputs instance containing computed results and the model with any new elements.</returns> public static ACADIAHeatMapOutputs Execute(Dictionary <string, Model> inputModels, ACADIAHeatMapInputs input) { if (!inputModels.TryGetValue("Envelope", out var envelopeModel)) { throw new Exception("womp womp envelope"); } var env = envelopeModel.AllElementsOfType <Envelope>().ToArray()[0]; var profile = env.Profile.Perimeter; if (!inputModels.TryGetValue("BlobData", out var internalPtsModel)) { throw new Exception("womp womp model points"); } var pts = internalPtsModel.AllElementsOfType <ModelPoints>().Where(n => n.Name == "BlobCentroids"); var modelPts = pts.ToArray()[0]; var distances = "fake distances"; var output = new ACADIAHeatMapOutputs(distances); // The analyze function computes the distance // to the attractor. var analyze = new Func <Vector3, double>((v) => { var dist = ClosestPointDist(v, modelPts); distances += dist.ToString(); distances += ","; return(dist); }); // Construct a color scale from a small number // of colors. var colorScale = new ColorScale(new List <Color>() { Colors.Cyan, Colors.Purple, Colors.Orange }, 10); var analysisMesh = new AnalysisMesh(profile, input.CellSize, input.CellSize, colorScale, analyze); var zDelta = analysisMesh.Transform.ZAxis.Z - profile.Centroid().Z; analysisMesh.Analyze(); analysisMesh.Transform.Move(zDelta); output.Model.AddElement(analysisMesh); return(output); }
public static void SeedData() { var db = new DAO(); if (!db.ColorScale.Any()) { var Color = new ColorScale { MainColor = "rgb(185, 10, 10)", SecondColor = "rgb(185, 10, 10)", Name = "Kırmızı", TextColor = "#f3a5a5" }; db.Add(Color); Color = new ColorScale { MainColor = "linear-gradient(rgb(47, 124, 189), rgb(41, 117, 187))", SecondColor = "rgb(30, 161, 212)", Name = "Mavi", TextColor = "#a1d0fc" }; db.Add(Color); Color = new ColorScale { MainColor = "linear-gradient(rgb(238, 93, 0), rgb(237, 92, 2))", SecondColor = "rgb(249, 140, 2)", Name = "Turuncu", TextColor = "#fdda4c" }; db.Add(Color); Color = new ColorScale { MainColor = "linear-gradient(rgb(135, 178, 0), rgb(139, 182, 0))", SecondColor = "rgb(196, 209, 3)", Name = "Yeşil", TextColor = "#f3fa76" }; db.Add(Color); Color = new ColorScale { MainColor = "linear-gradient(rgb(107, 58, 168), rgb(106, 60, 164))", SecondColor = "rgb(137, 88, 200)", Name = "Mor", TextColor = "#d3afff" }; db.Add(Color); Color = new ColorScale { MainColor = "linear-gradient(rgb(107, 58, 168), rgb(106, 60, 164))", SecondColor = "rgb(137, 88, 200)", Name = "Mor", TextColor = "#B59DD4" }; db.Add(Color); Color = new ColorScale { MainColor = "rgb(12, 150, 177)", SecondColor = "rgb(11, 172, 203)", Name = "Turkuaz", TextColor = "#71e8ff" }; db.Add(Color); db.SaveChanges(); } if (!db.AboutUs.Any()) { var aboutUs = new AboutUs { Image = null, LeftContent = "Sol içerik", LeftTitle = "Sol başlık", RightTitle = "Sağ başlık", Mission = "Misyonumuz", Vision = "Vizyonumuz" }; db.Add(aboutUs); db.SaveChanges(); } }
public void GetBandedColor() { var numColors = 10; var colorScale = new ColorScale(new List <Color>() { Colors.Cyan, Colors.Purple, Colors.Orange }, numColors); Assert.Equal(10, colorScale.Colors.Count); for (var i = 0; i < numColors; i++) { Assert.Equal(colorScale.Colors[i], colorScale.GetColor((double)i / (numColors - 1))); } }
internal ColorScale ToColorScale() { ColorScale cs = new ColorScale(); foreach (SLConditionalFormatValueObject cfvo in this.Cfvos) { cs.Append(cfvo.ToConditionalFormatValueObject()); } foreach (SLColor clr in this.Colors) { cs.Append(clr.ToSpreadsheetColor()); } return cs; }
public void SingleValueAnalysisMesh() { this.Name = "SingleValueAnalysis"; var perimeter = Polygon.Ngon(5, 5); var colorScale = new ColorScale(new List <Color>() { Colors.Cyan, Colors.Orange }, 10); var analysisMesh = new AnalysisMesh(perimeter, 0.2, 0.2, colorScale, (Vector3 vector) => { return(1); }); analysisMesh.Analyze(); this.Model.AddElement(analysisMesh); }
public ColorScale GetPaletteScale() { var baseColorRGB = _baseColor.ActiveColor; var baseColorHSL = ColorUtils.RGBToHSL(baseColorRGB); var baseColorNormalized = new NormalizedRGB(baseColorRGB); var baseScale = new ColorScale(new Color[] { _scaleColorLight, baseColorRGB, _scaleColorDark, }); var trimmedScale = baseScale.Trim(_clipLight, 1.0 - _clipDark); var trimmedLight = new NormalizedRGB(trimmedScale.GetColor(0, _interpolationMode)); var trimmedDark = new NormalizedRGB(trimmedScale.GetColor(1, _interpolationMode)); var adjustedLight = trimmedLight; var adjustedDark = trimmedDark; if (baseColorHSL.S >= _saturationAdjustmentCutoff) { adjustedLight = ColorBlending.SaturateViaLCH(adjustedLight, _saturationLight); adjustedDark = ColorBlending.SaturateViaLCH(adjustedDark, _saturationDark); } if (_multiplyLight != 0) { var multiply = ColorBlending.Blend(baseColorNormalized, adjustedLight, ColorBlendMode.Multiply); adjustedLight = ColorUtils.InterpolateColor(adjustedLight, multiply, _multiplyLight, _interpolationMode); } if (_multiplyDark != 0) { var multiply = ColorBlending.Blend(baseColorNormalized, adjustedDark, ColorBlendMode.Multiply); adjustedDark = ColorUtils.InterpolateColor(adjustedDark, multiply, _multiplyDark, _interpolationMode); } if (_overlayLight != 0) { var overlay = ColorBlending.Blend(baseColorNormalized, adjustedLight, ColorBlendMode.Overlay); adjustedLight = ColorUtils.InterpolateColor(adjustedLight, overlay, _overlayLight, _interpolationMode); } if (_overlayDark != 0) { var overlay = ColorBlending.Blend(baseColorNormalized, adjustedDark, ColorBlendMode.Overlay); adjustedDark = ColorUtils.InterpolateColor(adjustedDark, overlay, _overlayDark, _interpolationMode); } var finalScale = new ColorScale(new Color[] { adjustedLight.Denormalize(), baseColorRGB, adjustedDark.Denormalize() }); return(finalScale); }
public void RayShadowTest() { this.Name = "RayShadowTest"; var outer = Polygon.Rectangle(3, 3); var inner = Polygon.Rectangle(1.5, 1.5); var mass = new Mass(new Profile(outer, inner.Reversed()), 2); mass.Transform.Move(new Vector3(0, 0, 1)); mass.Transform.Rotate(Vector3.ZAxis, 45); mass.UpdateRepresentations(); var light = new Vector3(4, 4, 10); var colorScale = new ColorScale(new List <Color> { Colors.White, Colors.Darkgray }); var analyze = new Func <Vector3, double>((v) => { var ray = new Ray(v, (light - v).Unitized()); if (ray.Intersects(mass, out List <Vector3> results)) { var hit = results[results.Count - 1]; if (!v.Equals(hit)) { var hitLine = new ModelCurve(new Line(light, hit), BuiltInMaterials.XAxis); this.Model.AddElement(hitLine); } return(1.0); } return(0.0); }); var sw = new Stopwatch(); sw.Start(); var analysisMesh = new AnalysisMesh(Polygon.Rectangle(10, 10), 0.5, 0.5, colorScale, analyze); sw.Stop(); this._output.WriteLine($"Analysis mesh constructed in {sw.Elapsed.TotalMilliseconds}ms."); sw.Reset(); sw.Start(); analysisMesh.Analyze(); sw.Stop(); this._output.WriteLine($"Shot {analysisMesh.TotalAnalysisLocations} rays in {sw.Elapsed.TotalMilliseconds}ms."); this.Model.AddElements(new Element[] { mass, analysisMesh }); }
internal ColorScale ToColorScale() { var cs = new ColorScale(); foreach (var cfvo in Cfvos) { cs.Append(cfvo.ToConditionalFormatValueObject()); } foreach (var clr in Colors) { cs.Append(clr.ToSpreadsheetColor()); } return(cs); }
public ConditionalFormattingRule Convert(IXLConditionalFormat cf, Int32 priority, XLWorkbook.SaveContext context) { var conditionalFormattingRule = XLCFBaseConverter.Convert(cf, priority); var colorScale = new ColorScale(); for (Int32 i = 1; i <= cf.ContentTypes.Count; i++) { var type = cf.ContentTypes[i].ToOpenXml(); var val = cf.Values.TryGetValue(i, out XLFormula formula) ? formula?.Value : null; var conditionalFormatValueObject = new ConditionalFormatValueObject { Type = type }; if (val != null) { conditionalFormatValueObject.Val = val; } colorScale.Append(conditionalFormatValueObject); } for (Int32 i = 1; i <= cf.Colors.Count; i++) { var xlColor = cf.Colors[i]; var color = new Color(); switch (xlColor.ColorType) { case XLColorType.Color: color.Rgb = xlColor.Color.ToHex(); break; case XLColorType.Theme: color.Theme = System.Convert.ToUInt32(xlColor.ThemeColor); break; case XLColorType.Indexed: color.Indexed = System.Convert.ToUInt32(xlColor.Indexed); break; } colorScale.Append(color); } conditionalFormattingRule.Append(colorScale); return(conditionalFormattingRule); }
public override void WriteColorMap(int height, string filePath) { var width = 2 * height; if (ColorNoiseMap == null) { GenerateColorMap(height); } var bitmap = new DirectBitmap(width, height); var tempMean = Random.Uniform("life temperature mean", FreezingPoint, BoilingPoint); var tempVariance = Random.Uniform("life temperature variance", 20, 70); var sinPower = Random.Uniform("sin power", 0, 2); for (var x = 0; x < width; x++) { for (var y = 0; y < height; y++) { var value = ColorNoiseMap.GetValue(x, y); var col = OceanColor; if (!HasOcean || HeightNoiseMap.GetValue(x, y) > OceanLevel) { col = ColorScale.Color(value); } if (HasLife && HeightNoiseMap.GetValue(x, y) > OceanLevel) { var delta = Abs(TemperatureNoiseMap.GetValue(x, y) - tempMean) / tempVariance; if (delta < 0) { delta = 0; } if (delta > 1) { delta = 1; } delta *= (float)Pow(Sin(PI * y / height), sinPower); col = Interpolate(col, LifeColorScale.Color(value), delta); } if (HasAtmosphere && TemperatureNoiseMap.GetValue(x, y) < FreezingPoint * IceFactor) { col = IceColor; } bitmap.SetPixel(x, y, col); } } bitmap.Save(filePath); }
internal SLConditionalFormattingRule Clone() { var cfr = new SLConditionalFormattingRule(); cfr.Formulas = new List <Formula>(); for (var i = 0; i < Formulas.Count; ++i) { cfr.Formulas.Add((Formula)Formulas[i].CloneNode(true)); } cfr.HasColorScale = HasColorScale; cfr.ColorScale = ColorScale.Clone(); cfr.HasDataBar = HasDataBar; cfr.DataBar = DataBar.Clone(); cfr.HasIconSet = HasIconSet; cfr.IconSet = IconSet.Clone(); cfr.Extensions = new List <ConditionalFormattingRuleExtension>(); for (var i = 0; i < Extensions.Count; ++i) { cfr.Extensions.Add((ConditionalFormattingRuleExtension)Extensions[i].CloneNode(true)); } cfr.Type = Type; cfr.FormatId = FormatId; cfr.HasDifferentialFormat = HasDifferentialFormat; cfr.DifferentialFormat = DifferentialFormat.Clone(); cfr.Priority = Priority; cfr.StopIfTrue = StopIfTrue; cfr.AboveAverage = AboveAverage; cfr.Percent = Percent; cfr.Bottom = Bottom; cfr.HasOperator = HasOperator; cfr.Operator = Operator; cfr.Text = Text; cfr.HasTimePeriod = HasTimePeriod; cfr.TimePeriod = TimePeriod; cfr.Rank = Rank; cfr.StdDev = StdDev; cfr.EqualAverage = EqualAverage; return(cfr); }
public ConditionalFormattingRule Convert(IXLConditionalFormat cf, Int32 priority, XLWorkbook.SaveContext context) { var conditionalFormattingRule = new ConditionalFormattingRule { Type = cf.ConditionalFormatType.ToOpenXml(), Priority = priority }; var colorScale = new ColorScale(); for(Int32 i = 1; i <= cf.Values.Count; i++) { var conditionalFormatValueObject = new ConditionalFormatValueObject { Type = cf.ContentTypes[i].ToOpenXml(), Val = cf.Values[i].Value }; colorScale.Append(conditionalFormatValueObject); } for (Int32 i = 1; i <= cf.Values.Count; i++) { Color color = new Color { Rgb = cf.Colors[i].Color.ToHex() }; colorScale.Append(color); } conditionalFormattingRule.Append(colorScale); return conditionalFormattingRule; }
protected override void ImplementUserControl() { IntensityGraph intensityGraph = new IntensityGraph(); ColorScale colorScale = new ColorScale(); IntensityPlot intensityPlot = new IntensityPlot(); IntensityXAxis intensityXAxis = new IntensityXAxis(); IntensityYAxis intensityYAxis = new IntensityYAxis(); intensityGraph.Border = NationalInstruments.UI.Border.ThinFrame3D; intensityGraph.ColorScales.AddRange(new NationalInstruments.UI.ColorScale[] { colorScale}); intensityGraph.Location = new System.Drawing.Point(164, 50); intensityGraph.Name = "intensityGraph"; intensityGraph.Plots.AddRange(new NationalInstruments.UI.IntensityPlot[] { intensityPlot}); intensityGraph.Size = new System.Drawing.Size(272, 168); intensityGraph.TabIndex = 0; intensityGraph.XAxes.AddRange(new NationalInstruments.UI.IntensityXAxis[] { intensityXAxis}); intensityGraph.YAxes.AddRange(new NationalInstruments.UI.IntensityYAxis[] { intensityYAxis}); intensityPlot.ColorScale = colorScale; intensityPlot.XAxis = intensityXAxis; intensityPlot.YAxis = intensityYAxis; controlHandle = intensityGraph; InitControl(controlHandle); initContextMenuStrip(); }