@@ -1668,14 +1668,8 @@ void setupFilter(Gui::Command* cmd, std::string Name)
1668
1668
1669
1669
auto selObject = Gui::Selection ().getSelection ()[0 ].pObject ;
1670
1670
1671
- // issue error if no post object
1672
- if (!((selObject->getTypeId () == Base::Type::fromName (" Fem::FemPostPipeline" ))
1673
- || (selObject->getTypeId () == Base::Type::fromName (" Fem::FemPostClipFilter" ))
1674
- || (selObject->getTypeId () == Base::Type::fromName (" Fem::FemPostContoursFilter" ))
1675
- || (selObject->getTypeId () == Base::Type::fromName (" Fem::FemPostCutFilter" ))
1676
- || (selObject->getTypeId () == Base::Type::fromName (" Fem::FemPostDataAlongLineFilter" ))
1677
- || (selObject->getTypeId () == Base::Type::fromName (" Fem::FemPostScalarClipFilter" ))
1678
- || (selObject->getTypeId () == Base::Type::fromName (" Fem::FemPostWarpVectorFilter" )))) {
1671
+ // issue error if no filter object
1672
+ if (!(selObject->isDerivedFrom <Fem::FemPostObject>())) {
1679
1673
QMessageBox::warning (
1680
1674
Gui::getMainWindow (),
1681
1675
qApp->translate (" setupFilter" , " Error: no post processing object selected." ),
@@ -1689,15 +1683,15 @@ void setupFilter(Gui::Command* cmd, std::string Name)
1689
1683
// (which can be a pipeline itself)
1690
1684
bool selectionIsPipeline = false ;
1691
1685
Fem::FemPostPipeline* pipeline = nullptr ;
1692
- if (selObject->getTypeId () == Base::Type::fromName ( " Fem::FemPostPipeline" )) {
1686
+ if (selObject->isDerivedFrom < Fem::FemPostPipeline>( )) {
1693
1687
pipeline = static_cast <Fem::FemPostPipeline*>(selObject);
1694
1688
selectionIsPipeline = true ;
1695
1689
}
1696
1690
else {
1697
1691
auto parents = selObject->getInList ();
1698
1692
if (!parents.empty ()) {
1699
1693
for (auto parentObject : parents) {
1700
- if (parentObject->getTypeId () == Base::Type::fromName ( " Fem::FemPostPipeline" )) {
1694
+ if (parentObject->isDerivedFrom < Fem::FemPostPipeline>( )) {
1701
1695
pipeline = static_cast <Fem::FemPostPipeline*>(parentObject);
1702
1696
}
1703
1697
}
@@ -1756,9 +1750,12 @@ void setupFilter(Gui::Command* cmd, std::string Name)
1756
1750
selObjectView->VectorMode .getValueAsString ());
1757
1751
1758
1752
// hide selected filter
1759
- cmd->doCommand (Gui::Command::Doc,
1760
- " App.activeDocument().%s.ViewObject.Visibility = False" ,
1761
- selObject->getNameInDocument ());
1753
+ if (!femFilter->isDerivedFrom <Fem::FemPostDataAlongLineFilter>()
1754
+ && !femFilter->isDerivedFrom <Fem::FemPostDataAtPointFilter>()) {
1755
+ cmd->doCommand (Gui::Command::Doc,
1756
+ " App.activeDocument().%s.ViewObject.Visibility = False" ,
1757
+ selObject->getNameInDocument ());
1758
+ }
1762
1759
1763
1760
cmd->updateActive ();
1764
1761
// open the dialog to edit the filter
0 commit comments