- _PTR(SObject) aSObject = SMESH::getStudy()->FindObjectID( entry( ind ).toUtf8().data() );
- GEOM::GEOM_Object_var aObject = SMESH::SObjectToInterface<GEOM::GEOM_Object>(aSObject);
- if (!aObject->_is_nil())
- return aObject->IsParametrical();
+ if (isReference(ind)) {
+ SUIT_DataOwner* aOwn = myOwners.at(ind);
+ LightApp_DataOwner* sowner = dynamic_cast<LightApp_DataOwner*>(aOwn);
+ QString aEntry = sowner->entry();
+ _PTR(SObject) aSObject = SMESH::getStudy()->FindObjectID(aEntry.toStdString());
+ _PTR(SObject) aFatherObj = aSObject->GetFather();
+ _PTR(SComponent) aComponent = aFatherObj->GetFatherComponent();
+ if (aComponent->ComponentDataType() == "SMESH") {
+ QString aObjEntry = entry(ind);
+ _PTR(SObject) aGeomSObject = SMESH::getStudy()->FindObjectID(aObjEntry.toStdString());
+ GEOM::GEOM_Object_var aObject = SMESH::SObjectToInterface<GEOM::GEOM_Object>(aGeomSObject);
+ if (!aObject->_is_nil())
+ return aObject->IsParametrical();
+ }
+ }