// Proto file representing the layout obj instance class

syntax = "proto3";

package ansys.api.edb.v1;

import "ansys/api/edb/v1/edb_messages.proto";
import "ansys/api/edb/v1/refs.proto";
import "ansys/api/edb/v1/point_data.proto";
import "ansys/api/edb/v1/layout_obj_instance_geometry.proto";

service LayoutObjInstanceService {
  rpc GetLayers(EDBObjMessage) returns (EDBObjCollectionMessage) {}

  rpc GetGeometries(LayerRefPropertyMessage) returns (FetchedLayoutObjInstanceGeometriesMessage) {}

  rpc GetContext(EDBObjMessage) returns (StringsMessage) {}

  rpc GetLayoutInstanceContext(EDBObjMessage) returns (EDBObjMessage) {}

  rpc GetLayoutObj(EDBObjMessage) returns (EDBObjMessage) {}

  rpc GetBBox(BoolPropertyMessage) returns (BoxMessage) {}
}

message FetchedLayoutObjInstanceGeometryMessage {
  LayoutObjInstanceGeometryMessage geometry = 1;
  int64 type = 2;
}

message FetchedLayoutObjInstanceGeometriesMessage {
  repeated FetchedLayoutObjInstanceGeometryMessage geometries = 1;
}