diff --git a/src/Mod/Assembly/App/AssemblyLink.cpp b/src/Mod/Assembly/App/AssemblyLink.cpp index 774d2fd638..3a8d6530cd 100644 --- a/src/Mod/Assembly/App/AssemblyLink.cpp +++ b/src/Mod/Assembly/App/AssemblyLink.cpp @@ -205,7 +205,7 @@ void AssemblyLink::synchronizeComponents() for (auto* obj2 : assemblyLinkGroup) { App::DocumentObject* linkedObj; - auto* subAsmLink = dynamic_cast(obj2); + auto* subAsmLink = freecad_cast(obj2); auto* link2 = dynamic_cast(obj2); if (subAsmLink) { linkedObj = subAsmLink->getLinkedObject2(false); // not recursive @@ -279,8 +279,8 @@ void copyPropertyIfDifferent(App::DocumentObject* source, App::DocumentObject* target, const char* propertyName) { - auto sourceProp = dynamic_cast(source->getPropertyByName(propertyName)); - auto targetProp = dynamic_cast(target->getPropertyByName(propertyName)); + auto sourceProp = freecad_cast(source->getPropertyByName(propertyName)); + auto targetProp = freecad_cast(target->getPropertyByName(propertyName)); if (sourceProp && targetProp && sourceProp->getValue() != targetProp->getValue()) { targetProp->setValue(sourceProp->getValue()); } @@ -501,12 +501,12 @@ JointGroup* AssemblyLink::ensureJointGroup() App::DocumentObject* AssemblyLink::getLinkedObject2(bool recursive) const { auto* obj = LinkedObject.getValue(); - auto* assembly = dynamic_cast(obj); + auto* assembly = freecad_cast(obj); if (assembly) { return assembly; } else { - auto* assemblyLink = dynamic_cast(obj); + auto* assemblyLink = freecad_cast(obj); if (assemblyLink) { if (recursive) { return assemblyLink->getLinkedObject2(recursive); @@ -522,14 +522,14 @@ App::DocumentObject* AssemblyLink::getLinkedObject2(bool recursive) const AssemblyObject* AssemblyLink::getLinkedAssembly() const { - return dynamic_cast(getLinkedObject2()); + return freecad_cast(getLinkedObject2()); } AssemblyObject* AssemblyLink::getParentAssembly() const { std::vector inList = getInList(); for (auto* obj : inList) { - auto* assembly = dynamic_cast(obj); + auto* assembly = freecad_cast(obj); if (assembly) { return assembly; } diff --git a/src/Mod/Assembly/App/AssemblyObject.cpp b/src/Mod/Assembly/App/AssemblyObject.cpp index c10e996298..e38e46ab14 100644 --- a/src/Mod/Assembly/App/AssemblyObject.cpp +++ b/src/Mod/Assembly/App/AssemblyObject.cpp @@ -600,7 +600,7 @@ T* AssemblyObject::getGroup() } for (auto group : groups) { if (hasObject(group)) { - return dynamic_cast(group); + return freecad_cast(group); } } return nullptr; @@ -621,7 +621,7 @@ ViewGroup* AssemblyObject::getExplodedViewGroup() const } for (auto viewGroup : viewGroups) { if (hasObject(viewGroup)) { - return dynamic_cast(viewGroup); + return freecad_cast(viewGroup); } } return nullptr; @@ -1935,7 +1935,7 @@ std::vector AssemblyObject::getSubAssemblies() doc->getObjectsOfType(Assembly::AssemblyLink::getClassTypeId()); for (auto assembly : assemblies) { if (hasObject(assembly)) { - subAssemblies.push_back(dynamic_cast(assembly)); + subAssemblies.push_back(freecad_cast(assembly)); } } diff --git a/src/Mod/Assembly/App/AssemblyUtils.cpp b/src/Mod/Assembly/App/AssemblyUtils.cpp index f665b25613..b1df6e437e 100644 --- a/src/Mod/Assembly/App/AssemblyUtils.cpp +++ b/src/Mod/Assembly/App/AssemblyUtils.cpp @@ -392,7 +392,7 @@ JointGroup* getJointGroup(const App::Part* part) } for (auto jointGroup : jointGroups) { if (part->hasObject(jointGroup)) { - return dynamic_cast(jointGroup); + return freecad_cast(jointGroup); } } return nullptr; diff --git a/src/Mod/Assembly/Gui/ViewProviderAssembly.cpp b/src/Mod/Assembly/Gui/ViewProviderAssembly.cpp index 9b6b1c2ecd..1aa6b9f324 100644 --- a/src/Mod/Assembly/Gui/ViewProviderAssembly.cpp +++ b/src/Mod/Assembly/Gui/ViewProviderAssembly.cpp @@ -1064,7 +1064,7 @@ bool ViewProviderAssembly::canDelete(App::DocumentObject* objBeingDeleted) const addSubComponents = [&](AssemblyLink* asmLink, std::vector& objs) { std::vector assemblyLinkGroup = asmLink->Group.getValues(); for (auto* obj : assemblyLinkGroup) { - auto* subAsmLink = dynamic_cast(obj); + auto* subAsmLink = freecad_cast(obj); auto* link = dynamic_cast(obj); if (subAsmLink || link) { if (std::ranges::find(objs, obj) == objs.end()) { diff --git a/src/Mod/Assembly/Gui/ViewProviderAssemblyLink.cpp b/src/Mod/Assembly/Gui/ViewProviderAssemblyLink.cpp index 37c1c89fb8..9802778efd 100644 --- a/src/Mod/Assembly/Gui/ViewProviderAssemblyLink.cpp +++ b/src/Mod/Assembly/Gui/ViewProviderAssemblyLink.cpp @@ -86,7 +86,7 @@ bool ViewProviderAssemblyLink::setEdit(int mode) bool ViewProviderAssemblyLink::doubleClicked() { - auto* link = dynamic_cast(getObject()); + auto* link = freecad_cast(getObject()); if (!link) { return true; @@ -94,7 +94,7 @@ bool ViewProviderAssemblyLink::doubleClicked() auto* assembly = link->getLinkedAssembly(); auto* vpa = - dynamic_cast(Gui::Application::Instance->getViewProvider(assembly)); + freecad_cast(Gui::Application::Instance->getViewProvider(assembly)); if (!vpa) { return true; }