mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3214 Use template function to get referencing objects of specified type
This commit is contained in:
parent
97c3b9efea
commit
59f9d189e5
@ -112,16 +112,16 @@ bool RiaImportEclipseCaseTools::openEclipseCasesFromFile(const QStringList& file
|
|||||||
|
|
||||||
// Replace all occurrences of file sum with ecl sum
|
// Replace all occurrences of file sum with ecl sum
|
||||||
|
|
||||||
std::vector<caf::PdmObjectHandle*> referringObjects;
|
std::vector<RimSummaryCurve*> objects;
|
||||||
existingFileSummaryCase->objectsWithReferringPtrFields(referringObjects);
|
existingFileSummaryCase->objectsWithReferringPtrFieldsOfType(objects);
|
||||||
|
|
||||||
|
|
||||||
// UI settings of a curve filter is updated based
|
// UI settings of a curve filter is updated based
|
||||||
// on the new case association for the curves in the curve filter
|
// on the new case association for the curves in the curve filter
|
||||||
// UI is updated by loadDataAndUpdate()
|
// UI is updated by loadDataAndUpdate()
|
||||||
|
|
||||||
for (caf::PdmObjectHandle* objHandle : referringObjects)
|
for (RimSummaryCurve* summaryCurve : objects)
|
||||||
{
|
{
|
||||||
RimSummaryCurve* summaryCurve = dynamic_cast<RimSummaryCurve*>(objHandle);
|
|
||||||
if (summaryCurve)
|
if (summaryCurve)
|
||||||
{
|
{
|
||||||
RimSummaryCurveCollection* parentCollection = nullptr;
|
RimSummaryCurveCollection* parentCollection = nullptr;
|
||||||
|
@ -767,17 +767,7 @@ double RimFractureTemplate::computeFractureWidth(const RimFracture* fractureInst
|
|||||||
std::vector<RimFracture*> RimFractureTemplate::fracturesUsingThisTemplate() const
|
std::vector<RimFracture*> RimFractureTemplate::fracturesUsingThisTemplate() const
|
||||||
{
|
{
|
||||||
std::vector<RimFracture*> fractures;
|
std::vector<RimFracture*> fractures;
|
||||||
|
this->objectsWithReferringPtrFieldsOfType(fractures);
|
||||||
std::vector<caf::PdmObjectHandle*> objects;
|
|
||||||
this->objectsWithReferringPtrFields(objects);
|
|
||||||
for (auto object : objects)
|
|
||||||
{
|
|
||||||
auto f = dynamic_cast<RimFracture*>(object);
|
|
||||||
if (f)
|
|
||||||
{
|
|
||||||
fractures.push_back(f);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return fractures;
|
return fractures;
|
||||||
}
|
}
|
||||||
|
@ -227,12 +227,11 @@ void RimFractureTemplateCollection::createAndAssignTemplateCopyForNonMatchingUni
|
|||||||
{
|
{
|
||||||
RimFractureTemplate* templateWithMatchingUnit = nullptr;
|
RimFractureTemplate* templateWithMatchingUnit = nullptr;
|
||||||
|
|
||||||
std::vector<caf::PdmObjectHandle*> referringObjects;
|
std::vector<RimFracture*> referringObjects;
|
||||||
fractureTemplate->objectsWithReferringPtrFields(referringObjects);
|
fractureTemplate->objectsWithReferringPtrFieldsOfType(referringObjects);
|
||||||
|
|
||||||
for (auto refObj : referringObjects)
|
for (auto fracture : referringObjects)
|
||||||
{
|
{
|
||||||
auto fracture = dynamic_cast<RimFracture*>(refObj);
|
|
||||||
if (fracture && fracture->fractureUnit() != fractureTemplate->fractureTemplateUnit())
|
if (fracture && fracture->fractureUnit() != fractureTemplate->fractureTemplateUnit())
|
||||||
{
|
{
|
||||||
if (!templateWithMatchingUnit)
|
if (!templateWithMatchingUnit)
|
||||||
|
@ -546,11 +546,10 @@ void RimEclipseView::createDisplayModel()
|
|||||||
updateLegends();
|
updateLegends();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<caf::PdmFieldHandle*> objects;
|
std::vector<RimFlowCharacteristicsPlot*> objects;
|
||||||
this->referringPtrFields(objects);
|
this->objectsWithReferringPtrFieldsOfType(objects);
|
||||||
for (auto object : objects)
|
for (auto plot : objects)
|
||||||
{
|
{
|
||||||
RimFlowCharacteristicsPlot* plot = dynamic_cast<RimFlowCharacteristicsPlot*>(object->ownerObject());
|
|
||||||
if (plot != nullptr)
|
if (plot != nullptr)
|
||||||
{
|
{
|
||||||
plot->viewGeometryUpdated();
|
plot->viewGeometryUpdated();
|
||||||
|
@ -118,11 +118,11 @@ QString RimFormationNames::fileNameWoPath()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimFormationNames::updateConnectedViews()
|
void RimFormationNames::updateConnectedViews()
|
||||||
{
|
{
|
||||||
std::vector<caf::PdmObjectHandle*> usingObjs;
|
std::vector<RimCase*> objects;
|
||||||
this->objectsWithReferringPtrFields(usingObjs);
|
this->objectsWithReferringPtrFieldsOfType(objects);
|
||||||
for (caf::PdmObjectHandle* obj: usingObjs)
|
|
||||||
|
for (RimCase* caseObj : objects)
|
||||||
{
|
{
|
||||||
RimCase* caseObj = dynamic_cast<RimCase*>(obj);
|
|
||||||
if (caseObj)
|
if (caseObj)
|
||||||
{
|
{
|
||||||
caseObj->updateFormationNamesData();
|
caseObj->updateFormationNamesData();
|
||||||
|
@ -221,17 +221,18 @@ void RimGridView::replaceRangeFilterCollectionWithOverride()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RimViewController* RimGridView::viewController() const
|
RimViewController* RimGridView::viewController() const
|
||||||
{
|
{
|
||||||
RimViewController* viewController = nullptr;
|
std::vector<RimViewController*> objects;
|
||||||
std::vector<caf::PdmObjectHandle*> reffingObjs;
|
this->objectsWithReferringPtrFieldsOfType(objects);
|
||||||
|
|
||||||
this->objectsWithReferringPtrFields(reffingObjs);
|
for (auto v : objects)
|
||||||
for (size_t i = 0; i < reffingObjs.size(); ++i)
|
|
||||||
{
|
{
|
||||||
viewController = dynamic_cast<RimViewController*>(reffingObjs[i]);
|
if (v)
|
||||||
if (viewController) break;
|
{
|
||||||
|
return v;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return viewController;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -352,18 +353,18 @@ void RimGridView::selectOverlayInfoConfig()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RimViewLinker* RimGridView::viewLinkerIfMasterView() const
|
RimViewLinker* RimGridView::viewLinkerIfMasterView() const
|
||||||
{
|
{
|
||||||
RimViewLinker* viewLinker = nullptr;
|
std::vector<RimViewLinker*> objects;
|
||||||
std::vector<caf::PdmObjectHandle*> reffingObjs;
|
this->objectsWithReferringPtrFieldsOfType(objects);
|
||||||
|
|
||||||
this->objectsWithReferringPtrFields(reffingObjs);
|
for (auto viewLinker : objects)
|
||||||
|
|
||||||
for (size_t i = 0; i < reffingObjs.size(); ++i)
|
|
||||||
{
|
{
|
||||||
viewLinker = dynamic_cast<RimViewLinker*>(reffingObjs[i]);
|
if (viewLinker)
|
||||||
if (viewLinker) break;
|
{
|
||||||
|
return viewLinker;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return viewLinker;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -744,16 +744,16 @@ void RimIntersection::appendPointToPolyLine(const cvf::Vec3d& point)
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
Rim2dIntersectionView* RimIntersection::correspondingIntersectionView()
|
Rim2dIntersectionView* RimIntersection::correspondingIntersectionView()
|
||||||
{
|
{
|
||||||
std::vector<caf::PdmObjectHandle*> objects;
|
std::vector<Rim2dIntersectionView*> objects;
|
||||||
|
this->objectsWithReferringPtrFieldsOfType(objects);
|
||||||
this->objectsWithReferringPtrFields(objects);
|
for (auto isectView : objects)
|
||||||
Rim2dIntersectionView* isectView = nullptr;
|
|
||||||
for (auto obj : objects)
|
|
||||||
{
|
{
|
||||||
isectView = dynamic_cast<Rim2dIntersectionView*>(obj);
|
if (isectView)
|
||||||
if (isectView) break;
|
{
|
||||||
|
return isectView;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return isectView;
|
return nullptr;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,11 +96,10 @@ void RimSummaryCaseCollection::addCase(RimSummaryCase* summaryCase, bool updateC
|
|||||||
m_cases.push_back(summaryCase);
|
m_cases.push_back(summaryCase);
|
||||||
|
|
||||||
// Update derived ensemble cases (if any)
|
// Update derived ensemble cases (if any)
|
||||||
std::vector<caf::PdmObjectHandle*> referringObjects;
|
std::vector<RimDerivedEnsembleCaseCollection*> referringObjects;
|
||||||
objectsWithReferringPtrFields(referringObjects);
|
objectsWithReferringPtrFieldsOfType(referringObjects);
|
||||||
for (auto refObj : referringObjects)
|
for (auto derEnsemble : referringObjects)
|
||||||
{
|
{
|
||||||
auto derEnsemble = dynamic_cast<RimDerivedEnsembleCaseCollection*>(refObj);
|
|
||||||
if (!derEnsemble) continue;
|
if (!derEnsemble) continue;
|
||||||
|
|
||||||
derEnsemble->updateDerivedEnsembleCases();
|
derEnsemble->updateDerivedEnsembleCases();
|
||||||
@ -421,12 +420,11 @@ void RimSummaryCaseCollection::onLoadDataAndUpdate()
|
|||||||
void RimSummaryCaseCollection::updateReferringCurveSets()
|
void RimSummaryCaseCollection::updateReferringCurveSets()
|
||||||
{
|
{
|
||||||
// Update curve set referring to this group
|
// Update curve set referring to this group
|
||||||
std::vector<PdmObjectHandle*> referringObjects;
|
std::vector<RimEnsembleCurveSet*> referringObjects;
|
||||||
objectsWithReferringPtrFields(referringObjects);
|
objectsWithReferringPtrFieldsOfType(referringObjects);
|
||||||
|
|
||||||
for (PdmObjectHandle* obj : referringObjects)
|
for (auto curveSet : referringObjects)
|
||||||
{
|
{
|
||||||
RimEnsembleCurveSet* curveSet = dynamic_cast<RimEnsembleCurveSet*>(obj);
|
|
||||||
if (curveSet) curveSet->updateAllCurves();
|
if (curveSet) curveSet->updateAllCurves();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user