diff --git a/Infrastructure/UI/DataContexts/Ellipse.cs b/Infrastructure/UI/DataContexts/Ellipse.cs
index 79e9eb6..6f969a5 100644
--- a/Infrastructure/UI/DataContexts/Ellipse.cs
+++ b/Infrastructure/UI/DataContexts/Ellipse.cs
@@ -1,7 +1,11 @@
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;
+using StructureHelperLogics.NdmCalculations.Materials;
namespace StructureHelper.Infrastructure.UI.DataContexts
{
@@ -26,5 +30,19 @@ namespace StructureHelper.Infrastructure.UI.DataContexts
ShowedX = 0;
ShowedY = 0;
}
+
+ public override INdmPrimitive GetNdmPrimitive()
+ {
+ double strength = 0;
+ double centerX = 0;
+ double centerY = 0;
+ double area = 0;
+ string materialName = "s400";
+ ICenter center = new Center() { X = centerX, Y = centerY };
+ IShape shape = new 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;
+ }
}
}
diff --git a/Infrastructure/UI/DataContexts/PrimitiveBase.cs b/Infrastructure/UI/DataContexts/PrimitiveBase.cs
index 88acc99..7a1711d 100644
--- a/Infrastructure/UI/DataContexts/PrimitiveBase.cs
+++ b/Infrastructure/UI/DataContexts/PrimitiveBase.cs
@@ -4,6 +4,8 @@ using System.Windows.Media;
using StructureHelper.Infrastructure.Enums;
using StructureHelper.Models.Materials;
using StructureHelper.Windows.MainWindow;
+using StructureHelperLogics.NdmCalculations.Entities;
+using StructureHelperLogics.NdmCalculations.Materials;
namespace StructureHelper.Infrastructure.UI.DataContexts
{
@@ -254,5 +256,15 @@ namespace StructureHelper.Infrastructure.UI.DataContexts
if (Type == PrimitiveType.Rectangle) Y = -showedY + Xy1 - PrimitiveHeight;
if (Type == PrimitiveType.Ellipse) Y = -showedY + Xy1 - PrimitiveWidth / 2;
}
+
+ public abstract INdmPrimitive GetNdmPrimitive();
+ public MaterialTypes GetMaterialTypes()
+ {
+ MaterialTypes materialTypes;
+ if (Material is ConcreteDefinition) { materialTypes = MaterialTypes.Concrete; }
+ else if (Material is RebarDefinition) { materialTypes = MaterialTypes.Reinforcement; }
+ else { throw new Exception("MaterialType is unknown"); }
+ return materialTypes;
+ }
}
}
diff --git a/Infrastructure/UI/DataContexts/Rectangle.cs b/Infrastructure/UI/DataContexts/Rectangle.cs
index 3847e3a..732eb8d 100644
--- a/Infrastructure/UI/DataContexts/Rectangle.cs
+++ b/Infrastructure/UI/DataContexts/Rectangle.cs
@@ -3,6 +3,9 @@ using System.Windows.Input;
using System.Windows.Media;
using StructureHelper.Infrastructure.Enums;
using StructureHelper.Windows.MainWindow;
+using StructureHelperLogics.Data.Shapes;
+using StructureHelperLogics.NdmCalculations.Entities;
+using StructureHelperLogics.NdmCalculations.Materials;
namespace StructureHelper.Infrastructure.UI.DataContexts
{
@@ -15,5 +18,20 @@ namespace StructureHelper.Infrastructure.UI.DataContexts
ShowedX = 0;
ShowedY = 0;
}
+
+ public override INdmPrimitive GetNdmPrimitive()
+ {
+ double strength = 0;
+ double centerX = 0;
+ double centerY = 0;
+ string materialName = "C20";
+ ICenter center = new Center() { X = centerX, Y = centerY };
+ double height = 0;
+ double width = 0;
+ IShape shape = new StructureHelperLogics.Data.Shapes.Rectangle() { Height = height, Width = width, Angle = 0 };
+ IPrimitiveMaterial primitiveMaterial = new PrimitiveMaterial() { MaterialType = GetMaterialTypes(), ClassName = materialName, Strength = strength }; ;
+ INdmPrimitive ndmPrimitive = new NdmPrimitive() { Center = center, Shape = shape, PrimitiveMaterial = primitiveMaterial };
+ return ndmPrimitive;
+ }
}
}
diff --git a/StructureHelper.csproj b/StructureHelper.csproj
index bc8d12c..a53a43f 100644
--- a/StructureHelper.csproj
+++ b/StructureHelper.csproj
@@ -157,5 +157,11 @@
+
+
+ {330BEF5B-15BE-4D2C-A750-B1AE50FB2BE3}
+ StructureHelperLogics
+
+
\ No newline at end of file