#include "FiltersPlugin_Selection.h"
-#include <ModelAPI_Session.h>
#include <ModelAPI_AttributeBoolean.h>
#include <ModelAPI_AttributeSelectionList.h>
+#include <ModelAPI_FiltersFactory.h>
+#include <ModelAPI_Session.h>
// identifier of the reverse flag of a filter
static const std::string kReverseAttrID("");
{
std::string anAttrID = theFilterID + kFilterSeparator + kReverseAttrID;
std::shared_ptr<ModelAPI_AttributeBoolean> aBool = boolean(anAttrID);
- return aBool->value();
+ if (aBool.get())
+ return aBool->value();
+ return false;
}
std::list<AttributePtr> FiltersPlugin_Selection::filterArgs(const std::string theFilterID) const
std::shared_ptr<ModelAPI_AttributeBoolean> aBool =
std::dynamic_pointer_cast<ModelAPI_AttributeBoolean>(data()->addFloatingAttribute(
kReverseAttrID, ModelAPI_AttributeBoolean::typeId(), *aFIt));
- aBool->setValue(false); // not reversed by default
+ if (!aBool->isInitialized())
+ aBool->setValue(false); // not reversed by default
ModelAPI_FiltersArgs anArgs;
anArgs.setFeature(std::dynamic_pointer_cast<ModelAPI_FiltersFeature>(data()->owner()));
anArgs.setFilter(*aFIt);