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.
Files changed (175) hide show
  1. dips/AnchorPointVal.py +103 -0
  2. dips/AngleDataVal.py +62 -0
  3. dips/AnnotativeTools2DVal.py +273 -0
  4. dips/ApplicationManager.py +89 -0
  5. dips/ArrowToolEntityInfoRef.py +43 -0
  6. dips/ArrowToolEntityInfoVal.py +155 -0
  7. dips/AutomaticClusterAnalysisSettingsVal.py +161 -0
  8. dips/BuiltInDataDescriptors.py +81 -0
  9. dips/BuiltInDataFormatters.py +81 -0
  10. dips/CircularWindowVal.py +103 -0
  11. dips/ClusterWindowVal.py +190 -0
  12. dips/ColorSurrogateVal.py +95 -0
  13. dips/ConeToolEntityInfoRef.py +43 -0
  14. dips/ConeToolEntityInfoVal.py +114 -0
  15. dips/ConeVal.py +92 -0
  16. dips/ContourEntityVisibilityVal.py +132 -0
  17. dips/ContourOptionsVal.py +193 -0
  18. dips/CumulativeChartViewRef.py +42 -0
  19. dips/CumulativeChartViewVal.py +100 -0
  20. dips/CumulativePlotSettingsVal.py +94 -0
  21. dips/CurvedWindowVal.py +102 -0
  22. dips/CustomColumnCollectionVal.py +69 -0
  23. dips/CustomHistogramOptionsVal.py +103 -0
  24. dips/CustomRangeVal.py +84 -0
  25. dips/CustomRowRawDataVal.py +74 -0
  26. dips/DataDescriptorVal.py +83 -0
  27. dips/DataFilterRef.py +23 -0
  28. dips/DataFilterVal.py +73 -0
  29. dips/DataFormatterVal.py +62 -0
  30. dips/DataIdentifierVal.py +62 -0
  31. dips/DipsAPI_pb2.py +817 -0
  32. dips/DipsAPI_pb2_grpc.py +12363 -0
  33. dips/DipsApp.py +81 -0
  34. dips/DiscontinuityDataVal.py +164 -0
  35. dips/EllipseToolEntityInfoRef.py +43 -0
  36. dips/EllipseToolEntityInfoVal.py +153 -0
  37. dips/FillFormatVal.py +83 -0
  38. dips/FoldEntityInfoRef.py +23 -0
  39. dips/FoldEntityInfoVal.py +103 -0
  40. dips/FoldEntityOptionsVal.py +106 -0
  41. dips/FoldEntityVisibilityRef.py +38 -0
  42. dips/FoldEntityVisibilityVal.py +100 -0
  43. dips/FoldWindowEntityInfoVal.py +92 -0
  44. dips/FoldWindowEntityVisibilityRef.py +29 -0
  45. dips/FoldWindowEntityVisibilityVal.py +80 -0
  46. dips/FreehandWindowVal.py +80 -0
  47. dips/FullDataFormatVal.py +92 -0
  48. dips/GlobalPlaneEntityVisibilityVal.py +103 -0
  49. dips/HistogramChartViewRef.py +42 -0
  50. dips/HistogramChartViewVal.py +100 -0
  51. dips/HistogramPlotSettingsVal.py +136 -0
  52. dips/IntersectionEntityVisibilityVal.py +83 -0
  53. dips/IntersectionOptionsVal.py +83 -0
  54. dips/IntervalVal.py +102 -0
  55. dips/JointFrequencyAnalysisSettingsVal.py +102 -0
  56. dips/JointFrequencyChartViewRef.py +42 -0
  57. dips/JointFrequencyChartViewVal.py +100 -0
  58. dips/JointSpacingAnalysisSettingsVal.py +138 -0
  59. dips/JointSpacingChartViewRef.py +42 -0
  60. dips/JointSpacingChartViewVal.py +100 -0
  61. dips/KinematicAnalysisEntityVisibilityVal.py +73 -0
  62. dips/KinematicAnalysisSettingsVal.py +140 -0
  63. dips/LatLongVal.py +84 -0
  64. dips/LengthDataVal.py +83 -0
  65. dips/LineFormatVal.py +83 -0
  66. dips/LineIntersectionCalculatorToolEntityInfoRef.py +43 -0
  67. dips/LineIntersectionCalculatorToolEntityInfoVal.py +133 -0
  68. dips/LineToolEntityInfoRef.py +43 -0
  69. dips/LineToolEntityInfoVal.py +133 -0
  70. dips/LineationVal.py +83 -0
  71. dips/MeasureAngleToolEntityInfoRef.py +43 -0
  72. dips/MeasureAngleToolEntityInfoVal.py +133 -0
  73. dips/OrientationDataSetRef.py +23 -0
  74. dips/OrientationDataSetVal.py +453 -0
  75. dips/PitchGridToolEntityInfoRef.py +43 -0
  76. dips/PitchGridToolEntityInfoVal.py +114 -0
  77. dips/PlaneEntityInfoRef.py +23 -0
  78. dips/PlaneEntityInfoVal.py +92 -0
  79. dips/PlaneEntityVisibilityRef.py +38 -0
  80. dips/PlaneEntityVisibilityVal.py +100 -0
  81. dips/PlaneIntersectionCalculatorToolEntityInfoRef.py +43 -0
  82. dips/PlaneIntersectionCalculatorToolEntityInfoVal.py +133 -0
  83. dips/PlaneOptionsVal.py +117 -0
  84. dips/PlaneVal.py +105 -0
  85. dips/PoleEntityOptionsVal.py +84 -0
  86. dips/PoleEntityVisibilityVal.py +83 -0
  87. dips/PolygonToolEntityInfoRef.py +43 -0
  88. dips/PolygonToolEntityInfoVal.py +131 -0
  89. dips/PolylineToolEntityInfoRef.py +43 -0
  90. dips/PolylineToolEntityInfoVal.py +111 -0
  91. dips/ProcessedDataVal.py +94 -0
  92. dips/ProjStubRef.py +388 -0
  93. dips/ProjStubVal.py +52 -0
  94. dips/ProtobufCollectionWrappers.py +108 -0
  95. dips/QualitativeQuantitativeAnalysisSettingsVal.py +151 -0
  96. dips/QualitativeQuantitativeChartViewRef.py +42 -0
  97. dips/QualitativeQuantitativeChartViewVal.py +111 -0
  98. dips/QuantitativeContourSettingsVal.py +103 -0
  99. dips/RQDAnalysisChartViewRef.py +42 -0
  100. dips/RQDAnalysisChartViewVal.py +100 -0
  101. dips/RQDAnalysisSettingsVal.py +111 -0
  102. dips/RectangleToolEntityInfoRef.py +43 -0
  103. dips/RectangleToolEntityInfoVal.py +153 -0
  104. dips/ReportingConventionResultVal.py +62 -0
  105. dips/RosettePresetOptionsVal.py +227 -0
  106. dips/RosetteSettingsVal.py +174 -0
  107. dips/RosetteViewRef.py +296 -0
  108. dips/RosetteViewVal.py +177 -0
  109. dips/ScatterChartViewRef.py +42 -0
  110. dips/ScatterChartViewVal.py +100 -0
  111. dips/ScatterPlotSettingsVal.py +113 -0
  112. dips/SetEntityInfoRef.py +23 -0
  113. dips/SetEntityInfoVal.py +103 -0
  114. dips/SetEntityOptionsVal.py +133 -0
  115. dips/SetEntityVisibilityRef.py +38 -0
  116. dips/SetEntityVisibilityVal.py +100 -0
  117. dips/SetStatisticsSettingsVal.py +106 -0
  118. dips/SetVersusSetVal.py +82 -0
  119. dips/SetWindowEntityInfoVal.py +183 -0
  120. dips/SetWindowEntityVisibilityRef.py +29 -0
  121. dips/SetWindowEntityVisibilityVal.py +80 -0
  122. dips/StatisticalDistributionFilterVal.py +128 -0
  123. dips/Stereonet2DPresetOptionsVal.py +488 -0
  124. dips/Stereonet2DViewRef.py +612 -0
  125. dips/Stereonet2DViewVal.py +363 -0
  126. dips/Stereonet3DPresetOptionsVal.py +281 -0
  127. dips/Stereonet3DViewRef.py +440 -0
  128. dips/Stereonet3DViewVal.py +303 -0
  129. dips/StereonetOverlayEntityVisibilityVal.py +83 -0
  130. dips/StereonetOverlaySettingsVal.py +103 -0
  131. dips/StereonetProjectionModeVal.py +73 -0
  132. dips/SurveyDataVal.py +103 -0
  133. dips/SymbolDisplaySettingVal.py +124 -0
  134. dips/SymbolicSettingsVal.py +89 -0
  135. dips/TextFormatVal.py +105 -0
  136. dips/TextToolEntityInfoRef.py +43 -0
  137. dips/TextToolEntityInfoVal.py +176 -0
  138. dips/TraverseEntityOptionsVal.py +84 -0
  139. dips/TraverseEntityVisibilityRef.py +38 -0
  140. dips/TraverseEntityVisibilityVal.py +100 -0
  141. dips/TrendLineToolEntityInfoRef.py +43 -0
  142. dips/TrendLineToolEntityInfoVal.py +114 -0
  143. dips/TrendPlungeVal.py +91 -0
  144. dips/UnitSystemResultVal.py +62 -0
  145. dips/UserPlaneEntityOptionsVal.py +100 -0
  146. dips/ValidatableResultVal.py +69 -0
  147. dips/ValidatableResult_ProtoReference_ArrowToolEntityInfoVal.py +86 -0
  148. dips/ValidatableResult_ProtoReference_ConeToolEntityInfoVal.py +86 -0
  149. dips/ValidatableResult_ProtoReference_EllipseToolEntityInfoVal.py +86 -0
  150. dips/ValidatableResult_ProtoReference_FoldEntityInfoVal.py +86 -0
  151. dips/ValidatableResult_ProtoReference_LineIntersectionCalculatorToolEntityInfoVal.py +86 -0
  152. dips/ValidatableResult_ProtoReference_LineToolEntityInfoVal.py +86 -0
  153. dips/ValidatableResult_ProtoReference_MeasureAngleToolEntityInfoVal.py +86 -0
  154. dips/ValidatableResult_ProtoReference_OrientationDataSetVal.py +86 -0
  155. dips/ValidatableResult_ProtoReference_PitchGridToolEntityInfoVal.py +86 -0
  156. dips/ValidatableResult_ProtoReference_PlaneEntityInfoVal.py +86 -0
  157. dips/ValidatableResult_ProtoReference_PlaneIntersectionCalculatorToolEntityInfoVal.py +86 -0
  158. dips/ValidatableResult_ProtoReference_PolygonToolEntityInfoVal.py +86 -0
  159. dips/ValidatableResult_ProtoReference_PolylineToolEntityInfoVal.py +86 -0
  160. dips/ValidatableResult_ProtoReference_RectangleToolEntityInfoVal.py +86 -0
  161. dips/ValidatableResult_ProtoReference_SetEntityInfoVal.py +86 -0
  162. dips/ValidatableResult_ProtoReference_TextToolEntityInfoVal.py +86 -0
  163. dips/ValidatableResult_ProtoReference_TrendLineToolEntityInfoVal.py +86 -0
  164. dips/ValidationErrorVal.py +73 -0
  165. dips/Vector2DVal.py +73 -0
  166. dips/Vector3Val.py +84 -0
  167. dips/VectorDensityContourSettingsVal.py +73 -0
  168. dips/WeightingSettingsVal.py +83 -0
  169. dips/WrappedFreehandWindowVal.py +102 -0
  170. dips/__init__.py +29 -0
  171. dipsscripting-9.1.0.dist-info/METADATA +29 -0
  172. dipsscripting-9.1.0.dist-info/RECORD +175 -0
  173. dipsscripting-9.1.0.dist-info/WHEEL +5 -0
  174. dipsscripting-9.1.0.dist-info/licenses/License.txt +20 -0
  175. dipsscripting-9.1.0.dist-info/top_level.txt +1 -0
