diff --git a/FieldVisualizer/Entities/ColorMaps/Factories/ColorMapFactory.cs b/FieldVisualizer/Entities/ColorMaps/Factories/ColorMapFactory.cs index b5c0010..e259a79 100644 --- a/FieldVisualizer/Entities/ColorMaps/Factories/ColorMapFactory.cs +++ b/FieldVisualizer/Entities/ColorMaps/Factories/ColorMapFactory.cs @@ -1,12 +1,18 @@ -using FieldVisualizer.InfraStructures.Enums; -using FieldVisualizer.InfraStructures.Exceptions; +using FieldVisualizer.InfraStructures.Exceptions; using FieldVisualizer.InfraStructures.Strings; -using System; using System.Collections.Generic; using System.Windows.Media; namespace FieldVisualizer.Entities.ColorMaps.Factories { + public enum ColorMapsTypes + { + LiraSpectrum = 0, //Lira + FullSpectrum = 1, //StaDiCon + RedToWhite = 2, + RedToBlue = 3, + BlueToWhite = 4, + } /// /// Factory for creating of different color maps /// @@ -18,13 +24,39 @@ namespace FieldVisualizer.Entities.ColorMaps.Factories if (mapsTypes == ColorMapsTypes.RedToWhite) { return GetRedToWhite(); } if (mapsTypes == ColorMapsTypes.RedToBlue) { return GetRedToBlue(); } if (mapsTypes == ColorMapsTypes.BlueToWhite) { return GetBlueToWhite(); } + if (mapsTypes == ColorMapsTypes.LiraSpectrum) { return GetLiraSpectrum(); } else { throw new FieldVisulizerException(ErrorStrings.ColorMapTypeIsUnknown); } } + private static IColorMap GetLiraSpectrum() + { + ColorMap colorMap = new() + { + Name = "LiraSpectrumColorMap" + }; + List colors = new(); + byte Alpha = 0xff; + colors.AddRange(new Color[]{ + Color.FromArgb(Alpha, 0, 0, 128) ,//Dark Blue + Color.FromArgb(Alpha, 0, 0, 255) ,//Blue + Color.FromArgb(Alpha, 0, 128, 255) ,//Blue + Color.FromArgb(Alpha, 0, 200, 255) ,//Blue + Color.FromArgb(Alpha, 60, 255, 255) ,//Light Blue + Color.FromArgb(Alpha, 255, 255, 128) ,//Light Yellow + Color.FromArgb(Alpha, 255, 255, 0) ,//Yellow + Color.FromArgb(Alpha, 255, 215, 0) ,//Gold + Color.FromArgb(Alpha, 255, 128, 0) ,//Orange Red + Color.FromArgb(Alpha, 255, 0, 0) ,//Red + }); + colorMap.Colors = colors; + return colorMap; + } private static IColorMap GetFullSpectrum() { - ColorMap colorMap = new ColorMap(); - colorMap.Name = "FullSpectrumColorMap"; + ColorMap colorMap = new() + { + Name = "FullSpectrumColorMap" + }; List colors = new List(); byte Alpha = 0xff; colors.AddRange(new Color[]{ @@ -43,7 +75,6 @@ namespace FieldVisualizer.Entities.ColorMaps.Factories colorMap.Colors = colors; return colorMap; } - private static IColorMap GetRedToWhite() { ColorMap colorMap = new ColorMap(); @@ -57,7 +88,6 @@ namespace FieldVisualizer.Entities.ColorMaps.Factories colorMap.Colors = colors; return colorMap; } - private static IColorMap GetRedToBlue() { ColorMap colorMap = new ColorMap(); @@ -71,7 +101,6 @@ namespace FieldVisualizer.Entities.ColorMaps.Factories colorMap.Colors = colors; return colorMap; } - private static IColorMap GetBlueToWhite() { ColorMap colorMap = new ColorMap(); diff --git a/FieldVisualizer/Entities/ColorMaps/IValueColorRange.cs b/FieldVisualizer/Entities/ColorMaps/IValueColorRange.cs index d4da2bc..395993c 100644 --- a/FieldVisualizer/Entities/ColorMaps/IValueColorRange.cs +++ b/FieldVisualizer/Entities/ColorMaps/IValueColorRange.cs @@ -1,19 +1,35 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Media; +using System.Windows.Media; namespace FieldVisualizer.Entities.ColorMaps { + /// + /// Colored range for building color legend + /// public interface IValueColorRange { + /// + /// Flag of activity + /// bool IsActive { get; set; } + /// + /// Minimum value of range + /// double BottomValue { get; set; } + /// + /// Average value of range + /// double AverageValue { get; set; } + /// + /// Maximum value of range + /// double TopValue {get;set;} + /// + /// Color correspondent to minimum value + /// Color BottomColor { get; set; } + /// + /// Color correspondent to maximum value + /// Color TopColor { get; set; } } } diff --git a/FieldVisualizer/Entities/ColorMaps/ValueColorRange.cs b/FieldVisualizer/Entities/ColorMaps/ValueColorRange.cs index 92eaff5..695cca3 100644 --- a/FieldVisualizer/Entities/ColorMaps/ValueColorRange.cs +++ b/FieldVisualizer/Entities/ColorMaps/ValueColorRange.cs @@ -1,19 +1,21 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Media; +using System.Windows.Media; namespace FieldVisualizer.Entities.ColorMaps { + /// public class ValueColorRange : IValueColorRange { + /// public bool IsActive { get; set; } + /// public double BottomValue { get; set; } + /// public double AverageValue { get; set; } + /// public double TopValue { get; set; } + /// public Color BottomColor { get; set; } + /// public Color TopColor { get; set; } } } diff --git a/FieldVisualizer/FieldVisualizer.csproj b/FieldVisualizer/FieldVisualizer.csproj index 0a3b622..dc9183b 100644 --- a/FieldVisualizer/FieldVisualizer.csproj +++ b/FieldVisualizer/FieldVisualizer.csproj @@ -8,4 +8,12 @@ 7.0 + + + + + + + + diff --git a/FieldVisualizer/InfraStructures/Enums/ColorMapsTypes.cs b/FieldVisualizer/InfraStructures/Enums/ColorMapsTypes.cs deleted file mode 100644 index 5be9d8c..0000000 --- a/FieldVisualizer/InfraStructures/Enums/ColorMapsTypes.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace FieldVisualizer.InfraStructures.Enums -{ - public enum ColorMapsTypes - { - FullSpectrum = 0, - RedToWhite = 1, - RedToBlue = 2, - BlueToWhite = 3 - } -} diff --git a/FieldVisualizer/Services/ColorServices/ColorOperations.cs b/FieldVisualizer/Services/ColorServices/ColorOperations.cs index dd4c7c7..9b3148d 100644 --- a/FieldVisualizer/Services/ColorServices/ColorOperations.cs +++ b/FieldVisualizer/Services/ColorServices/ColorOperations.cs @@ -1,5 +1,6 @@ using FieldVisualizer.Entities.ColorMaps; using FieldVisualizer.Entities.Values; +using StructureHelperCommon.Infrastructures.Exceptions; using System; using System.Collections.Generic; using System.Text; @@ -10,54 +11,123 @@ namespace FieldVisualizer.Services.ColorServices public static class ColorOperations { const byte Alpha = 0xff; - public static Color GetColorByValue(IValueRange range, IColorMap map, double val) - { - if (range.TopValue == range.BottomValue || map.Colors.Count == 0) { return map.Colors[0]; } - double minVal = range.BottomValue - 1e-15d*(Math.Abs(range.BottomValue)); - double maxVal = range.TopValue + 1e-15d * (Math.Abs(range.TopValue)); - if (val > maxVal || val < minVal) { return Colors.Gray; } - if (val == minVal) { return map.Colors[0]; } - if (val == maxVal) { return map.Colors[map.Colors.Count - 1]; } - - double valPerc = (val - minVal) / (maxVal - minVal);// value% - if (valPerc >= 1d) - { return map.Colors[map.Colors.Count - 1]; } - double colorPerc = 1d / (map.Colors.Count - 1d); // % of each block of color. the last is the "100% Color" - double blockOfColor = valPerc / colorPerc;// the integer part repersents how many block to skip - int blockIdx = (int)Math.Truncate(blockOfColor);// Idx of - double valPercResidual = valPerc - (blockIdx * colorPerc);//remove the part represented of block - double percOfColor = valPercResidual / colorPerc;// % of color of this block that will be filled - - Color cTarget = map.Colors[blockIdx]; - Color cNext = map.Colors[blockIdx + 1]; - - var deltaR = cNext.R - cTarget.R; - var deltaG = cNext.G - cTarget.G; - var deltaB = cNext.B - cTarget.B; - - var R = cTarget.R + (deltaR * percOfColor); - var G = cTarget.G + (deltaG * percOfColor); - var B = cTarget.B + (deltaB * percOfColor); - - Color c = map.Colors[0]; - c = Color.FromArgb(Alpha, (byte)R, (byte)G, (byte)B); - return c; - } + /// + /// + /// + /// + /// + /// + /// public static IEnumerable GetValueColorRanges(IValueRange fullRange, IEnumerable valueRanges, IColorMap colorMap) { var colorRanges = new List(); foreach (var valueRange in valueRanges) { - IValueColorRange valueColorRange = new ValueColorRange(); - valueColorRange.IsActive = true; - valueColorRange.BottomValue = valueRange.BottomValue; - valueColorRange.AverageValue = (valueRange.BottomValue + valueRange.TopValue) / 2; - valueColorRange.TopValue = valueRange.TopValue; + IValueColorRange valueColorRange = new ValueColorRange + { + IsActive = true, + BottomValue = valueRange.BottomValue, + AverageValue = (valueRange.BottomValue + valueRange.TopValue) / 2, + TopValue = valueRange.TopValue + }; valueColorRange.BottomColor = GetColorByValue(fullRange, colorMap, valueColorRange.BottomValue); valueColorRange.TopColor = GetColorByValue(fullRange, colorMap, valueColorRange.TopValue); colorRanges.Add(valueColorRange); } return colorRanges; } + /// + /// Returns color by value, range of value an color map + /// + /// Range of valoue + /// Color map + /// Value + /// + public static Color GetColorByValue(IValueRange range, IColorMap map, double val) + { + CheckColorMap(map); + if (range.TopValue == range.BottomValue || map.Colors.Count == 1) //if range width is zero or map contain just 1 color + { + return map.Colors[0]; + } + var valueRange = GetExtendedRange(range); + if (val >= valueRange.TopValue || val <= valueRange.BottomValue) + { + return GetColorValueIsOutOfRange(valueRange, map, val); + } + return GetColorValueIsInRange(valueRange, map, val); + } + + private static Color GetColorValueIsOutOfRange(IValueRange range, IColorMap map, double val) + { + if (val > range.TopValue || val < range.BottomValue) + { + return Colors.Gray; + } + if (val == range.BottomValue) + { + return map.Colors[0]; + } + if (val == range.TopValue) + { + return map.Colors[^1]; + } + throw new StructureHelperException(ErrorStrings.DataIsInCorrect); + } + + private static Color GetColorValueIsInRange(IValueRange range, IColorMap map, double val) + { + var deltaVal = val - range.BottomValue; + var rangeWidth = range.TopValue - range.BottomValue; + var valPerc = deltaVal / rangeWidth; // percent of value on the distance from minValue to maxValue + if (valPerc >= 1d) + { + return map.Colors[^1]; + } + double colorPerc = 1d / (map.Colors.Count - 1d); // % of each block of color. the last is the "100% Color" + double blockOfColor = valPerc / colorPerc;// the integer part repersents how many block to skip + int blockIdx = (int)Math.Truncate(blockOfColor);// Idx of + double valPercResidual = valPerc - (blockIdx * colorPerc);//remove the part represented of block + double percOfColor = valPercResidual / colorPerc;// % of color of this block that will be filled + + Color c = GetColorByColorMap(map, blockIdx, percOfColor); + return c; + } + + private static IValueRange GetExtendedRange(IValueRange range) + { + var minVal = range.BottomValue - 1e-15d * Math.Abs(range.BottomValue); + var maxVal = range.TopValue + 1e-15d * Math.Abs(range.TopValue); + return new ValueRange() + { + BottomValue = minVal, + TopValue = maxVal + }; + } + + private static Color GetColorByColorMap(IColorMap map, int blockIdx, double percOfColor) + { + Color cTarget = map.Colors[blockIdx]; + Color cNext = map.Colors[blockIdx + 1]; + + var deltaRed = cNext.R - cTarget.R; + var deltaGreen = cNext.G - cTarget.G; + var deltaBlue = cNext.B - cTarget.B; + + var Red = cTarget.R + (deltaRed * percOfColor); + var Green = cTarget.G + (deltaGreen * percOfColor); + var Blue = cTarget.B + (deltaBlue * percOfColor); + + Color c = Color.FromArgb(Alpha, (byte)Red, (byte)Green, (byte)Blue); + return c; + } + + private static void CheckColorMap(IColorMap map) + { + if (map.Colors.Count == 0) + { + throw new StructureHelperException(ErrorStrings.DataIsInCorrect + ": Color map is empty"); + } + } } } diff --git a/FieldVisualizer/ViewModels/FieldViewerViewModels/FieldViewerViewModel.cs b/FieldVisualizer/ViewModels/FieldViewerViewModels/FieldViewerViewModel.cs index 4f16ce6..540abf1 100644 --- a/FieldVisualizer/ViewModels/FieldViewerViewModels/FieldViewerViewModel.cs +++ b/FieldVisualizer/ViewModels/FieldViewerViewModels/FieldViewerViewModel.cs @@ -1,27 +1,22 @@ -using FieldVisualizer.Entities.ColorMaps.Factories; -using FieldVisualizer.Entities.ColorMaps; -using FieldVisualizer.Entities.Values.Primitives; +using FieldVisualizer.Entities.ColorMaps; +using FieldVisualizer.Entities.ColorMaps.Factories; using FieldVisualizer.Entities.Values; +using FieldVisualizer.Entities.Values.Primitives; using FieldVisualizer.Infrastructure.Commands; -using FieldVisualizer.InfraStructures.Enums; using FieldVisualizer.InfraStructures.Exceptions; using FieldVisualizer.InfraStructures.Strings; using FieldVisualizer.Services.ColorServices; using FieldVisualizer.Services.PrimitiveServices; using FieldVisualizer.Services.ValueRanges; +using FieldVisualizer.Windows.UserControls; using System; using System.Collections.Generic; +using System.ComponentModel; using System.Linq; -using System.Runtime.CompilerServices; -using System.Text; -using System.Threading.Tasks; using System.Windows.Controls; using System.Windows.Input; using System.Windows.Media; using System.Windows.Shapes; -using FieldVisualizer.Windows.UserControls; -using System.ComponentModel; -using System.Xml.Serialization; namespace FieldVisualizer.ViewModels.FieldViewerViewModels { @@ -177,7 +172,7 @@ namespace FieldVisualizer.ViewModels.FieldViewerViewModels public FieldViewerViewModel() { - _ColorMapType = ColorMapsTypes.FullSpectrum; + _ColorMapType = ColorMapsTypes.LiraSpectrum; RebuildCommand = new RelayCommand(o => ProcessPrimitives(), o => PrimitiveValidation()); ZoomInCommand = new RelayCommand(o => Zoom(1.2), o => PrimitiveValidation()); ZoomOutCommand = new RelayCommand(o => Zoom(0.8), o => PrimitiveValidation()); diff --git a/FieldVisualizer/Windows/UserControls/FieldViewer.xaml.cs b/FieldVisualizer/Windows/UserControls/FieldViewer.xaml.cs index 1166be2..96e6753 100644 --- a/FieldVisualizer/Windows/UserControls/FieldViewer.xaml.cs +++ b/FieldVisualizer/Windows/UserControls/FieldViewer.xaml.cs @@ -1,23 +1,7 @@ -using FieldVisualizer.Entities.ColorMaps; -using FieldVisualizer.Entities.ColorMaps.Factories; -using FieldVisualizer.Entities.Values; -using FieldVisualizer.Entities.Values.Primitives; -using FieldVisualizer.Infrastructure.Commands; -using FieldVisualizer.InfraStructures.Enums; -using FieldVisualizer.InfraStructures.Exceptions; -using FieldVisualizer.InfraStructures.Strings; -using FieldVisualizer.Services.ColorServices; -using FieldVisualizer.Services.PrimitiveServices; -using FieldVisualizer.Services.ValueRanges; +using FieldVisualizer.Entities.Values.Primitives; using FieldVisualizer.ViewModels.FieldViewerViewModels; -using System; -using System.Collections.Generic; -using System.Linq; using System.Windows; using System.Windows.Controls; -using System.Windows.Input; -using System.Windows.Media; -using System.Windows.Shapes; namespace FieldVisualizer.Windows.UserControls { @@ -39,17 +23,6 @@ namespace FieldVisualizer.Windows.UserControls viewModel.Legend = LegendViewer; } - //public FieldViewer(FieldViewerViewModel vm) - //{ - // InitializeComponent(); - // viewModel = vm; - // this.DataContext = viewModel; - // PrimitiveSet = viewModel.PrimitiveSet; - // viewModel.WorkPlaneBox = WorkPlaneBox; - // viewModel.WorkPlaneCanvas = WorkPlaneCanvas; - // viewModel.Legend = LegendViewer; - //} - public IPrimitiveSet PrimitiveSet { get => viewModel.PrimitiveSet; set { viewModel.PrimitiveSet = value; } } internal void Refresh() diff --git a/StructureHelper.sln b/StructureHelper.sln index 10d38cf..7bf9930 100644 --- a/StructureHelper.sln +++ b/StructureHelper.sln @@ -14,6 +14,9 @@ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StructureHelperLogics", "StructureHelperLogics\StructureHelperLogics.csproj", "{C9192AE7-EE6D-409C-A05C-3549D78CBB34}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FieldVisualizer", "FieldVisualizer\FieldVisualizer.csproj", "{6CAC5B83-81F3-47C2-92A1-0F94A58491C2}" + ProjectSection(ProjectDependencies) = postProject + {F1548BD2-7FE8-46C2-9BC4-9BA813A5C59A} = {F1548BD2-7FE8-46C2-9BC4-9BA813A5C59A} + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/StructureHelper/Libraries/LoaderCalculator.dll b/StructureHelper/Libraries/LoaderCalculator.dll index f2db256..7a3289f 100644 Binary files a/StructureHelper/Libraries/LoaderCalculator.dll and b/StructureHelper/Libraries/LoaderCalculator.dll differ diff --git a/StructureHelperCommon/Models/Materials/ConcreteLogicOptions.cs b/StructureHelperCommon/Models/Materials/ConcreteLogicOptions.cs index cb9af68..cae9321 100644 --- a/StructureHelperCommon/Models/Materials/ConcreteLogicOptions.cs +++ b/StructureHelperCommon/Models/Materials/ConcreteLogicOptions.cs @@ -13,6 +13,7 @@ namespace StructureHelperCommon.Models.Materials public List SafetyFactors { get; set; } public LimitStates LimitState { get; set; } public CalcTerms CalcTerm { get; set; } + public double Age { get; set; } public ILibMaterialEntity MaterialEntity { get; set; } public bool WorkInCompression { get; set; } public bool WorkInTension { get; set; } diff --git a/StructureHelperCommon/Models/Materials/ConcreteMaterialOptionLogic.cs b/StructureHelperCommon/Models/Materials/ConcreteMaterialOptionLogic.cs index c8e0b67..69016d0 100644 --- a/StructureHelperCommon/Models/Materials/ConcreteMaterialOptionLogic.cs +++ b/StructureHelperCommon/Models/Materials/ConcreteMaterialOptionLogic.cs @@ -38,6 +38,7 @@ namespace StructureHelperCommon.Models.Materials concreteOptions.ExternalFactor.Tensile = strength.Tensile; concreteOptions.WorkInTension = options.WorkInTension; concreteOptions.RelativeHumidity = options.RelativeHumidity; + concreteOptions.Age = options.Age; } } } diff --git a/StructureHelperLogics/Models/Materials/ConcreteLibMaterial.cs b/StructureHelperLogics/Models/Materials/ConcreteLibMaterial.cs index 352e9c6..c10926e 100644 --- a/StructureHelperLogics/Models/Materials/ConcreteLibMaterial.cs +++ b/StructureHelperLogics/Models/Materials/ConcreteLibMaterial.cs @@ -1,17 +1,17 @@ -using StructureHelperCommon.Infrastructures.Enums; +using LoaderCalculator.Data.Materials; +using StructureHelperCommon.Infrastructures.Enums; +using StructureHelperCommon.Infrastructures.Exceptions; using StructureHelperCommon.Infrastructures.Settings; +using StructureHelperCommon.Models.Materials; using StructureHelperCommon.Models.Materials.Libraries; using LMBuilders = LoaderCalculator.Data.Materials.MaterialBuilders; using LMLogic = LoaderCalculator.Data.Materials.MaterialBuilders.MaterialLogics; -using LM = LoaderCalculator.Data.Materials; -using LoaderCalculator.Data.Materials; -using StructureHelperCommon.Infrastructures.Exceptions; -using StructureHelperCommon.Models.Materials; namespace StructureHelperLogics.Models.Materials { public class ConcreteLibMaterial : IConcreteLibMaterial { + const double maxAge = 70d * 365 * 24 * 60 * 60; const MaterialTypes materialType = MaterialTypes.Concrete; private readonly List materialLogics; private LMBuilders.ConcreteOptions lmOptions; @@ -26,14 +26,18 @@ namespace StructureHelperLogics.Models.Materials public bool TensionForULS { get ; set; } /// public bool TensionForSLS { get; set; } - /// - /// Humidity of concrete - /// + /// public double RelativeHumidity { get; set; } /// public IMaterialLogic MaterialLogic { get; set; } /// + public double MinAge { get; set; } + /// + public double MaxAge { get; set; } + /// public List MaterialLogics => materialLogics; + + public ConcreteLibMaterial() { materialLogics = ProgramSetting.MaterialLogics.Where(x => x.MaterialType == materialType).ToList(); @@ -44,6 +48,8 @@ namespace StructureHelperLogics.Models.Materials TensionForULS = false; TensionForSLS = true; RelativeHumidity = 0.55d; + MinAge = 0d; + MaxAge = maxAge; } public object Clone() @@ -107,6 +113,7 @@ namespace StructureHelperLogics.Models.Materials { options.WorkInTension = false; } + options.Age = MinAge; } else if (limitState == LimitStates.SLS) { @@ -118,6 +125,14 @@ namespace StructureHelperLogics.Models.Materials { options.WorkInTension = false; } + if (calcTerm == CalcTerms.LongTerm) + { + options.Age = MaxAge; + } + else + { + options.Age = MinAge; + } } else { diff --git a/StructureHelperLogics/Models/Materials/IConcreteLibMaterial.cs b/StructureHelperLogics/Models/Materials/IConcreteLibMaterial.cs index 21a35c8..ee1fd73 100644 --- a/StructureHelperLogics/Models/Materials/IConcreteLibMaterial.cs +++ b/StructureHelperLogics/Models/Materials/IConcreteLibMaterial.cs @@ -11,6 +11,11 @@ namespace StructureHelperLogics.Models.Materials { bool TensionForULS { get; set; } bool TensionForSLS { get; set; } + /// + /// Humidity of concrete + /// double RelativeHumidity { get; set; } + double MinAge { get; set; } + double MaxAge { get; set; } } } diff --git a/StructureHelperTests/FieldsVisualizerTests/ColorOperationTests/GetColorByValueTest.cs b/StructureHelperTests/FieldsVisualizerTests/ColorOperationTests/GetColorByValueTest.cs index fa883b0..a3e5ef9 100644 --- a/StructureHelperTests/FieldsVisualizerTests/ColorOperationTests/GetColorByValueTest.cs +++ b/StructureHelperTests/FieldsVisualizerTests/ColorOperationTests/GetColorByValueTest.cs @@ -1,10 +1,8 @@ using FieldVisualizer.Entities.ColorMaps; using FieldVisualizer.Entities.ColorMaps.Factories; using FieldVisualizer.Entities.Values; -using FieldVisualizer.InfraStructures.Enums; using FieldVisualizer.Services.ColorServices; using NUnit.Framework; -using System.Windows.Media; namespace StructureHelperTests.FieldsVisualizerTests.ColorOperationTests { diff --git a/StructureHelperTests/FieldsVisualizerTests/WindowTests/ViewerTest.cs b/StructureHelperTests/FieldsVisualizerTests/WindowTests/ViewerTest.cs index 460ddb9..79002d6 100644 --- a/StructureHelperTests/FieldsVisualizerTests/WindowTests/ViewerTest.cs +++ b/StructureHelperTests/FieldsVisualizerTests/WindowTests/ViewerTest.cs @@ -1,14 +1,7 @@ -using FieldVisualizer.Entities.ColorMaps; -using FieldVisualizer.Entities.ColorMaps.Factories; -using FieldVisualizer.Entities.Values; -using FieldVisualizer.Entities.Values.Primitives; -using FieldVisualizer.InfraStructures.Enums; -using FieldVisualizer.Services.ColorServices; +using FieldVisualizer.Entities.Values.Primitives; using FieldVisualizer.Services.PrimitiveServices; using FieldVisualizer.Windows; using NUnit.Framework; -using System.Collections.Generic; -using System.Windows.Media; namespace StructureHelperTests.FieldsVisualizerTests.WindowTests {