sketchup-api-stubs 0.7.9 → 0.7.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +151 -151
  3. data/lib/sketchup-api-stubs/stubs/Array.rb +741 -741
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -322
  5. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +509 -509
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +476 -476
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +693 -693
  16. data/lib/sketchup-api-stubs/stubs/Geom.rb +351 -351
  17. data/lib/sketchup-api-stubs/stubs/LanguageHandler.rb +93 -93
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -595
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +747 -747
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -183
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +569 -517
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -148
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +356 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -354
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  30. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -370
  31. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  32. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  33. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -225
  34. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  37. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
  38. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +459 -387
  39. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -209
  40. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
  41. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  42. data/lib/sketchup-api-stubs/stubs/Layout/ReferenceEntity.rb +82 -82
  43. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +714 -692
  44. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  45. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  48. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  49. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  50. data/lib/sketchup-api-stubs/stubs/Length.rb +278 -278
  51. data/lib/sketchup-api-stubs/stubs/Numeric.rb +249 -249
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -144
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -169
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +226 -209
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +150 -150
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -281
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -302
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -478
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +121 -121
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +659 -659
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -201
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +449 -449
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -74
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -104
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -306
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -42
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +406 -406
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -397
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1242 -1239
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -261
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +519 -545
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -125
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -937
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -102
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -750
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +282 -282
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -468
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -266
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -189
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +406 -406
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -84
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -306
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -326
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -422
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -427
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -249
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +114 -114
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -414
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +317 -317
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -142
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -93
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1656 -1652
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -357
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +130 -130
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -271
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +490 -490
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +116 -116
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -797
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +361 -361
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +480 -478
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +373 -361
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -45
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +458 -458
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +255 -255
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -59
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -40
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -217
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -217
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +834 -834
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -156
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -75
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1329 -1311
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
  143. data/lib/sketchup-api-stubs/stubs/Sketchup.rb +1394 -1377
  144. data/lib/sketchup-api-stubs/stubs/SketchupExtension.rb +353 -353
  145. data/lib/sketchup-api-stubs/stubs/String.rb +24 -24
  146. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +387 -389
  147. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +505 -494
  148. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -269
  149. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +241 -241
  150. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -635
  151. data/lib/sketchup-api-stubs/stubs/UI.rb +728 -683
  152. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -303
  153. data/lib/sketchup-api-stubs.rb +1 -1
  154. metadata +3 -3
