//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimLegendConfig::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) { if (changedField == &m_numLevels) { int upperLimit = std::numeric_limits<int>::max(); m_numLevels = cvf::Math::clamp(m_numLevels.v(), 1, upperLimit); } else if (changedField == &m_rangeMode) { if (m_rangeMode == USER_DEFINED) { if (m_userDefinedMaxValue == m_userDefinedMaxValue.defaultValue() && m_globalAutoMax != cvf::UNDEFINED_DOUBLE) { m_userDefinedMaxValue = roundToNumSignificantDigits(m_globalAutoMax, m_precision); } if (m_userDefinedMinValue == m_userDefinedMinValue.defaultValue() && m_globalAutoMin != cvf::UNDEFINED_DOUBLE) { m_userDefinedMinValue = roundToNumSignificantDigits(m_globalAutoMin, m_precision); } } updateFieldVisibility(); } updateLegend(); if (m_reservoirView) m_reservoirView->updateCurrentTimeStepAndRedraw(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimEclipseFaultColors::initAfterRead() { m_customFaultResultColors->initAfterRead(); updateFieldVisibility(); this->updateUiIconFromToggleField(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimFaultResultSlot::initAfterRead() { m_customFaultResult->initAfterRead(); updateFieldVisibility(); this->updateUiIconFromToggleField(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- RimLegendConfig::RimLegendConfig() : m_globalAutoMax(cvf::UNDEFINED_DOUBLE), m_globalAutoMin(cvf::UNDEFINED_DOUBLE), m_localAutoMax(cvf::UNDEFINED_DOUBLE), m_localAutoMin(cvf::UNDEFINED_DOUBLE) { CAF_PDM_InitObject("Legend Definition", ":/Legend.png", "", ""); CAF_PDM_InitField(&m_numLevels, "NumberOfLevels", 8, "Number of levels", "", "",""); CAF_PDM_InitField(&m_precision, "Precision", 6, "Precision", "", "",""); CAF_PDM_InitField(&m_colorRangeMode, "ColorRangeMode", ColorRangeEnum(NORMAL) , "Color range", "", "", ""); CAF_PDM_InitField(&m_mappingMode, "MappingMode", MappingEnum(LINEAR_CONTINUOUS) , "Mapping", "", "", ""); CAF_PDM_InitField(&m_rangeMode, "RangeType", caf::AppEnum<RimLegendConfig::RangeModeType>(AUTOMATIC_ALLTIMESTEPS), "Legend range type", "", "Switches between automatic and user defined range on the legend", ""); CAF_PDM_InitField(&m_userDefinedMaxValue, "UserDefinedMax", 1.0, "Max", "", "Min value of the legend", ""); CAF_PDM_InitField(&m_userDefinedMinValue, "UserDefinedMin", 0.0, "Min", "", "Max value of the legend", ""); CAF_PDM_InitField(&resultVariableName, "ResultVariableUsage", QString(""), "", "", "", ""); resultVariableName.setUiHidden(true); m_linDiscreteScalarMapper = new cvf::ScalarMapperDiscreteLinear; m_logDiscreteScalarMapper = new cvf::ScalarMapperDiscreteLog; m_linSmoothScalarMapper = new cvf::ScalarMapperContinuousLinear; m_logSmoothScalarMapper = new cvf::ScalarMapperContinuousLog; m_currentScalarMapper = m_linDiscreteScalarMapper; cvf::FixedAtlasFont* font = new cvf::FixedAtlasFont(cvf::FixedAtlasFont::STANDARD); m_legend = new cvf::OverlayScalarMapperLegend(font); m_position = cvf::Vec2ui(20, 50); updateFieldVisibility(); updateLegend(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimEclipsePropertyFilter::initAfterRead() { resultDefinition->initAfterRead(); resultDefinition->setEclipseCase(parentContainer()->reservoirView()->eclipseCase()); resultDefinition->loadResult(); updateIconState(); computeResultValueRange(); updateFieldVisibility(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimEclipsePropertyFilter::setToDefaultValues() { CVF_ASSERT(parentContainer()); computeResultValueRange(); m_lowerBound = m_minimumResultValue; m_upperBound = m_maximumResultValue; m_selectedCategoryValues = m_categoryValues; m_categorySelection = true; updateFieldVisibility(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- RimEclipseFaultColors::RimEclipseFaultColors() { CAF_PDM_InitObject("Separate Fault Result", ":/draw_style_faults_24x24.png", "", ""); CAF_PDM_InitField(&showCustomFaultResult, "ShowCustomFaultResult", false, "Show Custom Fault Result", "", "", ""); showCustomFaultResult.uiCapability()->setUiHidden(true); CAF_PDM_InitFieldNoDefault(&m_customFaultResultColors, "CustomResultSlot", "Custom Fault Result", ":/CellResult.png", "", ""); m_customFaultResultColors = new RimEclipseCellColors(); m_customFaultResultColors.uiCapability()->setUiHidden(true); updateFieldVisibility(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimCellEdgeColors::loadResult() { CVF_ASSERT(m_reservoirView && m_reservoirView->currentGridCellResults()); if (isUsingSingleVariable()) { size_t resultindex = m_reservoirView->currentGridCellResults()->findOrLoadScalarResult(m_singleVarEdgeResultColors->resultType(), m_singleVarEdgeResultColors->resultVariable()); for (int cubeFaceIdx = 0; cubeFaceIdx < 6; ++cubeFaceIdx) { m_resultNameToIndexPairs[cubeFaceIdx] = std::make_pair(m_singleVarEdgeResultColors->resultVariable(), resultindex); } } else { resetResultIndices(); QStringList vars = findResultVariableNames(); updateIgnoredScalarValue(); int i; for (i = 0; i < vars.size(); ++i) { size_t resultindex = m_reservoirView->currentGridCellResults()->findOrLoadScalarResult(RimDefines::STATIC_NATIVE, vars[i]); int cubeFaceIdx; for (cubeFaceIdx = 0; cubeFaceIdx < 6; ++cubeFaceIdx) { if ( ((cubeFaceIdx == 0 || cubeFaceIdx == 1) && useXVariable()) || ((cubeFaceIdx == 2 || cubeFaceIdx == 3) && useYVariable()) || ((cubeFaceIdx == 4 || cubeFaceIdx == 5) && useZVariable())) { QString varEnd = EdgeFaceEnum::textFromIndex(cubeFaceIdx); if (vars[i].endsWith(varEnd)) { m_resultNameToIndexPairs[cubeFaceIdx] = std::make_pair(vars[i], resultindex); } } } } } updateFieldVisibility(); updateConnectedEditors(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimLegendConfig::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { { caf::PdmUiOrdering * formatGr = uiOrdering.addNewGroup("Format"); formatGr->add(&m_numLevels); formatGr->add(&m_precision); formatGr->add(&m_tickNumberFormat); formatGr->add(&m_colorRangeMode); caf::PdmUiOrdering * mappingGr = uiOrdering.addNewGroup("Mapping"); mappingGr->add(&m_mappingMode); mappingGr->add(&m_rangeMode); mappingGr->add(&m_userDefinedMaxValue); mappingGr->add(&m_userDefinedMinValue); } updateFieldVisibility(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- RimEclipseFaultColors::RimEclipseFaultColors() { CAF_PDM_InitObject("Fault Result Slot", ":/draw_style_faults_24x24.png", "", ""); CAF_PDM_InitField(&showCustomFaultResult, "ShowCustomFaultResult", false, "Show Custom Fault Result", "", "", ""); showCustomFaultResult.setUiHidden(true); CAF_PDM_InitFieldNoDefault(&m_customFaultResultColors, "CustomResultSlot", "Custom Fault Result", ":/CellResult.png", "", ""); m_customFaultResultColors = new RimEclipseCellColors(); m_customFaultResultColors.setOwnerObject(this); m_customFaultResultColors.setUiHidden(true); // Take ownership of the fields in RimResultDefinition to be able to trap fieldChangedByUi in this class m_customFaultResultColors->m_resultTypeUiField.setOwnerObject(this); m_customFaultResultColors->m_porosityModelUiField.setOwnerObject(this); m_customFaultResultColors->m_resultVariableUiField.setOwnerObject(this); updateFieldVisibility(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimEclipsePropertyFilter::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) { if (&m_categorySelection == changedField) { updateFieldVisibility(); } if ( &m_lowerBound == changedField || &m_upperBound == changedField || &obsoleteField_evaluationRegion == changedField || &isActive == changedField || &filterMode == changedField || &m_selectedCategoryValues == changedField || &m_categorySelection == changedField) { updateFilterName(); this->updateIconState(); this->uiCapability()->updateConnectedEditors(); parentContainer()->updateDisplayModelNotifyManagedViews(); } }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- RimLegendConfig::RimLegendConfig() : m_globalAutoMax(cvf::UNDEFINED_DOUBLE), m_globalAutoMin(cvf::UNDEFINED_DOUBLE), m_localAutoMax(cvf::UNDEFINED_DOUBLE), m_localAutoMin(cvf::UNDEFINED_DOUBLE), m_globalAutoPosClosestToZero(0), m_globalAutoNegClosestToZero(0), m_localAutoPosClosestToZero(0), m_localAutoNegClosestToZero(0) { CAF_PDM_InitObject("Legend Definition", ":/Legend.png", "", ""); CAF_PDM_InitField(&m_numLevels, "NumberOfLevels", 8, "Number of levels", "", "A hint on how many tick marks you whish.",""); CAF_PDM_InitField(&m_precision, "Precision", 4, "Significant digits", "", "The number of significant digits displayed in the legend numbers",""); CAF_PDM_InitField(&m_tickNumberFormat, "TickNumberFormat", caf::AppEnum<RimLegendConfig::NumberFormatType>(FIXED), "Number format", "", "",""); CAF_PDM_InitField(&m_colorRangeMode, "ColorRangeMode", ColorRangeEnum(NORMAL) , "Colors", "", "", ""); CAF_PDM_InitField(&m_mappingMode, "MappingMode", MappingEnum(LINEAR_CONTINUOUS) , "Mapping", "", "", ""); CAF_PDM_InitField(&m_rangeMode, "RangeType", RangeModeEnum(AUTOMATIC_ALLTIMESTEPS), "Range type", "", "Switches between automatic and user defined range on the legend", ""); CAF_PDM_InitField(&m_userDefinedMaxValue, "UserDefinedMax", 1.0, "Max", "", "Min value of the legend", ""); CAF_PDM_InitField(&m_userDefinedMinValue, "UserDefinedMin", 0.0, "Min", "", "Max value of the legend", ""); CAF_PDM_InitField(&resultVariableName, "ResultVariableUsage", QString(""), "", "", "", ""); resultVariableName.uiCapability()->setUiHidden(true); m_linDiscreteScalarMapper = new cvf::ScalarMapperDiscreteLinear; m_logDiscreteScalarMapper = new cvf::ScalarMapperDiscreteLog; m_linSmoothScalarMapper = new cvf::ScalarMapperContinuousLinear; m_logSmoothScalarMapper = new cvf::ScalarMapperContinuousLog; m_currentScalarMapper = m_linDiscreteScalarMapper; m_categoryMapper = new caf::CategoryMapper; cvf::Font* standardFont = RiaApplication::instance()->standardFont(); m_scalarMapperLegend = new cvf::OverlayScalarMapperLegend(standardFont); m_categoryLegend = new caf::CategoryLegend(standardFont, m_categoryMapper.p()); updateFieldVisibility(); updateLegend(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimLegendConfig::initAfterRead() { updateFieldVisibility(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimCellEdgeColors::initAfterRead() { m_singleVarEdgeResultColors->initAfterRead(); updateFieldVisibility(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimEclipseResultDefinition::setEclipseCase(RimEclipseCase* eclipseCase) { m_eclipseCase = eclipseCase; updateFieldVisibility(); }