#4549 Add python method to get selected cells.

Equivalent to GetSelectedCells in Octave.
This commit is contained in:
Kristian Bendiksen
2020-02-19 15:20:34 +01:00
parent c64281c525
commit 8a1fa38435
6 changed files with 248 additions and 2 deletions

View File

@@ -34,6 +34,7 @@ class RiaGrpcCallbackInterface;
class RigCell;
class RigActiveCellInfo;
class RimEclipseCase;
class RiuEclipseSelectionItem;
//==================================================================================================
//
@@ -76,6 +77,29 @@ protected:
size_t m_currentCellIdx;
};
//==================================================================================================
//
// State handler for streaming of selected cells
//
//==================================================================================================
class RiaSelectedCellsStateHandler
{
typedef grpc::Status Status;
public:
RiaSelectedCellsStateHandler();
Status init( const rips::CaseRequest* request );
Status assignReply( rips::SelectedCells* reply );
void assignSelectedCell( rips::SelectedCell* cell, const RiuEclipseSelectionItem* item );
Status assignNextSelectedCell( rips::SelectedCell* cell, const std::vector<RiuEclipseSelectionItem*>& items );
protected:
const rips::CaseRequest* m_request;
RimEclipseCase* m_eclipseCase;
size_t m_currentItem;
};
//==================================================================================================
//
// gRPC-service answering requests about grid information for a given case
@@ -110,6 +134,10 @@ public:
const rips::CellInfoRequest* request,
rips::CellCornersArray* reply,
RiaActiveCellInfoStateHandler* stateHandler );
grpc::Status GetSelectedCells( grpc::ServerContext* context,
const rips::CaseRequest* request,
rips::SelectedCells* reply,
RiaSelectedCellsStateHandler* stateHandler );
grpc::Status GetReservoirBoundingBox( grpc::ServerContext* context,
const rips::CaseRequest* request,
rips::BoundingBox* reply );