Files
wg_cpso/CPSO/Commands/_Compatibility/v1.4.1/CReplaceMeshRefinement.cs
2026-03-25 18:20:24 +08:00

49 lines
1.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CPSO;
using CaeModel;
using CaeMesh;
using CaeGlobals;
namespace CPSO.Commands
{
[Serializable]
class CReplaceMeshRefinement : PreprocessCommand, ICommandWithDialog
{
// Variables
private string _oldMeshRefinementName;
private FeMeshRefinement _newMeshRefinement;
// Constructor
public CReplaceMeshRefinement(string oldMeshRefinementName, FeMeshRefinement newMeshRefinement)
: base("Edit mesh refinement")
{
_oldMeshRefinementName = oldMeshRefinementName;
_newMeshRefinement = newMeshRefinement.DeepClone();
}
// Methods
public override bool Execute(Controller receiver)
{
receiver.ReplaceMeshSetupItem(_oldMeshRefinementName, _newMeshRefinement.DeepClone());
return true;
}
// ICommandWithDialog
public bool ExecuteWithDialog(Controller receiver)
{
_newMeshRefinement = (FeMeshRefinement)receiver.EditMeshSetupItemByForm(_newMeshRefinement.DeepClone());
return Execute(receiver);
}
public override string GetCommandString()
{
return base.GetCommandString() + _oldMeshRefinementName + ", " + _newMeshRefinement.ToString();
}
}
}