DipsScripting 9.1.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.
- dips/AnchorPointVal.py +103 -0
- dips/AngleDataVal.py +62 -0
- dips/AnnotativeTools2DVal.py +273 -0
- dips/ApplicationManager.py +89 -0
- dips/ArrowToolEntityInfoRef.py +43 -0
- dips/ArrowToolEntityInfoVal.py +155 -0
- dips/AutomaticClusterAnalysisSettingsVal.py +161 -0
- dips/BuiltInDataDescriptors.py +81 -0
- dips/BuiltInDataFormatters.py +81 -0
- dips/CircularWindowVal.py +103 -0
- dips/ClusterWindowVal.py +190 -0
- dips/ColorSurrogateVal.py +95 -0
- dips/ConeToolEntityInfoRef.py +43 -0
- dips/ConeToolEntityInfoVal.py +114 -0
- dips/ConeVal.py +92 -0
- dips/ContourEntityVisibilityVal.py +132 -0
- dips/ContourOptionsVal.py +193 -0
- dips/CumulativeChartViewRef.py +42 -0
- dips/CumulativeChartViewVal.py +100 -0
- dips/CumulativePlotSettingsVal.py +94 -0
- dips/CurvedWindowVal.py +102 -0
- dips/CustomColumnCollectionVal.py +69 -0
- dips/CustomHistogramOptionsVal.py +103 -0
- dips/CustomRangeVal.py +84 -0
- dips/CustomRowRawDataVal.py +74 -0
- dips/DataDescriptorVal.py +83 -0
- dips/DataFilterRef.py +23 -0
- dips/DataFilterVal.py +73 -0
- dips/DataFormatterVal.py +62 -0
- dips/DataIdentifierVal.py +62 -0
- dips/DipsAPI_pb2.py +817 -0
- dips/DipsAPI_pb2_grpc.py +12363 -0
- dips/DipsApp.py +81 -0
- dips/DiscontinuityDataVal.py +164 -0
- dips/EllipseToolEntityInfoRef.py +43 -0
- dips/EllipseToolEntityInfoVal.py +153 -0
- dips/FillFormatVal.py +83 -0
- dips/FoldEntityInfoRef.py +23 -0
- dips/FoldEntityInfoVal.py +103 -0
- dips/FoldEntityOptionsVal.py +106 -0
- dips/FoldEntityVisibilityRef.py +38 -0
- dips/FoldEntityVisibilityVal.py +100 -0
- dips/FoldWindowEntityInfoVal.py +92 -0
- dips/FoldWindowEntityVisibilityRef.py +29 -0
- dips/FoldWindowEntityVisibilityVal.py +80 -0
- dips/FreehandWindowVal.py +80 -0
- dips/FullDataFormatVal.py +92 -0
- dips/GlobalPlaneEntityVisibilityVal.py +103 -0
- dips/HistogramChartViewRef.py +42 -0
- dips/HistogramChartViewVal.py +100 -0
- dips/HistogramPlotSettingsVal.py +136 -0
- dips/IntersectionEntityVisibilityVal.py +83 -0
- dips/IntersectionOptionsVal.py +83 -0
- dips/IntervalVal.py +102 -0
- dips/JointFrequencyAnalysisSettingsVal.py +102 -0
- dips/JointFrequencyChartViewRef.py +42 -0
- dips/JointFrequencyChartViewVal.py +100 -0
- dips/JointSpacingAnalysisSettingsVal.py +138 -0
- dips/JointSpacingChartViewRef.py +42 -0
- dips/JointSpacingChartViewVal.py +100 -0
- dips/KinematicAnalysisEntityVisibilityVal.py +73 -0
- dips/KinematicAnalysisSettingsVal.py +140 -0
- dips/LatLongVal.py +84 -0
- dips/LengthDataVal.py +83 -0
- dips/LineFormatVal.py +83 -0
- dips/LineIntersectionCalculatorToolEntityInfoRef.py +43 -0
- dips/LineIntersectionCalculatorToolEntityInfoVal.py +133 -0
- dips/LineToolEntityInfoRef.py +43 -0
- dips/LineToolEntityInfoVal.py +133 -0
- dips/LineationVal.py +83 -0
- dips/MeasureAngleToolEntityInfoRef.py +43 -0
- dips/MeasureAngleToolEntityInfoVal.py +133 -0
- dips/OrientationDataSetRef.py +23 -0
- dips/OrientationDataSetVal.py +453 -0
- dips/PitchGridToolEntityInfoRef.py +43 -0
- dips/PitchGridToolEntityInfoVal.py +114 -0
- dips/PlaneEntityInfoRef.py +23 -0
- dips/PlaneEntityInfoVal.py +92 -0
- dips/PlaneEntityVisibilityRef.py +38 -0
- dips/PlaneEntityVisibilityVal.py +100 -0
- dips/PlaneIntersectionCalculatorToolEntityInfoRef.py +43 -0
- dips/PlaneIntersectionCalculatorToolEntityInfoVal.py +133 -0
- dips/PlaneOptionsVal.py +117 -0
- dips/PlaneVal.py +105 -0
- dips/PoleEntityOptionsVal.py +84 -0
- dips/PoleEntityVisibilityVal.py +83 -0
- dips/PolygonToolEntityInfoRef.py +43 -0
- dips/PolygonToolEntityInfoVal.py +131 -0
- dips/PolylineToolEntityInfoRef.py +43 -0
- dips/PolylineToolEntityInfoVal.py +111 -0
- dips/ProcessedDataVal.py +94 -0
- dips/ProjStubRef.py +388 -0
- dips/ProjStubVal.py +52 -0
- dips/ProtobufCollectionWrappers.py +108 -0
- dips/QualitativeQuantitativeAnalysisSettingsVal.py +151 -0
- dips/QualitativeQuantitativeChartViewRef.py +42 -0
- dips/QualitativeQuantitativeChartViewVal.py +111 -0
- dips/QuantitativeContourSettingsVal.py +103 -0
- dips/RQDAnalysisChartViewRef.py +42 -0
- dips/RQDAnalysisChartViewVal.py +100 -0
- dips/RQDAnalysisSettingsVal.py +111 -0
- dips/RectangleToolEntityInfoRef.py +43 -0
- dips/RectangleToolEntityInfoVal.py +153 -0
- dips/ReportingConventionResultVal.py +62 -0
- dips/RosettePresetOptionsVal.py +227 -0
- dips/RosetteSettingsVal.py +174 -0
- dips/RosetteViewRef.py +296 -0
- dips/RosetteViewVal.py +177 -0
- dips/ScatterChartViewRef.py +42 -0
- dips/ScatterChartViewVal.py +100 -0
- dips/ScatterPlotSettingsVal.py +113 -0
- dips/SetEntityInfoRef.py +23 -0
- dips/SetEntityInfoVal.py +103 -0
- dips/SetEntityOptionsVal.py +133 -0
- dips/SetEntityVisibilityRef.py +38 -0
- dips/SetEntityVisibilityVal.py +100 -0
- dips/SetStatisticsSettingsVal.py +106 -0
- dips/SetVersusSetVal.py +82 -0
- dips/SetWindowEntityInfoVal.py +183 -0
- dips/SetWindowEntityVisibilityRef.py +29 -0
- dips/SetWindowEntityVisibilityVal.py +80 -0
- dips/StatisticalDistributionFilterVal.py +128 -0
- dips/Stereonet2DPresetOptionsVal.py +488 -0
- dips/Stereonet2DViewRef.py +612 -0
- dips/Stereonet2DViewVal.py +363 -0
- dips/Stereonet3DPresetOptionsVal.py +281 -0
- dips/Stereonet3DViewRef.py +440 -0
- dips/Stereonet3DViewVal.py +303 -0
- dips/StereonetOverlayEntityVisibilityVal.py +83 -0
- dips/StereonetOverlaySettingsVal.py +103 -0
- dips/StereonetProjectionModeVal.py +73 -0
- dips/SurveyDataVal.py +103 -0
- dips/SymbolDisplaySettingVal.py +124 -0
- dips/SymbolicSettingsVal.py +89 -0
- dips/TextFormatVal.py +105 -0
- dips/TextToolEntityInfoRef.py +43 -0
- dips/TextToolEntityInfoVal.py +176 -0
- dips/TraverseEntityOptionsVal.py +84 -0
- dips/TraverseEntityVisibilityRef.py +38 -0
- dips/TraverseEntityVisibilityVal.py +100 -0
- dips/TrendLineToolEntityInfoRef.py +43 -0
- dips/TrendLineToolEntityInfoVal.py +114 -0
- dips/TrendPlungeVal.py +91 -0
- dips/UnitSystemResultVal.py +62 -0
- dips/UserPlaneEntityOptionsVal.py +100 -0
- dips/ValidatableResultVal.py +69 -0
- dips/ValidatableResult_ProtoReference_ArrowToolEntityInfoVal.py +86 -0
- dips/ValidatableResult_ProtoReference_ConeToolEntityInfoVal.py +86 -0
- dips/ValidatableResult_ProtoReference_EllipseToolEntityInfoVal.py +86 -0
- dips/ValidatableResult_ProtoReference_FoldEntityInfoVal.py +86 -0
- dips/ValidatableResult_ProtoReference_LineIntersectionCalculatorToolEntityInfoVal.py +86 -0
- dips/ValidatableResult_ProtoReference_LineToolEntityInfoVal.py +86 -0
- dips/ValidatableResult_ProtoReference_MeasureAngleToolEntityInfoVal.py +86 -0
- dips/ValidatableResult_ProtoReference_OrientationDataSetVal.py +86 -0
- dips/ValidatableResult_ProtoReference_PitchGridToolEntityInfoVal.py +86 -0
- dips/ValidatableResult_ProtoReference_PlaneEntityInfoVal.py +86 -0
- dips/ValidatableResult_ProtoReference_PlaneIntersectionCalculatorToolEntityInfoVal.py +86 -0
- dips/ValidatableResult_ProtoReference_PolygonToolEntityInfoVal.py +86 -0
- dips/ValidatableResult_ProtoReference_PolylineToolEntityInfoVal.py +86 -0
- dips/ValidatableResult_ProtoReference_RectangleToolEntityInfoVal.py +86 -0
- dips/ValidatableResult_ProtoReference_SetEntityInfoVal.py +86 -0
- dips/ValidatableResult_ProtoReference_TextToolEntityInfoVal.py +86 -0
- dips/ValidatableResult_ProtoReference_TrendLineToolEntityInfoVal.py +86 -0
- dips/ValidationErrorVal.py +73 -0
- dips/Vector2DVal.py +73 -0
- dips/Vector3Val.py +84 -0
- dips/VectorDensityContourSettingsVal.py +73 -0
- dips/WeightingSettingsVal.py +83 -0
- dips/WrappedFreehandWindowVal.py +102 -0
- dips/__init__.py +29 -0
- dipsscripting-9.1.0.dist-info/METADATA +29 -0
- dipsscripting-9.1.0.dist-info/RECORD +175 -0
- dipsscripting-9.1.0.dist-info/WHEEL +5 -0
- dipsscripting-9.1.0.dist-info/licenses/License.txt +20 -0
- dipsscripting-9.1.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,453 @@
|
|
|
1
|
+
"""Generated wrapper for OrientationDataSet protobuf message."""
|
|
2
|
+
|
|
3
|
+
from typing import Any, Optional, List, Dict
|
|
4
|
+
from . import DipsAPI_pb2
|
|
5
|
+
|
|
6
|
+
from .ProtobufCollectionWrappers import _ProtobufListWrapper, _ProtobufMapWrapper
|
|
7
|
+
|
|
8
|
+
from .AngleDataVal import AngleDataVal
|
|
9
|
+
from .CustomColumnCollectionVal import CustomColumnCollectionVal
|
|
10
|
+
from .DataFormatterVal import DataFormatterVal
|
|
11
|
+
from .DiscontinuityDataVal import DiscontinuityDataVal
|
|
12
|
+
from .LatLongVal import LatLongVal
|
|
13
|
+
from .SurveyDataVal import SurveyDataVal
|
|
14
|
+
from .Vector3Val import Vector3Val
|
|
15
|
+
|
|
16
|
+
class OrientationDataSetVal:
|
|
17
|
+
"""Simple wrapper for OrientationDataSet with Pythonic getters and setters."""
|
|
18
|
+
|
|
19
|
+
_proto_class = DipsAPI_pb2.OrientationDataSet
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def __init__(self, global_position: Optional[LatLongVal] = None, local_position: Optional[Vector3Val] = None, orient1: Optional[AngleDataVal] = None, orient2: Optional[AngleDataVal] = None, orient3: Optional[AngleDataVal] = None, declination: Optional[AngleDataVal] = None, traverse_elevation_unit: Optional[DataFormatterVal] = None, traverse_xyz_unit: Optional[DataFormatterVal] = None, traverse_depth_unit: Optional[DataFormatterVal] = None, survey_distance_unit: Optional[DataFormatterVal] = None, discontinuity_distance_unit: Optional[DataFormatterVal] = None, discontinuity_xyz_unit: Optional[DataFormatterVal] = None, discontinuity_persistence_unit: Optional[DataFormatterVal] = None, discontinuity_extra_columns: Optional[CustomColumnCollectionVal] = None, survey_extra_columns: Optional[CustomColumnCollectionVal] = None, proto_message: Optional[Any] = None):
|
|
23
|
+
"""Initialize the OrientationDataSet wrapper."""
|
|
24
|
+
# Initialize the protobuf message
|
|
25
|
+
if proto_message is not None:
|
|
26
|
+
self._proto_message = proto_message
|
|
27
|
+
else:
|
|
28
|
+
self._proto_message = self._proto_class()
|
|
29
|
+
|
|
30
|
+
if global_position is not None:
|
|
31
|
+
self._proto_message.GlobalPosition.CopyFrom(global_position.to_proto())
|
|
32
|
+
self._global_position_wrapper = global_position
|
|
33
|
+
if local_position is not None:
|
|
34
|
+
self._proto_message.LocalPosition.CopyFrom(local_position.to_proto())
|
|
35
|
+
self._local_position_wrapper = local_position
|
|
36
|
+
if orient1 is not None:
|
|
37
|
+
self._proto_message.Orient1.CopyFrom(orient1.to_proto())
|
|
38
|
+
self._orient1_wrapper = orient1
|
|
39
|
+
if orient2 is not None:
|
|
40
|
+
self._proto_message.Orient2.CopyFrom(orient2.to_proto())
|
|
41
|
+
self._orient2_wrapper = orient2
|
|
42
|
+
if orient3 is not None:
|
|
43
|
+
self._proto_message.Orient3.CopyFrom(orient3.to_proto())
|
|
44
|
+
self._orient3_wrapper = orient3
|
|
45
|
+
if declination is not None:
|
|
46
|
+
self._proto_message.Declination.CopyFrom(declination.to_proto())
|
|
47
|
+
self._declination_wrapper = declination
|
|
48
|
+
if traverse_elevation_unit is not None:
|
|
49
|
+
self._proto_message.TraverseElevationUnit.CopyFrom(traverse_elevation_unit.to_proto())
|
|
50
|
+
self._traverse_elevation_unit_wrapper = traverse_elevation_unit
|
|
51
|
+
if traverse_xyz_unit is not None:
|
|
52
|
+
self._proto_message.TraverseXYZUnit.CopyFrom(traverse_xyz_unit.to_proto())
|
|
53
|
+
self._traverse_xyz_unit_wrapper = traverse_xyz_unit
|
|
54
|
+
if traverse_depth_unit is not None:
|
|
55
|
+
self._proto_message.TraverseDepthUnit.CopyFrom(traverse_depth_unit.to_proto())
|
|
56
|
+
self._traverse_depth_unit_wrapper = traverse_depth_unit
|
|
57
|
+
if survey_distance_unit is not None:
|
|
58
|
+
self._proto_message.SurveyDistanceUnit.CopyFrom(survey_distance_unit.to_proto())
|
|
59
|
+
self._survey_distance_unit_wrapper = survey_distance_unit
|
|
60
|
+
if discontinuity_distance_unit is not None:
|
|
61
|
+
self._proto_message.DiscontinuityDistanceUnit.CopyFrom(discontinuity_distance_unit.to_proto())
|
|
62
|
+
self._discontinuity_distance_unit_wrapper = discontinuity_distance_unit
|
|
63
|
+
if discontinuity_xyz_unit is not None:
|
|
64
|
+
self._proto_message.DiscontinuityXYZUnit.CopyFrom(discontinuity_xyz_unit.to_proto())
|
|
65
|
+
self._discontinuity_xyz_unit_wrapper = discontinuity_xyz_unit
|
|
66
|
+
if discontinuity_persistence_unit is not None:
|
|
67
|
+
self._proto_message.DiscontinuityPersistenceUnit.CopyFrom(discontinuity_persistence_unit.to_proto())
|
|
68
|
+
self._discontinuity_persistence_unit_wrapper = discontinuity_persistence_unit
|
|
69
|
+
if discontinuity_extra_columns is not None:
|
|
70
|
+
self._proto_message.DiscontinuityExtraColumns.CopyFrom(discontinuity_extra_columns.to_proto())
|
|
71
|
+
self._discontinuity_extra_columns_wrapper = discontinuity_extra_columns
|
|
72
|
+
if survey_extra_columns is not None:
|
|
73
|
+
self._proto_message.SurveyExtraColumns.CopyFrom(survey_extra_columns.to_proto())
|
|
74
|
+
self._survey_extra_columns_wrapper = survey_extra_columns
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
# Properties
|
|
78
|
+
|
|
79
|
+
@property
|
|
80
|
+
def name(self) -> str:
|
|
81
|
+
"""Get the Name field value."""
|
|
82
|
+
return self._proto_message.Name
|
|
83
|
+
|
|
84
|
+
@name.setter
|
|
85
|
+
def name(self, value: str) -> None:
|
|
86
|
+
"""Set the Name field value."""
|
|
87
|
+
self._proto_message.Name = value
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
@property
|
|
91
|
+
def orientation_data_type(self) -> Any:
|
|
92
|
+
"""Get the OrientationDataType field value."""
|
|
93
|
+
return self._proto_message.OrientationDataType
|
|
94
|
+
|
|
95
|
+
@orientation_data_type.setter
|
|
96
|
+
def orientation_data_type(self, value: Any) -> None:
|
|
97
|
+
"""Set the OrientationDataType field value."""
|
|
98
|
+
self._proto_message.OrientationDataType = value
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
@property
|
|
102
|
+
def orientation_convention(self) -> Any:
|
|
103
|
+
"""Get the OrientationConvention field value."""
|
|
104
|
+
return self._proto_message.OrientationConvention
|
|
105
|
+
|
|
106
|
+
@orientation_convention.setter
|
|
107
|
+
def orientation_convention(self, value: Any) -> None:
|
|
108
|
+
"""Set the OrientationConvention field value."""
|
|
109
|
+
self._proto_message.OrientationConvention = value
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
@property
|
|
113
|
+
def discontinuity_orientation_convention(self) -> Any:
|
|
114
|
+
"""Get the DiscontinuityOrientationConvention field value."""
|
|
115
|
+
return self._proto_message.DiscontinuityOrientationConvention
|
|
116
|
+
|
|
117
|
+
@discontinuity_orientation_convention.setter
|
|
118
|
+
def discontinuity_orientation_convention(self, value: Any) -> None:
|
|
119
|
+
"""Set the DiscontinuityOrientationConvention field value."""
|
|
120
|
+
self._proto_message.DiscontinuityOrientationConvention = value
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
@property
|
|
124
|
+
def global_position(self) -> LatLongVal:
|
|
125
|
+
"""Get the GlobalPosition field as a wrapper."""
|
|
126
|
+
if not hasattr(self, '_global_position_wrapper'):
|
|
127
|
+
self._global_position_wrapper = LatLongVal(proto_message=self._proto_message.GlobalPosition)
|
|
128
|
+
return self._global_position_wrapper
|
|
129
|
+
|
|
130
|
+
@global_position.setter
|
|
131
|
+
def global_position(self, value: LatLongVal) -> None:
|
|
132
|
+
"""Set the GlobalPosition field to a wrapper."""
|
|
133
|
+
self._proto_message.GlobalPosition.CopyFrom(value.to_proto())
|
|
134
|
+
# Update the cached wrapper if it exists
|
|
135
|
+
if hasattr(self, '_global_position_wrapper'):
|
|
136
|
+
self._global_position_wrapper._proto_message.CopyFrom(self._proto_message.GlobalPosition)
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
@property
|
|
140
|
+
def local_position(self) -> Vector3Val:
|
|
141
|
+
"""Get the LocalPosition field as a wrapper."""
|
|
142
|
+
if not hasattr(self, '_local_position_wrapper'):
|
|
143
|
+
self._local_position_wrapper = Vector3Val(proto_message=self._proto_message.LocalPosition)
|
|
144
|
+
return self._local_position_wrapper
|
|
145
|
+
|
|
146
|
+
@local_position.setter
|
|
147
|
+
def local_position(self, value: Vector3Val) -> None:
|
|
148
|
+
"""Set the LocalPosition field to a wrapper."""
|
|
149
|
+
self._proto_message.LocalPosition.CopyFrom(value.to_proto())
|
|
150
|
+
# Update the cached wrapper if it exists
|
|
151
|
+
if hasattr(self, '_local_position_wrapper'):
|
|
152
|
+
self._local_position_wrapper._proto_message.CopyFrom(self._proto_message.LocalPosition)
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
@property
|
|
156
|
+
def orient1(self) -> AngleDataVal:
|
|
157
|
+
"""Get the Orient1 field as a wrapper."""
|
|
158
|
+
if not hasattr(self, '_orient1_wrapper'):
|
|
159
|
+
self._orient1_wrapper = AngleDataVal(proto_message=self._proto_message.Orient1)
|
|
160
|
+
return self._orient1_wrapper
|
|
161
|
+
|
|
162
|
+
@orient1.setter
|
|
163
|
+
def orient1(self, value: AngleDataVal) -> None:
|
|
164
|
+
"""Set the Orient1 field to a wrapper."""
|
|
165
|
+
self._proto_message.Orient1.CopyFrom(value.to_proto())
|
|
166
|
+
# Update the cached wrapper if it exists
|
|
167
|
+
if hasattr(self, '_orient1_wrapper'):
|
|
168
|
+
self._orient1_wrapper._proto_message.CopyFrom(self._proto_message.Orient1)
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
@property
|
|
172
|
+
def orient2(self) -> AngleDataVal:
|
|
173
|
+
"""Get the Orient2 field as a wrapper."""
|
|
174
|
+
if not hasattr(self, '_orient2_wrapper'):
|
|
175
|
+
self._orient2_wrapper = AngleDataVal(proto_message=self._proto_message.Orient2)
|
|
176
|
+
return self._orient2_wrapper
|
|
177
|
+
|
|
178
|
+
@orient2.setter
|
|
179
|
+
def orient2(self, value: AngleDataVal) -> None:
|
|
180
|
+
"""Set the Orient2 field to a wrapper."""
|
|
181
|
+
self._proto_message.Orient2.CopyFrom(value.to_proto())
|
|
182
|
+
# Update the cached wrapper if it exists
|
|
183
|
+
if hasattr(self, '_orient2_wrapper'):
|
|
184
|
+
self._orient2_wrapper._proto_message.CopyFrom(self._proto_message.Orient2)
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
@property
|
|
188
|
+
def orient3(self) -> AngleDataVal:
|
|
189
|
+
"""Get the Orient3 field as a wrapper."""
|
|
190
|
+
if not hasattr(self, '_orient3_wrapper'):
|
|
191
|
+
self._orient3_wrapper = AngleDataVal(proto_message=self._proto_message.Orient3)
|
|
192
|
+
return self._orient3_wrapper
|
|
193
|
+
|
|
194
|
+
@orient3.setter
|
|
195
|
+
def orient3(self, value: AngleDataVal) -> None:
|
|
196
|
+
"""Set the Orient3 field to a wrapper."""
|
|
197
|
+
self._proto_message.Orient3.CopyFrom(value.to_proto())
|
|
198
|
+
# Update the cached wrapper if it exists
|
|
199
|
+
if hasattr(self, '_orient3_wrapper'):
|
|
200
|
+
self._orient3_wrapper._proto_message.CopyFrom(self._proto_message.Orient3)
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
@property
|
|
204
|
+
def declination(self) -> AngleDataVal:
|
|
205
|
+
"""Get the Declination field as a wrapper."""
|
|
206
|
+
if not hasattr(self, '_declination_wrapper'):
|
|
207
|
+
self._declination_wrapper = AngleDataVal(proto_message=self._proto_message.Declination)
|
|
208
|
+
return self._declination_wrapper
|
|
209
|
+
|
|
210
|
+
@declination.setter
|
|
211
|
+
def declination(self, value: AngleDataVal) -> None:
|
|
212
|
+
"""Set the Declination field to a wrapper."""
|
|
213
|
+
self._proto_message.Declination.CopyFrom(value.to_proto())
|
|
214
|
+
# Update the cached wrapper if it exists
|
|
215
|
+
if hasattr(self, '_declination_wrapper'):
|
|
216
|
+
self._declination_wrapper._proto_message.CopyFrom(self._proto_message.Declination)
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
@property
|
|
220
|
+
def de_survey_option(self) -> Any:
|
|
221
|
+
"""Get the DeSurveyOption field value."""
|
|
222
|
+
return self._proto_message.DeSurveyOption
|
|
223
|
+
|
|
224
|
+
@de_survey_option.setter
|
|
225
|
+
def de_survey_option(self, value: Any) -> None:
|
|
226
|
+
"""Set the DeSurveyOption field value."""
|
|
227
|
+
self._proto_message.DeSurveyOption = value
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
@property
|
|
231
|
+
def traverse_elevation_unit(self) -> DataFormatterVal:
|
|
232
|
+
"""Get the TraverseElevationUnit field as a wrapper."""
|
|
233
|
+
if not hasattr(self, '_traverse_elevation_unit_wrapper'):
|
|
234
|
+
self._traverse_elevation_unit_wrapper = DataFormatterVal(proto_message=self._proto_message.TraverseElevationUnit)
|
|
235
|
+
return self._traverse_elevation_unit_wrapper
|
|
236
|
+
|
|
237
|
+
@traverse_elevation_unit.setter
|
|
238
|
+
def traverse_elevation_unit(self, value: DataFormatterVal) -> None:
|
|
239
|
+
"""Set the TraverseElevationUnit field to a wrapper."""
|
|
240
|
+
self._proto_message.TraverseElevationUnit.CopyFrom(value.to_proto())
|
|
241
|
+
# Update the cached wrapper if it exists
|
|
242
|
+
if hasattr(self, '_traverse_elevation_unit_wrapper'):
|
|
243
|
+
self._traverse_elevation_unit_wrapper._proto_message.CopyFrom(self._proto_message.TraverseElevationUnit)
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
@property
|
|
247
|
+
def traverse_xyz_unit(self) -> DataFormatterVal:
|
|
248
|
+
"""Get the TraverseXYZUnit field as a wrapper."""
|
|
249
|
+
if not hasattr(self, '_traverse_xyz_unit_wrapper'):
|
|
250
|
+
self._traverse_xyz_unit_wrapper = DataFormatterVal(proto_message=self._proto_message.TraverseXYZUnit)
|
|
251
|
+
return self._traverse_xyz_unit_wrapper
|
|
252
|
+
|
|
253
|
+
@traverse_xyz_unit.setter
|
|
254
|
+
def traverse_xyz_unit(self, value: DataFormatterVal) -> None:
|
|
255
|
+
"""Set the TraverseXYZUnit field to a wrapper."""
|
|
256
|
+
self._proto_message.TraverseXYZUnit.CopyFrom(value.to_proto())
|
|
257
|
+
# Update the cached wrapper if it exists
|
|
258
|
+
if hasattr(self, '_traverse_xyz_unit_wrapper'):
|
|
259
|
+
self._traverse_xyz_unit_wrapper._proto_message.CopyFrom(self._proto_message.TraverseXYZUnit)
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
@property
|
|
263
|
+
def traverse_depth_unit(self) -> DataFormatterVal:
|
|
264
|
+
"""Get the TraverseDepthUnit field as a wrapper."""
|
|
265
|
+
if not hasattr(self, '_traverse_depth_unit_wrapper'):
|
|
266
|
+
self._traverse_depth_unit_wrapper = DataFormatterVal(proto_message=self._proto_message.TraverseDepthUnit)
|
|
267
|
+
return self._traverse_depth_unit_wrapper
|
|
268
|
+
|
|
269
|
+
@traverse_depth_unit.setter
|
|
270
|
+
def traverse_depth_unit(self, value: DataFormatterVal) -> None:
|
|
271
|
+
"""Set the TraverseDepthUnit field to a wrapper."""
|
|
272
|
+
self._proto_message.TraverseDepthUnit.CopyFrom(value.to_proto())
|
|
273
|
+
# Update the cached wrapper if it exists
|
|
274
|
+
if hasattr(self, '_traverse_depth_unit_wrapper'):
|
|
275
|
+
self._traverse_depth_unit_wrapper._proto_message.CopyFrom(self._proto_message.TraverseDepthUnit)
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
@property
|
|
279
|
+
def survey_distance_unit(self) -> DataFormatterVal:
|
|
280
|
+
"""Get the SurveyDistanceUnit field as a wrapper."""
|
|
281
|
+
if not hasattr(self, '_survey_distance_unit_wrapper'):
|
|
282
|
+
self._survey_distance_unit_wrapper = DataFormatterVal(proto_message=self._proto_message.SurveyDistanceUnit)
|
|
283
|
+
return self._survey_distance_unit_wrapper
|
|
284
|
+
|
|
285
|
+
@survey_distance_unit.setter
|
|
286
|
+
def survey_distance_unit(self, value: DataFormatterVal) -> None:
|
|
287
|
+
"""Set the SurveyDistanceUnit field to a wrapper."""
|
|
288
|
+
self._proto_message.SurveyDistanceUnit.CopyFrom(value.to_proto())
|
|
289
|
+
# Update the cached wrapper if it exists
|
|
290
|
+
if hasattr(self, '_survey_distance_unit_wrapper'):
|
|
291
|
+
self._survey_distance_unit_wrapper._proto_message.CopyFrom(self._proto_message.SurveyDistanceUnit)
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
@property
|
|
295
|
+
def discontinuity_distance_unit(self) -> DataFormatterVal:
|
|
296
|
+
"""Get the DiscontinuityDistanceUnit field as a wrapper."""
|
|
297
|
+
if not hasattr(self, '_discontinuity_distance_unit_wrapper'):
|
|
298
|
+
self._discontinuity_distance_unit_wrapper = DataFormatterVal(proto_message=self._proto_message.DiscontinuityDistanceUnit)
|
|
299
|
+
return self._discontinuity_distance_unit_wrapper
|
|
300
|
+
|
|
301
|
+
@discontinuity_distance_unit.setter
|
|
302
|
+
def discontinuity_distance_unit(self, value: DataFormatterVal) -> None:
|
|
303
|
+
"""Set the DiscontinuityDistanceUnit field to a wrapper."""
|
|
304
|
+
self._proto_message.DiscontinuityDistanceUnit.CopyFrom(value.to_proto())
|
|
305
|
+
# Update the cached wrapper if it exists
|
|
306
|
+
if hasattr(self, '_discontinuity_distance_unit_wrapper'):
|
|
307
|
+
self._discontinuity_distance_unit_wrapper._proto_message.CopyFrom(self._proto_message.DiscontinuityDistanceUnit)
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
@property
|
|
311
|
+
def discontinuity_xyz_unit(self) -> DataFormatterVal:
|
|
312
|
+
"""Get the DiscontinuityXYZUnit field as a wrapper."""
|
|
313
|
+
if not hasattr(self, '_discontinuity_xyz_unit_wrapper'):
|
|
314
|
+
self._discontinuity_xyz_unit_wrapper = DataFormatterVal(proto_message=self._proto_message.DiscontinuityXYZUnit)
|
|
315
|
+
return self._discontinuity_xyz_unit_wrapper
|
|
316
|
+
|
|
317
|
+
@discontinuity_xyz_unit.setter
|
|
318
|
+
def discontinuity_xyz_unit(self, value: DataFormatterVal) -> None:
|
|
319
|
+
"""Set the DiscontinuityXYZUnit field to a wrapper."""
|
|
320
|
+
self._proto_message.DiscontinuityXYZUnit.CopyFrom(value.to_proto())
|
|
321
|
+
# Update the cached wrapper if it exists
|
|
322
|
+
if hasattr(self, '_discontinuity_xyz_unit_wrapper'):
|
|
323
|
+
self._discontinuity_xyz_unit_wrapper._proto_message.CopyFrom(self._proto_message.DiscontinuityXYZUnit)
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
@property
|
|
327
|
+
def discontinuity_persistence_unit(self) -> DataFormatterVal:
|
|
328
|
+
"""Get the DiscontinuityPersistenceUnit field as a wrapper."""
|
|
329
|
+
if not hasattr(self, '_discontinuity_persistence_unit_wrapper'):
|
|
330
|
+
self._discontinuity_persistence_unit_wrapper = DataFormatterVal(proto_message=self._proto_message.DiscontinuityPersistenceUnit)
|
|
331
|
+
return self._discontinuity_persistence_unit_wrapper
|
|
332
|
+
|
|
333
|
+
@discontinuity_persistence_unit.setter
|
|
334
|
+
def discontinuity_persistence_unit(self, value: DataFormatterVal) -> None:
|
|
335
|
+
"""Set the DiscontinuityPersistenceUnit field to a wrapper."""
|
|
336
|
+
self._proto_message.DiscontinuityPersistenceUnit.CopyFrom(value.to_proto())
|
|
337
|
+
# Update the cached wrapper if it exists
|
|
338
|
+
if hasattr(self, '_discontinuity_persistence_unit_wrapper'):
|
|
339
|
+
self._discontinuity_persistence_unit_wrapper._proto_message.CopyFrom(self._proto_message.DiscontinuityPersistenceUnit)
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
@property
|
|
343
|
+
def discontinuity_extra_columns(self) -> CustomColumnCollectionVal:
|
|
344
|
+
"""Get the DiscontinuityExtraColumns field as a wrapper."""
|
|
345
|
+
if not hasattr(self, '_discontinuity_extra_columns_wrapper'):
|
|
346
|
+
self._discontinuity_extra_columns_wrapper = CustomColumnCollectionVal(proto_message=self._proto_message.DiscontinuityExtraColumns)
|
|
347
|
+
return self._discontinuity_extra_columns_wrapper
|
|
348
|
+
|
|
349
|
+
@discontinuity_extra_columns.setter
|
|
350
|
+
def discontinuity_extra_columns(self, value: CustomColumnCollectionVal) -> None:
|
|
351
|
+
"""Set the DiscontinuityExtraColumns field to a wrapper."""
|
|
352
|
+
self._proto_message.DiscontinuityExtraColumns.CopyFrom(value.to_proto())
|
|
353
|
+
# Update the cached wrapper if it exists
|
|
354
|
+
if hasattr(self, '_discontinuity_extra_columns_wrapper'):
|
|
355
|
+
self._discontinuity_extra_columns_wrapper._proto_message.CopyFrom(self._proto_message.DiscontinuityExtraColumns)
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
@property
|
|
359
|
+
def discontinuity_list(self) -> List[DiscontinuityDataVal]:
|
|
360
|
+
"""Get the DiscontinuityList field as a list of wrappers."""
|
|
361
|
+
return _ProtobufListWrapper(self._proto_message.DiscontinuityList, DiscontinuityDataVal)
|
|
362
|
+
|
|
363
|
+
@discontinuity_list.setter
|
|
364
|
+
def discontinuity_list(self, value: List[DiscontinuityDataVal]) -> None:
|
|
365
|
+
"""Set the DiscontinuityList field to a list of wrappers."""
|
|
366
|
+
if not isinstance(value, (list, tuple)):
|
|
367
|
+
raise TypeError(f"Expected list or tuple, got {type(value).__name__}")
|
|
368
|
+
# Clear the repeated field using slice assignment
|
|
369
|
+
self._proto_message.DiscontinuityList[:] = []
|
|
370
|
+
for item in value:
|
|
371
|
+
self._proto_message.DiscontinuityList.append(item.to_proto())
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
@property
|
|
375
|
+
def survey_extra_columns(self) -> CustomColumnCollectionVal:
|
|
376
|
+
"""Get the SurveyExtraColumns field as a wrapper."""
|
|
377
|
+
if not hasattr(self, '_survey_extra_columns_wrapper'):
|
|
378
|
+
self._survey_extra_columns_wrapper = CustomColumnCollectionVal(proto_message=self._proto_message.SurveyExtraColumns)
|
|
379
|
+
return self._survey_extra_columns_wrapper
|
|
380
|
+
|
|
381
|
+
@survey_extra_columns.setter
|
|
382
|
+
def survey_extra_columns(self, value: CustomColumnCollectionVal) -> None:
|
|
383
|
+
"""Set the SurveyExtraColumns field to a wrapper."""
|
|
384
|
+
self._proto_message.SurveyExtraColumns.CopyFrom(value.to_proto())
|
|
385
|
+
# Update the cached wrapper if it exists
|
|
386
|
+
if hasattr(self, '_survey_extra_columns_wrapper'):
|
|
387
|
+
self._survey_extra_columns_wrapper._proto_message.CopyFrom(self._proto_message.SurveyExtraColumns)
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
@property
|
|
391
|
+
def survey_list(self) -> List[SurveyDataVal]:
|
|
392
|
+
"""Get the SurveyList field as a list of wrappers."""
|
|
393
|
+
return _ProtobufListWrapper(self._proto_message.SurveyList, SurveyDataVal)
|
|
394
|
+
|
|
395
|
+
@survey_list.setter
|
|
396
|
+
def survey_list(self, value: List[SurveyDataVal]) -> None:
|
|
397
|
+
"""Set the SurveyList field to a list of wrappers."""
|
|
398
|
+
if not isinstance(value, (list, tuple)):
|
|
399
|
+
raise TypeError(f"Expected list or tuple, got {type(value).__name__}")
|
|
400
|
+
# Clear the repeated field using slice assignment
|
|
401
|
+
self._proto_message.SurveyList[:] = []
|
|
402
|
+
for item in value:
|
|
403
|
+
self._proto_message.SurveyList.append(item.to_proto())
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
@property
|
|
407
|
+
def depth(self) -> float:
|
|
408
|
+
"""Get the Depth field value."""
|
|
409
|
+
return self._proto_message.Depth
|
|
410
|
+
|
|
411
|
+
@depth.setter
|
|
412
|
+
def depth(self, value: float) -> None:
|
|
413
|
+
"""Set the Depth field value."""
|
|
414
|
+
self._proto_message.Depth = value
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
@property
|
|
418
|
+
def comments(self) -> str:
|
|
419
|
+
"""Get the Comments field value."""
|
|
420
|
+
return self._proto_message.Comments
|
|
421
|
+
|
|
422
|
+
@comments.setter
|
|
423
|
+
def comments(self, value: str) -> None:
|
|
424
|
+
"""Set the Comments field value."""
|
|
425
|
+
self._proto_message.Comments = value
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
# Utility methods
|
|
429
|
+
|
|
430
|
+
def to_proto(self):
|
|
431
|
+
"""Get the underlying protobuf message."""
|
|
432
|
+
return self._proto_message
|
|
433
|
+
|
|
434
|
+
@classmethod
|
|
435
|
+
def from_proto(cls, proto_message):
|
|
436
|
+
"""Create wrapper from existing protobuf message."""
|
|
437
|
+
wrapper = cls()
|
|
438
|
+
wrapper._proto_message.CopyFrom(proto_message)
|
|
439
|
+
return wrapper
|
|
440
|
+
|
|
441
|
+
def copy(self):
|
|
442
|
+
"""Create a copy of this wrapper."""
|
|
443
|
+
new_wrapper = self.__class__()
|
|
444
|
+
new_wrapper._proto_message.CopyFrom(self._proto_message)
|
|
445
|
+
return new_wrapper
|
|
446
|
+
|
|
447
|
+
def __str__(self) -> str:
|
|
448
|
+
"""String representation."""
|
|
449
|
+
return f"{self.__class__.__name__}({self._proto_message})"
|
|
450
|
+
|
|
451
|
+
def __repr__(self) -> str:
|
|
452
|
+
"""Detailed string representation."""
|
|
453
|
+
return f"{self.__class__.__name__}({self._proto_message})"
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from . import DipsAPI_pb2_grpc
|
|
3
|
+
from . import DipsAPI_pb2
|
|
4
|
+
from .PitchGridToolEntityInfoVal import PitchGridToolEntityInfoVal
|
|
5
|
+
from .PitchGridToolEntityInfoVal import PitchGridToolEntityInfoVal
|
|
6
|
+
from .ValidatableResultVal import ValidatableResultVal
|
|
7
|
+
|
|
8
|
+
class PitchGridToolEntityInfoRef:
|
|
9
|
+
def __init__(self, channelToConnectOn, ref: DipsAPI_pb2.ProtoReference_PitchGridToolEntityInfo):
|
|
10
|
+
self.__modelRef = ref
|
|
11
|
+
self.__refManagerStub = DipsAPI_pb2_grpc.nSameModuleReferenceAccessorStub(channelToConnectOn)
|
|
12
|
+
self.__channelToConnectOn = channelToConnectOn
|
|
13
|
+
self.__EntityServicesStubLocal = DipsAPI_pb2_grpc.EntityServicesStub(channelToConnectOn)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def GetValue(self) -> PitchGridToolEntityInfoVal:
|
|
17
|
+
bytes = self.__refManagerStub.GetValue(self.__modelRef.ID)
|
|
18
|
+
ret = DipsAPI_pb2.PitchGridToolEntityInfo()
|
|
19
|
+
ret.MergeFromString(bytes.data)
|
|
20
|
+
return PitchGridToolEntityInfoVal.from_proto(ret)
|
|
21
|
+
|
|
22
|
+
def get_model_ref(self):
|
|
23
|
+
"""Get the underlying model reference for direct protobuf operations."""
|
|
24
|
+
return self.__modelRef
|
|
25
|
+
|
|
26
|
+
def RemovePitchGridTool(self):
|
|
27
|
+
functionParam = DipsAPI_pb2.ProtoMemberFunction_ProtoReference_PitchGridToolEntityInfo(This=self.__modelRef)
|
|
28
|
+
ret = self.__EntityServicesStubLocal.RemovePitchGridTool(functionParam)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def SetPitchGridToolVisibility(self, Boolean: bool):
|
|
32
|
+
functionParam = DipsAPI_pb2.ProtoMemberFunction_ProtoReference_PitchGridToolEntityInfo_Boolean(This=self.__modelRef, Input1=Boolean)
|
|
33
|
+
ret = self.__EntityServicesStubLocal.SetPitchGridToolVisibility(functionParam)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def UpdatePitchGridTool(self, PitchGridToolEntityInfo: PitchGridToolEntityInfoVal) -> ValidatableResultVal:
|
|
37
|
+
functionParam = DipsAPI_pb2.ProtoMemberFunction_ProtoReference_PitchGridToolEntityInfo_PitchGridToolEntityInfo(This=self.__modelRef, Input1=(PitchGridToolEntityInfo.to_proto() if hasattr(PitchGridToolEntityInfo, 'to_proto') else PitchGridToolEntityInfo))
|
|
38
|
+
ret = self.__EntityServicesStubLocal.UpdatePitchGridTool(functionParam)
|
|
39
|
+
|
|
40
|
+
return ValidatableResultVal.from_proto(ret)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"""Generated wrapper for PitchGridToolEntityInfo protobuf message."""
|
|
2
|
+
|
|
3
|
+
from typing import Any, Optional, List, Dict
|
|
4
|
+
from . import DipsAPI_pb2
|
|
5
|
+
|
|
6
|
+
from .ProtobufCollectionWrappers import _ProtobufListWrapper, _ProtobufMapWrapper
|
|
7
|
+
|
|
8
|
+
from .ColorSurrogateVal import ColorSurrogateVal
|
|
9
|
+
from .TrendPlungeVal import TrendPlungeVal
|
|
10
|
+
|
|
11
|
+
class PitchGridToolEntityInfoVal:
|
|
12
|
+
"""Simple wrapper for PitchGridToolEntityInfo with Pythonic getters and setters."""
|
|
13
|
+
|
|
14
|
+
_proto_class = DipsAPI_pb2.PitchGridToolEntityInfo
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def __init__(self, color: Optional[ColorSurrogateVal] = None, pole: Optional[TrendPlungeVal] = None, proto_message: Optional[Any] = None):
|
|
18
|
+
"""Initialize the PitchGridToolEntityInfo wrapper."""
|
|
19
|
+
# Initialize the protobuf message
|
|
20
|
+
if proto_message is not None:
|
|
21
|
+
self._proto_message = proto_message
|
|
22
|
+
else:
|
|
23
|
+
self._proto_message = self._proto_class()
|
|
24
|
+
|
|
25
|
+
if color is not None:
|
|
26
|
+
self._proto_message.Color.CopyFrom(color.to_proto())
|
|
27
|
+
self._color_wrapper = color
|
|
28
|
+
if pole is not None:
|
|
29
|
+
self._proto_message.Pole.CopyFrom(pole.to_proto())
|
|
30
|
+
self._pole_wrapper = pole
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# Properties
|
|
34
|
+
|
|
35
|
+
@property
|
|
36
|
+
def is_visible(self) -> bool:
|
|
37
|
+
"""Get the IsVisible field value."""
|
|
38
|
+
return self._proto_message.IsVisible
|
|
39
|
+
|
|
40
|
+
@is_visible.setter
|
|
41
|
+
def is_visible(self, value: bool) -> None:
|
|
42
|
+
"""Set the IsVisible field value."""
|
|
43
|
+
self._proto_message.IsVisible = value
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
@property
|
|
47
|
+
def name(self) -> str:
|
|
48
|
+
"""Get the Name field value."""
|
|
49
|
+
return self._proto_message.Name
|
|
50
|
+
|
|
51
|
+
@name.setter
|
|
52
|
+
def name(self, value: str) -> None:
|
|
53
|
+
"""Set the Name field value."""
|
|
54
|
+
self._proto_message.Name = value
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
@property
|
|
58
|
+
def color(self) -> ColorSurrogateVal:
|
|
59
|
+
"""Get the Color field as a wrapper."""
|
|
60
|
+
if not hasattr(self, '_color_wrapper'):
|
|
61
|
+
self._color_wrapper = ColorSurrogateVal(proto_message=self._proto_message.Color)
|
|
62
|
+
return self._color_wrapper
|
|
63
|
+
|
|
64
|
+
@color.setter
|
|
65
|
+
def color(self, value: ColorSurrogateVal) -> None:
|
|
66
|
+
"""Set the Color field to a wrapper."""
|
|
67
|
+
self._proto_message.Color.CopyFrom(value.to_proto())
|
|
68
|
+
# Update the cached wrapper if it exists
|
|
69
|
+
if hasattr(self, '_color_wrapper'):
|
|
70
|
+
self._color_wrapper._proto_message.CopyFrom(self._proto_message.Color)
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
@property
|
|
74
|
+
def pole(self) -> TrendPlungeVal:
|
|
75
|
+
"""Get the Pole field as a wrapper."""
|
|
76
|
+
if not hasattr(self, '_pole_wrapper'):
|
|
77
|
+
self._pole_wrapper = TrendPlungeVal(proto_message=self._proto_message.Pole)
|
|
78
|
+
return self._pole_wrapper
|
|
79
|
+
|
|
80
|
+
@pole.setter
|
|
81
|
+
def pole(self, value: TrendPlungeVal) -> None:
|
|
82
|
+
"""Set the Pole field to a wrapper."""
|
|
83
|
+
self._proto_message.Pole.CopyFrom(value.to_proto())
|
|
84
|
+
# Update the cached wrapper if it exists
|
|
85
|
+
if hasattr(self, '_pole_wrapper'):
|
|
86
|
+
self._pole_wrapper._proto_message.CopyFrom(self._proto_message.Pole)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
# Utility methods
|
|
90
|
+
|
|
91
|
+
def to_proto(self):
|
|
92
|
+
"""Get the underlying protobuf message."""
|
|
93
|
+
return self._proto_message
|
|
94
|
+
|
|
95
|
+
@classmethod
|
|
96
|
+
def from_proto(cls, proto_message):
|
|
97
|
+
"""Create wrapper from existing protobuf message."""
|
|
98
|
+
wrapper = cls()
|
|
99
|
+
wrapper._proto_message.CopyFrom(proto_message)
|
|
100
|
+
return wrapper
|
|
101
|
+
|
|
102
|
+
def copy(self):
|
|
103
|
+
"""Create a copy of this wrapper."""
|
|
104
|
+
new_wrapper = self.__class__()
|
|
105
|
+
new_wrapper._proto_message.CopyFrom(self._proto_message)
|
|
106
|
+
return new_wrapper
|
|
107
|
+
|
|
108
|
+
def __str__(self) -> str:
|
|
109
|
+
"""String representation."""
|
|
110
|
+
return f"{self.__class__.__name__}({self._proto_message})"
|
|
111
|
+
|
|
112
|
+
def __repr__(self) -> str:
|
|
113
|
+
"""Detailed string representation."""
|
|
114
|
+
return f"{self.__class__.__name__}({self._proto_message})"
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from . import DipsAPI_pb2_grpc
|
|
3
|
+
from . import DipsAPI_pb2
|
|
4
|
+
from .PlaneEntityInfoVal import PlaneEntityInfoVal
|
|
5
|
+
|
|
6
|
+
class PlaneEntityInfoRef:
|
|
7
|
+
def __init__(self, channelToConnectOn, ref: DipsAPI_pb2.ProtoReference_PlaneEntityInfo):
|
|
8
|
+
self.__modelRef = ref
|
|
9
|
+
self.__refManagerStub = DipsAPI_pb2_grpc.nSameModuleReferenceAccessorStub(channelToConnectOn)
|
|
10
|
+
self.__channelToConnectOn = channelToConnectOn
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def GetValue(self) -> PlaneEntityInfoVal:
|
|
14
|
+
bytes = self.__refManagerStub.GetValue(self.__modelRef.ID)
|
|
15
|
+
ret = DipsAPI_pb2.PlaneEntityInfo()
|
|
16
|
+
ret.MergeFromString(bytes.data)
|
|
17
|
+
return PlaneEntityInfoVal.from_proto(ret)
|
|
18
|
+
|
|
19
|
+
def get_model_ref(self):
|
|
20
|
+
"""Get the underlying model reference for direct protobuf operations."""
|
|
21
|
+
return self.__modelRef
|
|
22
|
+
|
|
23
|
+
|