mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Basic seismic support (#10010)
Add basic seismic section support to eclipse and geomech views.
This commit is contained in:
@@ -99,6 +99,7 @@ set(SOURCE_GROUP_HEADER_FILES
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuAbstractOverlayContentFrame.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuQwtLegendOverlayContentFrame.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuAbstractLegendFrame.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuSeismicHistogramPanel.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuCategoryLegendFrame.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuScalarMapperLegendFrame.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuFileDialogTools.h
|
||||
@@ -207,6 +208,7 @@ set(SOURCE_GROUP_SOURCE_FILES
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuScalarMapperLegendFrame.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuFileDialogTools.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuGuiTheme.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuSeismicHistogramPanel.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuQssSyntaxHighlighter.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuTextEditWithCompletion.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuTextContentFrame.cpp
|
||||
@@ -259,6 +261,7 @@ list(
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuMdiArea.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuMdiSubWindow.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuPvtPlotPanel.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuSeismicHistogramPanel.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuRelativePermeabilityPlotPanel.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuResultInfoPanel.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuResultQwtPlot.h
|
||||
|
||||
@@ -115,6 +115,14 @@ QString RiuDockWidgetTools::mainWindowPvtPlotName()
|
||||
return "dockPvtPlot_mainWindow";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RiuDockWidgetTools::mainWindowSeismicHistogramName()
|
||||
{
|
||||
return "dockSeisHist_mainWindow";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -353,6 +361,8 @@ QIcon RiuDockWidgetTools::dockIcon( const QString dockWidgetName )
|
||||
return QIcon( ":/window-management.svg" );
|
||||
else if ( dockWidgetName == main3DWindowName() )
|
||||
return QIcon( ":/window-management.svg" );
|
||||
else if ( dockWidgetName == mainWindowSeismicHistogramName() )
|
||||
return QIcon( ":/graph.svg" );
|
||||
|
||||
return QIcon( ":/view.svg" );
|
||||
}
|
||||
@@ -390,33 +400,33 @@ QByteArray RiuDockWidgetTools::defaultEclipseDockState()
|
||||
// start paste
|
||||
|
||||
static const char stateData[] =
|
||||
{ '\x00', '\x00', '\x06', '\x13', '\x78', '\xda', '\x95', '\x54', '\x4d', '\x6f', '\xc2', '\x30', '\x0c', '\xbd', '\xef', '\x57',
|
||||
'\x44', '\xbd', '\x33', '\xe8', '\x07', '\x82', '\x03', '\x1f', '\x42', '\x30', '\xa4', '\x1d', '\xd8', '\xd8', '\x0a', '\xe3',
|
||||
'\x38', '\x65', '\xad', '\x07', '\xd9', '\xd2', '\x04', '\x39', '\x29', '\x1b', '\xd3', '\x7e', '\xfc', '\xd2', '\x16', '\x21',
|
||||
'\x01', '\x29', '\x5d', '\x0f', '\x55', '\x13', '\xfb', '\x3d', '\xfb', '\xd9', '\x71', '\xd2', '\x1b', '\x7e', '\x27', '\x9c',
|
||||
'\xec', '\x00', '\x15', '\x93', '\xa2', '\xef', '\xb8', '\xb7', '\x2d', '\x87', '\x80', '\x88', '\x64', '\xcc', '\xc4', '\xba',
|
||||
'\xef', '\x2c', '\x17', '\xd3', '\x46', '\xd7', '\x19', '\x0e', '\x7a', '\x4f', '\x7a', '\x14', '\xef', '\xa8', '\x88', '\x20',
|
||||
'\x9e', '\xc8', '\xe8', '\xd3', '\xf8', '\xc2', '\xbd', '\xd2', '\x90', '\x90', '\x97', '\x23', '\xd1', '\x21', '\x4b', '\x05',
|
||||
'\x78', '\xdc', '\xfb', '\x0e', '\x19', '\x4b', '\xa1', '\x29', '\x13', '\xc6', '\x92', '\xbb', '\xc7', '\x20', '\x34', '\x52',
|
||||
'\xbe', '\x62', '\xf1', '\x1a', '\x74', '\xdf', '\x89', '\x4d', '\x1c', '\x7f', '\xb2', '\x62', '\x22', '\x96', '\x5f', '\xaf',
|
||||
'\x89', '\xc1', '\x15', '\x4b', '\x67', '\xd0', '\x3b', '\xf2', '\xc8', '\x94', '\x4b', '\xaa', '\x73', '\x21', '\x2d', '\x63',
|
||||
'\x0f', '\xb7', '\x9c', '\x69', '\x6d', '\xcc', '\x8f', '\xc8', '\x4c', '\x2c', '\xe3', '\xc9', '\x12', '\xfd', '\x66', '\x89',
|
||||
'\x52', '\x61', '\x22', '\x7a', '\xa5', '\x98', '\xc6', '\x09', '\x66', '\x84', '\x40', '\xc9', '\x82', '\xbe', '\xa9', '\x42',
|
||||
'\x65', '\x8a', '\x08', '\xe2', '\x20', '\x68', '\x8e', '\xf2', '\x03', '\x22', '\xbd', '\x40', '\x80', '\x53', '\x4d', '\x85',
|
||||
'\x6a', '\xf2', '\x40', '\x13', '\xb8', '\x8a', '\x24', '\x63', '\x2e', '\x15', '\xc4', '\x99', '\xe0', '\xa6', '\x85', '\x35',
|
||||
'\xa1', '\x9a', '\x86', '\x32', '\xc5', '\x08', '\x6a', '\x12', '\xc3', '\x08', '\xd9', '\x56', '\xab', '\xeb', '\xac', '\x66',
|
||||
'\x56', '\xd9', '\x49', '\x7d', '\xee', '\x65', '\x7d', '\x5b', '\x40', '\xbd', '\xbf', '\x8b', '\x99', '\x96', '\x58', '\x5d',
|
||||
'\x62', '\x09', '\xd8', '\x9a', '\x36', '\x64', '\x3f', '\xa0', '\x06', '\x9d', '\xc0', '\x27', '\xed', '\x56', '\x87', '\xf4',
|
||||
'\x9a', '\xc5', '\xde', '\xfc', '\x0f', '\x47', '\x52', '\xfb', '\x70', '\xce', '\xc5', '\xdb', '\xa6', '\xc5', '\x8c', '\x08',
|
||||
'\x5d', '\xe7', '\x58', '\x4b', '\x01', '\x56', '\x82', '\x55', '\x7a', '\xc5', '\x64', '\xf9', '\xd7', '\x85', '\x3d', '\x83',
|
||||
'\x4a', '\xb9', '\xbe', '\x17', '\xef', '\xb2', '\xa2', '\xa3', '\x76', '\x60', '\xd5', '\x21', '\xb6', '\xad', '\xe9', '\xe6',
|
||||
'\x5c', '\xea', '\x7f', '\xa5', '\x3b', '\x07', '\x56', '\x8d', '\x28', '\x6c', '\xf5', '\xa6', '\x26', '\x67', '\x26', '\x37',
|
||||
'\xa8', '\xc6', '\x0c', '\x23', '\x0e', '\xa5', '\x4c', '\xd7', '\xca', '\x7c', '\x06', '\x3e', '\x07', '\x4c', '\x6a', '\xe6',
|
||||
'\x9b', '\xef', '\x2a', '\xaa', '\xba', '\x6c', '\xa2', '\x77', '\xd6', '\xc4', '\x19', '\x28', '\x45', '\xd7', '\xa0', '\x2a',
|
||||
'\x5a', '\x68', '\x83', '\x55', '\x89', '\x43', '\x19', '\x19', '\xd6', '\x4c', '\x8a', '\x1a', '\xd7', '\xa6', '\xed', '\xb9',
|
||||
'\xc4', '\x75', '\x5b', '\x2e', '\x09', '\xba', '\x25', '\x77', '\x27', '\xb7', '\x74', '\xbd', '\x36', '\x09', '\xcc', '\x57',
|
||||
'\x8e', '\x08', '\x7c', '\x9f', '\x78', '\xae', '\x89', '\x66', '\x83', '\x34', '\x8f', '\x4f', '\xab', '\x59', '\x97', '\x3c',
|
||||
'\xe9', '\x83', '\x9b', '\x3f', '\xff', '\x64', '\x15', '\xea' };
|
||||
{ '\x00', '\x00', '\x06', '\x46', '\x78', '\xda', '\x95', '\x55', '\xcb', '\x4e', '\xc3', '\x30', '\x10', '\xbc', '\xf3', '\x15',
|
||||
'\x56', '\xee', '\xd0', '\xe6', '\x01', '\xf4', '\x90', '\x16', '\xa1', '\x14', '\x04', '\x87', '\x42', '\x69', '\x5a', '\x7a',
|
||||
'\x44', '\x26', '\x59', '\x8a', '\xc1', '\xb1', '\xab', '\xf5', '\xb6', '\x3c', '\xc4', '\xc7', '\xe3', '\x3e', '\x14', '\xa9',
|
||||
'\xc5', '\x69', '\xc8', '\x21', '\x8a', '\xbd', '\x9e', '\xf1', '\xce', '\xac', '\xd7', '\x49', '\x7c', '\xf1', '\x59', '\x48',
|
||||
'\xb6', '\x04', '\x34', '\x42', '\xab', '\xae', '\xe7', '\x9f', '\xb4', '\x3d', '\x06', '\x2a', '\xd3', '\xb9', '\x50', '\xb3',
|
||||
'\xae', '\x37', '\x19', '\x5f', '\x1f', '\x77', '\xbc', '\x8b', '\x5e', '\xfc', '\x40', '\x97', '\xf9', '\x92', '\xab', '\x0c',
|
||||
'\xf2', '\xbe', '\xce', '\xde', '\xed', '\x5a', '\xfa', '\x65', '\x08', '\x0a', '\xf6', '\x58', '\x12', '\x3d', '\x36', '\x31',
|
||||
'\x80', '\xe5', '\x3c', '\xf4', '\x58', '\xa2', '\x15', '\x71', '\xa1', '\x6c', '\x64', '\xbd', '\x9c', '\x80', '\x22', '\xe4',
|
||||
'\x72', '\x2a', '\xf2', '\x19', '\x50', '\xd7', '\xcb', '\xed', '\x3e', '\x61', '\x7f', '\x2a', '\x54', '\xae', '\x3f', '\x9e',
|
||||
'\x0a', '\x8b', '\xdb', '\x0c', '\xbd', '\x5e', '\x5c', '\xf2', '\xd8', '\xb5', '\xd4', '\x9c', '\xd6', '\x42', '\xda', '\x36',
|
||||
'\x9e', '\xce', '\xa5', '\x20', '\xb2', '\xe1', '\x7b', '\x14', '\x76', '\x2f', '\xbb', '\xb2', '\x4a', '\xf4', '\xb3', '\x4a',
|
||||
'\xb4', '\x50', '\x76', '\xc7', '\xa0', '\x12', '\x73', '\xbc', '\x83', '\xb9', '\x44', '\xe0', '\x6c', '\xcc', '\x9f', '\xcd',
|
||||
'\x46', '\xe5', '\x02', '\x11', '\xd4', '\x56', '\xd0', '\x10', '\xf5', '\x1b', '\x64', '\x34', '\x46', '\x80', '\x5d', '\x4d',
|
||||
'\x1b', '\xd5', '\xec', '\x8e', '\x17', '\x70', '\x10', '\xc9', '\x12', '\xa9', '\x0d', '\xe4', '\x2b', '\xc1', '\x2d', '\x07',
|
||||
'\xab', '\xcf', '\x89', '\xa7', '\x7a', '\x81', '\x19', '\x34', '\x24', '\xa6', '\x19', '\x8a', '\x39', '\x99', '\xc3', '\xac',
|
||||
'\xd6', '\xca', '\xd9', '\x8e', '\x3f', '\xff', '\xaf', '\xbf', '\x39', '\x20', '\x7d', '\x5d', '\xe5', '\x82', '\x34', '\xd6',
|
||||
'\x5b', '\xac', '\x00', '\x3b', '\xd3', '\xa6', '\xe2', '\x1b', '\x4c', '\xef', '\x3c', '\x0a', '\xd9', '\x69', '\xfb', '\x9c',
|
||||
'\xc5', '\xad', '\xcd', '\xdc', '\xbe', '\xb7', '\x47', '\xd2', '\xf8', '\x70', '\xf6', '\xc5', '\xbb', '\xba', '\xc5', '\xb6',
|
||||
'\x08', '\x9f', '\xad', '\xb1', '\x0e', '\x03', '\x4e', '\x82', '\x53', '\x7a', '\x4d', '\x67', '\x85', '\x87', '\x85', '\x8d',
|
||||
'\xc0', '\x2c', '\x24', '\xdd', '\xaa', '\x17', '\x5d', '\x53', '\x51', '\x37', '\xb0', '\xee', '\x10', '\xcf', '\x9c', '\xe9',
|
||||
'\x86', '\x52', '\xd3', '\xbf', '\xd2', '\xed', '\x03', '\xeb', '\x5a', '\x14', '\xe6', '\xf4', '\xda', '\x90', '\x33', '\xd0',
|
||||
'\xaf', '\x68', '\x12', '\x81', '\x99', '\x84', '\x4a', '\xa6', '\xef', '\x64', '\x8e', '\x40', '\x0e', '\x01', '\x8b', '\x86',
|
||||
'\xf9', '\x86', '\xcb', '\xa6', '\xae', '\x52', '\x10', '\xe6', '\x46', '\x18', '\x6a', '\x52', '\xf7', '\x60', '\xaf', '\xee',
|
||||
'\x03', '\x30', '\x86', '\xcf', '\xc0', '\xd4', '\x54', '\xdd', '\x05', '\xab', '\xf3', '\x83', '\x3a', '\xb3', '\xac', '\x81',
|
||||
'\x56', '\x0d', '\x6e', '\x5a', '\xd4', '\x69', '\x33', '\xdf', '\x8f', '\x02', '\x16', '\x75', '\x2a', '\xae', '\xdb', '\x3a',
|
||||
'\xd2', '\x09', '\x4e', '\x59', '\x64', '\x9f', '\x6a', '\x44', '\x14', '\x86', '\x2c', '\xf0', '\x03', '\xdf', '\x09', '\x69',
|
||||
'\x95', '\x5f', '\x63', '\x3b', '\xae', '\xf8', '\x0b', '\xf4', '\x8e', '\x7e', '\x01', '\xe9', '\x95', '\x27', '\x97' };
|
||||
|
||||
// end paste
|
||||
|
||||
@@ -433,34 +443,34 @@ QByteArray RiuDockWidgetTools::defaultGeoMechDockState()
|
||||
// start paste
|
||||
|
||||
static const char stateData[] =
|
||||
{ '\x00', '\x00', '\x06', '\x4e', '\x78', '\xda', '\x95', '\x55', '\x5d', '\x4f', '\xc2', '\x30', '\x14', '\x7d', '\xf7', '\x57',
|
||||
'\x34', '\x7b', '\x47', '\x36', '\x36', '\x44', '\x12', '\x3e', '\x42', '\x40', '\x12', '\x1f', '\x50', '\x64', '\x20', '\x8f',
|
||||
'\xa6', '\x6e', '\x57', '\xa8', '\x76', '\x2d', '\x69', '\x2f', '\x28', '\xc6', '\x1f', '\x6f', '\xc7', '\xc8', '\x12', '\xa0',
|
||||
'\x6c', '\xf0', '\xb4', '\xee', '\xf6', '\x9c', '\x9e', '\x73', '\x3f', '\xba', '\xb5', '\xba', '\x3f', '\x09', '\x27', '\x1b',
|
||||
'\x50', '\x9a', '\x49', '\xd1', '\x76', '\xbc', '\x5b', '\xd7', '\x21', '\x20', '\x22', '\x19', '\x33', '\xb1', '\x68', '\x3b',
|
||||
'\xb3', '\xe9', '\xb0', '\x72', '\xef', '\x74', '\x3b', '\xad', '\x17', '\xec', '\xc5', '\x1b', '\x2a', '\x22', '\x88', '\x07',
|
||||
'\x32', '\xfa', '\x32', '\x7b', '\xe1', '\x56', '\x23', '\x24', '\xe4', '\x35', '\x27', '\x3a', '\x64', '\xa6', '\x41', '\xe5',
|
||||
'\xef', '\xbe', '\x43', '\xfa', '\x52', '\x20', '\x65', '\xc2', '\x44', '\x76', '\xdb', '\x7d', '\x10', '\xa8', '\x28', '\x9f',
|
||||
'\xb3', '\x78', '\x01', '\xd8', '\x76', '\x62', '\x73', '\x8e', '\x3f', '\x98', '\x33', '\x11', '\xcb', '\xef', '\xb7', '\xc4',
|
||||
'\xe0', '\xb2', '\xa5', '\xd3', '\x69', '\xe5', '\x3c', '\x32', '\xe4', '\x92', '\xe2', '\xce', '\x88', '\x6b', '\xe2', '\xe1',
|
||||
'\x8a', '\x33', '\x44', '\x13', '\x7e', '\x56', '\xcc', '\x9c', '\x65', '\x76', '\x52', '\xa1', '\xbf', '\x54', '\x68', '\x2d',
|
||||
'\x30', '\x95', '\x3c', '\x87', '\xa9', '\xe4', '\x98', '\x9a', '\xc1', '\xf4', '\x14', '\x50', '\x32', '\xa5', '\xef', '\x3a',
|
||||
'\x73', '\xb9', '\x56', '\x0a', '\xc4', '\xde', '\xd0', '\x58', '\xc9', '\x4f', '\x88', '\x70', '\xaa', '\x00', '\x0e', '\x3d',
|
||||
'\x65', '\xae', '\xc9', '\x13', '\x4d', '\xa0', '\x10', '\x49', '\xfa', '\x5c', '\x6a', '\x88', '\x53', '\xc3', '\x55', '\x0b',
|
||||
'\x6b', '\x40', '\x91', '\x86', '\x72', '\xad', '\x22', '\xb8', '\x92', '\x18', '\x46', '\x8a', '\xad', '\x50', '\x17', '\xb3',
|
||||
'\xaa', '\x69', '\x66', '\x07', '\xf9', '\x79', '\xa7', '\xf9', '\xad', '\x40', '\xe1', '\xf6', '\x21', '\x66', '\x28', '\x55',
|
||||
'\x79', '\x8a', '\x67', '\xc0', '\x56', '\xd9', '\x90', '\xfd', '\x82', '\xee', '\x34', '\x1a', '\x4d', '\x52', '\xf7', '\x3d',
|
||||
'\xd2', '\xaa', '\x66', '\xef', '\xe6', '\xb9', '\x6f', '\xc9', '\xd5', '\xcd', '\x39', '\x36', '\x6f', '\x9b', '\x16', '\x33',
|
||||
'\x22', '\x74', '\xb1', '\xc3', '\x5a', '\x12', '\xb0', '\x12', '\xac', '\xd6', '\x2f', '\x98', '\xac', '\x02', '\x63', '\x13',
|
||||
'\xd0', '\x6b', '\x8e', '\x8f', '\xe2', '\x43', '\x96', '\x54', '\xd4', '\x0e', '\x2c', '\x6b', '\x62', '\x60', '\x95', '\x1b',
|
||||
'\x73', '\x89', '\x17', '\xc9', '\x1d', '\x03', '\x4b', '\x26', '\x6d', '\x24', '\x97', '\x4a', '\xf7', '\x99', '\x8a', '\x38',
|
||||
'\x5c', '\xc9', '\x9c', '\x00', '\x1f', '\x83', '\x4a', '\xce', '\xb2', '\x3c', '\x2b', '\x6b', '\xbc', '\xc1', '\x62', '\xc6',
|
||||
'\x69', '\x41', '\x6a', '\x47', '\x05', '\x19', '\x81', '\xd6', '\x74', '\x01', '\xba', '\xa4', '\x1c', '\x36', '\x58', '\x49',
|
||||
'\x4a', '\xe6', '\x0a', '\x44', '\x86', '\x35', '\x92', '\xe2', '\x8a', '\x2b', '\x50', '\xaf', '\x79', '\xc4', '\xf3', '\xea',
|
||||
'\x2e', '\x09', '\xfc', '\x7b', '\xfb', '\x3d', '\xd8', '\x45', '\x9a', '\x6e', '\x40', '\x02', '\xf7', '\xce', '\x8a', '\x28',
|
||||
'\x18', '\xb6', '\x01', '\xac', '\x70', '\x79', '\x41', '\xf3', '\xad', '\x38', '\x6b', '\x65', '\x33', '\xf9', '\xc0', '\xf7',
|
||||
'\x49', '\xcd', '\x33', '\xd6', '\x5d', '\xab', '\xa3', '\x6a', '\xfe', '\x55', '\x36', '\xeb', '\x33', '\x7f', '\x83', '\xce',
|
||||
'\xcd', '\x3f', '\x00', '\xe7', '\x29', '\xe5' };
|
||||
{ '\x00', '\x00', '\x06', '\x81', '\x78', '\xda', '\x95', '\x55', '\xc1', '\x52', '\xc2', '\x30', '\x10', '\xbd', '\xfb', '\x15',
|
||||
'\x99', '\xde', '\x95', '\x96', '\x16', '\xe1', '\x50', '\x70', '\x1c', '\xd0', '\xd1', '\x03', '\x5a', '\x29', '\xca', '\xd1',
|
||||
'\x89', '\xed', '\x8a', '\xd1', '\x34', '\x61', '\x92', '\x2d', '\x8a', '\xe3', '\xc7', '\x9b', '\x52', '\xa7', '\x33', '\x60',
|
||||
'\x68', '\xe9', '\xa9', '\xc9', '\xe6', '\xbd', '\xbc', '\xb7', '\x9b', '\x4d', '\x1a', '\x5e', '\x7c', '\x65', '\x9c', '\xac',
|
||||
'\x41', '\x69', '\x26', '\xc5', '\xd0', '\xf1', '\xce', '\x5c', '\x87', '\x80', '\x48', '\x64', '\xca', '\xc4', '\x72', '\xe8',
|
||||
'\x3c', '\xce', '\xaf', '\x4f', '\x07', '\xce', '\xc5', '\x28', '\x7c', '\xc0', '\xcb', '\x74', '\x4d', '\x45', '\x02', '\xe9',
|
||||
'\x44', '\x26', '\x1f', '\x66', '\x2d', '\xde', '\x68', '\x84', '\x8c', '\x3c', '\x55', '\x44', '\x87', '\x3c', '\x6a', '\x50',
|
||||
'\xd5', '\xdc', '\x77', '\xc8', '\x58', '\x0a', '\xa4', '\x4c', '\x98', '\xc8', '\x76', '\x79', '\x0c', '\x02', '\x15', '\xe5',
|
||||
'\x0b', '\x96', '\x2e', '\x01', '\x87', '\x4e', '\x6a', '\xf6', '\xf1', '\x27', '\x0b', '\x26', '\x52', '\xf9', '\xf9', '\x9c',
|
||||
'\x19', '\x5c', '\x39', '\x74', '\x46', '\x61', '\xc5', '\x23', '\xd7', '\x5c', '\x52', '\xdc', '\x1a', '\x71', '\x4d', '\x3c',
|
||||
'\x5e', '\x71', '\x86', '\x68', '\xc2', '\xf7', '\x8a', '\x99', '\xbd', '\xcc', '\x4a', '\x21', '\xf4', '\x53', '\x08', '\xe5',
|
||||
'\x02', '\x0b', '\xc9', '\x43', '\x98', '\xd3', '\x0a', '\xd3', '\x35', '\x98', '\x4b', '\x05', '\x94', '\xcc', '\xe9', '\x8b',
|
||||
'\x2e', '\x5d', '\xe6', '\x4a', '\x81', '\xf8', '\x33', '\x14', '\x29', '\xf9', '\x0e', '\x09', '\xce', '\x15', '\xc0', '\xae',
|
||||
'\xa7', '\xd2', '\x35', '\xb9', '\xa3', '\x19', '\xd4', '\x22', '\xc9', '\x98', '\x4b', '\x0d', '\x69', '\x61', '\xb8', '\x63',
|
||||
'\x61', '\x4d', '\x28', '\xd2', '\x58', '\xe6', '\x2a', '\x81', '\x96', '\xc4', '\x38', '\x51', '\x6c', '\x85', '\xba', '\x9e',
|
||||
'\xd5', '\x29', '\x32', '\xdb', '\xc9', '\xcf', '\xfb', '\x9f', '\xdf', '\x0a', '\x14', '\x6e', '\xae', '\x52', '\x86', '\x52',
|
||||
'\x35', '\xa7', '\x78', '\x00', '\x6c', '\x95', '\x8d', '\xd9', '\x37', '\xe8', '\x51', '\x3f', '\xf0', '\x49', '\xcf', '\xed',
|
||||
'\x93', '\xb0', '\x53', '\xce', '\xcd', '\xf7', '\xef', '\x48', '\x5a', '\x1f', '\xce', '\xbe', '\x79', '\x5b', '\xb7', '\x98',
|
||||
'\x16', '\xa1', '\xcb', '\x2d', '\xd6', '\x92', '\x80', '\x95', '\x60', '\xb5', '\x7e', '\x44', '\x67', '\xd5', '\x18', '\x9b',
|
||||
'\x81', '\xce', '\x39', '\xde', '\x8a', '\x57', '\xd9', '\x50', '\x51', '\x3b', '\xb0', '\xe9', '\x10', '\x7b', '\x56', '\xb9',
|
||||
'\x88', '\x4b', '\x3c', '\x4a', '\x6e', '\x1f', '\xd8', '\xd0', '\x69', '\x53', '\xf9', '\xa6', '\xf4', '\x98', '\xa9', '\x84',
|
||||
'\x43', '\x4b', '\x66', '\x0c', '\x4c', '\xdf', '\x30', '\xdd', '\x86', '\x32', '\x03', '\x1e', '\x81', '\xca', '\x0e', '\x0a',
|
||||
'\x79', '\x56', '\x56', '\xb4', '\xc6', '\x7a', '\xc6', '\xff', '\x1a', '\x76', '\xf7', '\x6a', '\x38', '\x05', '\xad', '\xe9',
|
||||
'\x12', '\x74', '\x43', '\x05', '\x6d', '\xb0', '\x86', '\x94', '\xcc', '\xad', '\x49', '\x0c', '\x6b', '\x2a', '\x45', '\x8b',
|
||||
'\x5b', '\xd3', '\xeb', '\x7a', '\xc4', '\xf3', '\x7a', '\x2e', '\x09', '\xfc', '\x81', '\xfd', '\xea', '\x6c', '\x23', '\x83',
|
||||
'\x20', '\x20', '\x81', '\x7b', '\x6e', '\x45', '\xd4', '\xf4', '\xe7', '\x04', '\x56', '\xf8', '\x76', '\x44', '\xbf', '\x58',
|
||||
'\x71', '\xd6', '\xca', '\x96', '\xf2', '\x81', '\xef', '\x93', '\xae', '\x67', '\xac', '\xbb', '\x56', '\x47', '\x9d', '\xea',
|
||||
'\x21', '\x37', '\xe3', '\x03', '\x3f', '\x90', '\xd1', '\xc9', '\x2f', '\xd6', '\xef', '\x3b', '\x86' };
|
||||
|
||||
// end paste
|
||||
|
||||
|
||||
@@ -54,6 +54,7 @@ public:
|
||||
static QString mainWindowDepthPlotName();
|
||||
static QString mainWindowRelPermPlotName();
|
||||
static QString mainWindowPvtPlotName();
|
||||
static QString mainWindowSeismicHistogramName();
|
||||
static QString mainWindowMessagesName();
|
||||
static QString mainWindowMohrsCirclePlotName();
|
||||
static QString mainWindowUndoStackName();
|
||||
|
||||
@@ -63,6 +63,7 @@
|
||||
#include "RiuRelativePermeabilityPlotPanel.h"
|
||||
#include "RiuResultInfoPanel.h"
|
||||
#include "RiuResultQwtPlot.h"
|
||||
#include "RiuSeismicHistogramPanel.h"
|
||||
#include "RiuToolTipMenu.h"
|
||||
#include "RiuTools.h"
|
||||
#include "RiuTreeViewEventFilter.h"
|
||||
@@ -128,6 +129,7 @@ RiuMainWindow::RiuMainWindow()
|
||||
, m_pvtPlotPanel( nullptr )
|
||||
, m_mohrsCirclePlot( nullptr )
|
||||
, m_holoLensToolBar( nullptr )
|
||||
, m_seismicHistogramPanel( nullptr )
|
||||
{
|
||||
setAttribute( Qt::WA_DeleteOnClose );
|
||||
|
||||
@@ -262,6 +264,7 @@ void RiuMainWindow::cleanupGuiCaseClose()
|
||||
if ( m_relPermPlotPanel ) m_relPermPlotPanel->clearPlot();
|
||||
if ( m_pvtPlotPanel ) m_pvtPlotPanel->clearPlot();
|
||||
if ( m_mohrsCirclePlot ) m_mohrsCirclePlot->clearPlot();
|
||||
if ( m_seismicHistogramPanel ) m_seismicHistogramPanel->clearPlot();
|
||||
|
||||
if ( m_pdmUiPropertyView )
|
||||
{
|
||||
@@ -481,6 +484,7 @@ void RiuMainWindow::createMenus()
|
||||
importMenu->addAction( cmdFeatureMgr->action( "RicImportPressureDepthDataFeature" ) );
|
||||
importMenu->addAction( cmdFeatureMgr->action( "RicImportFormationNamesFeature" ) );
|
||||
importMenu->addAction( cmdFeatureMgr->action( "RicImportSurfacesFeature" ) );
|
||||
importMenu->addAction( cmdFeatureMgr->action( "RicImportSeismicFeature" ) );
|
||||
|
||||
RiuTools::enableAllActionsOnShow( this, importMenu );
|
||||
|
||||
@@ -871,6 +875,15 @@ void RiuMainWindow::createDockPanels()
|
||||
dockManager()->addDockWidgetTabToArea( dockWidget, bottomArea );
|
||||
}
|
||||
|
||||
{
|
||||
auto dockWidget =
|
||||
RiuDockWidgetTools::createDockWidget( "Seismic Histogram", RiuDockWidgetTools::mainWindowSeismicHistogramName(), dockManager() );
|
||||
|
||||
m_seismicHistogramPanel = new RiuSeismicHistogramPanel( dockWidget );
|
||||
dockWidget->setWidget( m_seismicHistogramPanel );
|
||||
dockManager()->addDockWidgetTabToArea( dockWidget, bottomArea );
|
||||
}
|
||||
|
||||
// result info
|
||||
{
|
||||
auto dockWidget = RiuDockWidgetTools::createDockWidget( "Result Info", RiuDockWidgetTools::mainWindowResultInfoName(), dockManager() );
|
||||
@@ -1195,6 +1208,14 @@ RiuMohrsCirclePlot* RiuMainWindow::mohrsCirclePlot()
|
||||
return m_mohrsCirclePlot;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiuSeismicHistogramPanel* RiuMainWindow::seismicHistogramPanel()
|
||||
{
|
||||
return m_seismicHistogramPanel;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -1486,6 +1507,8 @@ void RiuMainWindow::selectedObjectsChanged()
|
||||
|
||||
m_pdmUiPropertyView->showProperties( firstSelectedObject );
|
||||
|
||||
m_seismicHistogramPanel->showHistogram( firstSelectedObject );
|
||||
|
||||
if ( uiItems.size() == 1 && m_allowActiveViewChangeFromSelection )
|
||||
{
|
||||
// Find the reservoir view or the Plot that the selected item is within
|
||||
@@ -1858,6 +1881,10 @@ void RiuMainWindow::applyFontSizesToDockedPlots()
|
||||
{
|
||||
m_pvtPlotPanel->applyFontSizes( true );
|
||||
}
|
||||
if ( m_seismicHistogramPanel )
|
||||
{
|
||||
m_seismicHistogramPanel->applyFontSizes( true );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -54,6 +54,7 @@ class RiuRelativePermeabilityPlotPanel;
|
||||
class RiuPvtPlotPanel;
|
||||
class RiuMohrsCirclePlot;
|
||||
class RiuMdiArea;
|
||||
class RiuSeismicHistogramPanel;
|
||||
|
||||
class RicGridCalculatorDialog;
|
||||
|
||||
@@ -128,6 +129,7 @@ public:
|
||||
RiuRelativePermeabilityPlotPanel* relativePermeabilityPlotPanel();
|
||||
RiuPvtPlotPanel* pvtPlotPanel();
|
||||
RiuMohrsCirclePlot* mohrsCirclePlot();
|
||||
RiuSeismicHistogramPanel* seismicHistogramPanel();
|
||||
RiuMessagePanel* messagePanel();
|
||||
|
||||
void showProcessMonitorDockPanel();
|
||||
@@ -189,6 +191,7 @@ private:
|
||||
RiuDepthQwtPlot* m_depthQwtPlot;
|
||||
RiuMohrsCirclePlot* m_mohrsCirclePlot;
|
||||
RiuRelativePermeabilityPlotPanel* m_relPermPlotPanel;
|
||||
RiuSeismicHistogramPanel* m_seismicHistogramPanel;
|
||||
RiuPvtPlotPanel* m_pvtPlotPanel;
|
||||
std::unique_ptr<RicGridCalculatorDialog> m_gridCalculatorDialog;
|
||||
|
||||
|
||||
167
ApplicationLibCode/UserInterface/RiuSeismicHistogramPanel.cpp
Normal file
167
ApplicationLibCode/UserInterface/RiuSeismicHistogramPanel.cpp
Normal file
@@ -0,0 +1,167 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2023 Equinor ASA
|
||||
//
|
||||
// ResInsight is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
// for more details.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "RiuSeismicHistogramPanel.h"
|
||||
|
||||
#include "Riu3dSelectionManager.h"
|
||||
#include "RiuDockedQwtPlot.h"
|
||||
#include "RiuGuiTheme.h"
|
||||
#include "RiuPlotCurveSymbol.h"
|
||||
#include "RiuQwtLinearScaleEngine.h"
|
||||
#include "RiuQwtPlotCurve.h"
|
||||
#include "RiuQwtSymbol.h"
|
||||
|
||||
#include "qwt_plot_grid.h"
|
||||
#include "qwt_text.h"
|
||||
|
||||
#include "RimRegularLegendConfig.h"
|
||||
#include "RimSeismicData.h"
|
||||
#include "RimSeismicSection.h"
|
||||
|
||||
#include <QFont>
|
||||
#include <QHBoxLayout>
|
||||
#include <QLabel>
|
||||
#include <QPen>
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiuSeismicHistogramPanel::RiuSeismicHistogramPanel( QWidget* parent )
|
||||
: QWidget( parent )
|
||||
{
|
||||
m_qwtPlot = new RiuDockedQwtPlot( this );
|
||||
|
||||
QwtPlotGrid* grid = new QwtPlotGrid;
|
||||
grid->attach( m_qwtPlot );
|
||||
RiuGuiTheme::styleQwtItem( grid );
|
||||
|
||||
QVBoxLayout* mainLayout = new QVBoxLayout();
|
||||
mainLayout->addWidget( m_qwtPlot );
|
||||
mainLayout->setContentsMargins( 0, 0, 0, 0 );
|
||||
|
||||
setLayout( mainLayout );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiuSeismicHistogramPanel::~RiuSeismicHistogramPanel()
|
||||
{
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuSeismicHistogramPanel::setPlotData( QString title, std::vector<double> xvals, std::vector<double> yvals )
|
||||
{
|
||||
m_qwtPlot->detachItems( QwtPlotItem::Rtti_PlotCurve );
|
||||
|
||||
RiuQwtPlotCurve* qwtCurve = new RiuQwtPlotCurve( nullptr, "Distribution" );
|
||||
|
||||
qwtCurve->setSamplesFromXValuesAndYValues( xvals, yvals, false );
|
||||
|
||||
qwtCurve->setStyle( QwtPlotCurve::Lines );
|
||||
|
||||
Qt::PenStyle penStyle = Qt::SolidLine;
|
||||
|
||||
QPen curvePen( QBrush(), 1, penStyle );
|
||||
curvePen.setColor( QColor( 5, 5, 5, 255 ) );
|
||||
qwtCurve->setPen( curvePen );
|
||||
|
||||
RiuQwtSymbol* curveSymbol = new RiuQwtSymbol( RiuPlotCurveSymbol::SYMBOL_NONE );
|
||||
curveSymbol->setBrush( Qt::NoBrush );
|
||||
qwtCurve->setSymbol( curveSymbol );
|
||||
|
||||
qwtCurve->setRenderHint( QwtPlotItem::RenderAntialiased, true );
|
||||
qwtCurve->setYAxis( RiuPlotAxis::defaultLeft() );
|
||||
|
||||
qwtCurve->attach( m_qwtPlot );
|
||||
|
||||
RiuGuiTheme::styleQwtItem( qwtCurve );
|
||||
|
||||
m_qwtPlot->setAxisScaleEngine( QwtAxis::YLeft, new QwtLinearScaleEngine );
|
||||
m_qwtPlot->setAxisScaleEngine( QwtAxis::XBottom, new QwtLinearScaleEngine );
|
||||
m_qwtPlot->setAxisAutoScale( QwtAxis::XBottom, true );
|
||||
m_qwtPlot->setAxisAutoScale( QwtAxis::YLeft, true );
|
||||
m_qwtPlot->setAxisVisible( QwtAxis::YLeft, false );
|
||||
|
||||
QwtText plotTitle = m_qwtPlot->title();
|
||||
QFont titleFont = plotTitle.font();
|
||||
titleFont.setPointSize( 10 );
|
||||
plotTitle.setText( title );
|
||||
plotTitle.setFont( titleFont );
|
||||
m_qwtPlot->setTitle( plotTitle );
|
||||
|
||||
m_qwtPlot->replot();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuSeismicHistogramPanel::clearPlot()
|
||||
{
|
||||
m_qwtPlot->setTitle( "" );
|
||||
m_qwtPlot->detachItems( QwtPlotItem::Rtti_PlotCurve );
|
||||
m_qwtPlot->replot();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuSeismicHistogramPanel::applyFontSizes( bool replot )
|
||||
{
|
||||
if ( m_qwtPlot ) m_qwtPlot->applyFontSizes( replot );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuSeismicHistogramPanel::showHistogram( caf::PdmObjectHandle* selectedObject )
|
||||
{
|
||||
RimSeismicData* seisData = dynamic_cast<RimSeismicData*>( selectedObject );
|
||||
if ( seisData == nullptr )
|
||||
{
|
||||
RimSeismicSection* section = dynamic_cast<RimSeismicSection*>( selectedObject );
|
||||
if ( section != nullptr )
|
||||
{
|
||||
seisData = section->seismicData();
|
||||
}
|
||||
}
|
||||
|
||||
if ( seisData == nullptr )
|
||||
{
|
||||
RimRegularLegendConfig* legend = dynamic_cast<RimRegularLegendConfig*>( selectedObject );
|
||||
if ( legend )
|
||||
{
|
||||
RimSeismicSection* section = nullptr;
|
||||
legend->firstAncestorOfType( section );
|
||||
if ( section != nullptr )
|
||||
{
|
||||
seisData = section->seismicData();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( seisData == nullptr )
|
||||
{
|
||||
clearPlot();
|
||||
return;
|
||||
}
|
||||
|
||||
setPlotData( seisData->userDescription(), seisData->histogramXvalues(), seisData->histogramYvalues() );
|
||||
}
|
||||
52
ApplicationLibCode/UserInterface/RiuSeismicHistogramPanel.h
Normal file
52
ApplicationLibCode/UserInterface/RiuSeismicHistogramPanel.h
Normal file
@@ -0,0 +1,52 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2023 Equinor ASA
|
||||
//
|
||||
// ResInsight is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
// for more details.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QPointer>
|
||||
#include <QWidget>
|
||||
|
||||
#include "cafPdmObject.h"
|
||||
|
||||
#include <vector>
|
||||
|
||||
class RiuDockedQwtPlot;
|
||||
class RiuSelectionItem;
|
||||
|
||||
//==================================================================================================
|
||||
//
|
||||
//
|
||||
//
|
||||
//==================================================================================================
|
||||
class RiuSeismicHistogramPanel : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
RiuSeismicHistogramPanel( QWidget* parent );
|
||||
~RiuSeismicHistogramPanel() override;
|
||||
|
||||
void setPlotData( QString title, std::vector<double> xvals, std::vector<double> yvals );
|
||||
void clearPlot();
|
||||
void applyFontSizes( bool replot );
|
||||
|
||||
void showHistogram( caf::PdmObjectHandle* selectedObject );
|
||||
|
||||
private:
|
||||
QPointer<RiuDockedQwtPlot> m_qwtPlot;
|
||||
};
|
||||
@@ -49,6 +49,7 @@
|
||||
#include "RiuRelativePermeabilityPlotUpdater.h"
|
||||
#include "RiuResultQwtPlot.h"
|
||||
#include "RiuResultTextBuilder.h"
|
||||
#include "RiuSeismicHistogramPanel.h"
|
||||
|
||||
#include <QStatusBar>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user