[FEM] use std::unique_ptr for all dialog objects

- also fix too long line
- also further clang automatic code style changes
This commit is contained in:
Uwe
2023-03-22 19:13:24 +01:00
parent d4eaf7a90b
commit 9d45d40ec5
42 changed files with 1463 additions and 831 deletions

View File

@@ -54,16 +54,13 @@ using namespace Gui;
TaskCreateNodeSet::TaskCreateNodeSet(Fem::FemSetNodesObject* pcObject, QWidget* parent)
: TaskBox(Gui::BitmapFactory().pixmap("FEM_CreateNodesSet"),
tr("Nodes set"),
true,
parent),
pcObject(pcObject),
selectionMode(none)
: TaskBox(Gui::BitmapFactory().pixmap("FEM_CreateNodesSet"), tr("Nodes set"), true, parent),
pcObject(pcObject),
selectionMode(none),
ui(new Ui_TaskCreateNodeSet)
{
// we need a separate container widget to add all controls to
proxy = new QWidget(this);
ui = new Ui_TaskCreateNodeSet();
ui->setupUi(proxy);
QMetaObject::connectSlotsByName(this);
@@ -71,11 +68,16 @@ TaskCreateNodeSet::TaskCreateNodeSet(Fem::FemSetNodesObject* pcObject, QWidget*
QObject::connect(ui->toolButton_Poly, &QToolButton::clicked, this, &TaskCreateNodeSet::Poly);
QObject::connect(ui->toolButton_Pick, &QToolButton::clicked, this, &TaskCreateNodeSet::Pick);
QObject::connect(ui->comboBox, qOverload<int>(&QComboBox::activated), this, &TaskCreateNodeSet::SwitchMethod);
QObject::connect(ui->comboBox,
qOverload<int>(&QComboBox::activated),
this,
&TaskCreateNodeSet::SwitchMethod);
// check if the Link to the FemMesh is defined
assert(pcObject->FemMesh.getValue<Fem::FemMeshObject*>());
MeshViewProvider = dynamic_cast<ViewProviderFemMesh*>(Gui::Application::Instance->getViewProvider(pcObject->FemMesh.getValue<Fem::FemMeshObject*>()));
MeshViewProvider =
dynamic_cast<ViewProviderFemMesh*>(Gui::Application::Instance->getViewProvider(
pcObject->FemMesh.getValue<Fem::FemMeshObject*>()));
assert(MeshViewProvider);
tempSet = pcObject->Nodes.getValues();
@@ -152,9 +154,13 @@ void TaskCreateNodeSet::DefineNodesCallback(void* ud, SoEventCallback* n)
taskBox->DefineNodes(polygon, proj, role == Gui::SelectionRole::Inner ? true : false);
}
void TaskCreateNodeSet::DefineNodes(const Base::Polygon2d& polygon, const Gui::ViewVolumeProjection& proj, bool inner)
void TaskCreateNodeSet::DefineNodes(const Base::Polygon2d& polygon,
const Gui::ViewVolumeProjection& proj, bool inner)
{
const SMESHDS_Mesh* data = pcObject->FemMesh.getValue<Fem::FemMeshObject*>()->FemMesh.getValue().getSMesh()->GetMeshDS();
const SMESHDS_Mesh* data = pcObject->FemMesh.getValue<Fem::FemMeshObject*>()
->FemMesh.getValue()
.getSMesh()
->GetMeshDS();
SMDS_NodeIteratorPtr aNodeIter = data->nodesIterator();
Base::Vector3f pt2d;
@@ -192,16 +198,19 @@ void TaskCreateNodeSet::onSelectionChanged(const Gui::SelectionChanges& msg)
tempSet.clear();
Base::Console().Message("Picked Element:%i Face:%i\n", elem, face);
if (!ui->checkBox_Add->isChecked()) {
std::set<long> tmp = pcObject->FemMesh.getValue<Fem::FemMeshObject*>()->FemMesh.getValue().getSurfaceNodes(elem, face);
std::set<long> tmp = pcObject->FemMesh.getValue<Fem::FemMeshObject*>()
->FemMesh.getValue()
.getSurfaceNodes(elem, face);
tempSet.insert(tmp.begin(), tmp.end());
}
else {
tempSet = pcObject->FemMesh.getValue<Fem::FemMeshObject*>()->FemMesh.getValue().getSurfaceNodes(elem, face);
tempSet = pcObject->FemMesh.getValue<Fem::FemMeshObject*>()
->FemMesh.getValue()
.getSurfaceNodes(elem, face);
}
selectionMode = none;
@@ -211,10 +220,8 @@ void TaskCreateNodeSet::onSelectionChanged(const Gui::SelectionChanges& msg)
}
}
TaskCreateNodeSet::~TaskCreateNodeSet()
{
delete ui;
Gui::Selection().rmvSelectionGate();
}