RSSeismicScripting 3.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. rsseismic/Application.py +196 -0
  2. rsseismic/ApplicationManager.py +111 -0
  3. rsseismic/BedrockLayer.py +29 -0
  4. rsseismic/MeanProfile.py +169 -0
  5. rsseismic/MeanProfileSoilLayer.py +119 -0
  6. rsseismic/Model.py +204 -0
  7. rsseismic/Motions.py +140 -0
  8. rsseismic/ProfileGenerationSettings.py +29 -0
  9. rsseismic/Profiles.py +186 -0
  10. rsseismic/ProjectSettings.py +46 -0
  11. rsseismic/ReferenceCurve.py +73 -0
  12. rsseismic/Results.py +419 -0
  13. rsseismic/SoilLayer.py +34 -0
  14. rsseismic/SoilLayerCurve.py +124 -0
  15. rsseismic/SoilLayerOperations.py +120 -0
  16. rsseismic/__init__.py +79 -0
  17. rsseismic/_application_paths.py +74 -0
  18. rsseismic/_batch_compute.py +420 -0
  19. rsseismic/_client.py +81 -0
  20. rsseismic/_proto_converters.py +345 -0
  21. rsseismic/_proxyObject.py +11 -0
  22. rsseismic/_result_bulk_dataframes.py +202 -0
  23. rsseismic/_result_dataframes.py +77 -0
  24. rsseismic/_rpc_helpers.py +55 -0
  25. rsseismic/enums/__init__.py +23 -0
  26. rsseismic/enums/_generated.py +120 -0
  27. rsseismic/enums/fitting_procedure.py +15 -0
  28. rsseismic/exceptions.py +11 -0
  29. rsseismic/generatedFiles/ApplicationService_pb2.py +46 -0
  30. rsseismic/generatedFiles/ApplicationService_pb2.pyi +67 -0
  31. rsseismic/generatedFiles/ApplicationService_pb2_grpc.py +274 -0
  32. rsseismic/generatedFiles/BedrockLayerDataService_pb2.py +27 -0
  33. rsseismic/generatedFiles/BedrockLayerDataService_pb2.pyi +5 -0
  34. rsseismic/generatedFiles/BedrockLayerDataService_pb2_grpc.py +231 -0
  35. rsseismic/generatedFiles/CommonMessages_pb2.py +50 -0
  36. rsseismic/generatedFiles/CommonMessages_pb2.pyi +113 -0
  37. rsseismic/generatedFiles/CommonMessages_pb2_grpc.py +29 -0
  38. rsseismic/generatedFiles/MeanProfileService_pb2.py +62 -0
  39. rsseismic/generatedFiles/MeanProfileService_pb2.pyi +176 -0
  40. rsseismic/generatedFiles/MeanProfileService_pb2_grpc.py +458 -0
  41. rsseismic/generatedFiles/MeanProfileSoilLayerDataService_pb2.py +45 -0
  42. rsseismic/generatedFiles/MeanProfileSoilLayerDataService_pb2.pyi +87 -0
  43. rsseismic/generatedFiles/MeanProfileSoilLayerDataService_pb2_grpc.py +360 -0
  44. rsseismic/generatedFiles/ModelService_pb2.py +54 -0
  45. rsseismic/generatedFiles/ModelService_pb2.pyi +122 -0
  46. rsseismic/generatedFiles/ModelService_pb2_grpc.py +360 -0
  47. rsseismic/generatedFiles/MotionService_pb2.py +78 -0
  48. rsseismic/generatedFiles/MotionService_pb2.pyi +224 -0
  49. rsseismic/generatedFiles/MotionService_pb2_grpc.py +575 -0
  50. rsseismic/generatedFiles/ProfileGenerationSettingsService_pb2.py +27 -0
  51. rsseismic/generatedFiles/ProfileGenerationSettingsService_pb2.pyi +5 -0
  52. rsseismic/generatedFiles/ProfileGenerationSettingsService_pb2_grpc.py +145 -0
  53. rsseismic/generatedFiles/ProfileService_pb2.py +76 -0
  54. rsseismic/generatedFiles/ProfileService_pb2.pyi +246 -0
  55. rsseismic/generatedFiles/ProfileService_pb2_grpc.py +532 -0
  56. rsseismic/generatedFiles/ProjectSettingsDataService_pb2.py +35 -0
  57. rsseismic/generatedFiles/ProjectSettingsDataService_pb2.pyi +40 -0
  58. rsseismic/generatedFiles/ProjectSettingsDataService_pb2_grpc.py +232 -0
  59. rsseismic/generatedFiles/ReferenceCurveDataService_pb2.py +41 -0
  60. rsseismic/generatedFiles/ReferenceCurveDataService_pb2.pyi +73 -0
  61. rsseismic/generatedFiles/ReferenceCurveDataService_pb2_grpc.py +281 -0
  62. rsseismic/generatedFiles/ResultsService_pb2.py +82 -0
  63. rsseismic/generatedFiles/ResultsService_pb2.pyi +373 -0
  64. rsseismic/generatedFiles/ResultsService_pb2_grpc.py +489 -0
  65. rsseismic/generatedFiles/SoilLayerCurveDataService_pb2.py +52 -0
  66. rsseismic/generatedFiles/SoilLayerCurveDataService_pb2.pyi +150 -0
  67. rsseismic/generatedFiles/SoilLayerCurveDataService_pb2_grpc.py +280 -0
  68. rsseismic/generatedFiles/SoilLayerDataService_pb2.py +27 -0
  69. rsseismic/generatedFiles/SoilLayerDataService_pb2.pyi +5 -0
  70. rsseismic/generatedFiles/SoilLayerDataService_pb2_grpc.py +231 -0
  71. rsseismic/generatedFiles/SoilLayerService_pb2.py +46 -0
  72. rsseismic/generatedFiles/SoilLayerService_pb2.pyi +122 -0
  73. rsseismic/generatedFiles/SoilLayerService_pb2_grpc.py +317 -0
  74. rsseismic/generatedFiles/__init__.py +4 -0
  75. rsseismic/properties/_PropertyAccessor.py +151 -0
  76. rsseismic/properties/__init__.py +6 -0
  77. rsseismic/properties/bedrockLayer/__init__.py +1 -0
  78. rsseismic/properties/bedrockLayer/_generated.py +127 -0
  79. rsseismic/properties/meanProfileSoilLayer/__init__.py +1 -0
  80. rsseismic/properties/meanProfileSoilLayer/_generated.py +87 -0
  81. rsseismic/properties/profileGenerationSettings/__init__.py +1 -0
  82. rsseismic/properties/profileGenerationSettings/_generated.py +195 -0
  83. rsseismic/properties/projectSettings/__init__.py +1 -0
  84. rsseismic/properties/projectSettings/_generated.py +270 -0
  85. rsseismic/properties/referenceCurve/__init__.py +1 -0
  86. rsseismic/properties/referenceCurve/_generated.py +264 -0
  87. rsseismic/properties/soilLayer/__init__.py +1 -0
  88. rsseismic/properties/soilLayer/_generated.py +523 -0
  89. rsseismic/types.py +311 -0
  90. rsseismicscripting-3.0.0.dist-info/METADATA +88 -0
  91. rsseismicscripting-3.0.0.dist-info/RECORD +94 -0
  92. rsseismicscripting-3.0.0.dist-info/WHEEL +5 -0
  93. rsseismicscripting-3.0.0.dist-info/licenses/License.txt +20 -0
  94. rsseismicscripting-3.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,317 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+ import warnings
