using StructureHelperCommon.Infrastructures.Interfaces; using System; //Copyright (c) 2025 Redikultsev Evgeny, Ekaterinburg, Russia //All rights reserved. namespace StructureHelperCommon.Models.Forces.BeamShearActions { /// public class BeamShearAction : IBeamShearAction { private IUpdateStrategy updateStrategy; /// public Guid Id { get; } /// public string Name { get; set; } /// public IFactoredForceTuple ExternalForce { get; } = new FactoredForceTuple(Guid.NewGuid()); /// public IBeamShearAxisAction SupportAction { get; } = new BeamShearAxisAction(Guid.NewGuid()); public BeamShearAction(Guid id) { Id = id; } public object Clone() { BeamShearAction beamShearAction = new(Guid.NewGuid()); updateStrategy ??= new BeamShearActionUpdateStrategy(); updateStrategy.Update(beamShearAction, this); return beamShearAction; } } }