Files
wg_cpso/CPSO/Commands/0040_Meshing/CReplaceMeshingParameters.cs
2026-03-25 18:20:24 +08:00

51 lines
1.8 KiB
C#

using CaeGlobals;
using CaeMesh;
using System;
#pragma warning disable IDE0130
namespace CPSO.Commands
{
[Serializable]
class CReplaceMeshSetupItem : PreprocessCommand, ICommandWithDialog
{
// Variables
private string _oldMeshSetupItemName;
private MeshSetupItem _meshSetupItem;
// Constructor
public CReplaceMeshSetupItem(string oldMeshSetupItemName, MeshSetupItem newMeshSetupItem)
: base("Edit mesh setup item")
{
_oldMeshSetupItemName = oldMeshSetupItemName;
_meshSetupItem = newMeshSetupItem.DeepClone();
}
// Methods
public override bool Execute(Controller receiver)
{
receiver.ReplaceMeshSetupItem(_oldMeshSetupItemName, _meshSetupItem.DeepClone());
return true;
}
// ICommandWithDialog
public bool ExecuteWithDialog(Controller receiver)
{
if (_meshSetupItem is MeshSetupItem msi)
{
_meshSetupItem = receiver.EditMeshSetupItemByForm(msi.DeepClone());
}
else
{
throw new NotSupportedException("MeshSetupItemTypeException");
}
return Execute(receiver);
}
public override string GetCommandString()
{
return base.GetCommandString() + _oldMeshSetupItemName + ", " + _meshSetupItem.ToString();
}
}
}