Change value diagram calculator
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||
using StructureHelperCommon.Models.Shapes;
|
||||
using StructureHelperCommon.Services.Exports;
|
||||
using StructureHelperLogics.Models.Primitives;
|
||||
|
||||
namespace StructureHelperLogics.NdmCalculations.Primitives
|
||||
{
|
||||
@@ -31,6 +32,10 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
|
||||
{
|
||||
primitives.Add(GetCirclePrimitive(circle));
|
||||
}
|
||||
else if (dxfEntity is Point point)
|
||||
{
|
||||
primitives.Add(GetPointPrimitive(point));
|
||||
}
|
||||
else
|
||||
{
|
||||
// just skip all types of primitives
|
||||
@@ -39,6 +44,31 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
|
||||
}
|
||||
}
|
||||
|
||||
private INdmPrimitive GetPointPrimitive(Point point)
|
||||
{
|
||||
INdmPrimitive primitive = null;
|
||||
double area = 0.000314;
|
||||
if (point.Layer.Name == layerLogic.GetLayerName(LayerNames.StructuralRebars))
|
||||
{
|
||||
RebarNdmPrimitive rebar = new(Guid.NewGuid())
|
||||
{
|
||||
Name = "Imported rebar",
|
||||
Area = area
|
||||
};
|
||||
primitive = rebar;
|
||||
}
|
||||
else
|
||||
{
|
||||
PointNdmPrimitive pointPrimitive = new(Guid.NewGuid())
|
||||
{
|
||||
Name = "Imported point",
|
||||
Area = area
|
||||
};
|
||||
primitive = pointPrimitive;
|
||||
}
|
||||
return primitive;
|
||||
}
|
||||
|
||||
private INdmPrimitive GetCirclePrimitive(Circle circle)
|
||||
{
|
||||
INdmPrimitive primitive = null;
|
||||
|
||||
@@ -27,8 +27,8 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
|
||||
}
|
||||
public void Update(IEllipseNdmPrimitive targetObject, IEllipseNdmPrimitive sourceObject)
|
||||
{
|
||||
CheckObject.IsNull(sourceObject, "source object");
|
||||
CheckObject.IsNull(targetObject, "target object");
|
||||
CheckObject.ThrowIfNull(sourceObject, "source object");
|
||||
CheckObject.ThrowIfNull(targetObject, "target object");
|
||||
if (ReferenceEquals(targetObject, sourceObject)) { return; }
|
||||
basePrimitiveUpdateStrategy.Update(targetObject, sourceObject);
|
||||
divisionPropsUpdateStrategy.Update(targetObject.DivisionSize, sourceObject.DivisionSize);
|
||||
|
||||
@@ -18,9 +18,9 @@ namespace StructureHelperLogics.NdmCalculations.Primitives.Logics
|
||||
|
||||
public void Update(IHasPrimitives targetObject, IHasPrimitives sourceObject)
|
||||
{
|
||||
CheckObject.IsNull(cloningStrategy);
|
||||
CheckObject.IsNull(sourceObject);
|
||||
CheckObject.IsNull(targetObject);
|
||||
CheckObject.ThrowIfNull(cloningStrategy);
|
||||
CheckObject.ThrowIfNull(sourceObject);
|
||||
CheckObject.ThrowIfNull(targetObject);
|
||||
if (ReferenceEquals(targetObject, sourceObject)) { return; }
|
||||
targetObject.Primitives.Clear();
|
||||
foreach (var primitive in sourceObject.Primitives)
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives.Logics
|
||||
{
|
||||
public void Update(IHasPrimitives targetObject, IHasPrimitives sourceObject)
|
||||
{
|
||||
CheckObject.IsNull(targetObject, sourceObject);
|
||||
CheckObject.ThrowIfNull(targetObject, sourceObject);
|
||||
if (ReferenceEquals(targetObject, sourceObject)) { return; }
|
||||
targetObject.Primitives.Clear();
|
||||
targetObject.Primitives.AddRange(sourceObject.Primitives);
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives.Logics
|
||||
/// <inheritdoc/>
|
||||
public void Update(INdmElement targetObject, INdmElement sourceObject)
|
||||
{
|
||||
CheckObject.IsNull(targetObject, sourceObject);
|
||||
CheckObject.ThrowIfNull(targetObject, sourceObject);
|
||||
if (ReferenceEquals(targetObject, sourceObject)) { return; }
|
||||
targetObject.Triangulate = sourceObject.Triangulate;
|
||||
tupleUpdateStrategy.Update(targetObject.UsersPrestrain, sourceObject.UsersPrestrain);
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
|
||||
|
||||
public void Update(INdmPrimitive targetObject, INdmPrimitive sourceObject)
|
||||
{
|
||||
CheckObject.IsNull(targetObject, sourceObject);
|
||||
CheckObject.ThrowIfNull(targetObject, sourceObject);
|
||||
if (ReferenceEquals(targetObject, sourceObject)) { return; }
|
||||
InitializeStrategies();
|
||||
targetObject.Name = sourceObject.Name;
|
||||
|
||||
@@ -28,8 +28,8 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
|
||||
|
||||
public void Update(IRectangleNdmPrimitive targetObject, IRectangleNdmPrimitive sourceObject)
|
||||
{
|
||||
CheckObject.IsNull(sourceObject, "source object");
|
||||
CheckObject.IsNull(targetObject, "target object");
|
||||
CheckObject.ThrowIfNull(sourceObject, "source object");
|
||||
CheckObject.ThrowIfNull(targetObject, "target object");
|
||||
if (ReferenceEquals(targetObject, sourceObject)) { return; }
|
||||
basePrimitiveUpdateStrategy.Update(targetObject, sourceObject);
|
||||
divisionPropsUpdateStrategy.Update(targetObject.DivisionSize, sourceObject.DivisionSize);
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
|
||||
|
||||
public void Update(IShapeNdmPrimitive targetObject, IShapeNdmPrimitive sourceObject)
|
||||
{
|
||||
CheckObject.IsNull(targetObject, sourceObject);
|
||||
CheckObject.ThrowIfNull(targetObject, sourceObject);
|
||||
if (ReferenceEquals(targetObject, sourceObject)) { return; }
|
||||
InitializeStrategies();
|
||||
basePrimitiveUpdateStrategy.Update(targetObject, sourceObject);
|
||||
|
||||
Reference in New Issue
Block a user