From ac40c10bb71bc87fd8ae819428c7291f6e24c1a3 Mon Sep 17 00:00:00 2001 From: NickAppLab Date: Tue, 19 Jul 2022 00:01:22 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BD=D0=B3,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BC=D0=BE=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=D0=B5=D0=B9=20=D0=BF=D1=80=D0=B8=D0=BC=D0=B8=D1=82=D0=B8=D0=B2?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Infrastructure/Enums/PrimitiveType.cs | 2 +- .../UI/DataContexts/{Ellipse.cs => Point.cs} | 11 ++--- .../UI/DataContexts/PrimitiveBase.cs | 40 +++++++++---------- Infrastructure/UI/DataContexts/Rectangle.cs | 11 +---- .../UI/DataTemplates/EllipseTemplate.xaml.cs | 3 +- .../DataTemplates/RectangleTemplate.xaml.cs | 3 +- .../UI/UserControls/PrimitivePopup.xaml | 2 +- .../MaterialCatalogView.xaml.cs | 4 +- StructureHelper.csproj | 2 +- StructureHelperLogics/Data/Shapes/Center.cs | 6 +-- StructureHelperLogics/Data/Shapes/ICenter.cs | 6 +-- .../Data/Shapes/ICenterShape.cs | 6 +-- StructureHelperLogics/Data/Shapes/ICircle.cs | 6 +-- StructureHelperLogics/Data/Shapes/IPoint.cs | 6 +-- .../Data/Shapes/IRectangle.cs | 6 +-- StructureHelperLogics/Data/Shapes/IShape.cs | 6 +-- StructureHelperLogics/Data/Shapes/Point.cs | 6 +-- .../Data/Shapes/Rectangle.cs | 6 +-- .../Infrastructures/CommonEnums/CalcTerms.cs | 6 +-- .../CommonEnums/LimitStates.cs | 6 +-- .../Models/NdmPrimitives/IPrimitive.cs | 7 +--- .../Models/NdmPrimitives/PointPrimitive.cs | 30 +++----------- .../Models/NdmPrimitives/PrimitiveBase.cs | 22 ++++++++++ .../NdmPrimitives/RectanglePrimitive.cs | 31 ++++++++++++++ .../NdmCalculations/Entities/INdmPrimitive.cs | 3 -- .../NdmCalculations/Entities/NdmPrimitive.cs | 3 -- .../Materials/IPrimitiveMaterial.cs | 6 +-- .../Materials/MaterialTypes.cs | 6 +-- .../Materials/PrimitiveMaterial.cs | 2 - .../IPointTriangulationLogic.cs | 6 +-- .../IPointTriangulationLogicOptions.cs | 3 -- .../IRectangleTriangulationLogic.cs | 6 +-- .../IRectangleTriangulationLogicOptions.cs | 3 -- .../Triangulations/ITriangulationLogic.cs | 4 +- .../ITriangulationLogicOptions.cs | 6 +-- .../Triangulations/ITriangulationOptions.cs | 3 -- .../Triangulations/PointTriangulationLogic.cs | 1 - .../PointTriangulationLogicOptions.cs | 3 -- .../RectangleTriangulationLogic.cs | 1 - .../RectangleTriangulationLogicOptions.cs | 2 - .../Triangulations/Triangulation.cs | 1 - .../Triangulations/TriangulationOptions.cs | 3 -- .../ColorPickerWindow/ColorPickerView.xaml.cs | 4 +- Windows/MainWindow/MainView.xaml | 2 +- Windows/MainWindow/MainViewModel.cs | 26 ++++++------ 45 files changed, 123 insertions(+), 205 deletions(-) rename Infrastructure/UI/DataContexts/{Ellipse.cs => Point.cs} (77%) create mode 100644 StructureHelperLogics/Models/NdmPrimitives/PrimitiveBase.cs create mode 100644 StructureHelperLogics/Models/NdmPrimitives/RectanglePrimitive.cs diff --git a/Infrastructure/Enums/PrimitiveType.cs b/Infrastructure/Enums/PrimitiveType.cs index 6cd5693..7cf1ab0 100644 --- a/Infrastructure/Enums/PrimitiveType.cs +++ b/Infrastructure/Enums/PrimitiveType.cs @@ -2,7 +2,7 @@ { public enum PrimitiveType { - Ellipse, + Point, Rectangle } } \ No newline at end of file diff --git a/Infrastructure/UI/DataContexts/Ellipse.cs b/Infrastructure/UI/DataContexts/Point.cs similarity index 77% rename from Infrastructure/UI/DataContexts/Ellipse.cs rename to Infrastructure/UI/DataContexts/Point.cs index 5cc82b2..e6c34ac 100644 --- a/Infrastructure/UI/DataContexts/Ellipse.cs +++ b/Infrastructure/UI/DataContexts/Point.cs @@ -1,7 +1,5 @@ using System; -using System.Windows.Media; using StructureHelper.Infrastructure.Enums; -using StructureHelper.Models.Materials; using StructureHelper.Windows.MainWindow; using StructureHelperLogics.Data.Shapes; using StructureHelperLogics.NdmCalculations.Entities; @@ -9,7 +7,7 @@ using StructureHelperLogics.NdmCalculations.Materials; namespace StructureHelper.Infrastructure.UI.DataContexts { - public class Ellipse : PrimitiveBase + public class Point : PrimitiveBase { private double square; public double Square @@ -24,7 +22,7 @@ namespace StructureHelper.Infrastructure.UI.DataContexts } } - public Ellipse(double square, double ellipseX, double ellipseY, MainViewModel mainViewModel) : base(PrimitiveType.Ellipse, ellipseX, ellipseY, mainViewModel) + public Point(double square, double x, double y, MainViewModel mainViewModel) : base(PrimitiveType.Point, x, y, mainViewModel) { Square = square; ShowedX = 0; @@ -39,13 +37,10 @@ namespace StructureHelper.Infrastructure.UI.DataContexts double area = 0; string materialName = "s400"; ICenter center = new Center() { X = centerX, Y = centerY }; - IShape shape = new Point() { Area = area }; + IShape shape = new StructureHelperLogics.Data.Shapes.Point() { Area = area }; IPrimitiveMaterial primitiveMaterial = new PrimitiveMaterial() { MaterialType = GetMaterialTypes(), ClassName = materialName, Strength = strength }; ; INdmPrimitive ndmPrimitive = new NdmPrimitive() { Center = center, Shape = shape, PrimitiveMaterial = primitiveMaterial }; return ndmPrimitive; } - - public override Point MapToShape() - => new Point {Area = Square}; } } diff --git a/Infrastructure/UI/DataContexts/PrimitiveBase.cs b/Infrastructure/UI/DataContexts/PrimitiveBase.cs index 8a9c6bc..5937084 100644 --- a/Infrastructure/UI/DataContexts/PrimitiveBase.cs +++ b/Infrastructure/UI/DataContexts/PrimitiveBase.cs @@ -9,7 +9,7 @@ using StructureHelperLogics.NdmCalculations.Materials; namespace StructureHelper.Infrastructure.UI.DataContexts { - public abstract class PrimitiveBase : ViewModelBase where T : StructureHelperLogics.Data.Shapes.IShape + public abstract class PrimitiveBase: ViewModelBase { #region Поля @@ -163,7 +163,7 @@ namespace StructureHelper.Infrastructure.UI.DataContexts public ICommand PrimitiveLeftButtonDown { get; } public ICommand PrimitiveLeftButtonUp { get; } public ICommand RectanglePreviewMouseMove { get; } - public ICommand EllipsePreviewMouseMove { get; } + public ICommand PointPreviewMouseMove { get; } public ICommand PrimitiveDoubleClick { get; } #endregion @@ -208,30 +208,30 @@ namespace StructureHelper.Infrastructure.UI.DataContexts //ElementLock = rect.ElementLock; } }); - EllipsePreviewMouseMove = new RelayCommand(o => + PointPreviewMouseMove = new RelayCommand(o => { - if (!(o is Ellipse ellipse)) return; - if (ellipse.Captured && !ellipse.ElementLock) + if (!(o is Point point)) return; + if (point.Captured && !point.ElementLock) { - var ellipseDelta = ellipse.PrimitiveWidth / 2; + var pointDelta = point.PrimitiveWidth / 2; - if (ellipse.ShowedX % 10 <= ellipseDelta || ellipse.ShowedX % 10 >= 10 - ellipseDelta) - ellipse.ShowedX = Math.Round((mainViewModel.PanelX - Yx1) / 10) * 10; + if (point.ShowedX % 10 <= pointDelta || point.ShowedX % 10 >= 10 - pointDelta) + point.ShowedX = Math.Round((mainViewModel.PanelX - Yx1) / 10) * 10; else - ellipse.ShowedX = mainViewModel.PanelX - ellipseDelta - Yx1; + point.ShowedX = mainViewModel.PanelX - pointDelta - Yx1; - if (ellipse.ShowedY % 10 <= ellipseDelta || ellipse.ShowedY % 10 >= 10 - ellipseDelta) - ellipse.ShowedY = -(Math.Round((mainViewModel.PanelY - Xy1) / 10) * 10); + if (point.ShowedY % 10 <= pointDelta || point.ShowedY % 10 >= 10 - pointDelta) + point.ShowedY = -(Math.Round((mainViewModel.PanelY - Xy1) / 10) * 10); else - ellipse.ShowedY = -(mainViewModel.PanelY - ellipseDelta - Xy1); + point.ShowedY = -(mainViewModel.PanelY - pointDelta - Xy1); } if (ParameterCaptured) { - //EllipseParameterX = ellipse.ShowedX; - //EllipseParameterY = ellipse.ShowedY; - //EllipseParameterSquare = ellipse.Square; - //ParameterOpacity = ellipse.ShowedOpacity; - //ElementLock = ellipse.ElementLock; + //EllipseParameterX = point.ShowedX; + //EllipseParameterY = point.ShowedY; + //EllipseParameterSquare = point.Square; + //ParameterOpacity = point.ShowedOpacity; + //ElementLock = point.ElementLock; } }); PrimitiveDoubleClick = new RelayCommand(o => @@ -249,12 +249,12 @@ namespace StructureHelper.Infrastructure.UI.DataContexts private void UpdateCoordinatesX(double showedX) { if (Type == PrimitiveType.Rectangle) X = showedX + Yx1; - if (Type == PrimitiveType.Ellipse) X = showedX + Yx1 - PrimitiveWidth / 2; + if (Type == PrimitiveType.Point) X = showedX + Yx1 - PrimitiveWidth / 2; } private void UpdateCoordinatesY(double showedY) { if (Type == PrimitiveType.Rectangle) Y = -showedY + Xy1 - PrimitiveHeight; - if (Type == PrimitiveType.Ellipse) Y = -showedY + Xy1 - PrimitiveWidth / 2; + if (Type == PrimitiveType.Point) Y = -showedY + Xy1 - PrimitiveWidth / 2; } public abstract INdmPrimitive GetNdmPrimitive(); @@ -266,7 +266,5 @@ namespace StructureHelper.Infrastructure.UI.DataContexts else { throw new Exception("MaterialType is unknown"); } return materialTypes; } - - public abstract T MapToShape(); } } diff --git a/Infrastructure/UI/DataContexts/Rectangle.cs b/Infrastructure/UI/DataContexts/Rectangle.cs index ca1fdd8..b655723 100644 --- a/Infrastructure/UI/DataContexts/Rectangle.cs +++ b/Infrastructure/UI/DataContexts/Rectangle.cs @@ -1,16 +1,12 @@ -using System; -using System.Windows.Input; -using System.Windows.Media; -using StructureHelper.Infrastructure.Enums; +using StructureHelper.Infrastructure.Enums; using StructureHelper.Windows.MainWindow; using StructureHelperLogics.Data.Shapes; using StructureHelperLogics.NdmCalculations.Entities; using StructureHelperLogics.NdmCalculations.Materials; -using RectangleShape = StructureHelperLogics.Data.Shapes.Rectangle; namespace StructureHelper.Infrastructure.UI.DataContexts { - public class Rectangle : PrimitiveBase + public class Rectangle : PrimitiveBase { public Rectangle(double primitiveWidth, double primitiveHeight, double rectX, double rectY, MainViewModel mainViewModel) : base(PrimitiveType.Rectangle, rectX, rectY, mainViewModel) { @@ -34,8 +30,5 @@ namespace StructureHelper.Infrastructure.UI.DataContexts INdmPrimitive ndmPrimitive = new NdmPrimitive() { Center = center, Shape = shape, PrimitiveMaterial = primitiveMaterial }; return ndmPrimitive; } - - public override RectangleShape MapToShape() - => new RectangleShape {Height = PrimitiveHeight, Width = PrimitiveWidth}; } } diff --git a/Infrastructure/UI/DataTemplates/EllipseTemplate.xaml.cs b/Infrastructure/UI/DataTemplates/EllipseTemplate.xaml.cs index c406719..0976c39 100644 --- a/Infrastructure/UI/DataTemplates/EllipseTemplate.xaml.cs +++ b/Infrastructure/UI/DataTemplates/EllipseTemplate.xaml.cs @@ -1,5 +1,4 @@ -using System.Windows; -using System.Windows.Controls; +using System.Windows.Controls; namespace StructureHelper.Infrastructure.UI.DataTemplates { diff --git a/Infrastructure/UI/DataTemplates/RectangleTemplate.xaml.cs b/Infrastructure/UI/DataTemplates/RectangleTemplate.xaml.cs index 4a08178..d5c0561 100644 --- a/Infrastructure/UI/DataTemplates/RectangleTemplate.xaml.cs +++ b/Infrastructure/UI/DataTemplates/RectangleTemplate.xaml.cs @@ -1,5 +1,4 @@ -using System.Windows; -using System.Windows.Controls; +using System.Windows.Controls; namespace StructureHelper.Infrastructure.UI.DataTemplates { diff --git a/Infrastructure/UI/UserControls/PrimitivePopup.xaml b/Infrastructure/UI/UserControls/PrimitivePopup.xaml index 316963c..2a6d966 100644 --- a/Infrastructure/UI/UserControls/PrimitivePopup.xaml +++ b/Infrastructure/UI/UserControls/PrimitivePopup.xaml @@ -75,7 +75,7 @@ - + diff --git a/MaterialCatalogWindow/MaterialCatalogView.xaml.cs b/MaterialCatalogWindow/MaterialCatalogView.xaml.cs index 9f1ea35..64b925a 100644 --- a/MaterialCatalogWindow/MaterialCatalogView.xaml.cs +++ b/MaterialCatalogWindow/MaterialCatalogView.xaml.cs @@ -1,5 +1,5 @@ -using System.Windows; -using StructureHelper.Infrastructure.UI.DataContexts; +using StructureHelper.Infrastructure.UI.DataContexts; +using System.Windows; namespace StructureHelper.MaterialCatalogWindow { diff --git a/StructureHelper.csproj b/StructureHelper.csproj index a53a43f..22861e5 100644 --- a/StructureHelper.csproj +++ b/StructureHelper.csproj @@ -89,7 +89,7 @@ - + diff --git a/StructureHelperLogics/Data/Shapes/Center.cs b/StructureHelperLogics/Data/Shapes/Center.cs index 15a0a06..358144b 100644 --- a/StructureHelperLogics/Data/Shapes/Center.cs +++ b/StructureHelperLogics/Data/Shapes/Center.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace StructureHelperLogics.Data.Shapes +namespace StructureHelperLogics.Data.Shapes { /// public class Center : ICenter diff --git a/StructureHelperLogics/Data/Shapes/ICenter.cs b/StructureHelperLogics/Data/Shapes/ICenter.cs index 0bb3cff..78ed338 100644 --- a/StructureHelperLogics/Data/Shapes/ICenter.cs +++ b/StructureHelperLogics/Data/Shapes/ICenter.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace StructureHelperLogics.Data.Shapes +namespace StructureHelperLogics.Data.Shapes { /// /// Interface for point of center of some shape diff --git a/StructureHelperLogics/Data/Shapes/ICenterShape.cs b/StructureHelperLogics/Data/Shapes/ICenterShape.cs index d855f45..38d19f4 100644 --- a/StructureHelperLogics/Data/Shapes/ICenterShape.cs +++ b/StructureHelperLogics/Data/Shapes/ICenterShape.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace StructureHelperLogics.Data.Shapes +namespace StructureHelperLogics.Data.Shapes { public interface ICenterShape { diff --git a/StructureHelperLogics/Data/Shapes/ICircle.cs b/StructureHelperLogics/Data/Shapes/ICircle.cs index 7adf5ee..8a5ad56 100644 --- a/StructureHelperLogics/Data/Shapes/ICircle.cs +++ b/StructureHelperLogics/Data/Shapes/ICircle.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace StructureHelperLogics.Data.Shapes +namespace StructureHelperLogics.Data.Shapes { public interface ICircle : IShape { diff --git a/StructureHelperLogics/Data/Shapes/IPoint.cs b/StructureHelperLogics/Data/Shapes/IPoint.cs index fe39f04..7df8127 100644 --- a/StructureHelperLogics/Data/Shapes/IPoint.cs +++ b/StructureHelperLogics/Data/Shapes/IPoint.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace StructureHelperLogics.Data.Shapes +namespace StructureHelperLogics.Data.Shapes { public interface IPoint : IShape { diff --git a/StructureHelperLogics/Data/Shapes/IRectangle.cs b/StructureHelperLogics/Data/Shapes/IRectangle.cs index c035e1c..255cf63 100644 --- a/StructureHelperLogics/Data/Shapes/IRectangle.cs +++ b/StructureHelperLogics/Data/Shapes/IRectangle.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace StructureHelperLogics.Data.Shapes +namespace StructureHelperLogics.Data.Shapes { public interface IRectangle : IShape { diff --git a/StructureHelperLogics/Data/Shapes/IShape.cs b/StructureHelperLogics/Data/Shapes/IShape.cs index 71f6a08..6d32153 100644 --- a/StructureHelperLogics/Data/Shapes/IShape.cs +++ b/StructureHelperLogics/Data/Shapes/IShape.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace StructureHelperLogics.Data.Shapes +namespace StructureHelperLogics.Data.Shapes { public interface IShape { diff --git a/StructureHelperLogics/Data/Shapes/Point.cs b/StructureHelperLogics/Data/Shapes/Point.cs index a53ce97..0a4a124 100644 --- a/StructureHelperLogics/Data/Shapes/Point.cs +++ b/StructureHelperLogics/Data/Shapes/Point.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace StructureHelperLogics.Data.Shapes +namespace StructureHelperLogics.Data.Shapes { public class Point : IPoint { diff --git a/StructureHelperLogics/Data/Shapes/Rectangle.cs b/StructureHelperLogics/Data/Shapes/Rectangle.cs index 05a9663..cd3fce7 100644 --- a/StructureHelperLogics/Data/Shapes/Rectangle.cs +++ b/StructureHelperLogics/Data/Shapes/Rectangle.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace StructureHelperLogics.Data.Shapes +namespace StructureHelperLogics.Data.Shapes { /// public class Rectangle : IRectangle diff --git a/StructureHelperLogics/Infrastructures/CommonEnums/CalcTerms.cs b/StructureHelperLogics/Infrastructures/CommonEnums/CalcTerms.cs index 2046c9d..19bec6b 100644 --- a/StructureHelperLogics/Infrastructures/CommonEnums/CalcTerms.cs +++ b/StructureHelperLogics/Infrastructures/CommonEnums/CalcTerms.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace StructureHelperLogics.Infrastructures.CommonEnums +namespace StructureHelperLogics.Infrastructures.CommonEnums { public enum CalcTerms { diff --git a/StructureHelperLogics/Infrastructures/CommonEnums/LimitStates.cs b/StructureHelperLogics/Infrastructures/CommonEnums/LimitStates.cs index 3ded8d5..fb53187 100644 --- a/StructureHelperLogics/Infrastructures/CommonEnums/LimitStates.cs +++ b/StructureHelperLogics/Infrastructures/CommonEnums/LimitStates.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace StructureHelperLogics.Infrastructures.CommonEnums +namespace StructureHelperLogics.Infrastructures.CommonEnums { public enum LimitStates { diff --git a/StructureHelperLogics/Models/NdmPrimitives/IPrimitive.cs b/StructureHelperLogics/Models/NdmPrimitives/IPrimitive.cs index 0ed9ac9..944a386 100644 --- a/StructureHelperLogics/Models/NdmPrimitives/IPrimitive.cs +++ b/StructureHelperLogics/Models/NdmPrimitives/IPrimitive.cs @@ -1,15 +1,10 @@ using StructureHelperLogics.Data.Shapes; using StructureHelperLogics.NdmCalculations.Entities; -using System; -using System.Collections.Generic; -using System.Text; namespace StructureHelperLogics.Models.NdmPrimitives { - public interface IPrimitive + public interface IPrimitive : ICenterShape { - ICenter Center { get;} - IShape Shape { get;} INdmPrimitive GetNdmPrimitive(); } } diff --git a/StructureHelperLogics/Models/NdmPrimitives/PointPrimitive.cs b/StructureHelperLogics/Models/NdmPrimitives/PointPrimitive.cs index e824ed9..513cb6d 100644 --- a/StructureHelperLogics/Models/NdmPrimitives/PointPrimitive.cs +++ b/StructureHelperLogics/Models/NdmPrimitives/PointPrimitive.cs @@ -1,39 +1,19 @@ using StructureHelperLogics.Data.Shapes; using StructureHelperLogics.NdmCalculations.Entities; using StructureHelperLogics.NdmCalculations.Materials; -using System; -using System.Collections.Generic; -using System.Text; namespace StructureHelperLogics.Models.NdmPrimitives { - public class PointPrimitive : IPrimitive + public class PointPrimitive : PrimitiveBase, IPoint { - ICenter _center; - IShape _shape; - - public ICenter Center => _center; - public IShape Shape => _shape; public double Area { - get - { - IPoint point = _shape as IPoint; - return point.Area; - } - set - { - IPoint point = _shape as IPoint; - point.Area = value; - } + get => _shape.Area; + set => _shape.Area = value; } - public PointPrimitive(ICenter center, IShape shape) - { - _center = center; - _shape = shape; - } - public INdmPrimitive GetNdmPrimitive() + public PointPrimitive(ICenter center, IPoint shape) : base(center, shape) { } + public override INdmPrimitive GetNdmPrimitive() { double strength = 400; string materialName = "s400"; diff --git a/StructureHelperLogics/Models/NdmPrimitives/PrimitiveBase.cs b/StructureHelperLogics/Models/NdmPrimitives/PrimitiveBase.cs new file mode 100644 index 0000000..089d110 --- /dev/null +++ b/StructureHelperLogics/Models/NdmPrimitives/PrimitiveBase.cs @@ -0,0 +1,22 @@ +using StructureHelperLogics.Data.Shapes; +using StructureHelperLogics.NdmCalculations.Entities; + +namespace StructureHelperLogics.Models.NdmPrimitives +{ + public abstract class PrimitiveBase : IPrimitive where T : IShape + { + protected ICenter _center; + protected T _shape; + + public ICenter Center => _center; + public IShape Shape => _shape; + + public PrimitiveBase(ICenter center, T shape) + { + _center = center; + _shape = shape; + } + + public abstract INdmPrimitive GetNdmPrimitive(); + } +} diff --git a/StructureHelperLogics/Models/NdmPrimitives/RectanglePrimitive.cs b/StructureHelperLogics/Models/NdmPrimitives/RectanglePrimitive.cs new file mode 100644 index 0000000..3467fd5 --- /dev/null +++ b/StructureHelperLogics/Models/NdmPrimitives/RectanglePrimitive.cs @@ -0,0 +1,31 @@ +using StructureHelperLogics.Data.Shapes; +using StructureHelperLogics.NdmCalculations.Entities; +using StructureHelperLogics.NdmCalculations.Materials; + +namespace StructureHelperLogics.Models.NdmPrimitives +{ + public class RectanglePrimitive : PrimitiveBase, IRectangle + { + public RectanglePrimitive(ICenter center, IRectangle shape) : base(center, shape) { } + + public double Width => _shape.Width; + + public double Height => _shape.Height; + + public double Angle => _shape.Angle; + + public override INdmPrimitive GetNdmPrimitive() + { + double strength = 400; + string materialName = "s400"; + IPrimitiveMaterial primitiveMaterial = new PrimitiveMaterial() { MaterialType = GetMaterialTypes(), ClassName = materialName, Strength = strength }; ; + INdmPrimitive ndmPrimitive = new NdmPrimitive() { Center = _center, Shape = _shape, PrimitiveMaterial = primitiveMaterial }; + return ndmPrimitive; + } + + private MaterialTypes GetMaterialTypes() + { + return MaterialTypes.Reinforcement; + } + } +} diff --git a/StructureHelperLogics/NdmCalculations/Entities/INdmPrimitive.cs b/StructureHelperLogics/NdmCalculations/Entities/INdmPrimitive.cs index 520ae44..7c42182 100644 --- a/StructureHelperLogics/NdmCalculations/Entities/INdmPrimitive.cs +++ b/StructureHelperLogics/NdmCalculations/Entities/INdmPrimitive.cs @@ -1,8 +1,5 @@ using StructureHelperLogics.Data.Shapes; using StructureHelperLogics.NdmCalculations.Materials; -using System; -using System.Collections.Generic; -using System.Text; namespace StructureHelperLogics.NdmCalculations.Entities { diff --git a/StructureHelperLogics/NdmCalculations/Entities/NdmPrimitive.cs b/StructureHelperLogics/NdmCalculations/Entities/NdmPrimitive.cs index 6cd643b..74988d0 100644 --- a/StructureHelperLogics/NdmCalculations/Entities/NdmPrimitive.cs +++ b/StructureHelperLogics/NdmCalculations/Entities/NdmPrimitive.cs @@ -1,8 +1,5 @@ using StructureHelperLogics.Data.Shapes; using StructureHelperLogics.NdmCalculations.Materials; -using System; -using System.Collections.Generic; -using System.Text; namespace StructureHelperLogics.NdmCalculations.Entities { diff --git a/StructureHelperLogics/NdmCalculations/Materials/IPrimitiveMaterial.cs b/StructureHelperLogics/NdmCalculations/Materials/IPrimitiveMaterial.cs index 9b37530..b0307ff 100644 --- a/StructureHelperLogics/NdmCalculations/Materials/IPrimitiveMaterial.cs +++ b/StructureHelperLogics/NdmCalculations/Materials/IPrimitiveMaterial.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace StructureHelperLogics.NdmCalculations.Materials +namespace StructureHelperLogics.NdmCalculations.Materials { public interface IPrimitiveMaterial { diff --git a/StructureHelperLogics/NdmCalculations/Materials/MaterialTypes.cs b/StructureHelperLogics/NdmCalculations/Materials/MaterialTypes.cs index 6b76a13..487bcc7 100644 --- a/StructureHelperLogics/NdmCalculations/Materials/MaterialTypes.cs +++ b/StructureHelperLogics/NdmCalculations/Materials/MaterialTypes.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace StructureHelperLogics.NdmCalculations.Materials +namespace StructureHelperLogics.NdmCalculations.Materials { public enum MaterialTypes { diff --git a/StructureHelperLogics/NdmCalculations/Materials/PrimitiveMaterial.cs b/StructureHelperLogics/NdmCalculations/Materials/PrimitiveMaterial.cs index 70864e6..4c45b3b 100644 --- a/StructureHelperLogics/NdmCalculations/Materials/PrimitiveMaterial.cs +++ b/StructureHelperLogics/NdmCalculations/Materials/PrimitiveMaterial.cs @@ -1,6 +1,4 @@ using System; -using System.Collections.Generic; -using System.Text; namespace StructureHelperLogics.NdmCalculations.Materials { diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/IPointTriangulationLogic.cs b/StructureHelperLogics/NdmCalculations/Triangulations/IPointTriangulationLogic.cs index b3d7a8d..16f3c63 100644 --- a/StructureHelperLogics/NdmCalculations/Triangulations/IPointTriangulationLogic.cs +++ b/StructureHelperLogics/NdmCalculations/Triangulations/IPointTriangulationLogic.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace StructureHelperLogics.NdmCalculations.Triangulations +namespace StructureHelperLogics.NdmCalculations.Triangulations { interface IPointTriangulationLogic : ITriangulationLogic { diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/IPointTriangulationLogicOptions.cs b/StructureHelperLogics/NdmCalculations/Triangulations/IPointTriangulationLogicOptions.cs index 10fe244..24c8b6a 100644 --- a/StructureHelperLogics/NdmCalculations/Triangulations/IPointTriangulationLogicOptions.cs +++ b/StructureHelperLogics/NdmCalculations/Triangulations/IPointTriangulationLogicOptions.cs @@ -1,7 +1,4 @@ using StructureHelperLogics.Data.Shapes; -using System; -using System.Collections.Generic; -using System.Text; namespace StructureHelperLogics.NdmCalculations.Triangulations { diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/IRectangleTriangulationLogic.cs b/StructureHelperLogics/NdmCalculations/Triangulations/IRectangleTriangulationLogic.cs index e0dd3bd..f2d285d 100644 --- a/StructureHelperLogics/NdmCalculations/Triangulations/IRectangleTriangulationLogic.cs +++ b/StructureHelperLogics/NdmCalculations/Triangulations/IRectangleTriangulationLogic.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace StructureHelperLogics.NdmCalculations.Triangulations +namespace StructureHelperLogics.NdmCalculations.Triangulations { public interface IRectangleTriangulationLogic : ITriangulationLogic { diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/IRectangleTriangulationLogicOptions.cs b/StructureHelperLogics/NdmCalculations/Triangulations/IRectangleTriangulationLogicOptions.cs index 24f2555..82004e3 100644 --- a/StructureHelperLogics/NdmCalculations/Triangulations/IRectangleTriangulationLogicOptions.cs +++ b/StructureHelperLogics/NdmCalculations/Triangulations/IRectangleTriangulationLogicOptions.cs @@ -1,7 +1,4 @@ using StructureHelperLogics.Data.Shapes; -using System; -using System.Collections.Generic; -using System.Text; namespace StructureHelperLogics.NdmCalculations.Triangulations { diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/ITriangulationLogic.cs b/StructureHelperLogics/NdmCalculations/Triangulations/ITriangulationLogic.cs index 15bba04..ad313e1 100644 --- a/StructureHelperLogics/NdmCalculations/Triangulations/ITriangulationLogic.cs +++ b/StructureHelperLogics/NdmCalculations/Triangulations/ITriangulationLogic.cs @@ -1,6 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; +using System.Collections.Generic; using LoaderCalculator.Data.Ndms; using LoaderCalculator.Data.Materials; diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/ITriangulationLogicOptions.cs b/StructureHelperLogics/NdmCalculations/Triangulations/ITriangulationLogicOptions.cs index e759866..9abe4ec 100644 --- a/StructureHelperLogics/NdmCalculations/Triangulations/ITriangulationLogicOptions.cs +++ b/StructureHelperLogics/NdmCalculations/Triangulations/ITriangulationLogicOptions.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace StructureHelperLogics.NdmCalculations.Triangulations +namespace StructureHelperLogics.NdmCalculations.Triangulations { public interface ITriangulationLogicOptions { diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/ITriangulationOptions.cs b/StructureHelperLogics/NdmCalculations/Triangulations/ITriangulationOptions.cs index 384e40b..23c47c3 100644 --- a/StructureHelperLogics/NdmCalculations/Triangulations/ITriangulationOptions.cs +++ b/StructureHelperLogics/NdmCalculations/Triangulations/ITriangulationOptions.cs @@ -1,7 +1,4 @@ using StructureHelperLogics.Infrastructures.CommonEnums; -using System; -using System.Collections.Generic; -using System.Text; namespace StructureHelperLogics.NdmCalculations.Triangulations { diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/PointTriangulationLogic.cs b/StructureHelperLogics/NdmCalculations/Triangulations/PointTriangulationLogic.cs index 49d53c2..99b413d 100644 --- a/StructureHelperLogics/NdmCalculations/Triangulations/PointTriangulationLogic.cs +++ b/StructureHelperLogics/NdmCalculations/Triangulations/PointTriangulationLogic.cs @@ -3,7 +3,6 @@ using LoaderCalculator.Data.Ndms; using StructureHelperLogics.Data.Shapes; using System; using System.Collections.Generic; -using System.Text; namespace StructureHelperLogics.NdmCalculations.Triangulations { diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/PointTriangulationLogicOptions.cs b/StructureHelperLogics/NdmCalculations/Triangulations/PointTriangulationLogicOptions.cs index c2d7c5e..254b187 100644 --- a/StructureHelperLogics/NdmCalculations/Triangulations/PointTriangulationLogicOptions.cs +++ b/StructureHelperLogics/NdmCalculations/Triangulations/PointTriangulationLogicOptions.cs @@ -1,7 +1,4 @@ using StructureHelperLogics.Data.Shapes; -using System; -using System.Collections.Generic; -using System.Text; namespace StructureHelperLogics.NdmCalculations.Triangulations { diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/RectangleTriangulationLogic.cs b/StructureHelperLogics/NdmCalculations/Triangulations/RectangleTriangulationLogic.cs index f732d76..7297316 100644 --- a/StructureHelperLogics/NdmCalculations/Triangulations/RectangleTriangulationLogic.cs +++ b/StructureHelperLogics/NdmCalculations/Triangulations/RectangleTriangulationLogic.cs @@ -2,7 +2,6 @@ using LoaderCalculator.Data.Ndms; using System; using System.Collections.Generic; -using System.Text; using LoaderCalculator.Data.Ndms.Transformations; namespace StructureHelperLogics.NdmCalculations.Triangulations diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/RectangleTriangulationLogicOptions.cs b/StructureHelperLogics/NdmCalculations/Triangulations/RectangleTriangulationLogicOptions.cs index 59455e1..e33ee89 100644 --- a/StructureHelperLogics/NdmCalculations/Triangulations/RectangleTriangulationLogicOptions.cs +++ b/StructureHelperLogics/NdmCalculations/Triangulations/RectangleTriangulationLogicOptions.cs @@ -1,8 +1,6 @@ using StructureHelperLogics.Data.Shapes; using StructureHelperLogics.NdmCalculations.Entities; using System; -using System.Collections.Generic; -using System.Text; namespace StructureHelperLogics.NdmCalculations.Triangulations { diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/Triangulation.cs b/StructureHelperLogics/NdmCalculations/Triangulations/Triangulation.cs index b452d87..786d0c7 100644 --- a/StructureHelperLogics/NdmCalculations/Triangulations/Triangulation.cs +++ b/StructureHelperLogics/NdmCalculations/Triangulations/Triangulation.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Text; using LoaderCalculator.Data.Materials; using LoaderCalculator.Data.Materials.MaterialBuilders; using LoaderCalculator.Data.Ndms; diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/TriangulationOptions.cs b/StructureHelperLogics/NdmCalculations/Triangulations/TriangulationOptions.cs index d13b47b..90ad22a 100644 --- a/StructureHelperLogics/NdmCalculations/Triangulations/TriangulationOptions.cs +++ b/StructureHelperLogics/NdmCalculations/Triangulations/TriangulationOptions.cs @@ -1,7 +1,4 @@ using StructureHelperLogics.Infrastructures.CommonEnums; -using System; -using System.Collections.Generic; -using System.Text; namespace StructureHelperLogics.NdmCalculations.Triangulations { diff --git a/Windows/ColorPickerWindow/ColorPickerView.xaml.cs b/Windows/ColorPickerWindow/ColorPickerView.xaml.cs index df08018..655447a 100644 --- a/Windows/ColorPickerWindow/ColorPickerView.xaml.cs +++ b/Windows/ColorPickerWindow/ColorPickerView.xaml.cs @@ -1,5 +1,5 @@ -using System.Windows; -using StructureHelper.Infrastructure.UI.DataContexts; +using StructureHelper.Infrastructure.UI.DataContexts; +using System.Windows; namespace StructureHelper.Windows.ColorPickerWindow { diff --git a/Windows/MainWindow/MainView.xaml b/Windows/MainWindow/MainView.xaml index 149ed70..d74f54f 100644 --- a/Windows/MainWindow/MainView.xaml +++ b/Windows/MainWindow/MainView.xaml @@ -19,7 +19,7 @@ - + diff --git a/Windows/MainWindow/MainViewModel.cs b/Windows/MainWindow/MainViewModel.cs index b27b5dd..f1b9f62 100644 --- a/Windows/MainWindow/MainViewModel.cs +++ b/Windows/MainWindow/MainViewModel.cs @@ -75,23 +75,23 @@ namespace StructureHelper.Windows.MainWindow } } - private double ellipseParameterX, ellipseParameterY, ellipseParameterSquare; + private double pointParameterX, pointParameterY, pointParameterSquare; public double EllipseParameterX { - get => ellipseParameterX; - set => OnPropertyChanged(value, ref ellipseParameterX); + get => pointParameterX; + set => OnPropertyChanged(value, ref pointParameterX); } public double EllipseParameterY { - get => ellipseParameterY; - set => OnPropertyChanged(value, ref ellipseParameterY); + get => pointParameterY; + set => OnPropertyChanged(value, ref pointParameterY); } public double EllipseParameterSquare { - get => ellipseParameterSquare; - set => OnPropertyChanged(value, ref ellipseParameterSquare); + get => pointParameterSquare; + set => OnPropertyChanged(value, ref pointParameterSquare); } private bool elementLock; public bool ElementLock @@ -237,10 +237,10 @@ namespace StructureHelper.Windows.MainWindow rectangle.PrimitiveWidth = RectParameterWidth; rectangle.PrimitiveHeight = RectParameterHeight; break; - case Ellipse ellipse: - ellipse.Square = EllipseParameterSquare; - ellipse.ShowedX = EllipseParameterX; - ellipse.ShowedY = EllipseParameterY; + case Point point: + point.Square = EllipseParameterSquare; + point.ShowedX = EllipseParameterX; + point.ShowedY = EllipseParameterY; break; } } @@ -312,8 +312,8 @@ namespace StructureHelper.Windows.MainWindow }); AddEllipse = new RelayCommand(o => { - var ellipse = new Ellipse(2000, YX1, XY1, this); - Primitives.Add(ellipse); + var point = new Point(2000, YX1, XY1, this); + Primitives.Add(point); PrimitivesCount = Primitives.Count; });