// Proto file representing the EDB hierarchy objects class

syntax = "proto3";

// Package
package ansys.api.edb.v1;

// Imports
import "ansys/api/edb/v1/edb_messages.proto";
import "ansys/api/edb/v1/point_data.proto";
import "ansys/api/edb/v1/transform.proto";

// Hierarchy object service definition
service HierarchyObjectService {
  // Get Transform
  rpc GetTransform(EDBObjMessage) returns (TransformMessage) {}

  // Set Transform
  rpc SetTransform(TransformPropertyMessage) returns (google.protobuf.Empty) {}

  // Get Name
  rpc GetName(EDBObjMessage) returns (google.protobuf.StringValue) {}

  // Set Name
  rpc SetName(EDBObjNameMessage) returns (google.protobuf.Empty) {}

  // Get Component
  rpc GetComponent(EDBObjMessage) returns (EDBObjMessage) {}

  // Get Placement Layer
  rpc GetPlacementLayer(EDBObjMessage) returns (EDBObjMessage) {}

  // Set Placement Layer
  rpc SetPlacementLayer(PointerPropertyMessage) returns (google.protobuf.Empty) {}

  // Get Location
  rpc GetLocation(EDBObjMessage) returns (PointMessage) {}

  // Set Location
  rpc SetLocation(PointPropertyMessage) returns (google.protobuf.Empty) {}

  // Get Solve Independent Preference
  rpc GetSolveIndependentPreference(EDBObjMessage) returns (google.protobuf.BoolValue) {}

  // Set Solve Independent Preference
  rpc SetSolveIndependentPreference(BoolPropertyMessage) returns (google.protobuf.Empty) {}
}

message ObjectNameInLayoutMessage {
  EDBObjMessage layout = 1;
  string name = 2;
} 




