Merge pull request #19142 from hyarion/refactor/add-template-addobject

Add new addObject<T>() function
This commit is contained in:
Chris Hennes
2025-02-11 09:42:47 -06:00
committed by GitHub
95 changed files with 335 additions and 340 deletions

View File

@@ -123,8 +123,7 @@ private:
Base::FileInfo file(EncodedName.c_str());
// create new document and add Import feature
App::Document* pcDoc = App::GetApplication().newDocument();
FemMeshObject* pcFeature = static_cast<FemMeshObject*>(
pcDoc->addObject("Fem::FemMeshObject", file.fileNamePure().c_str()));
FemMeshObject* pcFeature = pcDoc->addObject<FemMeshObject>(file.fileNamePure().c_str());
pcFeature->Label.setValue(file.fileNamePure().c_str());
pcFeature->FemMesh.setValuePtr(mesh.release());
pcFeature->purgeTouched();
@@ -160,8 +159,7 @@ private:
std::unique_ptr<FemMesh> mesh(new FemMesh);
mesh->read(EncodedName.c_str());
FemMeshObject* pcFeature = static_cast<FemMeshObject*>(
pcDoc->addObject("Fem::FemMeshObject", file.fileNamePure().c_str()));
FemMeshObject* pcFeature = pcDoc->addObject<FemMeshObject>(file.fileNamePure().c_str());
pcFeature->Label.setValue(file.fileNamePure().c_str());
pcFeature->FemMesh.setValuePtr(mesh.release());
pcFeature->purgeTouched();
@@ -170,8 +168,7 @@ private:
#ifdef FC_USE_VTK
if (FemPostPipeline::canRead(file)) {
FemPostPipeline* pcFeature = static_cast<FemPostPipeline*>(
pcDoc->addObject("Fem::FemPostPipeline", file.fileNamePure().c_str()));
auto* pcFeature = pcDoc->addObject<FemPostPipeline>(file.fileNamePure().c_str());
pcFeature->Label.setValue(file.fileNamePure().c_str());
pcFeature->read(file);
@@ -321,8 +318,7 @@ private:
}
FemMeshPy* pShape = static_cast<FemMeshPy*>(pcObj);
Fem::FemMeshObject* pcFeature =
static_cast<Fem::FemMeshObject*>(pcDoc->addObject("Fem::FemMeshObject", name));
Fem::FemMeshObject* pcFeature = pcDoc->addObject<Fem::FemMeshObject>(name);
// copy the data
pcFeature->FemMesh.setValue(*(pShape->getFemMeshPtr()));
pcDoc->recompute();

View File

@@ -619,7 +619,7 @@ App::DocumentObject* FemVTKTools::readResult(const char* filename, App::Document
}
}
App::DocumentObject* mesh = pcDoc->addObject("Fem::FemMeshObject", "ResultMesh");
auto* mesh = pcDoc->addObject<Fem::FemMeshObject>("ResultMesh");
std::unique_ptr<FemMesh> fmesh(new FemMesh());
importVTKMesh(dataset, fmesh.get());
static_cast<PropertyFemMesh*>(mesh->getPropertyByName("FemMesh"))->setValuePtr(fmesh.release());

View File

@@ -2755,7 +2755,7 @@ void CmdFemPostPipelineFromResult::activated(int)
// create the pipeline object
openCommand(QT_TRANSLATE_NOOP("Command", "Create pipeline from result"));
if (foundAnalysis) {
pcAnalysis->addObject("Fem::FemPostPipeline", FeatName.c_str());
pcAnalysis->addObject<Fem::FemPostPipeline>(FeatName.c_str());
}
else {
doCommand(Doc,

View File

@@ -95,7 +95,7 @@ private:
class FemGuiExport ViewProviderFemPostFunctionProvider: public Gui::ViewProviderDocumentObject
{
PROPERTY_HEADER_WITH_OVERRIDE(FemGui::ViewProviderFemPostFunction);
PROPERTY_HEADER_WITH_OVERRIDE(FemGui::ViewProviderFemPostFunctionProvider);
public:
ViewProviderFemPostFunctionProvider();

View File

@@ -31,7 +31,7 @@ namespace FemGui
class ViewProviderSetElements: public Gui::ViewProviderGeometryObject
{
PROPERTY_HEADER_WITH_OVERRIDE(RobotGui::ViewProviderSetElements);
PROPERTY_HEADER_WITH_OVERRIDE(FemGui::ViewProviderSetElements);
public:
bool doubleClicked() override;

View File

@@ -31,7 +31,7 @@ namespace FemGui
class ViewProviderSetFaces: public Gui::ViewProviderGeometryObject
{
PROPERTY_HEADER_WITH_OVERRIDE(RobotGui::ViewProviderSetFaces);
PROPERTY_HEADER_WITH_OVERRIDE(FemGui::ViewProviderSetFaces);
public:
bool doubleClicked() override;

View File

@@ -31,7 +31,7 @@ namespace FemGui
class ViewProviderSetGeometry: public Gui::ViewProviderGeometryObject
{
PROPERTY_HEADER_WITH_OVERRIDE(RobotGui::ViewProviderSetGeometry);
PROPERTY_HEADER_WITH_OVERRIDE(FemGui::ViewProviderSetGeometry);
public:
bool doubleClicked() override;