Add calculators saving

This commit is contained in:
Evgeny Redikultsev
2024-10-19 20:32:25 +05:00
parent d16c0e1f79
commit d3a1992f4d
131 changed files with 1742 additions and 375 deletions

View File

@@ -29,6 +29,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
}
targetObject.NdmElement.Triangulate = sourceObject.NdmElement.Triangulate;
point2DUpdateStrategy.Update(targetObject.Center, sourceObject.Center);
targetObject.RotationAngle = sourceObject.RotationAngle;
visualPropsUpdateStrategy.Update(targetObject.VisualProperty, sourceObject.VisualProperty);
tupleUpdateStrategy.Update(targetObject.NdmElement.UsersPrestrain, sourceObject.NdmElement.UsersPrestrain);
}

View File

@@ -57,7 +57,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives.Logics
{
foreach (var primitive in HasPrimitives.Primitives)
{
if (primitive is IRebarPrimitive rebar)
if (primitive is IRebarNdmPrimitive rebar)
{
CheckRebar(rebar);
}
@@ -65,7 +65,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives.Logics
}
}
private void CheckRebar(IRebarPrimitive rebar)
private void CheckRebar(IRebarNdmPrimitive rebar)
{
if (checkRebarPrimitiveLogic is null)
{

View File

@@ -14,7 +14,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives.Logics
private string checkResult;
private bool result;
public IRebarPrimitive RebarPrimitive { get; set; }
public IRebarNdmPrimitive RebarPrimitive { get; set; }
public string CheckResult => checkResult;

View File

@@ -5,7 +5,7 @@ using StructureHelperCommon.Services;
namespace StructureHelperLogics.NdmCalculations.Primitives
{
public class EllipsePrimitiveUpdateStrategy : IUpdateStrategy<IEllipsePrimitive>
public class EllipsePrimitiveUpdateStrategy : IUpdateStrategy<IEllipseNdmPrimitive>
{
private IUpdateStrategy<INdmPrimitive> basePrimitiveUpdateStrategy;
private IUpdateStrategy<IDivisionSize> divisionPropsUpdateStrategy;
@@ -26,7 +26,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
{
}
public void Update(IEllipsePrimitive targetObject, IEllipsePrimitive sourceObject)
public void Update(IEllipseNdmPrimitive targetObject, IEllipseNdmPrimitive sourceObject)
{
CheckObject.IsNull(sourceObject, "source object");
CheckObject.IsNull(targetObject, "target object");

View File

@@ -9,6 +9,6 @@ namespace StructureHelperLogics.NdmCalculations.Primitives.Logics
{
public interface ICheckRebarPrimitiveLogic : ICheckLogic
{
IRebarPrimitive RebarPrimitive { get; set; }
IRebarNdmPrimitive RebarPrimitive { get; set; }
}
}

View File

@@ -11,21 +11,21 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
CheckObject.CompareTypes(targetObject, sourceObject);
if (targetObject is PointPrimitive point)
if (targetObject is PointNdmPrimitive point)
{
new PointUpdateStrategy().Update(point, (PointPrimitive)sourceObject);
new PointPrimitiveUpdateStrategy().Update(point, (PointNdmPrimitive)sourceObject);
}
else if (targetObject is RebarPrimitive rebar)
else if (targetObject is RebarNdmPrimitive rebar)
{
new RebarUpdateStrategy().Update(rebar, (RebarPrimitive)sourceObject);
new RebarNdmPrimitiveUpdateStrategy().Update(rebar, (RebarNdmPrimitive)sourceObject);
}
else if (targetObject is RectanglePrimitive rectangle)
else if (targetObject is RectangleNdmPrimitive rectangle)
{
new RectanglePrimitiveUpdateStrategy().Update(rectangle, (RectanglePrimitive)sourceObject);
new RectanglePrimitiveUpdateStrategy().Update(rectangle, (RectangleNdmPrimitive)sourceObject);
}
else if (targetObject is EllipsePrimitive circle)
else if (targetObject is EllipseNdmPrimitive circle)
{
new EllipsePrimitiveUpdateStrategy().Update(circle, (EllipsePrimitive)sourceObject);
new EllipsePrimitiveUpdateStrategy().Update(circle, (EllipseNdmPrimitive)sourceObject);
}
else
{

View File

@@ -8,10 +8,10 @@ using System.Threading.Tasks;
namespace StructureHelperLogics.NdmCalculations.Primitives
{
internal class PointUpdateStrategy : IUpdateStrategy<PointPrimitive>
public class PointPrimitiveUpdateStrategy : IUpdateStrategy<IPointNdmPrimitive>
{
static readonly BaseUpdateStrategy basePrimitiveUpdateStrategy = new();
public void Update(PointPrimitive targetObject, PointPrimitive sourceObject)
public void Update(IPointNdmPrimitive targetObject, IPointNdmPrimitive sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
basePrimitiveUpdateStrategy.Update(targetObject, sourceObject);

View File

@@ -7,12 +7,13 @@ using System.Threading.Tasks;
namespace StructureHelperLogics.NdmCalculations.Primitives
{
internal class RebarUpdateStrategy : IUpdateStrategy<RebarPrimitive>
public class RebarNdmPrimitiveUpdateStrategy : IUpdateStrategy<IRebarNdmPrimitive>
{
static readonly BaseUpdateStrategy basePrimitiveUpdateStrategy = new();
public void Update(RebarPrimitive targetObject, RebarPrimitive sourceObject)
public void Update(IRebarNdmPrimitive targetObject, IRebarNdmPrimitive sourceObject)
{
if (ReferenceEquals(targetObject, sourceObject)) { return; }
if (sourceObject.HostPrimitive is not null)
basePrimitiveUpdateStrategy.Update(targetObject, sourceObject);
targetObject.Area = sourceObject.Area;
targetObject.HostPrimitive = sourceObject.HostPrimitive;

View File

@@ -10,7 +10,7 @@ using System.Threading.Tasks;
namespace StructureHelperLogics.NdmCalculations.Primitives
{
internal class RectanglePrimitiveUpdateStrategy : IUpdateStrategy<IRectanglePrimitive>
public class RectanglePrimitiveUpdateStrategy : IUpdateStrategy<IRectangleNdmPrimitive>
{
private IUpdateStrategy<INdmPrimitive> basePrimitiveUpdateStrategy;
private IUpdateStrategy<IDivisionSize> divisionPropsUpdateStrategy;
@@ -32,7 +32,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
}
public void Update(IRectanglePrimitive targetObject, IRectanglePrimitive sourceObject)
public void Update(IRectangleNdmPrimitive targetObject, IRectangleNdmPrimitive sourceObject)
{
CheckObject.IsNull(sourceObject, "source object");
CheckObject.IsNull(targetObject, "target object");