@@ -1,306 +1,306 @@
1
- # Copyright:: Copyright 2023 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # The {Sketchup::InstancePath} class represent the instance path to a given
5
- # entity within the model hierarchy.
6
- #
7
- # @version SketchUp 2017
8
- class Sketchup::InstancePath
9
-
10
- # Includes
11
-
12
- include Enumerable
13
-
14
- # Instance Methods
15
-
16
- #
17
- # @example
18
- # model = Sketchup.active_model
19
- # group = model.entities.add_group
20
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
21
- # path = Sketchup::InstancePath.new([group, edge])
22
- # if path.size > 1
23
- # # do something
24
- # end
25
- #
26
- # @return [Boolean] `true` if the instances paths represent the same set of
27
- # entities.
28
- #
29
- # @version SketchUp 2017
30
- def ==(other)
31
- end
32
-
33
- # The elements of an instance path can be accessed similarly to an array.
34
- #
35
- # @example
36
- # model = Sketchup.active_model
37
- # group = model.entities.add_group
38
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
39
- # path = Sketchup::InstancePath.new([group, edge])
40
- # path[0] == group # returns true
41
- # path[1] == edge # returns true
42
- #
43
- # @note This method does not accept negative indices. For the exact behavior
44
- # of an array, use +{#to_a}+.
45
- #
46
- # @param [Integer] index
47
- #
48
- # @raise [IndexError] if the given index is out of bounds
49
- #
50
- # @raise [TypeError] if the index is not of integer type
51
- #
52
- # @raise [TypeError] if the instance path refer to deleted entities.
53
- #
54
- # @return [Sketchup::Entity]
55
- #
56
- # @version SketchUp 2017
57
- def [](index)
58
- end
59
-
60
- # The yielded entities will start with the root and end with the leaf.
61
- #
62
- # @example
63
- # model = Sketchup.active_model
64
- # group = model.entities.add_group
65
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
66
- # path = Sketchup::InstancePath.new([group, edge])
67
- # path.each { |entity|
68
- # # do something
69
- # }
70
- #
71
- # @raise [TypeError] if the instance path refer to deleted entities.
72
- #
73
- # @return [nil]
74
- #
75
- # @version SketchUp 2017
76
- #
77
- # @yieldparam [Sketchup::Entity] entity
78
- def each
79
- end
80
-
81
- #
82
- # @example
83
- # model = Sketchup.active_model
84
- # group = model.entities.add_group
85
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
86
- # path = Sketchup::InstancePath.new([group, edge])
87
- # if path.empty?
88
- # # do something...
89
- # end
90
- #
91
- # @raise [TypeError] if the instance path refer to deleted entities.
92
- #
93
- # @return [Boolean]
94
- #
95
- # @version SketchUp 2017
96
- def empty?
97
- end
98
-
99
- # Returns `true` if the instance path contain the given object.
100
- #
101
- # @example
102
- # model = Sketchup.active_model
103
- # group = model.entities.add_group
104
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
105
- # path = Sketchup::InstancePath.new([group, edge])
106
- # if path.include?(edge)
107
- # # do something...
108
- # end
109
- #
110
- # @param [Object] object
111
- #
112
- # @raise [TypeError] if the instance path refer to deleted entities.
113
- #
114
- # @return [Boolean]
115
- #
116
- # @version SketchUp 2017
117
- def include?(object)
118
- end
119
-
120
- #
121
- # @example
122
- # model = Sketchup.active_model
123
- # group = model.entities.add_group
124
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
125
- # path = Sketchup::InstancePath.new([group, edge])
126
- #
127
- # @param [Array<Sketchup::Entity>] path
128
- # The leaf can be any entity, but the
129
- # rest must be a group or component instance.
130
- #
131
- # @raise [ArgumentError] if the instance path isn't composed of instances and
132
- # an optional leaf entity.
133
- #
134
- # @return [Sketchup::InstancePath]
135
- #
136
- # @version SketchUp 2017
137
- def initialize(path)
138
- end
139
-
140
- # The leaf of an instance path is the last element which can be any entity
141
- # that can be represented in the model. This is normally a
142
- # {Sketchup::Drawingelement}, but could be a {Sketchup::Vertex}.
143
- #
144
- # An instance can also be a leaf.
145
- #
146
- # @example
147
- # model = Sketchup.active_model
148
- # group = model.entities.add_group
149
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
150
- # path = Sketchup::InstancePath.new([group, edge])
151
- # path.leaf == edge # returns true
152
- #
153
- # @raise [TypeError] if the instance path refer to deleted entities.
154
- #
155
- # @return [Sketchup::Entity]
156
- #
157
- # @version SketchUp 2017
158
- def leaf
159
- end
160
-
161
- # {#length} is an alias of {#size}.
162
- #
163
- # @example
164
- # model = Sketchup.active_model
165
- # group = model.entities.add_group
166
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
167
- # path = Sketchup::InstancePath.new([group, edge])
168
- # if path.length > 1
169
- # # do something
170
- # end
171
- #
172
- # @raise [TypeError] if the instance path refer to deleted entities.
173
- #
174
- # @return [Integer]
175
- #
176
- # @see #size
177
- #
178
- # @version SketchUp 2017
179
- def length
180
- end
181
-
182
- # The serialized version of an instance path is the persistent ids of its
183
- # entities concatenated with a period.
184
- #
185
- # @example
186
- # model = Sketchup.active_model
187
- # group = model.entities.add_group
188
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
189
- # path = Sketchup::InstancePath.new([group, edge])
190
- # pid_path = path.persistent_id_path # something like "342.345"
191
- #
192
- # @raise [TypeError] if the instance path refer to deleted entities.
193
- #
194
- # @return [String]
195
- #
196
- # @see Sketchup::Model#instance_path_from_pid_path
197
- #
198
- # @version SketchUp 2017
199
- def persistent_id_path
200
- end
201
-
202
- # The root of an instance path is the element located closest to the model
203
- # root. This will be a group or component instance. If you have a non-instance
204
- # as a leaf with no other parent component this will return `nil`.
205
- #
206
- # @example
207
- # model = Sketchup.active_model
208
- # group = model.entities.add_group
209
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
210
- # path = Sketchup::InstancePath.new([group, edge])
211
- # path.root == group # returns true
212
- #
213
- # @raise [TypeError] if the instance path refer to deleted entities.
214
- #
215
- # @return [Sketchup::Group, Sketchup::ComponentInstance, nil]
216
- #
217
- # @version SketchUp 2017
218
- def root
219
- end
220
-
221
- #
222
- # @example
223
- # model = Sketchup.active_model
224
- # group = model.entities.add_group
225
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
226
- # path = Sketchup::InstancePath.new([group, edge])
227
- # if path.size > 1
228
- # # do something
229
- # end
230
- #
231
- # @raise [TypeError] if the instance path refer to deleted entities.
232
- #
233
- # @return [Integer]
234
- #
235
- # @see #length
236
- #
237
- # @version SketchUp 2017
238
- def size
239
- end
240
-
241
- #
242
- # @example
243
- # model = Sketchup.active_model
244
- # group = model.entities.add_group
245
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
246
- # path = Sketchup::InstancePath.new([group, edge])
247
- # pid_string = path.to_a.join('.')
248
- #
249
- # @raise [TypeError] if the instance path refer to deleted entities.
250
- #
251
- # @return [Array] an array representing the instance path.
252
- #
253
- # @version SketchUp 2017
254
- def to_a
255
- end
256
-
257
- #
258
- # @example
259
- # model = Sketchup.active_model
260
- # group = model.entities.add_group
261
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
262
- # path = Sketchup::InstancePath.new([group, edge])
263
- # tr = path.transformation
264
- #
265
- # @overload transformation
266
- #
267
- # @return [Geom::Transformation] the combined transformation up to the
268
- # the leaf entity.
269
- #
270
- # @overload transformation(index)
271
- #
272
- # @param [Integer] index
273
- # @return [Geom::Transformation] the combined transformation up to the
274
- # the given index.
275
- #
276
- # @raise [IndexError] if the given index is out of bounds
277
- #
278
- # @raise [TypeError] if the index is not of integer type
279
- #
280
- # @raise [TypeError] if the instance path refer to deleted entities.
281
- #
282
- # @version SketchUp 2017
283
- def transformation(*args)
284
- end
285
-
286
- # An instance path is valid if it has at least one element and consist of
287
- # groups and instances with exception of the leaf which can be any entity.
288
- #
289
- # This method doesn't check if the path can actually be looked up in the model.
290
- #
291
- # @example
292
- # model = Sketchup.active_model
293
- # group = model.entities.add_group
294
- # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
295
- # path = Sketchup::InstancePath.new([group, edge])
296
- # if path.valid?
297
- # # do something...
298
- # end
299
- #
300
- # @return [Boolean]
301
- #
302
- # @version SketchUp 2017
303
- def valid?
304
- end
305
-
306
- end
1
+ # Copyright:: Copyright 2024 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # The {Sketchup::InstancePath} class represent the instance path to a given
5
+ # entity within the model hierarchy.
6
+ #
7
+ # @version SketchUp 2017
8
+ class Sketchup::InstancePath
9
+
10
+ # Includes
11
+
12
+ include Enumerable
13
+
14
+ # Instance Methods
15
+
16
+ #
17
+ # @example
18
+ # model = Sketchup.active_model
19
+ # group = model.entities.add_group
20
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
21
+ # path = Sketchup::InstancePath.new([group, edge])
22
+ # if path.size > 1
23
+ # # do something
24
+ # end
25
+ #
26
+ # @return [Boolean] `true` if the instances paths represent the same set of
27
+ # entities.
28
+ #
29
+ # @version SketchUp 2017
30
+ def ==(other)
31
+ end
32
+
33
+ # The elements of an instance path can be accessed similarly to an array.
34
+ #
35
+ # @example
36
+ # model = Sketchup.active_model
37
+ # group = model.entities.add_group
38
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
39
+ # path = Sketchup::InstancePath.new([group, edge])
40
+ # path[0] == group # returns true
41
+ # path[1] == edge # returns true
42
+ #
43
+ # @note This method does not accept negative indices. For the exact behavior
44
+ # of an array, use +{#to_a}+.
45
+ #
46
+ # @param [Integer] index
47
+ #
48
+ # @raise [IndexError] if the given index is out of bounds
49
+ #
50
+ # @raise [TypeError] if the index is not of integer type
51
+ #
52
+ # @raise [TypeError] if the instance path refer to deleted entities.
53
+ #
54
+ # @return [Sketchup::Entity]
55
+ #
56
+ # @version SketchUp 2017
57
+ def [](index)
58
+ end
59
+
60
+ # The yielded entities will start with the root and end with the leaf.
61
+ #
62
+ # @example
63
+ # model = Sketchup.active_model
64
+ # group = model.entities.add_group
65
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
66
+ # path = Sketchup::InstancePath.new([group, edge])
67
+ # path.each { |entity|
68
+ # # do something
69
+ # }
70
+ #
71
+ # @raise [TypeError] if the instance path refer to deleted entities.
72
+ #
73
+ # @return [nil]
74
+ #
75
+ # @version SketchUp 2017
76
+ #
77
+ # @yieldparam [Sketchup::Entity] entity
78
+ def each
79
+ end
80
+
81
+ #
82
+ # @example
83
+ # model = Sketchup.active_model
84
+ # group = model.entities.add_group
85
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
86
+ # path = Sketchup::InstancePath.new([group, edge])
87
+ # if path.empty?
88
+ # # do something...
89
+ # end
90
+ #
91
+ # @raise [TypeError] if the instance path refer to deleted entities.
92
+ #
93
+ # @return [Boolean]
94
+ #
95
+ # @version SketchUp 2017
96
+ def empty?
97
+ end
98
+
99
+ # Returns `true` if the instance path contain the given object.
100
+ #
101
+ # @example
102
+ # model = Sketchup.active_model
103
+ # group = model.entities.add_group
104
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
105
+ # path = Sketchup::InstancePath.new([group, edge])
106
+ # if path.include?(edge)
107
+ # # do something...
108
+ # end
109
+ #
110
+ # @param [Object] object
111
+ #
112
+ # @raise [TypeError] if the instance path refer to deleted entities.
113
+ #
114
+ # @return [Boolean]
115
+ #
116
+ # @version SketchUp 2017
117
+ def include?(object)
118
+ end
119
+
120
+ #
121
+ # @example
122
+ # model = Sketchup.active_model
123
+ # group = model.entities.add_group
124
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
125
+ # path = Sketchup::InstancePath.new([group, edge])
126
+ #
127
+ # @param [Array<Sketchup::Entity>] path
128
+ # The leaf can be any entity, but the
129
+ # rest must be a group or component instance.
130
+ #
131
+ # @raise [ArgumentError] if the instance path isn't composed of instances and
132
+ # an optional leaf entity.
133
+ #
134
+ # @return [Sketchup::InstancePath]
135
+ #
136
+ # @version SketchUp 2017
137
+ def initialize(path)
138
+ end
139
+
140
+ # The leaf of an instance path is the last element which can be any entity
141
+ # that can be represented in the model. This is normally a
142
+ # {Sketchup::Drawingelement}, but could be a {Sketchup::Vertex}.
143
+ #
144
+ # An instance can also be a leaf.
145
+ #
146
+ # @example
147
+ # model = Sketchup.active_model
148
+ # group = model.entities.add_group
149
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
150
+ # path = Sketchup::InstancePath.new([group, edge])
151
+ # path.leaf == edge # returns true
152
+ #
153
+ # @raise [TypeError] if the instance path refer to deleted entities.
154
+ #
155
+ # @return [Sketchup::Entity]
156
+ #
157
+ # @version SketchUp 2017
158
+ def leaf
159
+ end
160
+
161
+ # {#length} is an alias of {#size}.
162
+ #
163
+ # @example
164
+ # model = Sketchup.active_model
165
+ # group = model.entities.add_group
166
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
167
+ # path = Sketchup::InstancePath.new([group, edge])
168
+ # if path.length > 1
169
+ # # do something
170
+ # end
171
+ #
172
+ # @raise [TypeError] if the instance path refer to deleted entities.
173
+ #
174
+ # @return [Integer]
175
+ #
176
+ # @see #size
177
+ #
178
+ # @version SketchUp 2017
179
+ def length
180
+ end
181
+
182
+ # The serialized version of an instance path is the persistent ids of its
183
+ # entities concatenated with a period.
184
+ #
185
+ # @example
186
+ # model = Sketchup.active_model
187
+ # group = model.entities.add_group
188
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
189
+ # path = Sketchup::InstancePath.new([group, edge])
190
+ # pid_path = path.persistent_id_path # something like "342.345"
191
+ #
192
+ # @raise [TypeError] if the instance path refer to deleted entities.
193
+ #
194
+ # @return [String]
195
+ #
196
+ # @see Sketchup::Model#instance_path_from_pid_path
197
+ #
198
+ # @version SketchUp 2017
199
+ def persistent_id_path
200
+ end
201
+
202
+ # The root of an instance path is the element located closest to the model
203
+ # root. This will be a group or component instance. If you have a non-instance
204
+ # as a leaf with no other parent component this will return `nil`.
205
+ #
206
+ # @example
207
+ # model = Sketchup.active_model
208
+ # group = model.entities.add_group
209
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
210
+ # path = Sketchup::InstancePath.new([group, edge])
211
+ # path.root == group # returns true
212
+ #
213
+ # @raise [TypeError] if the instance path refer to deleted entities.
214
+ #
215
+ # @return [Sketchup::Group, Sketchup::ComponentInstance, nil]
216
+ #
217
+ # @version SketchUp 2017
218
+ def root
219
+ end
220
+
221
+ #
222
+ # @example
223
+ # model = Sketchup.active_model
224
+ # group = model.entities.add_group
225
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
226
+ # path = Sketchup::InstancePath.new([group, edge])
227
+ # if path.size > 1
228
+ # # do something
229
+ # end
230
+ #
231
+ # @raise [TypeError] if the instance path refer to deleted entities.
232
+ #
233
+ # @return [Integer]
234
+ #
235
+ # @see #length
236
+ #
237
+ # @version SketchUp 2017
238
+ def size
239
+ end
240
+
241
+ #
242
+ # @example
243
+ # model = Sketchup.active_model
244
+ # group = model.entities.add_group
245
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
246
+ # path = Sketchup::InstancePath.new([group, edge])
247
+ # pid_string = path.to_a.join('.')
248
+ #
249
+ # @raise [TypeError] if the instance path refer to deleted entities.
250
+ #
251
+ # @return [Array] an array representing the instance path.
252
+ #
253
+ # @version SketchUp 2017
254
+ def to_a
255
+ end
256
+
257
+ #
258
+ # @example
259
+ # model = Sketchup.active_model
260
+ # group = model.entities.add_group
261
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
262
+ # path = Sketchup::InstancePath.new([group, edge])
263
+ # tr = path.transformation
264
+ #
265
+ # @overload transformation
266
+ #
267
+ # @return [Geom::Transformation] the combined transformation up to the
268
+ # the leaf entity.
269
+ #
270
+ # @overload transformation(index)
271
+ #
272
+ # @param [Integer] index
273
+ # @return [Geom::Transformation] the combined transformation up to the
274
+ # the given index.
275
+ #
276
+ # @raise [IndexError] if the given index is out of bounds
277
+ #
278
+ # @raise [TypeError] if the index is not of integer type
279
+ #
280
+ # @raise [TypeError] if the instance path refer to deleted entities.
281
+ #
282
+ # @version SketchUp 2017
283
+ def transformation(*args)
284
+ end
285
+
286
+ # An instance path is valid if it has at least one element and consist of
287
+ # groups and instances with exception of the leaf which can be any entity.
288
+ #
289
+ # This method doesn't check if the path can actually be looked up in the model.
290
+ #
291
+ # @example
292
+ # model = Sketchup.active_model
293
+ # group = model.entities.add_group
294
+ # edge = group.entities.add_line([10, 10, 10], [20, 20, 20])
295
+ # path = Sketchup::InstancePath.new([group, edge])
296
+ # if path.valid?
297
+ # # do something...
298
+ # end
299
+ #
300
+ # @return [Boolean]
301
+ #
302
+ # @version SketchUp 2017
303
+ def valid?
304
+ end
305
+
306
+ end