5
+
6
+ import SoilLayerService_pb2 as SoilLayerService__pb2
7
+
8
+ GRPC_GENERATED_VERSION = '1.64.1'
9
+ GRPC_VERSION = grpc.__version__
10
+ EXPECTED_ERROR_RELEASE = '1.65.0'
11
+ SCHEDULED_RELEASE_DATE = 'June 25, 2024'
12
+ _version_not_supported = False
13
+
14
+ try:
15
+ from grpc._utilities import first_version_is_lower
16
+ _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
17
+ except ImportError:
18
+ _version_not_supported = True
19
+
20
+ if _version_not_supported:
21
+ warnings.warn(
22
+ f'The grpc package installed is at version {GRPC_VERSION},'
23
+ + f' but the generated code in SoilLayerService_pb2_grpc.py depends on'
24
+ + f' grpcio>={GRPC_GENERATED_VERSION}.'
25
+ + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
26
+ + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
27
+ + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},'
28
+ + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.',
29
+ RuntimeWarning
30
+ )
31
+
32
+
33
+ class SoilLayerServiceStub(object):
34
+ """Missing associated documentation comment in .proto file."""
35
+
36
+ def __init__(self, channel):
37
+ """Constructor.
38
+
39
+ Args:
40
+ channel: A grpc.Channel.
41
+ """
42
+ self.InsertLayerBefore = channel.unary_unary(
43
+ '/SoilLayerServiceDefinition.SoilLayerService/InsertLayerBefore',
44
+ request_serializer=SoilLayerService__pb2.InsertLayerBeforeRequest.SerializeToString,
45
+ response_deserializer=SoilLayerService__pb2.InsertLayerResponse.FromString,
46
+ _registered_method=True)
47
+ self.InsertLayerAfter = channel.unary_unary(
48
+ '/SoilLayerServiceDefinition.SoilLayerService/InsertLayerAfter',
49
+ request_serializer=SoilLayerService__pb2.InsertLayerAfterRequest.SerializeToString,
50
+ response_deserializer=SoilLayerService__pb2.InsertLayerResponse.FromString,
51
+ _registered_method=True)
52
+ self.AppendLayers = channel.unary_unary(
53
+ '/SoilLayerServiceDefinition.SoilLayerService/AppendLayers',
54
+ request_serializer=SoilLayerService__pb2.AppendLayersRequest.SerializeToString,
55
+ response_deserializer=SoilLayerService__pb2.AppendLayersResponse.FromString,
56
+ _registered_method=True)
57
+ self.DeleteLayer = channel.unary_unary(
58
+ '/SoilLayerServiceDefinition.SoilLayerService/DeleteLayer',
59
+ request_serializer=SoilLayerService__pb2.DeleteLayerRequest.SerializeToString,
60
+ response_deserializer=SoilLayerService__pb2.DeleteLayerResponse.FromString,
61
+ _registered_method=True)
62
+ self.DuplicateLayer = channel.unary_unary(
63
+ '/SoilLayerServiceDefinition.SoilLayerService/DuplicateLayer',
64
+ request_serializer=SoilLayerService__pb2.DuplicateLayerRequest.SerializeToString,
65
+ response_deserializer=SoilLayerService__pb2.InsertLayerResponse.FromString,
66
+ _registered_method=True)
67
+ self.MoveLayer = channel.unary_unary(
68
+ '/SoilLayerServiceDefinition.SoilLayerService/MoveLayer',
69
+ request_serializer=SoilLayerService__pb2.MoveLayerRequest.SerializeToString,
70
+ response_deserializer=SoilLayerService__pb2.MoveLayerResponse.FromString,
71
+ _registered_method=True)
72
+
73
+
74
+ class SoilLayerServiceServicer(object):
75
+ """Missing associated documentation comment in .proto file."""
76
+
77
+ def InsertLayerBefore(self, request, context):
78
+ """Missing associated documentation comment in .proto file."""
79
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
80
+ context.set_details('Method not implemented!')
81
+ raise NotImplementedError('Method not implemented!')
82
+
83
+ def InsertLayerAfter(self, request, context):
84
+ """Missing associated documentation comment in .proto file."""
85
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
86
+ context.set_details('Method not implemented!')
87
+ raise NotImplementedError('Method not implemented!')
88
+
89
+ def AppendLayers(self, request, context):
90
+ """Missing associated documentation comment in .proto file."""
91
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
92
+ context.set_details('Method not implemented!')
93
+ raise NotImplementedError('Method not implemented!')
94
+
95
+ def DeleteLayer(self, request, context):
96
+ """Missing associated documentation comment in .proto file."""
97
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
98
+ context.set_details('Method not implemented!')
99
+ raise NotImplementedError('Method not implemented!')
100
+
101
+ def DuplicateLayer(self, request, context):
102
+ """Missing associated documentation comment in .proto file."""
103
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
104
+ context.set_details('Method not implemented!')
105
+ raise NotImplementedError('Method not implemented!')
106
+
107
+ def MoveLayer(self, request, context):
108
+ """Missing associated documentation comment in .proto file."""
109
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
110
+ context.set_details('Method not implemented!')
111
+ raise NotImplementedError('Method not implemented!')
112
+
113
+
114
+ def add_SoilLayerServiceServicer_to_server(servicer, server):
115
+ rpc_method_handlers = {
116
+ 'InsertLayerBefore': grpc.unary_unary_rpc_method_handler(
117
+ servicer.InsertLayerBefore,
118
+ request_deserializer=SoilLayerService__pb2.InsertLayerBeforeRequest.FromString,
119
+ response_serializer=SoilLayerService__pb2.InsertLayerResponse.SerializeToString,
120
+ ),
121
+ 'InsertLayerAfter': grpc.unary_unary_rpc_method_handler(
122
+ servicer.InsertLayerAfter,
123
+ request_deserializer=SoilLayerService__pb2.InsertLayerAfterRequest.FromString,
124
+ response_serializer=SoilLayerService__pb2.InsertLayerResponse.SerializeToString,
125
+ ),
126
+ 'AppendLayers': grpc.unary_unary_rpc_method_handler(
127
+ servicer.AppendLayers,
128
+ request_deserializer=SoilLayerService__pb2.AppendLayersRequest.FromString,
129
+ response_serializer=SoilLayerService__pb2.AppendLayersResponse.SerializeToString,
130
+ ),
131
+ 'DeleteLayer': grpc.unary_unary_rpc_method_handler(
132
+ servicer.DeleteLayer,
133
+ request_deserializer=SoilLayerService__pb2.DeleteLayerRequest.FromString,
134
+ response_serializer=SoilLayerService__pb2.DeleteLayerResponse.SerializeToString,
135
+ ),
136
+ 'DuplicateLayer': grpc.unary_unary_rpc_method_handler(
137
+ servicer.DuplicateLayer,
138
+ request_deserializer=SoilLayerService__pb2.DuplicateLayerRequest.FromString,
139
+ response_serializer=SoilLayerService__pb2.InsertLayerResponse.SerializeToString,
140
+ ),
141
+ 'MoveLayer': grpc.unary_unary_rpc_method_handler(
142
+ servicer.MoveLayer,
143
+ request_deserializer=SoilLayerService__pb2.MoveLayerRequest.FromString,
144
+ response_serializer=SoilLayerService__pb2.MoveLayerResponse.SerializeToString,
145
+ ),
146
+ }
147
+ generic_handler = grpc.method_handlers_generic_handler(
148
+ 'SoilLayerServiceDefinition.SoilLayerService', rpc_method_handlers)
149
+ server.add_generic_rpc_handlers((generic_handler,))
150
+ server.add_registered_method_handlers('SoilLayerServiceDefinition.SoilLayerService', rpc_method_handlers)
151
+
152
+
153
+ # This class is part of an EXPERIMENTAL API.
154
+ class SoilLayerService(object):
155
+ """Missing associated documentation comment in .proto file."""
156
+
157
+ @staticmethod
158
+ def InsertLayerBefore(request,
159
+ target,
160
+ options=(),
161
+ channel_credentials=None,
162
+ call_credentials=None,
163
+ insecure=False,
164
+ compression=None,
165
+ wait_for_ready=None,
166
+ timeout=None,
167
+ metadata=None):
168
+ return grpc.experimental.unary_unary(
169
+ request,
170
+ target,
171
+ '/SoilLayerServiceDefinition.SoilLayerService/InsertLayerBefore',
172
+ SoilLayerService__pb2.InsertLayerBeforeRequest.SerializeToString,
173
+ SoilLayerService__pb2.InsertLayerResponse.FromString,
174
+ options,
175
+ channel_credentials,
176
+ insecure,
177
+ call_credentials,
178
+ compression,
179
+ wait_for_ready,
180
+ timeout,
181
+ metadata,
182
+ _registered_method=True)
183
+
184
+ @staticmethod
185
+ def InsertLayerAfter(request,
186
+ target,
187
+ options=(),
188
+ channel_credentials=None,
189
+ call_credentials=None,
190
+ insecure=False,
191
+ compression=None,
192
+ wait_for_ready=None,
193
+ timeout=None,
194
+ metadata=None):
195
+ return grpc.experimental.unary_unary(
196
+ request,
197
+ target,
198
+ '/SoilLayerServiceDefinition.SoilLayerService/InsertLayerAfter',
199
+ SoilLayerService__pb2.InsertLayerAfterRequest.SerializeToString,
200
+ SoilLayerService__pb2.InsertLayerResponse.FromString,
201
+ options,
202
+ channel_credentials,
203
+ insecure,
204
+ call_credentials,
205
+ compression,
206
+ wait_for_ready,
207
+ timeout,
208
+ metadata,
209
+ _registered_method=True)
210
+
211
+ @staticmethod
212
+ def AppendLayers(request,
213
+ target,
214
+ options=(),
215
+ channel_credentials=None,
216
+ call_credentials=None,
217
+ insecure=False,
218
+ compression=None,
219
+ wait_for_ready=None,
220
+ timeout=None,
221
+ metadata=None):
222
+ return grpc.experimental.unary_unary(
223
+ request,
224
+ target,
225
+ '/SoilLayerServiceDefinition.SoilLayerService/AppendLayers',
226
+ SoilLayerService__pb2.AppendLayersRequest.SerializeToString,
227
+ SoilLayerService__pb2.AppendLayersResponse.FromString,
228
+ options,
229
+ channel_credentials,
230
+ insecure,
231
+ call_credentials,
232
+ compression,
233
+ wait_for_ready,
234
+ timeout,
235
+ metadata,
236
+ _registered_method=True)
237
+
238
+ @staticmethod
239
+ def DeleteLayer(request,
240
+ target,
241
+ options=(),
242
+ channel_credentials=None,
243
+ call_credentials=None,
244
+ insecure=False,
245
+ compression=None,
246
+ wait_for_ready=None,
247
+ timeout=None,
248
+ metadata=None):
249
+ return grpc.experimental.unary_unary(
250
+ request,
251
+ target,
252
+ '/SoilLayerServiceDefinition.SoilLayerService/DeleteLayer',
253
+ SoilLayerService__pb2.DeleteLayerRequest.SerializeToString,
254
+ SoilLayerService__pb2.DeleteLayerResponse.FromString,
255
+ options,
256
+ channel_credentials,
257
+ insecure,
258
+ call_credentials,
259
+ compression,
260
+ wait_for_ready,
261
+ timeout,
262
+ metadata,
263
+ _registered_method=True)
264
+
265
+ @staticmethod
266
+ def DuplicateLayer(request,
267
+ target,
268
+ options=(),
269
+ channel_credentials=None,
270
+ call_credentials=None,
271
+ insecure=False,
272
+ compression=None,
273
+ wait_for_ready=None,
274
+ timeout=None,
275
+ metadata=None):
276
+ return grpc.experimental.unary_unary(
277
+ request,
278
+ target,
279
+ '/SoilLayerServiceDefinition.SoilLayerService/DuplicateLayer',
280
+ SoilLayerService__pb2.DuplicateLayerRequest.SerializeToString,
281
+ SoilLayerService__pb2.InsertLayerResponse.FromString,
282
+ options,
283
+ channel_credentials,
284
+ insecure,
285
+ call_credentials,
286
+ compression,
287
+ wait_for_ready,
288
+ timeout,
289
+ metadata,
290
+ _registered_method=True)
291
+
292
+ @staticmethod
293
+ def MoveLayer(request,
294
+ target,
295
+ options=(),
296
+ channel_credentials=None,
297
+ call_credentials=None,
298
+ insecure=False,
299
+ compression=None,
300
+ wait_for_ready=None,
301
+ timeout=None,
302
+ metadata=None):
303
+ return grpc.experimental.unary_unary(
304
+ request,
305
+ target,
306
+ '/SoilLayerServiceDefinition.SoilLayerService/MoveLayer',
307
+ SoilLayerService__pb2.MoveLayerRequest.SerializeToString,
308
+ SoilLayerService__pb2.MoveLayerResponse.FromString,
309
+ options,
310
+ channel_credentials,
311
+ insecure,
312
+ call_credentials,
313
+ compression,
314
+ wait_for_ready,
315
+ timeout,
316
+ metadata,
317
+ _registered_method=True)
@@ -0,0 +1,4 @@
1
+ import os
2
+ import sys
3
+
4
+ sys.path.insert(0, os.path.abspath(os.path.dirname(__file__)))
@@ -0,0 +1,151 @@
1
+ """Generic get/set property access for RSSeismic DataService stubs."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from enum import Enum
6
+ from typing import Any
7
+
8
+ from rsseismic._client import Client
9
+ from rsseismic._rpc_helpers import property_value_from_python, property_value_to_python
10
+ from rsseismic.generatedFiles import CommonMessages_pb2 as CommonMessages_pb2
11
+
12
+
13
+ class PropertyAccessor:
14
+ """
15
+ Generic model-scoped property access via GetProperty / SetProperty RPCs.
16
+
17
+ objectId is the open model ID (modelId). Used by ProjectSettings and
18
+ ProfileGenerationSettings. For layer GUID–scoped access, use
19
+ ProjectScopedPropertyAccessor.
20
+ """
21
+
22
+ def __init__(self, client: Client, objectId: str, stub: Any):
23
+ self.objectId = objectId
24
+ self._client = client
25
+ self._stub = stub
26
+
27
+ def _getProperty(self, propertyName: str) -> CommonMessages_pb2.PropertyValue:
28
+ request = CommonMessages_pb2.GetPropertyRequest(
29
+ objectId=self.objectId,
30
+ propertyName=propertyName,
31
+ )
32
+ response = self._client.callFunction(self._stub.GetProperty, request)
33
+ return response.value
34
+
35
+ def _setProperty(self, propertyName: str, value: CommonMessages_pb2.PropertyValue) -> None:
36
+ request = CommonMessages_pb2.SetPropertyRequest(
37
+ objectId=self.objectId,
38
+ propertyName=propertyName,
39
+ value=value,
40
+ )
41
+ self._client.callFunction(self._stub.SetProperty, request)
42
+
43
+ def getProperty(self, propertyName: str) -> Any:
44
+ return property_value_to_python(self._getProperty(propertyName))
45
+
46
+ def setProperty(self, propertyName: str, value: Any) -> None:
47
+ self._setProperty(propertyName, property_value_from_python(value))
48
+
49
+ def getDoubleProperty(self, propertyName: str) -> float:
50
+ return self._getProperty(propertyName).doubleValue
51
+
52
+ def setDoubleProperty(self, propertyName: str, value: float) -> None:
53
+ self._setProperty(propertyName, CommonMessages_pb2.PropertyValue(doubleValue=value))
54
+
55
+ def getFloatProperty(self, propertyName: str) -> float:
56
+ return self._getProperty(propertyName).floatValue
57
+
58
+ def setFloatProperty(self, propertyName: str, value: float) -> None:
59
+ self._setProperty(propertyName, CommonMessages_pb2.PropertyValue(floatValue=value))
60
+
61
+ def getIntProperty(self, propertyName: str) -> int:
62
+ return self._getProperty(propertyName).intValue
63
+
64
+ def setIntProperty(self, propertyName: str, value: int) -> None:
65
+ self._setProperty(propertyName, CommonMessages_pb2.PropertyValue(intValue=value))
66
+
67
+ def getLongProperty(self, propertyName: str) -> int:
68
+ return self._getProperty(propertyName).longValue
69
+
70
+ def setLongProperty(self, propertyName: str, value: int) -> None:
71
+ self._setProperty(propertyName, CommonMessages_pb2.PropertyValue(longValue=value))
72
+
73
+ def getBoolValue(self, propertyName: str) -> bool:
74
+ return self._getProperty(propertyName).boolValue
75
+
76
+ def setBoolValue(self, propertyName: str, value: bool) -> None:
77
+ self._setProperty(propertyName, CommonMessages_pb2.PropertyValue(boolValue=value))
78
+
79
+ def getStringValue(self, propertyName: str) -> str:
80
+ return self._getProperty(propertyName).stringValue
81
+
82
+ def setStringValue(self, propertyName: str, value: str) -> None:
83
+ self._setProperty(propertyName, CommonMessages_pb2.PropertyValue(stringValue=value))
84
+
85
+ def getBytesValue(self, propertyName: str) -> bytes:
86
+ return self._getProperty(propertyName).bytesValue
87
+
88
+ def setBytesValue(self, propertyName: str, value: bytes) -> None:
89
+ self._setProperty(propertyName, CommonMessages_pb2.PropertyValue(bytesValue=value))
90
+
91
+ def getEnumValue(self, propertyName: str, enumType: type) -> Any:
92
+ return enumType(self._getProperty(propertyName).enumValue)
93
+
94
+ def setEnumValue(self, propertyName: str, value: str | Enum) -> None:
95
+ wire = value.value if isinstance(value, Enum) else value
96
+ self._setProperty(propertyName, CommonMessages_pb2.PropertyValue(enumValue=wire))
97
+
98
+
99
+ class ProjectScopedPropertyAccessor(PropertyAccessor):
100
+ """
101
+ Layer-scoped property access via GetPropertyInProject / SetPropertyInProject RPCs.
102
+
103
+ projectId is the open model ID (modelId). objectId is the entity GUID (soil layer,
104
+ bedrock layer, or reference curve on a layer). Used by SoilLayer, BedrockLayer,
105
+ ReferenceCurve, and MeanProfileSoilLayer. Also exposes getColor / setColor when the
106
+ backing DataService supports it.
107
+ """
108
+
109
+ def __init__(self, client: Client, projectId: str, objectId: str, stub: Any):
110
+ super().__init__(client, objectId, stub)
111
+ self.projectId = projectId
112
+
113
+ def _getProperty(self, propertyName: str) -> CommonMessages_pb2.PropertyValue:
114
+ request = CommonMessages_pb2.GetPropertyInProjectRequest(
115
+ projectId=self.projectId,
116
+ getPropRequest=CommonMessages_pb2.GetPropertyRequest(
117
+ objectId=self.objectId,
118
+ propertyName=propertyName,
119
+ ),
120
+ )
121
+ response = self._client.callFunction(self._stub.GetProperty, request)
122
+ return response.value
123
+
124
+ def _setProperty(self, propertyName: str, value: CommonMessages_pb2.PropertyValue) -> None:
125
+ request = CommonMessages_pb2.SetPropertyInProjectRequest(
126
+ projectId=self.projectId,
127
+ setPropRequest=CommonMessages_pb2.SetPropertyRequest(
128
+ objectId=self.objectId,
129
+ propertyName=propertyName,
130
+ value=value,
131
+ ),
132
+ )
133
+ self._client.callFunction(self._stub.SetProperty, request)
134
+
135
+ def getColor(self) -> bytes:
136
+ request = CommonMessages_pb2.GetColorInProjectRequest(
137
+ projectId=self.projectId,
138
+ getColorRequest=CommonMessages_pb2.GetColorRequest(objectId=self.objectId),
139
+ )
140
+ response = self._client.callFunction(self._stub.GetColor, request)
141
+ return response.value
142
+
143
+ def setColor(self, argbBytes: bytes) -> None:
144
+ request = CommonMessages_pb2.SetColorInProjectRequest(
145
+ projectId=self.projectId,
146
+ setColorRequest=CommonMessages_pb2.SetColorRequest(
147
+ objectId=self.objectId,
148
+ value=argbBytes,
149
+ ),
150
+ )
151
+ self._client.callFunction(self._stub.SetColor, request)
@@ -0,0 +1,6 @@
1
+ from rsseismic.properties._PropertyAccessor import (
2
+ ProjectScopedPropertyAccessor,
3
+ PropertyAccessor,
4
+ )
5
+
6
+ __all__ = ["PropertyAccessor", "ProjectScopedPropertyAccessor"]
@@ -0,0 +1 @@
1
+ """Generated typed property accessors."""
@@ -0,0 +1,127 @@
1
+ # Generated by RSSeismicRPCBinder. Do not edit above the manual override separator.
2
+ from __future__ import annotations
3
+
4
+ class BedrockLayerPropertiesMixin:
5
+ """Typed get/set helpers for generic property RPCs (uses self.Data)."""
6
+
7
+ def getDampingRatio(self) -> float:
8
+ return self.Data.getDoubleProperty("DampingRatio")
9
+
10
+ def setDampingRatio(self, value: float) -> None:
11
+ self.Data.setDoubleProperty("DampingRatio", value)
12
+
13
+ def getElasticHalfSpace(self) -> bool:
14
+ """
15
+ RPC property: ElasticHalfSpace
16
+ """
17
+ return self.Data.getBoolValue("ElasticHalfSpace")
18
+
19
+ def setElasticHalfSpace(self, value: bool) -> None:
20
+ """
21
+ RPC property: ElasticHalfSpace
22
+ """
23
+ self.Data.setBoolValue("ElasticHalfSpace", value)
24
+
25
+ def getHalfspaceCv(self) -> float:
26
+ return self.Data.getDoubleProperty("HalfspaceCV")
27
+
28
+ def setHalfspaceCv(self, value: float) -> None:
29
+ self.Data.setDoubleProperty("HalfspaceCV", value)
30
+
31
+ def getIsDeconvolutionEnabled(self) -> bool:
32
+ return self.Data.getBoolValue("Deconvolution")
33
+
34
+ def setIsDeconvolutionEnabled(self, value: bool) -> None:
35
+ self.Data.setBoolValue("Deconvolution", value)
36
+
37
+ def getMotionRecordedSoilLayerIndex(self) -> int:
38
+ """
39
+ RPC property: MotionRecordedSoilLayerIndex
40
+ """
41
+ return self.Data.getIntProperty("MotionRecordedSoilLayerIndex")
42
+
43
+ def setMotionRecordedSoilLayerIndex(self, value: int) -> None:
44
+ """
45
+ RPC property: MotionRecordedSoilLayerIndex
46
+ """
47
+ self.Data.setIntProperty("MotionRecordedSoilLayerIndex", value)
48
+
49
+ def getOutputMotionWithin(self) -> bool:
50
+ """
51
+ RPC property: OutputMotionWithin
52
+ """
53
+ return self.Data.getBoolValue("OutputMotionWithin")
54
+
55
+ def setOutputMotionWithin(self, value: bool) -> None:
56
+ """
57
+ RPC property: OutputMotionWithin
58
+ """
59
+ self.Data.setBoolValue("OutputMotionWithin", value)
60
+
61
+ def getSelectedLayerId(self) -> str:
62
+ """
63
+ RPC property: selectedLayerID
64
+ """
65
+ return self.Data.getStringValue("selectedLayerID")
66
+
67
+ def setSelectedLayerId(self, value: str) -> None:
68
+ """
69
+ RPC property: selectedLayerID
70
+ """
71
+ self.Data.setStringValue("selectedLayerID", value)
72
+
73
+ def getShearWaveVelocity(self) -> float:
74
+ return self.Data.getDoubleProperty("ShearWaveVelocity")
75
+
76
+ def setShearWaveVelocity(self, value: float) -> None:
77
+ self.Data.setDoubleProperty("ShearWaveVelocity", value)
78
+
79
+ def getUnitWeight(self) -> float:
80
+ return self.Data.getDoubleProperty("UnitWeight")
81
+
82
+ def setUnitWeight(self, value: float) -> None:
83
+ self.Data.setDoubleProperty("UnitWeight", value)
84
+
85
+ def getUseCvOfLastLayer(self) -> bool:
86
+ return self.Data.getBoolValue("UseLastLayerCV")
87
+
88
+ def setUseCvOfLastLayer(self, value: bool) -> None:
89
+ self.Data.setBoolValue("UseLastLayerCV", value)
90
+
91
+ def getProperties(self) -> dict[str, object]:
92
+ return {
93
+ "DampingRatio": self.getDampingRatio(),
94
+ "ElasticHalfSpace": self.getElasticHalfSpace(),
95
+ "HalfspaceCv": self.getHalfspaceCv(),
96
+ "IsDeconvolutionEnabled": self.getIsDeconvolutionEnabled(),
97
+ "MotionRecordedSoilLayerIndex": self.getMotionRecordedSoilLayerIndex(),
98
+ "OutputMotionWithin": self.getOutputMotionWithin(),
99
+ "SelectedLayerId": self.getSelectedLayerId(),
100
+ "ShearWaveVelocity": self.getShearWaveVelocity(),
101
+ "UnitWeight": self.getUnitWeight(),
102
+ "UseCvOfLastLayer": self.getUseCvOfLastLayer(),
103
+ }
104
+
105
+ def setProperties(self, DampingRatio: float | None = None, ElasticHalfSpace: bool | None = None, HalfspaceCv: float | None = None, IsDeconvolutionEnabled: bool | None = None, MotionRecordedSoilLayerIndex: int | None = None, OutputMotionWithin: bool | None = None, SelectedLayerId: str | None = None, ShearWaveVelocity: float | None = None, UnitWeight: float | None = None, UseCvOfLastLayer: bool | None = None) -> None:
106
+ if DampingRatio is not None:
107
+ self.setDampingRatio(DampingRatio)
108
+ if ElasticHalfSpace is not None:
109
+ self.setElasticHalfSpace(ElasticHalfSpace)
110
+ if HalfspaceCv is not None:
111
+ self.setHalfspaceCv(HalfspaceCv)
112
+ if IsDeconvolutionEnabled is not None:
113
+ self.setIsDeconvolutionEnabled(IsDeconvolutionEnabled)
114
+ if MotionRecordedSoilLayerIndex is not None:
115
+ self.setMotionRecordedSoilLayerIndex(MotionRecordedSoilLayerIndex)
116
+ if OutputMotionWithin is not None:
117
+ self.setOutputMotionWithin(OutputMotionWithin)
118
+ if SelectedLayerId is not None:
119
+ self.setSelectedLayerId(SelectedLayerId)
120
+ if ShearWaveVelocity is not None:
121
+ self.setShearWaveVelocity(ShearWaveVelocity)
122
+ if UnitWeight is not None:
123
+ self.setUnitWeight(UnitWeight)
124
+ if UseCvOfLastLayer is not None:
125
+ self.setUseCvOfLastLayer(UseCvOfLastLayer)
126
+
127
+ ################ Code below this line will not be overridden ################
@@ -0,0 +1 @@
1
+ """Generated typed property accessors for mean-profile soil layers."""