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,303 @@
|
|
|
1
|
+
"""Generated wrapper for Stereonet3DView 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 .FoldEntityVisibilityVal import FoldEntityVisibilityVal
|
|
9
|
+
from .FoldWindowEntityVisibilityVal import FoldWindowEntityVisibilityVal
|
|
10
|
+
from .PlaneEntityVisibilityVal import PlaneEntityVisibilityVal
|
|
11
|
+
from .QuantitativeContourSettingsVal import QuantitativeContourSettingsVal
|
|
12
|
+
from .SetEntityVisibilityVal import SetEntityVisibilityVal
|
|
13
|
+
from .SetWindowEntityVisibilityVal import SetWindowEntityVisibilityVal
|
|
14
|
+
from .Stereonet3DPresetOptionsVal import Stereonet3DPresetOptionsVal
|
|
15
|
+
from .SymbolicSettingsVal import SymbolicSettingsVal
|
|
16
|
+
from .TraverseEntityVisibilityVal import TraverseEntityVisibilityVal
|
|
17
|
+
from .VectorDensityContourSettingsVal import VectorDensityContourSettingsVal
|
|
18
|
+
from .DataFilterRef import DataFilterRef
|
|
19
|
+
|
|
20
|
+
class Stereonet3DViewVal:
|
|
21
|
+
"""Simple wrapper for Stereonet3DView with Pythonic getters and setters."""
|
|
22
|
+
|
|
23
|
+
_proto_class = DipsAPI_pb2.Stereonet3DView
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def __init__(self, symbolic_settings: Optional[SymbolicSettingsVal] = None, pole_vector_density_contour_settings: Optional[VectorDensityContourSettingsVal] = None, intersection_vector_density_contour_settings: Optional[VectorDensityContourSettingsVal] = None, quantitative_contour_settings: Optional[QuantitativeContourSettingsVal] = None, preset_options: Optional[Stereonet3DPresetOptionsVal] = None, active_filter: Optional[DataFilterRef] = None, proto_message: Optional[Any] = None, channel_to_connect_on: Optional[Any] = None):
|
|
27
|
+
"""Initialize the Stereonet3DView wrapper."""
|
|
28
|
+
# Initialize the protobuf message
|
|
29
|
+
if proto_message is not None:
|
|
30
|
+
self._proto_message = proto_message
|
|
31
|
+
else:
|
|
32
|
+
self._proto_message = self._proto_class()
|
|
33
|
+
|
|
34
|
+
# Store channel for reference types
|
|
35
|
+
self.__channelToConnectOn = channel_to_connect_on
|
|
36
|
+
|
|
37
|
+
if symbolic_settings is not None:
|
|
38
|
+
self._proto_message.SymbolicSettings.CopyFrom(symbolic_settings.to_proto())
|
|
39
|
+
self._symbolic_settings_wrapper = symbolic_settings
|
|
40
|
+
if pole_vector_density_contour_settings is not None:
|
|
41
|
+
self._proto_message.PoleVectorDensityContourSettings.CopyFrom(pole_vector_density_contour_settings.to_proto())
|
|
42
|
+
self._pole_vector_density_contour_settings_wrapper = pole_vector_density_contour_settings
|
|
43
|
+
if intersection_vector_density_contour_settings is not None:
|
|
44
|
+
self._proto_message.IntersectionVectorDensityContourSettings.CopyFrom(intersection_vector_density_contour_settings.to_proto())
|
|
45
|
+
self._intersection_vector_density_contour_settings_wrapper = intersection_vector_density_contour_settings
|
|
46
|
+
if quantitative_contour_settings is not None:
|
|
47
|
+
self._proto_message.QuantitativeContourSettings.CopyFrom(quantitative_contour_settings.to_proto())
|
|
48
|
+
self._quantitative_contour_settings_wrapper = quantitative_contour_settings
|
|
49
|
+
if preset_options is not None:
|
|
50
|
+
self._proto_message.PresetOptions.CopyFrom(preset_options.to_proto())
|
|
51
|
+
self._preset_options_wrapper = preset_options
|
|
52
|
+
if active_filter is not None:
|
|
53
|
+
self.active_filter = active_filter
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
# Properties
|
|
57
|
+
|
|
58
|
+
@property
|
|
59
|
+
def view_name(self) -> str:
|
|
60
|
+
"""Get the ViewName field value."""
|
|
61
|
+
return self._proto_message.ViewName
|
|
62
|
+
|
|
63
|
+
@view_name.setter
|
|
64
|
+
def view_name(self, value: str) -> None:
|
|
65
|
+
"""Set the ViewName field value."""
|
|
66
|
+
self._proto_message.ViewName = value
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
@property
|
|
70
|
+
def vector_mode(self) -> Any:
|
|
71
|
+
"""Get the VectorMode field value."""
|
|
72
|
+
return self._proto_message.VectorMode
|
|
73
|
+
|
|
74
|
+
@vector_mode.setter
|
|
75
|
+
def vector_mode(self, value: Any) -> None:
|
|
76
|
+
"""Set the VectorMode field value."""
|
|
77
|
+
self._proto_message.VectorMode = value
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
@property
|
|
81
|
+
def is_weighted(self) -> bool:
|
|
82
|
+
"""Get the IsWeighted field value."""
|
|
83
|
+
return self._proto_message.IsWeighted
|
|
84
|
+
|
|
85
|
+
@is_weighted.setter
|
|
86
|
+
def is_weighted(self, value: bool) -> None:
|
|
87
|
+
"""Set the IsWeighted field value."""
|
|
88
|
+
self._proto_message.IsWeighted = value
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
@property
|
|
92
|
+
def symbolic_settings(self) -> SymbolicSettingsVal:
|
|
93
|
+
"""Get the SymbolicSettings field as a wrapper."""
|
|
94
|
+
if not hasattr(self, '_symbolic_settings_wrapper'):
|
|
95
|
+
self._symbolic_settings_wrapper = SymbolicSettingsVal(proto_message=self._proto_message.SymbolicSettings)
|
|
96
|
+
return self._symbolic_settings_wrapper
|
|
97
|
+
|
|
98
|
+
@symbolic_settings.setter
|
|
99
|
+
def symbolic_settings(self, value: SymbolicSettingsVal) -> None:
|
|
100
|
+
"""Set the SymbolicSettings field to a wrapper."""
|
|
101
|
+
self._proto_message.SymbolicSettings.CopyFrom(value.to_proto())
|
|
102
|
+
# Update the cached wrapper if it exists
|
|
103
|
+
if hasattr(self, '_symbolic_settings_wrapper'):
|
|
104
|
+
self._symbolic_settings_wrapper._proto_message.CopyFrom(self._proto_message.SymbolicSettings)
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
@property
|
|
108
|
+
def pole_vector_density_contour_settings(self) -> VectorDensityContourSettingsVal:
|
|
109
|
+
"""Get the PoleVectorDensityContourSettings field as a wrapper."""
|
|
110
|
+
if not hasattr(self, '_pole_vector_density_contour_settings_wrapper'):
|
|
111
|
+
self._pole_vector_density_contour_settings_wrapper = VectorDensityContourSettingsVal(proto_message=self._proto_message.PoleVectorDensityContourSettings)
|
|
112
|
+
return self._pole_vector_density_contour_settings_wrapper
|
|
113
|
+
|
|
114
|
+
@pole_vector_density_contour_settings.setter
|
|
115
|
+
def pole_vector_density_contour_settings(self, value: VectorDensityContourSettingsVal) -> None:
|
|
116
|
+
"""Set the PoleVectorDensityContourSettings field to a wrapper."""
|
|
117
|
+
self._proto_message.PoleVectorDensityContourSettings.CopyFrom(value.to_proto())
|
|
118
|
+
# Update the cached wrapper if it exists
|
|
119
|
+
if hasattr(self, '_pole_vector_density_contour_settings_wrapper'):
|
|
120
|
+
self._pole_vector_density_contour_settings_wrapper._proto_message.CopyFrom(self._proto_message.PoleVectorDensityContourSettings)
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
@property
|
|
124
|
+
def intersection_vector_density_contour_settings(self) -> VectorDensityContourSettingsVal:
|
|
125
|
+
"""Get the IntersectionVectorDensityContourSettings field as a wrapper."""
|
|
126
|
+
if not hasattr(self, '_intersection_vector_density_contour_settings_wrapper'):
|
|
127
|
+
self._intersection_vector_density_contour_settings_wrapper = VectorDensityContourSettingsVal(proto_message=self._proto_message.IntersectionVectorDensityContourSettings)
|
|
128
|
+
return self._intersection_vector_density_contour_settings_wrapper
|
|
129
|
+
|
|
130
|
+
@intersection_vector_density_contour_settings.setter
|
|
131
|
+
def intersection_vector_density_contour_settings(self, value: VectorDensityContourSettingsVal) -> None:
|
|
132
|
+
"""Set the IntersectionVectorDensityContourSettings field to a wrapper."""
|
|
133
|
+
self._proto_message.IntersectionVectorDensityContourSettings.CopyFrom(value.to_proto())
|
|
134
|
+
# Update the cached wrapper if it exists
|
|
135
|
+
if hasattr(self, '_intersection_vector_density_contour_settings_wrapper'):
|
|
136
|
+
self._intersection_vector_density_contour_settings_wrapper._proto_message.CopyFrom(self._proto_message.IntersectionVectorDensityContourSettings)
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
@property
|
|
140
|
+
def quantitative_contour_settings(self) -> QuantitativeContourSettingsVal:
|
|
141
|
+
"""Get the QuantitativeContourSettings field as a wrapper."""
|
|
142
|
+
if not hasattr(self, '_quantitative_contour_settings_wrapper'):
|
|
143
|
+
self._quantitative_contour_settings_wrapper = QuantitativeContourSettingsVal(proto_message=self._proto_message.QuantitativeContourSettings)
|
|
144
|
+
return self._quantitative_contour_settings_wrapper
|
|
145
|
+
|
|
146
|
+
@quantitative_contour_settings.setter
|
|
147
|
+
def quantitative_contour_settings(self, value: QuantitativeContourSettingsVal) -> None:
|
|
148
|
+
"""Set the QuantitativeContourSettings field to a wrapper."""
|
|
149
|
+
self._proto_message.QuantitativeContourSettings.CopyFrom(value.to_proto())
|
|
150
|
+
# Update the cached wrapper if it exists
|
|
151
|
+
if hasattr(self, '_quantitative_contour_settings_wrapper'):
|
|
152
|
+
self._quantitative_contour_settings_wrapper._proto_message.CopyFrom(self._proto_message.QuantitativeContourSettings)
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
@property
|
|
156
|
+
def preset_options(self) -> Stereonet3DPresetOptionsVal:
|
|
157
|
+
"""Get the PresetOptions field as a wrapper."""
|
|
158
|
+
if not hasattr(self, '_preset_options_wrapper'):
|
|
159
|
+
self._preset_options_wrapper = Stereonet3DPresetOptionsVal(proto_message=self._proto_message.PresetOptions)
|
|
160
|
+
return self._preset_options_wrapper
|
|
161
|
+
|
|
162
|
+
@preset_options.setter
|
|
163
|
+
def preset_options(self, value: Stereonet3DPresetOptionsVal) -> None:
|
|
164
|
+
"""Set the PresetOptions field to a wrapper."""
|
|
165
|
+
self._proto_message.PresetOptions.CopyFrom(value.to_proto())
|
|
166
|
+
# Update the cached wrapper if it exists
|
|
167
|
+
if hasattr(self, '_preset_options_wrapper'):
|
|
168
|
+
self._preset_options_wrapper._proto_message.CopyFrom(self._proto_message.PresetOptions)
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
@property
|
|
172
|
+
def user_plane_entity_visibilities(self) -> List[PlaneEntityVisibilityVal]:
|
|
173
|
+
"""Get the UserPlaneEntityVisibilities field as a list of wrappers."""
|
|
174
|
+
return _ProtobufListWrapper(self._proto_message.UserPlaneEntityVisibilities, PlaneEntityVisibilityVal)
|
|
175
|
+
|
|
176
|
+
@user_plane_entity_visibilities.setter
|
|
177
|
+
def user_plane_entity_visibilities(self, value: List[PlaneEntityVisibilityVal]) -> None:
|
|
178
|
+
"""Set the UserPlaneEntityVisibilities field to a list of wrappers."""
|
|
179
|
+
if not isinstance(value, (list, tuple)):
|
|
180
|
+
raise TypeError(f"Expected list or tuple, got {type(value).__name__}")
|
|
181
|
+
# Clear the repeated field using slice assignment
|
|
182
|
+
self._proto_message.UserPlaneEntityVisibilities[:] = []
|
|
183
|
+
for item in value:
|
|
184
|
+
self._proto_message.UserPlaneEntityVisibilities.append(item.to_proto())
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
@property
|
|
188
|
+
def traverse_entity_visibilities(self) -> List[TraverseEntityVisibilityVal]:
|
|
189
|
+
"""Get the TraverseEntityVisibilities field as a list of wrappers."""
|
|
190
|
+
return _ProtobufListWrapper(self._proto_message.TraverseEntityVisibilities, TraverseEntityVisibilityVal)
|
|
191
|
+
|
|
192
|
+
@traverse_entity_visibilities.setter
|
|
193
|
+
def traverse_entity_visibilities(self, value: List[TraverseEntityVisibilityVal]) -> None:
|
|
194
|
+
"""Set the TraverseEntityVisibilities field to a list of wrappers."""
|
|
195
|
+
if not isinstance(value, (list, tuple)):
|
|
196
|
+
raise TypeError(f"Expected list or tuple, got {type(value).__name__}")
|
|
197
|
+
# Clear the repeated field using slice assignment
|
|
198
|
+
self._proto_message.TraverseEntityVisibilities[:] = []
|
|
199
|
+
for item in value:
|
|
200
|
+
self._proto_message.TraverseEntityVisibilities.append(item.to_proto())
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
@property
|
|
204
|
+
def active_filter(self) -> DataFilterRef:
|
|
205
|
+
"""Get the ActiveFilter field as a reference."""
|
|
206
|
+
return DataFilterRef(self.__channelToConnectOn, self._proto_message.ActiveFilter)
|
|
207
|
+
|
|
208
|
+
@active_filter.setter
|
|
209
|
+
def active_filter(self, value: DataFilterRef) -> None:
|
|
210
|
+
"""Set the ActiveFilter field to a reference."""
|
|
211
|
+
self._proto_message.ActiveFilter.CopyFrom(value.get_model_ref())
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
@property
|
|
215
|
+
def set_window_entity_visibilities(self) -> List[SetWindowEntityVisibilityVal]:
|
|
216
|
+
"""Get the SetWindowEntityVisibilities field as a list of wrappers."""
|
|
217
|
+
return _ProtobufListWrapper(self._proto_message.SetWindowEntityVisibilities, SetWindowEntityVisibilityVal)
|
|
218
|
+
|
|
219
|
+
@set_window_entity_visibilities.setter
|
|
220
|
+
def set_window_entity_visibilities(self, value: List[SetWindowEntityVisibilityVal]) -> None:
|
|
221
|
+
"""Set the SetWindowEntityVisibilities field to a list of wrappers."""
|
|
222
|
+
if not isinstance(value, (list, tuple)):
|
|
223
|
+
raise TypeError(f"Expected list or tuple, got {type(value).__name__}")
|
|
224
|
+
# Clear the repeated field using slice assignment
|
|
225
|
+
self._proto_message.SetWindowEntityVisibilities[:] = []
|
|
226
|
+
for item in value:
|
|
227
|
+
self._proto_message.SetWindowEntityVisibilities.append(item.to_proto())
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
@property
|
|
231
|
+
def mean_set_plane_entity_visibilities(self) -> List[SetEntityVisibilityVal]:
|
|
232
|
+
"""Get the MeanSetPlaneEntityVisibilities field as a list of wrappers."""
|
|
233
|
+
return _ProtobufListWrapper(self._proto_message.MeanSetPlaneEntityVisibilities, SetEntityVisibilityVal)
|
|
234
|
+
|
|
235
|
+
@mean_set_plane_entity_visibilities.setter
|
|
236
|
+
def mean_set_plane_entity_visibilities(self, value: List[SetEntityVisibilityVal]) -> None:
|
|
237
|
+
"""Set the MeanSetPlaneEntityVisibilities field to a list of wrappers."""
|
|
238
|
+
if not isinstance(value, (list, tuple)):
|
|
239
|
+
raise TypeError(f"Expected list or tuple, got {type(value).__name__}")
|
|
240
|
+
# Clear the repeated field using slice assignment
|
|
241
|
+
self._proto_message.MeanSetPlaneEntityVisibilities[:] = []
|
|
242
|
+
for item in value:
|
|
243
|
+
self._proto_message.MeanSetPlaneEntityVisibilities.append(item.to_proto())
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
@property
|
|
247
|
+
def fold_window_entity_visibilities(self) -> List[FoldWindowEntityVisibilityVal]:
|
|
248
|
+
"""Get the FoldWindowEntityVisibilities field as a list of wrappers."""
|
|
249
|
+
return _ProtobufListWrapper(self._proto_message.FoldWindowEntityVisibilities, FoldWindowEntityVisibilityVal)
|
|
250
|
+
|
|
251
|
+
@fold_window_entity_visibilities.setter
|
|
252
|
+
def fold_window_entity_visibilities(self, value: List[FoldWindowEntityVisibilityVal]) -> None:
|
|
253
|
+
"""Set the FoldWindowEntityVisibilities field to a list of wrappers."""
|
|
254
|
+
if not isinstance(value, (list, tuple)):
|
|
255
|
+
raise TypeError(f"Expected list or tuple, got {type(value).__name__}")
|
|
256
|
+
# Clear the repeated field using slice assignment
|
|
257
|
+
self._proto_message.FoldWindowEntityVisibilities[:] = []
|
|
258
|
+
for item in value:
|
|
259
|
+
self._proto_message.FoldWindowEntityVisibilities.append(item.to_proto())
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
@property
|
|
263
|
+
def fold_entity_visibilities(self) -> List[FoldEntityVisibilityVal]:
|
|
264
|
+
"""Get the FoldEntityVisibilities field as a list of wrappers."""
|
|
265
|
+
return _ProtobufListWrapper(self._proto_message.FoldEntityVisibilities, FoldEntityVisibilityVal)
|
|
266
|
+
|
|
267
|
+
@fold_entity_visibilities.setter
|
|
268
|
+
def fold_entity_visibilities(self, value: List[FoldEntityVisibilityVal]) -> None:
|
|
269
|
+
"""Set the FoldEntityVisibilities field to a list of wrappers."""
|
|
270
|
+
if not isinstance(value, (list, tuple)):
|
|
271
|
+
raise TypeError(f"Expected list or tuple, got {type(value).__name__}")
|
|
272
|
+
# Clear the repeated field using slice assignment
|
|
273
|
+
self._proto_message.FoldEntityVisibilities[:] = []
|
|
274
|
+
for item in value:
|
|
275
|
+
self._proto_message.FoldEntityVisibilities.append(item.to_proto())
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
# Utility methods
|
|
279
|
+
|
|
280
|
+
def to_proto(self):
|
|
281
|
+
"""Get the underlying protobuf message."""
|
|
282
|
+
return self._proto_message
|
|
283
|
+
|
|
284
|
+
@classmethod
|
|
285
|
+
def from_proto(cls, proto_message):
|
|
286
|
+
"""Create wrapper from existing protobuf message."""
|
|
287
|
+
wrapper = cls()
|
|
288
|
+
wrapper._proto_message.CopyFrom(proto_message)
|
|
289
|
+
return wrapper
|
|
290
|
+
|
|
291
|
+
def copy(self):
|
|
292
|
+
"""Create a copy of this wrapper."""
|
|
293
|
+
new_wrapper = self.__class__()
|
|
294
|
+
new_wrapper._proto_message.CopyFrom(self._proto_message)
|
|
295
|
+
return new_wrapper
|
|
296
|
+
|
|
297
|
+
def __str__(self) -> str:
|
|
298
|
+
"""String representation."""
|
|
299
|
+
return f"{self.__class__.__name__}({self._proto_message})"
|
|
300
|
+
|
|
301
|
+
def __repr__(self) -> str:
|
|
302
|
+
"""Detailed string representation."""
|
|
303
|
+
return f"{self.__class__.__name__}({self._proto_message})"
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"""Generated wrapper for StereonetOverlayEntityVisibility 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 .StereonetOverlaySettingsVal import StereonetOverlaySettingsVal
|
|
9
|
+
|
|
10
|
+
class StereonetOverlayEntityVisibilityVal:
|
|
11
|
+
"""Simple wrapper for StereonetOverlayEntityVisibility with Pythonic getters and setters."""
|
|
12
|
+
|
|
13
|
+
_proto_class = DipsAPI_pb2.StereonetOverlayEntityVisibility
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def __init__(self, stereonet_overlay_settings: Optional[StereonetOverlaySettingsVal] = None, proto_message: Optional[Any] = None):
|
|
17
|
+
"""Initialize the StereonetOverlayEntityVisibility wrapper."""
|
|
18
|
+
# Initialize the protobuf message
|
|
19
|
+
if proto_message is not None:
|
|
20
|
+
self._proto_message = proto_message
|
|
21
|
+
else:
|
|
22
|
+
self._proto_message = self._proto_class()
|
|
23
|
+
|
|
24
|
+
if stereonet_overlay_settings is not None:
|
|
25
|
+
self._proto_message.StereonetOverlaySettings.CopyFrom(stereonet_overlay_settings.to_proto())
|
|
26
|
+
self._stereonet_overlay_settings_wrapper = stereonet_overlay_settings
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
# Properties
|
|
30
|
+
|
|
31
|
+
@property
|
|
32
|
+
def is_visible(self) -> bool:
|
|
33
|
+
"""Get the IsVisible field value."""
|
|
34
|
+
return self._proto_message.IsVisible
|
|
35
|
+
|
|
36
|
+
@is_visible.setter
|
|
37
|
+
def is_visible(self, value: bool) -> None:
|
|
38
|
+
"""Set the IsVisible field value."""
|
|
39
|
+
self._proto_message.IsVisible = value
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
@property
|
|
43
|
+
def stereonet_overlay_settings(self) -> StereonetOverlaySettingsVal:
|
|
44
|
+
"""Get the StereonetOverlaySettings field as a wrapper."""
|
|
45
|
+
if not hasattr(self, '_stereonet_overlay_settings_wrapper'):
|
|
46
|
+
self._stereonet_overlay_settings_wrapper = StereonetOverlaySettingsVal(proto_message=self._proto_message.StereonetOverlaySettings)
|
|
47
|
+
return self._stereonet_overlay_settings_wrapper
|
|
48
|
+
|
|
49
|
+
@stereonet_overlay_settings.setter
|
|
50
|
+
def stereonet_overlay_settings(self, value: StereonetOverlaySettingsVal) -> None:
|
|
51
|
+
"""Set the StereonetOverlaySettings field to a wrapper."""
|
|
52
|
+
self._proto_message.StereonetOverlaySettings.CopyFrom(value.to_proto())
|
|
53
|
+
# Update the cached wrapper if it exists
|
|
54
|
+
if hasattr(self, '_stereonet_overlay_settings_wrapper'):
|
|
55
|
+
self._stereonet_overlay_settings_wrapper._proto_message.CopyFrom(self._proto_message.StereonetOverlaySettings)
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
# Utility methods
|
|
59
|
+
|
|
60
|
+
def to_proto(self):
|
|
61
|
+
"""Get the underlying protobuf message."""
|
|
62
|
+
return self._proto_message
|
|
63
|
+
|
|
64
|
+
@classmethod
|
|
65
|
+
def from_proto(cls, proto_message):
|
|
66
|
+
"""Create wrapper from existing protobuf message."""
|
|
67
|
+
wrapper = cls()
|
|
68
|
+
wrapper._proto_message.CopyFrom(proto_message)
|
|
69
|
+
return wrapper
|
|
70
|
+
|
|
71
|
+
def copy(self):
|
|
72
|
+
"""Create a copy of this wrapper."""
|
|
73
|
+
new_wrapper = self.__class__()
|
|
74
|
+
new_wrapper._proto_message.CopyFrom(self._proto_message)
|
|
75
|
+
return new_wrapper
|
|
76
|
+
|
|
77
|
+
def __str__(self) -> str:
|
|
78
|
+
"""String representation."""
|
|
79
|
+
return f"{self.__class__.__name__}({self._proto_message})"
|
|
80
|
+
|
|
81
|
+
def __repr__(self) -> str:
|
|
82
|
+
"""Detailed string representation."""
|
|
83
|
+
return f"{self.__class__.__name__}({self._proto_message})"
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"""Generated wrapper for StereonetOverlaySettings 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 StereonetOverlaySettingsVal:
|
|
12
|
+
"""Simple wrapper for StereonetOverlaySettings with Pythonic getters and setters."""
|
|
13
|
+
|
|
14
|
+
_proto_class = DipsAPI_pb2.StereonetOverlaySettings
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def __init__(self, color: Optional[ColorSurrogateVal] = None, custom_orientation: Optional[TrendPlungeVal] = None, proto_message: Optional[Any] = None):
|
|
18
|
+
"""Initialize the StereonetOverlaySettings 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 custom_orientation is not None:
|
|
29
|
+
self._proto_message.CustomOrientation.CopyFrom(custom_orientation.to_proto())
|
|
30
|
+
self._custom_orientation_wrapper = custom_orientation
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# Properties
|
|
34
|
+
|
|
35
|
+
@property
|
|
36
|
+
def color(self) -> ColorSurrogateVal:
|
|
37
|
+
"""Get the Color field as a wrapper."""
|
|
38
|
+
if not hasattr(self, '_color_wrapper'):
|
|
39
|
+
self._color_wrapper = ColorSurrogateVal(proto_message=self._proto_message.Color)
|
|
40
|
+
return self._color_wrapper
|
|
41
|
+
|
|
42
|
+
@color.setter
|
|
43
|
+
def color(self, value: ColorSurrogateVal) -> None:
|
|
44
|
+
"""Set the Color field to a wrapper."""
|
|
45
|
+
self._proto_message.Color.CopyFrom(value.to_proto())
|
|
46
|
+
# Update the cached wrapper if it exists
|
|
47
|
+
if hasattr(self, '_color_wrapper'):
|
|
48
|
+
self._color_wrapper._proto_message.CopyFrom(self._proto_message.Color)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
@property
|
|
52
|
+
def option(self) -> Any:
|
|
53
|
+
"""Get the Option field value."""
|
|
54
|
+
return self._proto_message.Option
|
|
55
|
+
|
|
56
|
+
@option.setter
|
|
57
|
+
def option(self, value: Any) -> None:
|
|
58
|
+
"""Set the Option field value."""
|
|
59
|
+
self._proto_message.Option = value
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
@property
|
|
63
|
+
def custom_orientation(self) -> TrendPlungeVal:
|
|
64
|
+
"""Get the CustomOrientation field as a wrapper."""
|
|
65
|
+
if not hasattr(self, '_custom_orientation_wrapper'):
|
|
66
|
+
self._custom_orientation_wrapper = TrendPlungeVal(proto_message=self._proto_message.CustomOrientation)
|
|
67
|
+
return self._custom_orientation_wrapper
|
|
68
|
+
|
|
69
|
+
@custom_orientation.setter
|
|
70
|
+
def custom_orientation(self, value: TrendPlungeVal) -> None:
|
|
71
|
+
"""Set the CustomOrientation field to a wrapper."""
|
|
72
|
+
self._proto_message.CustomOrientation.CopyFrom(value.to_proto())
|
|
73
|
+
# Update the cached wrapper if it exists
|
|
74
|
+
if hasattr(self, '_custom_orientation_wrapper'):
|
|
75
|
+
self._custom_orientation_wrapper._proto_message.CopyFrom(self._proto_message.CustomOrientation)
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
# Utility methods
|
|
79
|
+
|
|
80
|
+
def to_proto(self):
|
|
81
|
+
"""Get the underlying protobuf message."""
|
|
82
|
+
return self._proto_message
|
|
83
|
+
|
|
84
|
+
@classmethod
|
|
85
|
+
def from_proto(cls, proto_message):
|
|
86
|
+
"""Create wrapper from existing protobuf message."""
|
|
87
|
+
wrapper = cls()
|
|
88
|
+
wrapper._proto_message.CopyFrom(proto_message)
|
|
89
|
+
return wrapper
|
|
90
|
+
|
|
91
|
+
def copy(self):
|
|
92
|
+
"""Create a copy of this wrapper."""
|
|
93
|
+
new_wrapper = self.__class__()
|
|
94
|
+
new_wrapper._proto_message.CopyFrom(self._proto_message)
|
|
95
|
+
return new_wrapper
|
|
96
|
+
|
|
97
|
+
def __str__(self) -> str:
|
|
98
|
+
"""String representation."""
|
|
99
|
+
return f"{self.__class__.__name__}({self._proto_message})"
|
|
100
|
+
|
|
101
|
+
def __repr__(self) -> str:
|
|
102
|
+
"""Detailed string representation."""
|
|
103
|
+
return f"{self.__class__.__name__}({self._proto_message})"
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"""Generated wrapper for StereonetProjectionMode 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
|
+
class StereonetProjectionModeVal:
|
|
9
|
+
"""Simple wrapper for StereonetProjectionMode with Pythonic getters and setters."""
|
|
10
|
+
|
|
11
|
+
_proto_class = DipsAPI_pb2.StereonetProjectionMode
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def __init__(self, proto_message: Optional[Any] = None):
|
|
15
|
+
"""Initialize the StereonetProjectionMode wrapper."""
|
|
16
|
+
# Initialize the protobuf message
|
|
17
|
+
if proto_message is not None:
|
|
18
|
+
self._proto_message = proto_message
|
|
19
|
+
else:
|
|
20
|
+
self._proto_message = self._proto_class()
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# Properties
|
|
25
|
+
|
|
26
|
+
@property
|
|
27
|
+
def hemisphere_draw_option(self) -> Any:
|
|
28
|
+
"""Get the HemisphereDrawOption field value."""
|
|
29
|
+
return self._proto_message.HemisphereDrawOption
|
|
30
|
+
|
|
31
|
+
@hemisphere_draw_option.setter
|
|
32
|
+
def hemisphere_draw_option(self, value: Any) -> None:
|
|
33
|
+
"""Set the HemisphereDrawOption field value."""
|
|
34
|
+
self._proto_message.HemisphereDrawOption = value
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
@property
|
|
38
|
+
def projection_method_draw_option(self) -> Any:
|
|
39
|
+
"""Get the ProjectionMethodDrawOption field value."""
|
|
40
|
+
return self._proto_message.ProjectionMethodDrawOption
|
|
41
|
+
|
|
42
|
+
@projection_method_draw_option.setter
|
|
43
|
+
def projection_method_draw_option(self, value: Any) -> None:
|
|
44
|
+
"""Set the ProjectionMethodDrawOption field value."""
|
|
45
|
+
self._proto_message.ProjectionMethodDrawOption = value
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
# Utility methods
|
|
49
|
+
|
|
50
|
+
def to_proto(self):
|
|
51
|
+
"""Get the underlying protobuf message."""
|
|
52
|
+
return self._proto_message
|
|
53
|
+
|
|
54
|
+
@classmethod
|
|
55
|
+
def from_proto(cls, proto_message):
|
|
56
|
+
"""Create wrapper from existing protobuf message."""
|
|
57
|
+
wrapper = cls()
|
|
58
|
+
wrapper._proto_message.CopyFrom(proto_message)
|
|
59
|
+
return wrapper
|
|
60
|
+
|
|
61
|
+
def copy(self):
|
|
62
|
+
"""Create a copy of this wrapper."""
|
|
63
|
+
new_wrapper = self.__class__()
|
|
64
|
+
new_wrapper._proto_message.CopyFrom(self._proto_message)
|
|
65
|
+
return new_wrapper
|
|
66
|
+
|
|
67
|
+
def __str__(self) -> str:
|
|
68
|
+
"""String representation."""
|
|
69
|
+
return f"{self.__class__.__name__}({self._proto_message})"
|
|
70
|
+
|
|
71
|
+
def __repr__(self) -> str:
|
|
72
|
+
"""Detailed string representation."""
|
|
73
|
+
return f"{self.__class__.__name__}({self._proto_message})"
|
dips/SurveyDataVal.py
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"""Generated wrapper for SurveyData 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 .CustomRowRawDataVal import CustomRowRawDataVal
|
|
9
|
+
from .TrendPlungeVal import TrendPlungeVal
|
|
10
|
+
|
|
11
|
+
class SurveyDataVal:
|
|
12
|
+
"""Simple wrapper for SurveyData with Pythonic getters and setters."""
|
|
13
|
+
|
|
14
|
+
_proto_class = DipsAPI_pb2.SurveyData
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def __init__(self, orientation: Optional[TrendPlungeVal] = None, extra_data: Optional[CustomRowRawDataVal] = None, proto_message: Optional[Any] = None):
|
|
18
|
+
"""Initialize the SurveyData 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 orientation is not None:
|
|
26
|
+
self._proto_message.Orientation.CopyFrom(orientation.to_proto())
|
|
27
|
+
self._orientation_wrapper = orientation
|
|
28
|
+
if extra_data is not None:
|
|
29
|
+
self._proto_message.ExtraData.CopyFrom(extra_data.to_proto())
|
|
30
|
+
self._extra_data_wrapper = extra_data
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# Properties
|
|
34
|
+
|
|
35
|
+
@property
|
|
36
|
+
def distance(self) -> float:
|
|
37
|
+
"""Get the Distance field value."""
|
|
38
|
+
return self._proto_message.Distance
|
|
39
|
+
|
|
40
|
+
@distance.setter
|
|
41
|
+
def distance(self, value: float) -> None:
|
|
42
|
+
"""Set the Distance field value."""
|
|
43
|
+
self._proto_message.Distance = value
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
@property
|
|
47
|
+
def orientation(self) -> TrendPlungeVal:
|
|
48
|
+
"""Get the Orientation field as a wrapper."""
|
|
49
|
+
if not hasattr(self, '_orientation_wrapper'):
|
|
50
|
+
self._orientation_wrapper = TrendPlungeVal(proto_message=self._proto_message.Orientation)
|
|
51
|
+
return self._orientation_wrapper
|
|
52
|
+
|
|
53
|
+
@orientation.setter
|
|
54
|
+
def orientation(self, value: TrendPlungeVal) -> None:
|
|
55
|
+
"""Set the Orientation field to a wrapper."""
|
|
56
|
+
self._proto_message.Orientation.CopyFrom(value.to_proto())
|
|
57
|
+
# Update the cached wrapper if it exists
|
|
58
|
+
if hasattr(self, '_orientation_wrapper'):
|
|
59
|
+
self._orientation_wrapper._proto_message.CopyFrom(self._proto_message.Orientation)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
@property
|
|
63
|
+
def extra_data(self) -> CustomRowRawDataVal:
|
|
64
|
+
"""Get the ExtraData field as a wrapper."""
|
|
65
|
+
if not hasattr(self, '_extra_data_wrapper'):
|
|
66
|
+
self._extra_data_wrapper = CustomRowRawDataVal(proto_message=self._proto_message.ExtraData)
|
|
67
|
+
return self._extra_data_wrapper
|
|
68
|
+
|
|
69
|
+
@extra_data.setter
|
|
70
|
+
def extra_data(self, value: CustomRowRawDataVal) -> None:
|
|
71
|
+
"""Set the ExtraData field to a wrapper."""
|
|
72
|
+
self._proto_message.ExtraData.CopyFrom(value.to_proto())
|
|
73
|
+
# Update the cached wrapper if it exists
|
|
74
|
+
if hasattr(self, '_extra_data_wrapper'):
|
|
75
|
+
self._extra_data_wrapper._proto_message.CopyFrom(self._proto_message.ExtraData)
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
# Utility methods
|
|
79
|
+
|
|
80
|
+
def to_proto(self):
|
|
81
|
+
"""Get the underlying protobuf message."""
|
|
82
|
+
return self._proto_message
|
|
83
|
+
|
|
84
|
+
@classmethod
|
|
85
|
+
def from_proto(cls, proto_message):
|
|
86
|
+
"""Create wrapper from existing protobuf message."""
|
|
87
|
+
wrapper = cls()
|
|
88
|
+
wrapper._proto_message.CopyFrom(proto_message)
|
|
89
|
+
return wrapper
|
|
90
|
+
|
|
91
|
+
def copy(self):
|
|
92
|
+
"""Create a copy of this wrapper."""
|
|
93
|
+
new_wrapper = self.__class__()
|
|
94
|
+
new_wrapper._proto_message.CopyFrom(self._proto_message)
|
|
95
|
+
return new_wrapper
|
|
96
|
+
|
|
97
|
+
def __str__(self) -> str:
|
|
98
|
+
"""String representation."""
|
|
99
|
+
return f"{self.__class__.__name__}({self._proto_message})"
|
|
100
|
+
|
|
101
|
+
def __repr__(self) -> str:
|
|
102
|
+
"""Detailed string representation."""
|
|
103
|
+
return f"{self.__class__.__name__}({self._proto_message})"
|