Add create_statistics_case

Remove original implementation not working in gridcasegroup.py
Add create_statistics_case object method
This commit is contained in:
Magne Sjaastad authored and Kristian Bendiksen committed 2023-07-11 09:22:14 +02:00
1 parent f72fcdd868
commit f20a83c710
9 files changed
+233 -58

No files matched your search

@@ -25,6 +25,7 @@ set(SOURCE_GROUP_HEADER_FILES
${CMAKE_CURRENT_LIST_DIR}/RimcIntersection.h
${CMAKE_CURRENT_LIST_DIR}/RimcEclipseCase.h
${CMAKE_CURRENT_LIST_DIR}/RimcEclipseStatisticsCase.h
${CMAKE_CURRENT_LIST_DIR}/RimcIdenticalGridCaseGroup.h
)
set(SOURCE_GROUP_SOURCE_FILES
@@ -54,6 +55,7 @@ set(SOURCE_GROUP_SOURCE_FILES
${CMAKE_CURRENT_LIST_DIR}/RimcIntersection.cpp
${CMAKE_CURRENT_LIST_DIR}/RimcEclipseCase.cpp
${CMAKE_CURRENT_LIST_DIR}/RimcEclipseStatisticsCase.cpp
${CMAKE_CURRENT_LIST_DIR}/RimcIdenticalGridCaseGroup.cpp
)
list(APPEND CODE_HEADER_FILES ${SOURCE_GROUP_HEADER_FILES})
@@ -1,6 +1,6 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2020- Equinor ASA
// 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
@@ -20,36 +20,20 @@
#include "RiaApplication.h"
#include "RiaGuiApplication.h"
#include "RiaLogging.h"
#include "RicImportSummaryCasesFeature.h"
/*
#include "RimEclipseCase.h"
#include "RimFileSummaryCase.h"
#include "RimOilField.h"
#include "RimProject.h"
#include "RimSummaryCase.h"
#include "RimSurfaceCollection.h"
#include "RiuPlotMainWindow.h"
*/
#include "RiaLogging.h"
#include "RimEclipseStatisticsCase.h"
#include "cafPdmFieldScriptingCapability.h"
/*
#include <QDir>
#include <QFileInfo>
#include <memory>
*/
CAF_PDM_OBJECT_METHOD_SOURCE_INIT( RimEclipseStatisticsCase, RimcEclipseStatisticsCase_defineSourceProperties, "set_source_result" );
CAF_PDM_OBJECT_METHOD_SOURCE_INIT( RimEclipseStatisticsCase, RimcEclipseStatisticsCase_setSourceProperties, "set_source_properties" );
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimcEclipseStatisticsCase_defineSourceProperties::RimcEclipseStatisticsCase_defineSourceProperties( caf::PdmObjectHandle* self )
RimcEclipseStatisticsCase_setSourceProperties::RimcEclipseStatisticsCase_setSourceProperties( caf::PdmObjectHandle* self )
: caf::PdmObjectMethod( self )
{
CAF_PDM_InitObject( "Define Source Properties" );
@@ -60,7 +44,7 @@ RimcEclipseStatisticsCase_defineSourceProperties::RimcEclipseStatisticsCase_defi
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
caf::PdmObjectHandle* RimcEclipseStatisticsCase_defineSourceProperties::execute()
caf::PdmObjectHandle* RimcEclipseStatisticsCase_setSourceProperties::execute()
{
RiaDefines::ResultCatType myEnum = caf::AppEnum<RiaDefines::ResultCatType>::fromText( m_propertyType() );
@@ -81,7 +65,7 @@ caf::PdmObjectHandle* RimcEclipseStatisticsCase_defineSourceProperties::execute(
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimcEclipseStatisticsCase_defineSourceProperties::resultIsPersistent() const
bool RimcEclipseStatisticsCase_setSourceProperties::resultIsPersistent() const
{
return false;
}
@@ -89,7 +73,7 @@ bool RimcEclipseStatisticsCase_defineSourceProperties::resultIsPersistent() cons
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::unique_ptr<caf::PdmObjectHandle> RimcEclipseStatisticsCase_defineSourceProperties::defaultResult() const
std::unique_ptr<caf::PdmObjectHandle> RimcEclipseStatisticsCase_setSourceProperties::defaultResult() const
{
return nullptr;
}
@@ -97,7 +81,7 @@ std::unique_ptr<caf::PdmObjectHandle> RimcEclipseStatisticsCase_defineSourceProp
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimcEclipseStatisticsCase_defineSourceProperties::isNullptrValidResult() const
bool RimcEclipseStatisticsCase_setSourceProperties::isNullptrValidResult() const
{
return true;
}
@@ -146,3 +130,57 @@ bool RimcEclipseStatisticsCase_computeStatistics::isNullptrValidResult() const
{
return true;
}
CAF_PDM_OBJECT_METHOD_SOURCE_INIT( RimEclipseStatisticsCase, RimcEclipseStatisticsCase_clearSourceProperties, "clear_source_properties" );
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimcEclipseStatisticsCase_clearSourceProperties::RimcEclipseStatisticsCase_clearSourceProperties( caf::PdmObjectHandle* self )
: caf::PdmObjectMethod( self )
{
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
caf::PdmObjectHandle* RimcEclipseStatisticsCase_clearSourceProperties::execute()
{
auto myEnums = { RiaDefines::ResultCatType::DYNAMIC_NATIVE,
RiaDefines::ResultCatType::STATIC_NATIVE,
RiaDefines::ResultCatType::INPUT_PROPERTY,
RiaDefines::ResultCatType::GENERATED };
auto eclipseCase = self<RimEclipseStatisticsCase>();
for ( auto myEnum : myEnums )
{
eclipseCase->setSourceProperties( myEnum, {} );
}
return nullptr;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimcEclipseStatisticsCase_clearSourceProperties::resultIsPersistent() const
{
return false;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::unique_ptr<caf::PdmObjectHandle> RimcEclipseStatisticsCase_clearSourceProperties::defaultResult() const
{
return nullptr;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimcEclipseStatisticsCase_clearSourceProperties::isNullptrValidResult() const
{
return true;
}
@@ -1,6 +1,6 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2020- Equinor ASA
// 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
@@ -29,12 +29,12 @@
//==================================================================================================
///
//==================================================================================================
class RimcEclipseStatisticsCase_defineSourceProperties : public caf::PdmObjectMethod
class RimcEclipseStatisticsCase_setSourceProperties : public caf::PdmObjectMethod
{
CAF_PDM_HEADER_INIT;
public:
RimcEclipseStatisticsCase_defineSourceProperties( caf::PdmObjectHandle* self );
RimcEclipseStatisticsCase_setSourceProperties( caf::PdmObjectHandle* self );
caf::PdmObjectHandle* execute() override;
bool resultIsPersistent() const override;
@@ -61,3 +61,19 @@ public:
std::unique_ptr<PdmObjectHandle> defaultResult() const override;
bool isNullptrValidResult() const override;
};
//==================================================================================================
///
//==================================================================================================
class RimcEclipseStatisticsCase_clearSourceProperties : public caf::PdmObjectMethod
{
CAF_PDM_HEADER_INIT;
public:
RimcEclipseStatisticsCase_clearSourceProperties( caf::PdmObjectHandle* self );
caf::PdmObjectHandle* execute() override;
bool resultIsPersistent() const override;
std::unique_ptr<PdmObjectHandle> defaultResult() const override;
bool isNullptrValidResult() const override;
};
@@ -0,0 +1,63 @@
/////////////////////////////////////////////////////////////////////////////////
//
// 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 "RimcIdenticalGridCaseGroup.h"
#include "RimEclipseStatisticsCase.h"
#include "RimIdenticalGridCaseGroup.h"
#include "cafPdmFieldScriptingCapability.h"
CAF_PDM_OBJECT_METHOD_SOURCE_INIT( RimIdenticalGridCaseGroup, RimcIdenticalGridCaseGroup_createStatisticsCase, "create_statistics_case" );
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimcIdenticalGridCaseGroup_createStatisticsCase::RimcIdenticalGridCaseGroup_createStatisticsCase( caf::PdmObjectHandle* self )
: caf::PdmObjectMethod( self )
{
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
caf::PdmObjectHandle* RimcIdenticalGridCaseGroup_createStatisticsCase::execute()
{
auto gridCaseGroup = self<RimIdenticalGridCaseGroup>();
auto statCase = gridCaseGroup->createAndAppendEmptyStatisticsCase();
gridCaseGroup->updateConnectedEditors();
return statCase;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimcIdenticalGridCaseGroup_createStatisticsCase::resultIsPersistent() const
{
return true;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::unique_ptr<caf::PdmObjectHandle> RimcIdenticalGridCaseGroup_createStatisticsCase::defaultResult() const
{
return std::unique_ptr<caf::PdmObjectHandle>( new RimEclipseStatisticsCase );
}
@@ -0,0 +1,42 @@
/////////////////////////////////////////////////////////////////////////////////
//
// 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 "cafPdmField.h"
#include "cafPdmObjectHandle.h"
#include "cafPdmObjectMethod.h"
#include <QString>
#include <memory>
//==================================================================================================
///
//==================================================================================================
class RimcIdenticalGridCaseGroup_createStatisticsCase : public caf::PdmObjectMethod
{
CAF_PDM_HEADER_INIT;
public:
RimcIdenticalGridCaseGroup_createStatisticsCase( caf::PdmObjectHandle* self );
caf::PdmObjectHandle* execute() override;
bool resultIsPersistent() const override;
std::unique_ptr<PdmObjectHandle> defaultResult() const override;
};