ResInsight/GrpcInterface/GrpcProtos/Case.proto
2021-01-11 15:27:45 +01:00

141 lines
2.4 KiB
Protocol Buffer

syntax = "proto3";
import "PdmObject.proto";
import "Definitions.proto";
package rips;
service Case
{
rpc GetGridCount(CaseRequest) returns(GridCount) {}
rpc GetCellCount(CellInfoRequest) returns (CellCount) {}
rpc GetCellInfoForActiveCells(CellInfoRequest) returns (stream CellInfoArray) {}
rpc GetCellCenterForActiveCells(CellInfoRequest) returns (stream CellCenters) {}
rpc GetCellCornersForActiveCells(CellInfoRequest) returns (stream CellCornersArray) {}
rpc GetCoarseningInfoArray(CaseRequest) returns (CoarseningInfoArray) {}
rpc GetTimeSteps(CaseRequest) returns (TimeStepDates) {}
rpc GetSelectedCells(CaseRequest) returns (stream SelectedCells) {}
rpc GetDaysSinceStart(CaseRequest) returns (DaysSinceStart) {}
rpc GetCaseInfo(CaseRequest) returns (CaseInfo) {}
rpc GetPdmObject(CaseRequest) returns (PdmObject) {}
rpc GetReservoirBoundingBox(CaseRequest) returns (BoundingBox) {}
}
message CaseRequest {
int32 id = 1;
}
message CaseInfo
{
int32 id = 1;
int32 group_id = 2;
string name = 3;
string type = 4;
}
message CaseInfoArray
{
repeated CaseInfo data = 1;
}
message BoundingBox
{
double min_x = 1;
double max_x = 2;
double min_y = 3;
double max_y = 4;
double min_z = 5;
double max_z = 6;
}
message CaseGroup
{
int32 id = 1;
string name = 2;
}
message CaseGroups
{
repeated CaseGroup case_groups = 1;
}
message GridCount
{
int32 count = 1;
}
message CellCount
{
int32 active_cell_count = 1;
int32 reservoir_cell_count = 2;
}
enum PorosityModelType
{
MATRIX_MODEL = 0;
FRACTURE_MODEL = 1;
}
message CellInfoRequest
{
CaseRequest case_request = 1;
PorosityModelType porosity_model = 2;
}
message CellInfoArray
{
repeated CellInfo data = 1;
}
message CellInfo
{
int32 grid_index = 1;
int32 parent_grid_index = 2;
int32 coarsening_box_index = 3;
Vec3i local_ijk = 4;
Vec3i parent_ijk = 5;
}
message CoarseningInfoArray
{
repeated CoarseningInfo data = 1;
}
message CoarseningInfo
{
Vec3i min = 1;
Vec3i max = 2;
}
message TimeStepDates
{
repeated TimeStepDate dates = 1;
}
message TimeStepDate
{
int32 year = 1;
int32 month = 2;
int32 day = 3;
int32 hour = 4;
int32 minute = 5;
int32 second = 6;
}
message DaysSinceStart
{
repeated double day_decimals = 1;
}
message SelectedCell
{
int32 grid_index = 1;
Vec3i ijk = 2;
}
message SelectedCells
{
repeated SelectedCell cells = 1;
}