mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Use project polygons from polygon cell filter
* Use RimPolygonInView to edit locally defined polygon * Add scaling to polygon in view * Move polygon line visualization to RimGridView * Rename to polygonInViewCollection * Show appearance for local polygon
This commit is contained in:
@@ -18,7 +18,6 @@
|
||||
|
||||
#include "RimGridView.h"
|
||||
|
||||
#include "Polygons/RimPolygonInViewCollection.h"
|
||||
#include "Rim3dOverlayInfoConfig.h"
|
||||
#include "RimCellFilterCollection.h"
|
||||
#include "RimEclipseCase.h"
|
||||
@@ -42,6 +41,9 @@
|
||||
#include "RimWellMeasurementInViewCollection.h"
|
||||
#include "RimWellPathCollection.h"
|
||||
|
||||
#include "Polygons/RimPolygonInView.h"
|
||||
#include "Polygons/RimPolygonInViewCollection.h"
|
||||
|
||||
#include "Riu3DMainWindowTools.h"
|
||||
#include "Riu3dSelectionManager.h"
|
||||
#include "RiuMainWindow.h"
|
||||
@@ -97,8 +99,8 @@ RimGridView::RimGridView()
|
||||
CAF_PDM_InitFieldNoDefault( &m_seismicSectionCollection, "SeismicSectionCollection", "Seismic Collection Field" );
|
||||
m_seismicSectionCollection = new RimSeismicSectionCollection();
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_polygonCollection, "PolygonCollection", "Polygon Collection Field" );
|
||||
m_polygonCollection = new RimPolygonInViewCollection();
|
||||
CAF_PDM_InitFieldNoDefault( &m_polygonInViewCollection, "PolygonInViewCollection", "Polygon Collection Field" );
|
||||
m_polygonInViewCollection = new RimPolygonInViewCollection();
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_cellFilterCollection, "RangeFilters", "Cell Filter Collection Field" );
|
||||
m_cellFilterCollection = new RimCellFilterCollection();
|
||||
@@ -171,9 +173,9 @@ RimSeismicSectionCollection* RimGridView::seismicSectionCollection() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimPolygonInViewCollection* RimGridView::polygonCollection() const
|
||||
RimPolygonInViewCollection* RimGridView::polygonInViewCollection() const
|
||||
{
|
||||
return m_polygonCollection();
|
||||
return m_polygonInViewCollection();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -395,6 +397,36 @@ void RimGridView::onCreatePartCollectionFromSelection( cvf::Collection<cvf::Part
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimGridView::appendPolygonPartsToModel( caf::DisplayCoordTransform* scaleTransform, const cvf::BoundingBox& boundingBox )
|
||||
{
|
||||
m_polygonVizModel->removeAllParts();
|
||||
|
||||
std::vector<RimPolygonInView*> polygonsInView;
|
||||
if ( m_polygonInViewCollection )
|
||||
{
|
||||
polygonsInView = m_polygonInViewCollection->polygonsInView();
|
||||
}
|
||||
|
||||
if ( cellFilterCollection() )
|
||||
{
|
||||
auto cellFilterPolygonsInView = cellFilterCollection()->cellFilterPolygons();
|
||||
polygonsInView.insert( polygonsInView.end(), cellFilterPolygonsInView.begin(), cellFilterPolygonsInView.end() );
|
||||
}
|
||||
|
||||
for ( RimPolygonInView* polygonInView : polygonsInView )
|
||||
{
|
||||
if ( polygonInView )
|
||||
{
|
||||
polygonInView->appendPartsToModel( m_polygonVizModel.p(), scaleTransform, boundingBox );
|
||||
}
|
||||
}
|
||||
|
||||
nativeOrOverrideViewer()->addStaticModelOnce( m_polygonVizModel.p(), isUsingOverrideViewer() );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -495,7 +527,7 @@ void RimGridView::updateViewTreeItems( RiaDefines::ItemIn3dView itemType )
|
||||
|
||||
if ( bitmaskEnum.AnyOf( RiaDefines::ItemIn3dView::POLYGON ) )
|
||||
{
|
||||
m_polygonCollection->syncPolygonsInView();
|
||||
m_polygonInViewCollection->syncPolygonsInView();
|
||||
}
|
||||
|
||||
updateConnectedEditors();
|
||||
|
||||
Reference in New Issue
Block a user