- // List of documents to process
- std::list<DocumentPtr> aDocList;
- SessionPtr aSession = ModelAPI_Session::get();
- DocumentPtr aDocument = aSession->activeDocument();
- DocumentPtr aRootDocument = aSession->moduleDocument();
- aDocList.push_back(aDocument);
- if (aDocument != aRootDocument) {
- aDocList.push_back(aRootDocument);
- }
-
- // Find all features
- for (std::list<DocumentPtr>::const_iterator aDicumentIt = aDocList.begin();
- aDicumentIt != aDocList.end(); ++aDicumentIt) {
- const DocumentPtr& aDocument = *aDicumentIt;
- std::list<FeaturePtr> aFeatures = aDocument->allFeatures();
- std::list<FeaturePtr>::iterator aFeatureIt = aFeatures.begin();
- for (; aFeatureIt != aFeatures.end(); ++aFeatureIt) {
- const FeaturePtr& aFeature = *aFeatureIt;
-
- // If Parameter feature then rename its expression
+ std::set<std::shared_ptr<ModelAPI_Attribute> > anAttributes =
+ aResultParameter->data()->refsToMe();
+ std::set<std::shared_ptr<ModelAPI_Attribute> >::const_iterator anAttributeIt =
+ anAttributes.cbegin();
+ for (; anAttributeIt != anAttributes.cend(); ++anAttributeIt) {
+ const AttributePtr& anAttribute = *anAttributeIt;
+ AttributeRefListPtr anAttributeRefList =
+ std::dynamic_pointer_cast<ModelAPI_AttributeRefList>(anAttribute);
+ if (anAttributeRefList.get()) {