+ continue;
+ }
+
+ AttributeSelectionPtr aSelection =
+ std::dynamic_pointer_cast<ModelAPI_AttributeSelection>(*anArgIt);
+ if (aSelection) {
+ myFilterArguments.push_back(FiltersAPI_Argument(aSelection));
+ continue;
+ }
+
+ AttributeStringPtr aString = std::dynamic_pointer_cast<ModelAPI_AttributeString>(*anArgIt);
+ if (aString) {
+ myFilterArguments.push_back(FiltersAPI_Argument(aString->value()));
+ continue;
+ }
+
+ AttributeDoublePtr aDouble = std::dynamic_pointer_cast<ModelAPI_AttributeDouble>(*anArgIt);
+ if (aDouble) {
+ myFilterArguments.push_back(FiltersAPI_Argument(aDouble->value()));
+ continue;
+ }
+
+ AttributeBooleanPtr aBoolean = std::dynamic_pointer_cast<ModelAPI_AttributeBoolean>(*anArgIt);
+ if (aBoolean) {
+ myFilterArguments.push_back(FiltersAPI_Argument(aBoolean->value()));
+ continue;