(#401) Added access to the ViewLinker from the main view

This commit is contained in:
Jacob Støren
2015-09-11 16:45:04 +02:00
parent 187ebf114d
commit 984656cbfa
3 changed files with 27 additions and 3 deletions

View File

@@ -706,3 +706,22 @@ bool RimView::isBoundingBoxesOverlappingOrClose(const cvf::BoundingBox& sourceBB
return false;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimViewLinker* RimView::dependentViews()
{
RimViewLinker* viewLinker = NULL;
std::vector<caf::PdmObjectHandle*> reffingObjs;
this->objectsWithReferringPtrFields(reffingObjs);
for (size_t i = 0; i < reffingObjs.size(); ++i)
{
viewLinker = dynamic_cast<RimViewLinker*>(reffingObjs[i]);
if (viewLinker ) break;
}
return viewLinker;
}

View File

@@ -35,6 +35,7 @@ class Rim3dOverlayInfoConfig;
class RimCase;
class RimCellRangeFilterCollection;
class RiuViewer;
class RimViewLinker;
namespace cvf
{
@@ -128,6 +129,7 @@ public:
virtual caf::PdmFieldHandle* userDescriptionField() { return &name; }
protected:
RimViewLinker* dependentViews();
void setDefaultView();
void addWellPathsToModel(cvf::ModelBasicList* wellPathModelBasicList,

View File

@@ -284,10 +284,10 @@ void RimViewLink::configureOverridesUpdateDisplayModel()
//--------------------------------------------------------------------------------------------------
void RimViewLink::configureOverrides()
{
RimViewLinker* linkedViews = NULL;
this->firstAnchestorOrThisOfType(linkedViews);
RimViewLinker* viewLinker = NULL;
this->firstAnchestorOrThisOfType(viewLinker);
RimView* masterView = linkedViews->mainView();
RimView* masterView = viewLinker->mainView();
CVF_ASSERT(masterView);
if (!masterView) return;
@@ -304,6 +304,9 @@ void RimViewLink::configureOverrides()
if (manGeoView) manGeoView->setOverridePropertyFilterCollection(NULL);
// Todo: set up the managed view with the visible cell override.
// Create Cell-mapping if necessary
// Set VisibleCellsOverrider object on the managed view,
// with master view and mapper object
}
else
{