diff --git a/StructureHelperLogics/Data/Shapes/Center.cs b/StructureHelperLogics/Data/Shapes/Center.cs
index 409230c..15a0a06 100644
--- a/StructureHelperLogics/Data/Shapes/Center.cs
+++ b/StructureHelperLogics/Data/Shapes/Center.cs
@@ -8,8 +8,8 @@ namespace StructureHelperLogics.Data.Shapes
public class Center : ICenter
{
///
- public double CenterX { get; set; }
+ public double X { get; set; }
///
- public double CenterY { get; set; }
+ public double Y { get; set; }
}
}
diff --git a/StructureHelperLogics/Data/Shapes/ICenter.cs b/StructureHelperLogics/Data/Shapes/ICenter.cs
index ec6d513..0bb3cff 100644
--- a/StructureHelperLogics/Data/Shapes/ICenter.cs
+++ b/StructureHelperLogics/Data/Shapes/ICenter.cs
@@ -14,11 +14,11 @@ namespace StructureHelperLogics.Data.Shapes
/// Coordinate of center of rectangle by local axis X, m
/// Координата центра вдоль локальной оси X, м
///
- double CenterX { get;}
+ double X { get;}
///
/// Coordinate of center of rectangle by local axis Y, m
/// Координата центра вдоль локальной оси Y, м
///
- double CenterY { get;}
+ double Y { get;}
}
}
diff --git a/StructureHelperLogics/Data/Shapes/ICenterShape.cs b/StructureHelperLogics/Data/Shapes/ICenterShape.cs
new file mode 100644
index 0000000..d855f45
--- /dev/null
+++ b/StructureHelperLogics/Data/Shapes/ICenterShape.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace StructureHelperLogics.Data.Shapes
+{
+ public interface ICenterShape
+ {
+ ICenter Center {get;}
+ IShape Shape { get;}
+ }
+}
diff --git a/StructureHelperLogics/Data/Shapes/ICircle.cs b/StructureHelperLogics/Data/Shapes/ICircle.cs
new file mode 100644
index 0000000..7adf5ee
--- /dev/null
+++ b/StructureHelperLogics/Data/Shapes/ICircle.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace StructureHelperLogics.Data.Shapes
+{
+ public interface ICircle : IShape
+ {
+ double Diameter { get; set; }
+ }
+}
diff --git a/StructureHelperLogics/Data/Shapes/IPoint.cs b/StructureHelperLogics/Data/Shapes/IPoint.cs
new file mode 100644
index 0000000..fe39f04
--- /dev/null
+++ b/StructureHelperLogics/Data/Shapes/IPoint.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace StructureHelperLogics.Data.Shapes
+{
+ public interface IPoint : IShape
+ {
+ double Area { get; set; }
+ }
+}
diff --git a/StructureHelperLogics/Data/Shapes/IRectangle.cs b/StructureHelperLogics/Data/Shapes/IRectangle.cs
index fa67bc9..c035e1c 100644
--- a/StructureHelperLogics/Data/Shapes/IRectangle.cs
+++ b/StructureHelperLogics/Data/Shapes/IRectangle.cs
@@ -4,7 +4,7 @@ using System.Text;
namespace StructureHelperLogics.Data.Shapes
{
- public interface IRectangle
+ public interface IRectangle : IShape
{
///
/// Width of rectangle, m
diff --git a/StructureHelperLogics/Data/Shapes/IShape.cs b/StructureHelperLogics/Data/Shapes/IShape.cs
new file mode 100644
index 0000000..71f6a08
--- /dev/null
+++ b/StructureHelperLogics/Data/Shapes/IShape.cs
@@ -0,0 +1,10 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace StructureHelperLogics.Data.Shapes
+{
+ public interface IShape
+ {
+ }
+}
diff --git a/StructureHelperLogics/Data/Shapes/Point.cs b/StructureHelperLogics/Data/Shapes/Point.cs
new file mode 100644
index 0000000..a53ce97
--- /dev/null
+++ b/StructureHelperLogics/Data/Shapes/Point.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace StructureHelperLogics.Data.Shapes
+{
+ public class Point : IPoint
+ {
+ public double Area { get; set; }
+ }
+}
diff --git a/StructureHelperLogics/Infrastructures/CommonEnums/CalcTerms.cs b/StructureHelperLogics/Infrastructures/CommonEnums/CalcTerms.cs
new file mode 100644
index 0000000..2046c9d
--- /dev/null
+++ b/StructureHelperLogics/Infrastructures/CommonEnums/CalcTerms.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace StructureHelperLogics.Infrastructures.CommonEnums
+{
+ public enum CalcTerms
+ {
+ ShortTerm,
+ LongTerm,
+ }
+}
diff --git a/StructureHelperLogics/Infrastructures/CommonEnums/LimitStates.cs b/StructureHelperLogics/Infrastructures/CommonEnums/LimitStates.cs
new file mode 100644
index 0000000..3ded8d5
--- /dev/null
+++ b/StructureHelperLogics/Infrastructures/CommonEnums/LimitStates.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace StructureHelperLogics.Infrastructures.CommonEnums
+{
+ public enum LimitStates
+ {
+ Collapse = 1,
+ ServiceAbility = 2,
+ Special = 3,
+ }
+}
diff --git a/StructureHelperLogics/NdmCalculations/Entities/INdmPrimitive.cs b/StructureHelperLogics/NdmCalculations/Entities/INdmPrimitive.cs
new file mode 100644
index 0000000..520ae44
--- /dev/null
+++ b/StructureHelperLogics/NdmCalculations/Entities/INdmPrimitive.cs
@@ -0,0 +1,17 @@
+using StructureHelperLogics.Data.Shapes;
+using StructureHelperLogics.NdmCalculations.Materials;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace StructureHelperLogics.NdmCalculations.Entities
+{
+ public interface INdmPrimitive
+ {
+ ICenter Center { get; set; }
+ IShape Shape { get; set; }
+ IPrimitiveMaterial PrimitiveMaterial {get;set;}
+ double NdmMaxSize { get; set; }
+ int NdmMinDivision { get; set; }
+ }
+}
diff --git a/StructureHelperLogics/NdmCalculations/Entities/NdmPrimitive.cs b/StructureHelperLogics/NdmCalculations/Entities/NdmPrimitive.cs
new file mode 100644
index 0000000..6cd643b
--- /dev/null
+++ b/StructureHelperLogics/NdmCalculations/Entities/NdmPrimitive.cs
@@ -0,0 +1,17 @@
+using StructureHelperLogics.Data.Shapes;
+using StructureHelperLogics.NdmCalculations.Materials;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace StructureHelperLogics.NdmCalculations.Entities
+{
+ public class NdmPrimitive : INdmPrimitive
+ {
+ public ICenter Center { get; set; }
+ public IShape Shape { get; set; }
+ public IPrimitiveMaterial PrimitiveMaterial { get; set; }
+ public double NdmMaxSize { get; set; }
+ public int NdmMinDivision { get; set; }
+ }
+}
diff --git a/StructureHelperLogics/NdmCalculations/Materials/IPrimitiveMaterial.cs b/StructureHelperLogics/NdmCalculations/Materials/IPrimitiveMaterial.cs
new file mode 100644
index 0000000..9b37530
--- /dev/null
+++ b/StructureHelperLogics/NdmCalculations/Materials/IPrimitiveMaterial.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace StructureHelperLogics.NdmCalculations.Materials
+{
+ public interface IPrimitiveMaterial
+ {
+ string Id { get;}
+ MaterialTypes MaterialType { get; }
+ string ClassName { get; }
+ double Strength { get; }
+ }
+}
diff --git a/StructureHelperLogics/NdmCalculations/Materials/MaterialTypes.cs b/StructureHelperLogics/NdmCalculations/Materials/MaterialTypes.cs
new file mode 100644
index 0000000..6b76a13
--- /dev/null
+++ b/StructureHelperLogics/NdmCalculations/Materials/MaterialTypes.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace StructureHelperLogics.NdmCalculations.Materials
+{
+ public enum MaterialTypes
+ {
+ Concrete,
+ Reinforcement,
+ //Steel,
+ //CarbonFiber,
+ }
+}
diff --git a/StructureHelperLogics/NdmCalculations/Materials/PrimitiveMaterial.cs b/StructureHelperLogics/NdmCalculations/Materials/PrimitiveMaterial.cs
new file mode 100644
index 0000000..70864e6
--- /dev/null
+++ b/StructureHelperLogics/NdmCalculations/Materials/PrimitiveMaterial.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace StructureHelperLogics.NdmCalculations.Materials
+{
+ public class PrimitiveMaterial : IPrimitiveMaterial
+ {
+ public string Id { get; }
+ public MaterialTypes MaterialType { get; set; }
+ public string ClassName { get; set; }
+ public double Strength { get; set; }
+
+ public PrimitiveMaterial()
+ {
+ Id = Convert.ToString(Guid.NewGuid());
+ }
+ }
+}
diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/ITriangulationOptions.cs b/StructureHelperLogics/NdmCalculations/Triangulations/ITriangulationOptions.cs
new file mode 100644
index 0000000..384e40b
--- /dev/null
+++ b/StructureHelperLogics/NdmCalculations/Triangulations/ITriangulationOptions.cs
@@ -0,0 +1,13 @@
+using StructureHelperLogics.Infrastructures.CommonEnums;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace StructureHelperLogics.NdmCalculations.Triangulations
+{
+ public interface ITriangulationOptions
+ {
+ LimitStates LimiteState { get; }
+ CalcTerms CalcTerm { get; }
+ }
+}
diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/RectangleTriangulationLogic.cs b/StructureHelperLogics/NdmCalculations/Triangulations/RectangleTriangulationLogic.cs
index 8a2b0fc..9f2e6d9 100644
--- a/StructureHelperLogics/NdmCalculations/Triangulations/RectangleTriangulationLogic.cs
+++ b/StructureHelperLogics/NdmCalculations/Triangulations/RectangleTriangulationLogic.cs
@@ -21,8 +21,8 @@ namespace StructureHelperLogics.NdmCalculations.Triangulations
LoaderCalculator.Triangulations.RectangleTriangulationLogicOptions logicOptions = new LoaderCalculator.Triangulations.RectangleTriangulationLogicOptions(width, height, ndmMaxSize, ndmMinDivision);
var logic = LoaderCalculator.Triangulations.Triangulation.GetLogicInstance(logicOptions);
var ndmCollection = logic.GetNdmCollection(new LoaderCalculator.Data.Planes.RectangularPlane { Material = material });
- double dX = rectangleOptions.Center.CenterX;
- double dY = rectangleOptions.Center.CenterY;
+ double dX = rectangleOptions.Center.X;
+ double dY = rectangleOptions.Center.Y;
NdmTransform.Move(ndmCollection, dX, dY);
double angle = rectangleOptions.Rectangle.Angle;
NdmTransform.Rotate(ndmCollection, angle);
diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/RectangleTriangulationOptions.cs b/StructureHelperLogics/NdmCalculations/Triangulations/RectangleTriangulationOptions.cs
index 6aabf70..d9e2aeb 100644
--- a/StructureHelperLogics/NdmCalculations/Triangulations/RectangleTriangulationOptions.cs
+++ b/StructureHelperLogics/NdmCalculations/Triangulations/RectangleTriangulationOptions.cs
@@ -1,4 +1,5 @@
using StructureHelperLogics.Data.Shapes;
+using StructureHelperLogics.NdmCalculations.Entities;
using System;
using System.Collections.Generic;
using System.Text;
@@ -24,5 +25,14 @@ namespace StructureHelperLogics.NdmCalculations.Triangulations
NdmMaxSize = ndmMaxSize;
NdmMinDivision = ndmMinDivision;
}
+
+ public RectangleTriangulationOptions(INdmPrimitive primitive)
+ {
+ if (! (primitive.Shape is IRectangle)) { throw new Exception("Shape type is not valid"); }
+ Center = primitive.Center;
+ Rectangle = primitive.Shape as IRectangle;
+ NdmMaxSize = primitive.NdmMaxSize;
+ NdmMinDivision = primitive.NdmMinDivision;
+ }
}
}
diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/Triangulation.cs b/StructureHelperLogics/NdmCalculations/Triangulations/Triangulation.cs
new file mode 100644
index 0000000..ac07cdb
--- /dev/null
+++ b/StructureHelperLogics/NdmCalculations/Triangulations/Triangulation.cs
@@ -0,0 +1,114 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using LoaderCalculator.Data.Materials;
+using LoaderCalculator.Data.Materials.MaterialBuilders;
+using LoaderCalculator.Data.Ndms;
+using StructureHelperLogics.Data.Shapes;
+using StructureHelperLogics.NdmCalculations.Entities;
+using StructureHelperLogics.NdmCalculations.Materials;
+
+namespace StructureHelperLogics.NdmCalculations.Triangulations
+{
+ public static class Triangulation
+ {
+ public static IEnumerable GetNdms(IEnumerable ndmPrimitives, ITriangulationOptions options)
+ {
+ List ndms = new List();
+ Dictionary primitiveMaterials = GetPrimitiveMaterials(ndmPrimitives);
+ Dictionary materials = GetMaterials(primitiveMaterials, options);
+ foreach (var ndmPrimitive in ndmPrimitives)
+ {
+ IPrimitiveMaterial primitiveMaterial = ndmPrimitive.PrimitiveMaterial;
+ IMaterial material;
+ if (materials.TryGetValue(primitiveMaterial.Id, out material) == false) { throw new Exception("Material dictionary is not valid"); }
+ IEnumerable localNdms = GetNdmsByPrimitive(ndmPrimitive, material);
+ ndms.AddRange(localNdms);
+ }
+ return ndms;
+ }
+
+ private static Dictionary GetPrimitiveMaterials(IEnumerable ndmPrimitives)
+ {
+ Dictionary primitiveMaterials = new Dictionary();
+ foreach (var ndmPrimitive in ndmPrimitives)
+ {
+ IPrimitiveMaterial material = ndmPrimitive.PrimitiveMaterial;
+ if (!primitiveMaterials.ContainsKey(material.Id)) { primitiveMaterials.Add(material.Id, material); }
+ }
+ return primitiveMaterials;
+ }
+
+ private static Dictionary GetMaterials(Dictionary PrimitiveMaterials, ITriangulationOptions options)
+ {
+ Dictionary materials = new Dictionary();
+ IEnumerable keyCollection = PrimitiveMaterials.Keys;
+ IMaterial material;
+ foreach (string id in keyCollection)
+ {
+ IPrimitiveMaterial primitiveMaterial;
+ if (PrimitiveMaterials.TryGetValue(id, out primitiveMaterial) == false) { throw new Exception("Material dictionary is not valid"); }
+ material = GetMaterial(primitiveMaterial, options);
+ materials.Add(id, material);
+ }
+ return materials;
+ }
+
+ private static IEnumerable GetNdmsByPrimitive(INdmPrimitive primitive, IMaterial material)
+ {
+ List ndms = new List();
+ ITriangulationLogicOptions options;
+ ICenter center = primitive.Center;
+ IShape shape = primitive.Shape;
+ if (shape is IRectangle)
+ {
+ IRectangle rectangle = shape as IRectangle;
+ options = new RectangleTriangulationOptions(primitive);
+ IRectangleTriangulationLogic logic = new RectangleTriangulationLogic(options);
+ ndms.AddRange(logic.GetNdmCollection(material));
+ }
+ else { throw new Exception("Primitive type is not valid"); }
+ return ndms;
+ }
+
+ private static IMaterial GetMaterial(IPrimitiveMaterial primitiveMaterial, ITriangulationOptions options)
+ {
+ IMaterial material;
+ if (primitiveMaterial.MaterialType == MaterialTypes.Concrete) { material = GetConcreteMaterial(primitiveMaterial, options); }
+ else if (primitiveMaterial.MaterialType == MaterialTypes.Reinforcement) { material = GetReinforcementMaterial(primitiveMaterial, options); }
+ else { throw new Exception("Material type is invalid"); }
+ return material;
+ }
+
+ private static IMaterial GetConcreteMaterial(IPrimitiveMaterial primitiveMaterial, ITriangulationOptions options)
+ {
+ IMaterialOptions materialOptions = new ConcreteOptions();
+ SetMaterialOptions(materialOptions, primitiveMaterial, options);
+ IMaterialBuilder builder = new ConcreteBuilder(materialOptions);
+ IBuilderDirector director = new BuilderDirector(builder);
+ return director.BuildMaterial();
+ }
+
+ private static IMaterial GetReinforcementMaterial(IPrimitiveMaterial primitiveMaterial, ITriangulationOptions options)
+ {
+ IMaterialOptions materialOptions = new ReinforcementOptions();
+ SetMaterialOptions(materialOptions, primitiveMaterial, options);
+ IMaterialBuilder builder = new ReinforcementBuilder(materialOptions);
+ IBuilderDirector director = new BuilderDirector(builder);
+ return director.BuildMaterial();
+ }
+
+ private static void SetMaterialOptions(IMaterialOptions materialOptions, IPrimitiveMaterial primitiveMaterial, ITriangulationOptions options)
+ {
+ materialOptions.Strength = primitiveMaterial.Strength;
+ materialOptions.CodesType = CodesType.EC2_1990;
+ if (options.LimiteState == Infrastructures.CommonEnums.LimitStates.Collapse) { materialOptions.LimitState = LimitStates.Collapse; }
+ else if (options.LimiteState == Infrastructures.CommonEnums.LimitStates.ServiceAbility) { materialOptions.LimitState = LimitStates.ServiceAbility; }
+ else if (options.LimiteState == Infrastructures.CommonEnums.LimitStates.Special) { materialOptions.LimitState = LimitStates.Special; }
+ else { throw new Exception("LimitStateType is not valid"); }
+ if (options.CalcTerm == Infrastructures.CommonEnums.CalcTerms.ShortTerm) { materialOptions.IsShortTerm = true; }
+ else if (options.CalcTerm == Infrastructures.CommonEnums.CalcTerms.LongTerm) { materialOptions.IsShortTerm = false; }
+ else { throw new Exception("Calculation term is not valid"); }
+ }
+ }
+}
diff --git a/StructureHelperLogics/NdmCalculations/Triangulations/TriangulationOptions.cs b/StructureHelperLogics/NdmCalculations/Triangulations/TriangulationOptions.cs
new file mode 100644
index 0000000..d13b47b
--- /dev/null
+++ b/StructureHelperLogics/NdmCalculations/Triangulations/TriangulationOptions.cs
@@ -0,0 +1,13 @@
+using StructureHelperLogics.Infrastructures.CommonEnums;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace StructureHelperLogics.NdmCalculations.Triangulations
+{
+ public class TriangulationOptions : ITriangulationOptions
+ {
+ public LimitStates LimiteState { get; set; }
+ public CalcTerms CalcTerm { get; set; }
+ }
+}
diff --git a/StructureHelperTests/FunctionalTests/Ndms/RCSections/RCSectionTest.cs b/StructureHelperTests/FunctionalTests/Ndms/RCSections/RCSectionTest.cs
new file mode 100644
index 0000000..2177b66
--- /dev/null
+++ b/StructureHelperTests/FunctionalTests/Ndms/RCSections/RCSectionTest.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace StructureHelperTests.FunctionalTests.Ndms.RCSections
+{
+ class RCSectionTest
+ {
+ }
+}
diff --git a/StructureHelperTests/FunctionalTests/Ndms/SteelSections/ReinforcementTest.cs b/StructureHelperTests/FunctionalTests/Ndms/SteelSections/ReinforcementTest.cs
new file mode 100644
index 0000000..6b7250b
--- /dev/null
+++ b/StructureHelperTests/FunctionalTests/Ndms/SteelSections/ReinforcementTest.cs
@@ -0,0 +1,55 @@
+using LoaderCalculator;
+using LoaderCalculator.Data.Matrix;
+using LoaderCalculator.Data.SourceData;
+using LoaderCalculator.Tests.Infrastructures.Logics;
+using NUnit.Framework;
+using StructureHelperLogics.Data.Shapes;
+using StructureHelperLogics.NdmCalculations.Entities;
+using StructureHelperLogics.NdmCalculations.Materials;
+using StructureHelperLogics.NdmCalculations.Triangulations;
+using System.Collections.Generic;
+using System.Threading;
+
+namespace StructureHelperTests.FunctionalTests.Ndms.SteelSections
+{
+ public class ReinforcementTest
+ {
+ [TestCase(0.3, 0.6, 4e8, 0, 0, 1800000, 0d, 0d, 5e-5d)]
+ [TestCase(0.3, 0.6, 4e8, 0, 0, -1800000, 0d, 0d, -5e-5d)]
+ [TestCase(0.3, 0.6, 4e8, 7000000, 0, 0, 0.0065882684745345067d, 0d, 0d)]
+ [TestCase(0.3, 0.6, 6e8, 10000000, 0, 0, 0.010485801788961743d, 0d, -0.00011114996218404612d)]
+ public void Run_ShouldPass(double width, double height, double strength, double mx, double my, double nz, double expectedKx, double expectedKy, double expectedEpsilonZ)
+ {
+ //Arrange
+ ICenter center = new Center() { X = 0, Y = 0 };
+ IRectangle rectangle = new Rectangle() { Width = width, Height = height, Angle = 0 };
+ IPrimitiveMaterial material = new PrimitiveMaterial() { MaterialType = MaterialTypes.Reinforcement, ClassName = "S400", Strength = strength };
+ ITriangulationOptions options = new TriangulationOptions() { LimiteState = StructureHelperLogics.Infrastructures.CommonEnums.LimitStates.Collapse, CalcTerm = StructureHelperLogics.Infrastructures.CommonEnums.CalcTerms.ShortTerm };
+ INdmPrimitive primitive = new NdmPrimitive() { Center = center, Shape = rectangle, PrimitiveMaterial = material, NdmMaxSize = 1, NdmMinDivision = 100 };
+ List primitives = new List();
+ primitives.Add(primitive);
+ var ndmList = Triangulation.GetNdms(primitives, options);
+ var loaderData = new LoaderOptions
+ {
+ Preconditions = new Preconditions
+ {
+ ConditionRate = 0.01,
+ MaxIterationCount = 100,
+ StartForceMatrix = new ForceMatrix { Mx = mx, My = my, Nz = nz }
+ },
+ NdmCollection = ndmList
+ };
+ var calculator = new Calculator();
+ //Act
+ calculator.Run(loaderData, new CancellationToken());
+ var results = calculator.Result;
+ //Assert
+ Assert.NotNull(results);
+ var strainMatrix = results.StrainMatrix;
+ Assert.NotNull(strainMatrix);
+ Assert.AreEqual(expectedKx, strainMatrix.Kx, ExpectedProcessor.GetAccuracyForExpectedValue(expectedKx));
+ Assert.AreEqual(expectedKy, strainMatrix.Ky, ExpectedProcessor.GetAccuracyForExpectedValue(expectedKy));
+ Assert.AreEqual(expectedEpsilonZ, strainMatrix.EpsZ, ExpectedProcessor.GetAccuracyForExpectedValue(expectedEpsilonZ));
+ }
+ }
+}
diff --git a/StructureHelperTests/StructureHelperTests.csproj b/StructureHelperTests/StructureHelperTests.csproj
index b93619b..d41ee1e 100644
--- a/StructureHelperTests/StructureHelperTests.csproj
+++ b/StructureHelperTests/StructureHelperTests.csproj
@@ -39,6 +39,8 @@
4
+
+
@@ -69,9 +71,7 @@
..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll
-
-
-
+
{330bef5b-15be-4d2c-a750-b1ae50fb2be3}
diff --git a/StructureHelperTests/UnitTests/Ndms/Triangulations/RectangleTriangulationTest.cs b/StructureHelperTests/UnitTests/Ndms/Triangulations/RectangleTriangulationTest.cs
index d3b14ec..0666cc4 100644
--- a/StructureHelperTests/UnitTests/Ndms/Triangulations/RectangleTriangulationTest.cs
+++ b/StructureHelperTests/UnitTests/Ndms/Triangulations/RectangleTriangulationTest.cs
@@ -34,7 +34,7 @@ namespace StructureHelperTests.UnitTests.Ndms.Triangulations
{
//Arrange
IMaterial material = new Material();
- ICenter center = new Center() { CenterX = centerX, CenterY = centerY };
+ ICenter center = new Center() { X = centerX, Y = centerY };
IRectangle rectangle = new Rectangle() { Width = width, Height = height, Angle = angle };
IRectangleTriangulationOptions options = new RectangleTriangulationOptions(center, rectangle, ndmMaxSize, ndmMinDivision);
IRectangleTriangulationLogic logic = new StructureHelperLogics.NdmCalculations.Triangulations.RectangleTriangulationLogic(options);