dips/DipsApp.py ADDED
@@ -0,0 +1,81 @@
1
+ import grpc
2
+ from .DipsAPI_pb2_grpc import AppServiceStub
3
+ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
4
+ from .ApplicationManager import ApplicationManager
5
+ from .ProjStubRef import ProjStubRef
6
+ from logging import Logger
7
+ import winreg
8
+
9
+ class DipsApp:
10
+ @staticmethod
11
+ def AttachToExisting(port):
12
+ ret = DipsApp(port)
13
+ return ret
14
+
15
+ @staticmethod
16
+ def LaunchApp(port, overridePathToExecutable : str = None, timeout : float = 120, headless : bool = False, fileToOpen : str = None):
17
+ DipsApp.startApplication(port, overridePathToExecutable, timeout, headless, fileToOpen)
18
+ ret = DipsApp(port)
19
+ return ret
20
+
21
+ def __init__(self, port):
22
+ channel = grpc.insecure_channel('localhost:{port}'.format(port = port))
23
+ self.__stub = AppServiceStub(channel)
24
+ self.__channel = channel
25
+
26
+ @staticmethod
27
+ def startApplication(port : int, overridePathToExecutable : str = None, timeout : float = 120, headless : bool = False, fileToOpen : str = None) -> None:
28
+ """Opens the most recently installed RS2 application. Starts the python server and binds it to the given port.
29
+
30
+ Args:
31
+ port (int): the port to bind the python server to. Use this same port when initializing RS2Modeler
32
+ overridePathToExecutable (str, optional): full path to the desired executable to be opened. If not provided, the latest installation of rs2 is used
33
+ timeout (float, optional): the maximum amount of time to wait for the application and server to start.
34
+
35
+ Raises:
36
+ ValueError: Port range must be between 49152 and 65535, otherwise ValueError is raised
37
+ TimeoutError: if timeout is provided, raises TimeoutError if not able to connect to the server within that time.
38
+ """
39
+ appManager = ApplicationManager()
40
+ if overridePathToExecutable is None:
41
+ executablePath = DipsApp._getApplicationPath()
42
+ else:
43
+ executablePath = overridePathToExecutable
44
+
45
+
46
+ appManager.startApplication(executablePath, port, DipsApp._isServerRunning, Logger("Test"), timeout, headless, fileToOpen)
47
+
48
+ @staticmethod
49
+ def _getApplicationPath() -> str:
50
+ registry = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE)
51
+ key = winreg.OpenKey(registry, r'SOFTWARE\Rocscience\Dips 9.0')
52
+ installationLocation, type = winreg.QueryValueEx(key, "Install")
53
+ dipsModelerInstallLocation = rf"{installationLocation}\Dips.exe"
54
+ return dipsModelerInstallLocation
55
+
56
+ @staticmethod
57
+ def _isServerRunning(port) -> bool:
58
+ channel = grpc.insecure_channel('localhost:{port}'.format(port = port))
59
+ stub = AppServiceStub(channel)
60
+ stub.Ping(google_dot_protobuf_dot_empty__pb2.Empty())
61
+ channel.close()
62
+ return True
63
+
64
+ def GetModel(self) -> ProjStubRef:
65
+ model = self.__stub.GetProjectReference(google_dot_protobuf_dot_empty__pb2.Empty())
66
+ return ProjStubRef(self.__channel, model)
67
+
68
+ def Show(self):
69
+ self.__stub.Show(google_dot_protobuf_dot_empty__pb2.Empty())
70
+
71
+ def Hide(self):
72
+ self.__stub.Hide(google_dot_protobuf_dot_empty__pb2.Empty())
73
+
74
+ def Ping(self):
75
+ self.__stub.Ping(google_dot_protobuf_dot_empty__pb2.Empty())
76
+
77
+ def Close(self):
78
+ self.__stub.Close(google_dot_protobuf_dot_empty__pb2.Empty())
79
+
80
+
81
+
@@ -0,0 +1,164 @@
1
+ """Generated wrapper for DiscontinuityData 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 .CustomRowRawDataVal import CustomRowRawDataVal
10
+ from .Vector3Val import Vector3Val
11
+
12
+ class DiscontinuityDataVal:
13
+ """Simple wrapper for DiscontinuityData with Pythonic getters and setters."""
14
+
15
+ _proto_class = DipsAPI_pb2.DiscontinuityData
16
+
17
+
18
+ def __init__(self, orientation1: Optional[AngleDataVal] = None, orientation2: Optional[AngleDataVal] = None, position: Optional[Vector3Val] = None, extra_data: Optional[CustomRowRawDataVal] = None, proto_message: Optional[Any] = None):
19
+ """Initialize the DiscontinuityData wrapper."""
20
+ # Initialize the protobuf message
21
+ if proto_message is not None:
22
+ self._proto_message = proto_message
23
+ else:
24
+ self._proto_message = self._proto_class()
25
+
26
+ if orientation1 is not None:
27
+ self._proto_message.Orientation1.CopyFrom(orientation1.to_proto())
28
+ self._orientation1_wrapper = orientation1
29
+ if orientation2 is not None:
30
+ self._proto_message.Orientation2.CopyFrom(orientation2.to_proto())
31
+ self._orientation2_wrapper = orientation2
32
+ if position is not None:
33
+ self._proto_message.Position.CopyFrom(position.to_proto())
34
+ self._position_wrapper = position
35
+ if extra_data is not None:
36
+ self._proto_message.ExtraData.CopyFrom(extra_data.to_proto())
37
+ self._extra_data_wrapper = extra_data
38
+
39
+
40
+ # Properties
41
+
42
+ @property
43
+ def orientation1(self) -> AngleDataVal:
44
+ """Get the Orientation1 field as a wrapper."""
45
+ if not hasattr(self, '_orientation1_wrapper'):
46
+ self._orientation1_wrapper = AngleDataVal(proto_message=self._proto_message.Orientation1)
47
+ return self._orientation1_wrapper
48
+
49
+ @orientation1.setter
50
+ def orientation1(self, value: AngleDataVal) -> None:
51
+ """Set the Orientation1 field to a wrapper."""
52
+ self._proto_message.Orientation1.CopyFrom(value.to_proto())
53
+ # Update the cached wrapper if it exists
54
+ if hasattr(self, '_orientation1_wrapper'):
55
+ self._orientation1_wrapper._proto_message.CopyFrom(self._proto_message.Orientation1)
56
+
57
+
58
+ @property
59
+ def orientation2(self) -> AngleDataVal:
60
+ """Get the Orientation2 field as a wrapper."""
61
+ if not hasattr(self, '_orientation2_wrapper'):
62
+ self._orientation2_wrapper = AngleDataVal(proto_message=self._proto_message.Orientation2)
63
+ return self._orientation2_wrapper
64
+
65
+ @orientation2.setter
66
+ def orientation2(self, value: AngleDataVal) -> None:
67
+ """Set the Orientation2 field to a wrapper."""
68
+ self._proto_message.Orientation2.CopyFrom(value.to_proto())
69
+ # Update the cached wrapper if it exists
70
+ if hasattr(self, '_orientation2_wrapper'):
71
+ self._orientation2_wrapper._proto_message.CopyFrom(self._proto_message.Orientation2)
72
+
73
+
74
+ @property
75
+ def quantity(self) -> float:
76
+ """Get the Quantity field value."""
77
+ return self._proto_message.Quantity
78
+
79
+ @quantity.setter
80
+ def quantity(self, value: float) -> None:
81
+ """Set the Quantity field value."""
82
+ self._proto_message.Quantity = value
83
+
84
+
85
+ @property
86
+ def persistence(self) -> float:
87
+ """Get the Persistence field value."""
88
+ return self._proto_message.Persistence
89
+
90
+ @persistence.setter
91
+ def persistence(self, value: float) -> None:
92
+ """Set the Persistence field value."""
93
+ self._proto_message.Persistence = value
94
+
95
+
96
+ @property
97
+ def distance(self) -> float:
98
+ """Get the Distance field value."""
99
+ return self._proto_message.Distance
100
+
101
+ @distance.setter
102
+ def distance(self, value: float) -> None:
103
+ """Set the Distance field value."""
104
+ self._proto_message.Distance = value
105
+
106
+
107
+ @property
108
+ def position(self) -> Vector3Val:
109
+ """Get the Position field as a wrapper."""
110
+ if not hasattr(self, '_position_wrapper'):
111
+ self._position_wrapper = Vector3Val(proto_message=self._proto_message.Position)
112
+ return self._position_wrapper
113
+
114
+ @position.setter
115
+ def position(self, value: Vector3Val) -> None:
116
+ """Set the Position field to a wrapper."""
117
+ self._proto_message.Position.CopyFrom(value.to_proto())
118
+ # Update the cached wrapper if it exists
119
+ if hasattr(self, '_position_wrapper'):
120
+ self._position_wrapper._proto_message.CopyFrom(self._proto_message.Position)
121
+
122
+
123
+ @property
124
+ def extra_data(self) -> CustomRowRawDataVal:
125
+ """Get the ExtraData field as a wrapper."""
126
+ if not hasattr(self, '_extra_data_wrapper'):
127
+ self._extra_data_wrapper = CustomRowRawDataVal(proto_message=self._proto_message.ExtraData)
128
+ return self._extra_data_wrapper
129
+
130
+ @extra_data.setter
131
+ def extra_data(self, value: CustomRowRawDataVal) -> None:
132
+ """Set the ExtraData field to a wrapper."""
133
+ self._proto_message.ExtraData.CopyFrom(value.to_proto())
134
+ # Update the cached wrapper if it exists
135
+ if hasattr(self, '_extra_data_wrapper'):
136
+ self._extra_data_wrapper._proto_message.CopyFrom(self._proto_message.ExtraData)
137
+
138
+
139
+ # Utility methods
140
+
141
+ def to_proto(self):
142
+ """Get the underlying protobuf message."""
143
+ return self._proto_message
144
+
145
+ @classmethod
146
+ def from_proto(cls, proto_message):
147
+ """Create wrapper from existing protobuf message."""
148
+ wrapper = cls()
149
+ wrapper._proto_message.CopyFrom(proto_message)
150
+ return wrapper
151
+
152
+ def copy(self):
153
+ """Create a copy of this wrapper."""
154
+ new_wrapper = self.__class__()
155
+ new_wrapper._proto_message.CopyFrom(self._proto_message)
156
+ return new_wrapper
157
+
158
+ def __str__(self) -> str:
159
+ """String representation."""
160
+ return f"{self.__class__.__name__}({self._proto_message})"
161
+
162
+ def __repr__(self) -> str:
163
+ """Detailed string representation."""
164
+ 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 .EllipseToolEntityInfoVal import EllipseToolEntityInfoVal
5
+ from .EllipseToolEntityInfoVal import EllipseToolEntityInfoVal
6
+ from .ValidatableResultVal import ValidatableResultVal
7
+
8
+ class EllipseToolEntityInfoRef:
9
+ def __init__(self, channelToConnectOn, ref: DipsAPI_pb2.ProtoReference_EllipseToolEntityInfo):
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) -> EllipseToolEntityInfoVal:
17
+ bytes = self.__refManagerStub.GetValue(self.__modelRef.ID)
18
+ ret = DipsAPI_pb2.EllipseToolEntityInfo()
19
+ ret.MergeFromString(bytes.data)
20
+ return EllipseToolEntityInfoVal.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 RemoveEllipseTool(self):
27
+ functionParam = DipsAPI_pb2.ProtoMemberFunction_ProtoReference_EllipseToolEntityInfo(This=self.__modelRef)
28
+ ret = self.__EntityServicesStubLocal.RemoveEllipseTool(functionParam)
29
+
30
+
31
+ def SetEllipseToolVisibility(self, Boolean: bool):
32
+ functionParam = DipsAPI_pb2.ProtoMemberFunction_ProtoReference_EllipseToolEntityInfo_Boolean(This=self.__modelRef, Input1=Boolean)
33
+ ret = self.__EntityServicesStubLocal.SetEllipseToolVisibility(functionParam)
34
+
35
+
36
+ def UpdateEllipseTool(self, EllipseToolEntityInfo: EllipseToolEntityInfoVal) -> ValidatableResultVal:
37
+ functionParam = DipsAPI_pb2.ProtoMemberFunction_ProtoReference_EllipseToolEntityInfo_EllipseToolEntityInfo(This=self.__modelRef, Input1=(EllipseToolEntityInfo.to_proto() if hasattr(EllipseToolEntityInfo, 'to_proto') else EllipseToolEntityInfo))
38
+ ret = self.__EntityServicesStubLocal.UpdateEllipseTool(functionParam)
39
+
40
+ return ValidatableResultVal.from_proto(ret)
41
+
42
+
43
+
@@ -0,0 +1,153 @@
1
+ """Generated wrapper for EllipseToolEntityInfo 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 .FillFormatVal import FillFormatVal
9
+ from .LineFormatVal import LineFormatVal
10
+ from .Vector2DVal import Vector2DVal
11
+
12
+ class EllipseToolEntityInfoVal:
13
+ """Simple wrapper for EllipseToolEntityInfo with Pythonic getters and setters."""
14
+
15
+ _proto_class = DipsAPI_pb2.EllipseToolEntityInfo
16
+
17
+
18
+ def __init__(self, line_format: Optional[LineFormatVal] = None, fill_format: Optional[FillFormatVal] = None, first_corner: Optional[Vector2DVal] = None, second_corner: Optional[Vector2DVal] = None, proto_message: Optional[Any] = None):
19
+ """Initialize the EllipseToolEntityInfo wrapper."""
20
+ # Initialize the protobuf message
21
+ if proto_message is not None:
22
+ self._proto_message = proto_message
23
+ else:
24
+ self._proto_message = self._proto_class()
25
+
26
+ if line_format is not None:
27
+ self._proto_message.LineFormat.CopyFrom(line_format.to_proto())
28
+ self._line_format_wrapper = line_format
29
+ if fill_format is not None:
30
+ self._proto_message.FillFormat.CopyFrom(fill_format.to_proto())
31
+ self._fill_format_wrapper = fill_format
32
+ if first_corner is not None:
33
+ self._proto_message.FirstCorner.CopyFrom(first_corner.to_proto())
34
+ self._first_corner_wrapper = first_corner
35
+ if second_corner is not None:
36
+ self._proto_message.SecondCorner.CopyFrom(second_corner.to_proto())
37
+ self._second_corner_wrapper = second_corner
38
+
39
+
40
+ # Properties
41
+
42
+ @property
43
+ def is_visible(self) -> bool:
44
+ """Get the IsVisible field value."""
45
+ return self._proto_message.IsVisible
46
+
47
+ @is_visible.setter
48
+ def is_visible(self, value: bool) -> None:
49
+ """Set the IsVisible field value."""
50
+ self._proto_message.IsVisible = value
51
+
52
+
53
+ @property
54
+ def name(self) -> str:
55
+ """Get the Name field value."""
56
+ return self._proto_message.Name
57
+
58
+ @name.setter
59
+ def name(self, value: str) -> None:
60
+ """Set the Name field value."""
61
+ self._proto_message.Name = value
62
+
63
+
64
+ @property
65
+ def line_format(self) -> LineFormatVal:
66
+ """Get the LineFormat field as a wrapper."""
67
+ if not hasattr(self, '_line_format_wrapper'):
68
+ self._line_format_wrapper = LineFormatVal(proto_message=self._proto_message.LineFormat)
69
+ return self._line_format_wrapper
70
+
71
+ @line_format.setter
72
+ def line_format(self, value: LineFormatVal) -> None:
73
+ """Set the LineFormat field to a wrapper."""
74
+ self._proto_message.LineFormat.CopyFrom(value.to_proto())
75
+ # Update the cached wrapper if it exists
76
+ if hasattr(self, '_line_format_wrapper'):
77
+ self._line_format_wrapper._proto_message.CopyFrom(self._proto_message.LineFormat)
78
+
79
+
80
+ @property
81
+ def fill_format(self) -> FillFormatVal:
82
+ """Get the FillFormat field as a wrapper."""
83
+ if not hasattr(self, '_fill_format_wrapper'):
84
+ self._fill_format_wrapper = FillFormatVal(proto_message=self._proto_message.FillFormat)
85
+ return self._fill_format_wrapper
86
+
87
+ @fill_format.setter
88
+ def fill_format(self, value: FillFormatVal) -> None:
89
+ """Set the FillFormat field to a wrapper."""
90
+ self._proto_message.FillFormat.CopyFrom(value.to_proto())
91
+ # Update the cached wrapper if it exists
92
+ if hasattr(self, '_fill_format_wrapper'):
93
+ self._fill_format_wrapper._proto_message.CopyFrom(self._proto_message.FillFormat)
94
+
95
+
96
+ @property
97
+ def first_corner(self) -> Vector2DVal:
98
+ """Get the FirstCorner field as a wrapper."""
99
+ if not hasattr(self, '_first_corner_wrapper'):
100
+ self._first_corner_wrapper = Vector2DVal(proto_message=self._proto_message.FirstCorner)
101
+ return self._first_corner_wrapper
102
+
103
+ @first_corner.setter
104
+ def first_corner(self, value: Vector2DVal) -> None:
105
+ """Set the FirstCorner field to a wrapper."""
106
+ self._proto_message.FirstCorner.CopyFrom(value.to_proto())
107
+ # Update the cached wrapper if it exists
108
+ if hasattr(self, '_first_corner_wrapper'):
109
+ self._first_corner_wrapper._proto_message.CopyFrom(self._proto_message.FirstCorner)
110
+
111
+
112
+ @property
113
+ def second_corner(self) -> Vector2DVal:
114
+ """Get the SecondCorner field as a wrapper."""
115
+ if not hasattr(self, '_second_corner_wrapper'):
116
+ self._second_corner_wrapper = Vector2DVal(proto_message=self._proto_message.SecondCorner)
117
+ return self._second_corner_wrapper
118
+
119
+ @second_corner.setter
120
+ def second_corner(self, value: Vector2DVal) -> None:
121
+ """Set the SecondCorner field to a wrapper."""
122
+ self._proto_message.SecondCorner.CopyFrom(value.to_proto())
123
+ # Update the cached wrapper if it exists
124
+ if hasattr(self, '_second_corner_wrapper'):
125
+ self._second_corner_wrapper._proto_message.CopyFrom(self._proto_message.SecondCorner)
126
+
127
+
128
+ # Utility methods
129
+
130
+ def to_proto(self):
131
+ """Get the underlying protobuf message."""
132
+ return self._proto_message
133
+
134
+ @classmethod
135
+ def from_proto(cls, proto_message):
136
+ """Create wrapper from existing protobuf message."""
137
+ wrapper = cls()
138
+ wrapper._proto_message.CopyFrom(proto_message)
139
+ return wrapper
140
+
141
+ def copy(self):
142
+ """Create a copy of this wrapper."""
143
+ new_wrapper = self.__class__()
144
+ new_wrapper._proto_message.CopyFrom(self._proto_message)
145
+ return new_wrapper
146
+
147
+ def __str__(self) -> str:
148
+ """String representation."""
149
+ return f"{self.__class__.__name__}({self._proto_message})"
150
+
151
+ def __repr__(self) -> str:
152
+ """Detailed string representation."""
153
+ return f"{self.__class__.__name__}({self._proto_message})"
dips/FillFormatVal.py ADDED
@@ -0,0 +1,83 @@
1
+ """Generated wrapper for FillFormat 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
+
10
+ class FillFormatVal:
11
+ """Simple wrapper for FillFormat with Pythonic getters and setters."""
12
+
13
+ _proto_class = DipsAPI_pb2.FillFormat
14
+
15
+
16
+ def __init__(self, fill_color: Optional[ColorSurrogateVal] = None, proto_message: Optional[Any] = None):
17
+ """Initialize the FillFormat 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 fill_color is not None:
25
+ self._proto_message.FillColor.CopyFrom(fill_color.to_proto())
26
+ self._fill_color_wrapper = fill_color
27
+
28
+
29
+ # Properties
30
+
31
+ @property
32
+ def apply_fill(self) -> bool:
33
+ """Get the ApplyFill field value."""
34
+ return self._proto_message.ApplyFill
35
+
36
+ @apply_fill.setter
37
+ def apply_fill(self, value: bool) -> None:
38
+ """Set the ApplyFill field value."""
39
+ self._proto_message.ApplyFill = value
40
+
41
+
42
+ @property
43
+ def fill_color(self) -> ColorSurrogateVal:
44
+ """Get the FillColor field as a wrapper."""
45
+ if not hasattr(self, '_fill_color_wrapper'):
46
+ self._fill_color_wrapper = ColorSurrogateVal(proto_message=self._proto_message.FillColor)
47
+ return self._fill_color_wrapper
48
+
49
+ @fill_color.setter
50
+ def fill_color(self, value: ColorSurrogateVal) -> None:
51
+ """Set the FillColor field to a wrapper."""
52
+ self._proto_message.FillColor.CopyFrom(value.to_proto())
53
+ # Update the cached wrapper if it exists
54
+ if hasattr(self, '_fill_color_wrapper'):
55
+ self._fill_color_wrapper._proto_message.CopyFrom(self._proto_message.FillColor)
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,23 @@
1
+ from typing import List
2
+ from . import DipsAPI_pb2_grpc
3
+ from . import DipsAPI_pb2
4
+ from .FoldEntityInfoVal import FoldEntityInfoVal
5
+
6
+ class FoldEntityInfoRef:
7
+ def __init__(self, channelToConnectOn, ref: DipsAPI_pb2.ProtoReference_FoldEntityInfo):
8
+ self.__modelRef = ref
9
+ self.__refManagerStub = DipsAPI_pb2_grpc.nSameModuleReferenceAccessorStub(channelToConnectOn)
10
+ self.__channelToConnectOn = channelToConnectOn
11
+
12
+
13
+ def GetValue(self) -> FoldEntityInfoVal:
14
+ bytes = self.__refManagerStub.GetValue(self.__modelRef.ID)
15
+ ret = DipsAPI_pb2.FoldEntityInfo()
16
+ ret.MergeFromString(bytes.data)
17
+ return FoldEntityInfoVal.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
+
@@ -0,0 +1,103 @@
1
+ """Generated wrapper for FoldEntityInfo 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 .FoldWindowEntityInfoVal import FoldWindowEntityInfoVal
10
+
11
+ class FoldEntityInfoVal:
12
+ """Simple wrapper for FoldEntityInfo with Pythonic getters and setters."""
13
+
14
+ _proto_class = DipsAPI_pb2.FoldEntityInfo
15
+
16
+
17
+ def __init__(self, color: Optional[ColorSurrogateVal] = None, fold_window_entity_info: Optional[FoldWindowEntityInfoVal] = None, proto_message: Optional[Any] = None):
18
+ """Initialize the FoldEntityInfo 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 fold_window_entity_info is not None:
29
+ self._proto_message.FoldWindowEntityInfo.CopyFrom(fold_window_entity_info.to_proto())
30
+ self._fold_window_entity_info_wrapper = fold_window_entity_info
31
+
32
+
33
+ # Properties
34
+
35
+ @property
36
+ def id(self) -> str:
37
+ """Get the ID field value."""
38
+ return self._proto_message.ID
39
+
40
+ @id.setter
41
+ def id(self, value: str) -> None:
42
+ """Set the ID field value."""
43
+ self._proto_message.ID = value
44
+
45
+
46
+ @property
47
+ def color(self) -> ColorSurrogateVal:
48
+ """Get the Color field as a wrapper."""
49
+ if not hasattr(self, '_color_wrapper'):
50
+ self._color_wrapper = ColorSurrogateVal(proto_message=self._proto_message.Color)
51
+ return self._color_wrapper
52
+
53
+ @color.setter
54
+ def color(self, value: ColorSurrogateVal) -> None:
55
+ """Set the Color field to a wrapper."""
56
+ self._proto_message.Color.CopyFrom(value.to_proto())
57
+ # Update the cached wrapper if it exists
58
+ if hasattr(self, '_color_wrapper'):
59
+ self._color_wrapper._proto_message.CopyFrom(self._proto_message.Color)
60
+
61
+
62
+ @property
63
+ def fold_window_entity_info(self) -> FoldWindowEntityInfoVal:
64
+ """Get the FoldWindowEntityInfo field as a wrapper."""
65
+ if not hasattr(self, '_fold_window_entity_info_wrapper'):
66
+ self._fold_window_entity_info_wrapper = FoldWindowEntityInfoVal(proto_message=self._proto_message.FoldWindowEntityInfo)
67
+ return self._fold_window_entity_info_wrapper
68
+
69
+ @fold_window_entity_info.setter
70
+ def fold_window_entity_info(self, value: FoldWindowEntityInfoVal) -> None:
71
+ """Set the FoldWindowEntityInfo field to a wrapper."""
72
+ self._proto_message.FoldWindowEntityInfo.CopyFrom(value.to_proto())
73
+ # Update the cached wrapper if it exists
74
+ if hasattr(self, '_fold_window_entity_info_wrapper'):
75
+ self._fold_window_entity_info_wrapper._proto_message.CopyFrom(self._proto_message.FoldWindowEntityInfo)
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})"