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,458 +1,458 @@
1
- # Copyright:: Copyright 2023 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # A set of the currently selected entities. Use the Model.selection method
5
- # to get a Selection object. Note that the order of entities
6
- # (<code>selection[0]</code>, <code>selection[1]</code> and so on) in the set
7
- # is in no particular order and should not be assumed to be in the same order
8
- # as the user selected the entities.
9
- #
10
- # @example
11
- # # Get a handle to the selection set.
12
- # model = Sketchup.active_model
13
- # selection = model.selection
14
- #
15
- # @version SketchUp 6.0
16
- class Sketchup::Selection
17
-
18
- # Includes
19
-
20
- include Enumerable
21
-
22
- # Instance Methods
23
-
24
- # The {#[]} method is used to retrieve an {Sketchup::Entity} from the selection
25
- # by index. Index 0 is the first entity in the selection.
26
- #
27
- # This method is not very efficient. If you need to look at every entity in
28
- # the selection, consider using {#each} instead of using this method
29
- # to manually grab each one.
30
- #
31
- # @example
32
- # model = Sketchup.active_model
33
- # entities = model.active_entities
34
- # selection = model.selection
35
- # selection.add(entities.to_a)
36
- # p selection[0]
37
- #
38
- # @param [Integer] index
39
- # The index of the Entity object to retrieve.
40
- #
41
- # @return [Sketchup::Entity, nil]
42
- #
43
- # @see #at
44
- #
45
- # @version SketchUp 6.0
46
- def [](index)
47
- end
48
-
49
- # The add method is used to add entities to the selection. Entities that are
50
- # added to the Selection are visually indicated by the selection bounding box.
51
- #
52
- # You can pass it individual Entities or an Array of Entities:
53
- # Note that the add, remove, and toggle methods are all aliases for one
54
- # another. So if you call remove on an entity that is not selected, it will
55
- # be toggled to be selected, not removed! Be cautious when writing your code to
56
- # not make the assumption about the currently selected state of a given entity.
57
- #
58
- # @example
59
- # # Add by listing the entities...
60
- # ss.add(e1, e2, e3)
61
- #
62
- # # ...or add by passing an Array of entities.
63
- # ss.add([e1, e2, e3])
64
- #
65
- # @example
66
- # entities = model.active_entities
67
- # entity = entities[0]
68
- # status = selection.add entity
69
- #
70
- # @overload add(entities)
71
- #
72
- # @param [Array<Sketchup::Entity>] entities
73
- #
74
- # @overload add(*entities)
75
- #
76
- # @param [Array<Sketchup::Entity>] entities
77
- #
78
- # @return [Integer] the number of Entity objects added
79
- #
80
- # @version SketchUp 6.0
81
- def add(*args)
82
- end
83
-
84
- # The add_observer method is used to add an observer to the selection object.
85
- #
86
- # @example
87
- # selection = Sketchup.active_model.selection
88
- # status = selection.add_observer observer
89
- #
90
- # @param [Object] observer
91
- # An observer.
92
- #
93
- # @return [Boolean] true if successful, false if unsuccessful.
94
- #
95
- # @version SketchUp 6.0
96
- def add_observer(observer)
97
- end
98
-
99
- # The {#at} method is an alias for {#[]}.
100
- #
101
- # @example
102
- # model = Sketchup.active_model
103
- # entities = model.active_entities
104
- # selection = model.selection
105
- # selection.add(entities.to_a)
106
- # p selection.at(0)
107
- #
108
- # @param [Integer] index
109
- # The index of the Entity object to retrieve.
110
- #
111
- # @return [Sketchup::Entity, nil]
112
- #
113
- # @see #[]
114
- #
115
- # @version SketchUp 6.0
116
- def at(index)
117
- end
118
-
119
- # The clear method is used to clear the selection.
120
- #
121
- # @example
122
- # entity = entities[0]
123
- # selection.add entity
124
- # UI.messagebox "Ready to Clear"
125
- # selection.clear
126
- #
127
- # @return [nil]
128
- #
129
- # @version SketchUp 6.0
130
- def clear
131
- end
132
-
133
- # The {contains?} method is and alias of {#include?}.
134
- #
135
- # @example
136
- # model = Sketchup.active_model
137
- # entity = model.active_entities.first
138
- # selection = model.selection
139
- # selection.add(entity)
140
- # p selection.contains?(entity)
141
- #
142
- # @param [Sketchup::Entity] entity
143
- #
144
- # @return [Boolean]
145
- #
146
- # @see #include?
147
- #
148
- # @version SketchUp 6.0
149
- def contains?(entity)
150
- end
151
-
152
- #
153
- # @example
154
- # selection = Sketchup.active_model.selection
155
- # number = selection.count
156
- #
157
- # @note Since SketchUp 2014 the count method is inherited from Ruby's
158
- # +Enumerable+ mix-in module. Prior to that the {#count} method is an alias
159
- # for {#length}.
160
- #
161
- # @return [Integer]
162
- #
163
- # @see #length
164
- #
165
- # @version SketchUp 6.0
166
- def count
167
- end
168
-
169
- # The {#each} method is used to iterate through all of the selected entities.
170
- #
171
- # If you want to do something with all of the selected Entities, this is more
172
- # efficient than using {#[]}.
173
- #
174
- # @example
175
- # selection.each { |entity| puts entity }
176
- #
177
- # @note Don't remove content from this collection while iterating over it with
178
- # {#each}. This would change the size of the collection and cause elemnts to
179
- # be skipped as the indices change. Instead copy the current collection to an
180
- # array using +to_a+ and then use +each+ on the array, when removing content.
181
- #
182
- # @return [nil]
183
- #
184
- # @version SketchUp 6.0
185
- #
186
- # @yieldparam [Sketchup::Entity] entity
187
- def each
188
- end
189
-
190
- # The empty? method is used to determine if there are entities in the
191
- # selection.
192
- #
193
- # @example
194
- # status = selection.add entity
195
- # status = selection.empty
196
- #
197
- # @return [Boolean]
198
- #
199
- # @version SketchUp 6.0
200
- def empty?
201
- end
202
-
203
- # The first method is used to retrieve the first selected entity
204
- #
205
- # Returns nil if nothing is selected. This method is useful when you know that
206
- # only a single entity is selected, or you are only interested in the first
207
- # selected entity.
208
- #
209
- # @example
210
- # status = selection.add entity
211
- # entity = selection.first
212
- #
213
- # @return [Sketchup::Entity] the first selected Entity object if successful
214
- #
215
- # @version SketchUp 6.0
216
- def first
217
- end
218
-
219
- # The {include?} method is used to determine if a given {Sketchup::Entity} is
220
- # in the selection.
221
- #
222
- # @example
223
- # model = Sketchup.active_model
224
- # entity = model.active_entities.first
225
- # selection = model.selection
226
- # selection.add(entity)
227
- # p selection.include?(entity)
228
- #
229
- # @param [Sketchup::Entity] entity
230
- #
231
- # @return [Boolean]
232
- #
233
- # @see #contains?
234
- #
235
- # @version SketchUp 6.0
236
- def include?(entity)
237
- end
238
-
239
- # The {#invert} method is used to invert the selection.
240
- #
241
- # @example
242
- # model = Sketchup.active_model
243
- # entities = model.active_entities
244
- # selection = model.selection
245
- # # Create a cube
246
- # face = entities.add_face([0, 0, 0], [9, 0, 0], [9, 9, 0], [0, 9, 0])
247
- # face.pushpull(-9)
248
- # # Add the first two faces to the selection
249
- # faces = entities.grep(Sketchup::Face).take(2)
250
- # selection.add(faces)
251
- # # Invert selection
252
- # selection.invert
253
- #
254
- # @return [nil]
255
- #
256
- # @version SketchUp 2019.2
257
- def invert
258
- end
259
-
260
- # The is_curve? method is used to determine if the selection contains all
261
- # edges that belong to a single curve.
262
- #
263
- # @example
264
- # selection.add entity
265
- # status = selection.is_curve?
266
- #
267
- # @return [Boolean]
268
- #
269
- # @version SketchUp 6.0
270
- def is_curve?
271
- end
272
-
273
- # The is_surface? method is used to determine if the selection contains only
274
- # all of the faces that are part of a single curved surface.
275
- #
276
- # @example
277
- # selection.add entity
278
- # status = selection.is_surface
279
- #
280
- # @return [Boolean]
281
- #
282
- # @version SketchUp 6.0
283
- def is_surface?
284
- end
285
-
286
- # The {#length} method is used to retrieve the number of selected entities.
287
- #
288
- # @example
289
- # selection = Sketchup.active_model.selection
290
- # number = selection.length
291
- #
292
- # @return [Integer]
293
- #
294
- # @see #size
295
- #
296
- # @see #nitems
297
- #
298
- # @version SketchUp 6.0
299
- def length
300
- end
301
-
302
- # The model method retrieves the model for the selection.
303
- #
304
- # @example
305
- # model = selection.model
306
- #
307
- # @return [Sketchup::Model] the model that includes the selection if
308
- # successful
309
- #
310
- # @version SketchUp 6.0
311
- def model
312
- end
313
-
314
- # The {#nitems} method is an alias for {#length}.
315
- #
316
- # @example
317
- # selection = Sketchup.active_model.selection
318
- # number = selection.nitems
319
- #
320
- # @return [Integer]
321
- #
322
- # @see #length
323
- #
324
- # @version SketchUp 6.0
325
- def nitems
326
- end
327
-
328
- # The remove method is used to remove entities from the selection.
329
- #
330
- # You can pass it individual Entities or an Array of Entities:
331
- # Note that the add, remove, and toggle methods are all aliases for one
332
- # another. So if you call remove on an entity that is not selected, it will
333
- # be toggled to be selected, not removed! Be cautious when writing your code to
334
- # not make the assumption about the currently selected state of a given entity.
335
- #
336
- # @example
337
- # # Remove by listing the entities...
338
- # ss.remove(e1, e2, e3)
339
- #
340
- # # ...or remove by passing an Array of entities.
341
- # ss.remove([e1, e2, e3])
342
- #
343
- # @example
344
- # entities = model.active_entities
345
- # entity = entities[0]
346
- # status = selection.add entity
347
- #
348
- # @overload remove(entities)
349
- #
350
- # @param [Array<Sketchup::Entity>] entities
351
- #
352
- # @overload remove(*entities)
353
- #
354
- # @param [Array<Sketchup::Entity>] entities
355
- #
356
- # @return [Integer] the number of Entity objects removed
357
- #
358
- # @version SketchUp 6.0
359
- def remove(*args)
360
- end
361
-
362
- # The remove_observer method is used to remove an observer from the selection
363
- # object.
364
- #
365
- # @example
366
- # selection = Sketchup.active_model.selection
367
- # status = object.remove_observer observer
368
- #
369
- # @param [Object] observer
370
- # An observer.
371
- #
372
- # @return [Boolean] true if successful, false if unsuccessful.
373
- #
374
- # @version SketchUp 6.0
375
- def remove_observer(observer)
376
- end
377
-
378
- # The shift method is used to remove the first entity from the selection and
379
- # returns it.
380
- #
381
- # @example
382
- # status = selection.add entity
383
- # UI.messagebox "Ready to remove item from selection set"
384
- # entity = selection.shift
385
- #
386
- # @return [Sketchup::Entity] the first Entity object in the selection set
387
- # if successful
388
- #
389
- # @version SketchUp 6.0
390
- def shift
391
- end
392
-
393
- # The single_object? method is used to determine if the selection contains a
394
- # single object.
395
- #
396
- # It can either be a single Entity or a group of Entities for which is_curve?
397
- # or is_surface? will return true.
398
- #
399
- # @example
400
- # status = selection.single_object
401
- #
402
- # @return [Boolean]
403
- #
404
- # @version SketchUp 6.0
405
- def single_object?
406
- end
407
-
408
- # The {#size} method is an alias for {#length}.
409
- #
410
- # @example
411
- # selection = Sketchup.active_model.selection
412
- # number = selection.size
413
- #
414
- # @return [Integer]
415
- #
416
- # @see #length
417
- #
418
- # @version SketchUp 2014
419
- def size
420
- end
421
-
422
- # The toggle method is used to change whether an entity is part of the
423
- # selection. Entities that are not already selected
424
- # are added. Entities that are already selected are removed.
425
- #
426
- # You can pass it individual Entities or an Array of Entities:
427
- # Note that the add, remove, and toggle methods are all aliases for one
428
- # another. So if you call remove on an entity that is not selected, it will
429
- # be toggled to be selected, not removed! Be cautious when writing your code to
430
- # not make the assumption about the currently selected state of a given entity.
431
- #
432
- # @example
433
- # # Toggle by listing the entities...
434
- # ss.toggle(e1, e2, e3)
435
- #
436
- # # ...or toggle by passing an Array of entities.
437
- # ss.toggle([e1, e2, e3])
438
- #
439
- # @example
440
- # entities = model.active_entities
441
- # entity = entities[0]
442
- # status = selection.add entity
443
- #
444
- # @overload toggle(entities)
445
- #
446
- # @param [Array<Sketchup::Entity>] entities
447
- #
448
- # @overload toggle(*entities)
449
- #
450
- # @param [Array<Sketchup::Entity>] entities
451
- #
452
- # @return [Integer] the number of Entity objects changed
453
- #
454
- # @version SketchUp 6.0
455
- def toggle(*args)
456
- end
457
-
458
- end
1
+ # Copyright:: Copyright 2024 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # A set of the currently selected entities. Use the Model.selection method
5
+ # to get a Selection object. Note that the order of entities
6
+ # (<code>selection[0]</code>, <code>selection[1]</code> and so on) in the set
7
+ # is in no particular order and should not be assumed to be in the same order
8
+ # as the user selected the entities.
9
+ #
10
+ # @example
11
+ # # Get a handle to the selection set.
12
+ # model = Sketchup.active_model
13
+ # selection = model.selection
14
+ #
15
+ # @version SketchUp 6.0
16
+ class Sketchup::Selection
17
+
18
+ # Includes
19
+
20
+ include Enumerable
21
+
22
+ # Instance Methods
23
+
24
+ # The {#[]} method is used to retrieve an {Sketchup::Entity} from the selection
25
+ # by index. Index 0 is the first entity in the selection.
26
+ #
27
+ # This method is not very efficient. If you need to look at every entity in
28
+ # the selection, consider using {#each} instead of using this method
29
+ # to manually grab each one.
30
+ #
31
+ # @example
32
+ # model = Sketchup.active_model
33
+ # entities = model.active_entities
34
+ # selection = model.selection
35
+ # selection.add(entities.to_a)
36
+ # p selection[0]
37
+ #
38
+ # @param [Integer] index
39
+ # The index of the Entity object to retrieve.
40
+ #
41
+ # @return [Sketchup::Entity, nil]
42
+ #
43
+ # @see #at
44
+ #
45
+ # @version SketchUp 6.0
46
+ def [](index)
47
+ end
48
+
49
+ # The add method is used to add entities to the selection. Entities that are
50
+ # added to the Selection are visually indicated by the selection bounding box.
51
+ #
52
+ # You can pass it individual Entities or an Array of Entities:
53
+ # Note that the add, remove, and toggle methods are all aliases for one
54
+ # another. So if you call remove on an entity that is not selected, it will
55
+ # be toggled to be selected, not removed! Be cautious when writing your code to
56
+ # not make the assumption about the currently selected state of a given entity.
57
+ #
58
+ # @example
59
+ # # Add by listing the entities...
60
+ # ss.add(e1, e2, e3)
61
+ #
62
+ # # ...or add by passing an Array of entities.
63
+ # ss.add([e1, e2, e3])
64
+ #
65
+ # @example
66
+ # entities = model.active_entities
67
+ # entity = entities[0]
68
+ # status = selection.add entity
69
+ #
70
+ # @overload add(entities)
71
+ #
72
+ # @param [Array<Sketchup::Entity>] entities
73
+ #
74
+ # @overload add(*entities)
75
+ #
76
+ # @param [Array<Sketchup::Entity>] entities
77
+ #
78
+ # @return [Integer] the number of Entity objects added
79
+ #
80
+ # @version SketchUp 6.0
81
+ def add(*args)
82
+ end
83
+
84
+ # The add_observer method is used to add an observer to the selection object.
85
+ #
86
+ # @example
87
+ # selection = Sketchup.active_model.selection
88
+ # status = selection.add_observer observer
89
+ #
90
+ # @param [Object] observer
91
+ # An observer.
92
+ #
93
+ # @return [Boolean] true if successful, false if unsuccessful.
94
+ #
95
+ # @version SketchUp 6.0
96
+ def add_observer(observer)
97
+ end
98
+
99
+ # The {#at} method is an alias for {#[]}.
100
+ #
101
+ # @example
102
+ # model = Sketchup.active_model
103
+ # entities = model.active_entities
104
+ # selection = model.selection
105
+ # selection.add(entities.to_a)
106
+ # p selection.at(0)
107
+ #
108
+ # @param [Integer] index
109
+ # The index of the Entity object to retrieve.
110
+ #
111
+ # @return [Sketchup::Entity, nil]
112
+ #
113
+ # @see #[]
114
+ #
115
+ # @version SketchUp 6.0
116
+ def at(index)
117
+ end
118
+
119
+ # The clear method is used to clear the selection.
120
+ #
121
+ # @example
122
+ # entity = entities[0]
123
+ # selection.add entity
124
+ # UI.messagebox "Ready to Clear"
125
+ # selection.clear
126
+ #
127
+ # @return [nil]
128
+ #
129
+ # @version SketchUp 6.0
130
+ def clear
131
+ end
132
+
133
+ # The {contains?} method is and alias of {#include?}.
134
+ #
135
+ # @example
136
+ # model = Sketchup.active_model
137
+ # entity = model.active_entities.first
138
+ # selection = model.selection
139
+ # selection.add(entity)
140
+ # p selection.contains?(entity)
141
+ #
142
+ # @param [Sketchup::Entity] entity
143
+ #
144
+ # @return [Boolean]
145
+ #
146
+ # @see #include?
147
+ #
148
+ # @version SketchUp 6.0
149
+ def contains?(entity)
150
+ end
151
+
152
+ #
153
+ # @example
154
+ # selection = Sketchup.active_model.selection
155
+ # number = selection.count
156
+ #
157
+ # @note Since SketchUp 2014 the count method is inherited from Ruby's
158
+ # +Enumerable+ mix-in module. Prior to that the {#count} method is an alias
159
+ # for {#length}.
160
+ #
161
+ # @return [Integer]
162
+ #
163
+ # @see #length
164
+ #
165
+ # @version SketchUp 6.0
166
+ def count
167
+ end
168
+
169
+ # The {#each} method is used to iterate through all of the selected entities.
170
+ #
171
+ # If you want to do something with all of the selected Entities, this is more
172
+ # efficient than using {#[]}.
173
+ #
174
+ # @example
175
+ # selection.each { |entity| puts entity }
176
+ #
177
+ # @note Don't remove content from this collection while iterating over it with
178
+ # {#each}. This would change the size of the collection and cause elemnts to
179
+ # be skipped as the indices change. Instead copy the current collection to an
180
+ # array using +to_a+ and then use +each+ on the array, when removing content.
181
+ #
182
+ # @return [nil]
183
+ #
184
+ # @version SketchUp 6.0
185
+ #
186
+ # @yieldparam [Sketchup::Entity] entity
187
+ def each
188
+ end
189
+
190
+ # The empty? method is used to determine if there are entities in the
191
+ # selection.
192
+ #
193
+ # @example
194
+ # status = selection.add entity
195
+ # status = selection.empty
196
+ #
197
+ # @return [Boolean]
198
+ #
199
+ # @version SketchUp 6.0
200
+ def empty?
201
+ end
202
+
203
+ # The first method is used to retrieve the first selected entity
204
+ #
205
+ # Returns nil if nothing is selected. This method is useful when you know that
206
+ # only a single entity is selected, or you are only interested in the first
207
+ # selected entity.
208
+ #
209
+ # @example
210
+ # status = selection.add entity
211
+ # entity = selection.first
212
+ #
213
+ # @return [Sketchup::Entity] the first selected Entity object if successful
214
+ #
215
+ # @version SketchUp 6.0
216
+ def first
217
+ end
218
+
219
+ # The {include?} method is used to determine if a given {Sketchup::Entity} is
220
+ # in the selection.
221
+ #
222
+ # @example
223
+ # model = Sketchup.active_model
224
+ # entity = model.active_entities.first
225
+ # selection = model.selection
226
+ # selection.add(entity)
227
+ # p selection.include?(entity)
228
+ #
229
+ # @param [Sketchup::Entity] entity
230
+ #
231
+ # @return [Boolean]
232
+ #
233
+ # @see #contains?
234
+ #
235
+ # @version SketchUp 6.0
236
+ def include?(entity)
237
+ end
238
+
239
+ # The {#invert} method is used to invert the selection.
240
+ #
241
+ # @example
242
+ # model = Sketchup.active_model
243
+ # entities = model.active_entities
244
+ # selection = model.selection
245
+ # # Create a cube
246
+ # face = entities.add_face([0, 0, 0], [9, 0, 0], [9, 9, 0], [0, 9, 0])
247
+ # face.pushpull(-9)
248
+ # # Add the first two faces to the selection
249
+ # faces = entities.grep(Sketchup::Face).take(2)
250
+ # selection.add(faces)
251
+ # # Invert selection
252
+ # selection.invert
253
+ #
254
+ # @return [nil]
255
+ #
256
+ # @version SketchUp 2019.2
257
+ def invert
258
+ end
259
+
260
+ # The is_curve? method is used to determine if the selection contains all
261
+ # edges that belong to a single curve.
262
+ #
263
+ # @example
264
+ # selection.add entity
265
+ # status = selection.is_curve?
266
+ #
267
+ # @return [Boolean]
268
+ #
269
+ # @version SketchUp 6.0
270
+ def is_curve?
271
+ end
272
+
273
+ # The is_surface? method is used to determine if the selection contains only
274
+ # all of the faces that are part of a single curved surface.
275
+ #
276
+ # @example
277
+ # selection.add entity
278
+ # status = selection.is_surface
279
+ #
280
+ # @return [Boolean]
281
+ #
282
+ # @version SketchUp 6.0
283
+ def is_surface?
284
+ end
285
+
286
+ # The {#length} method is used to retrieve the number of selected entities.
287
+ #
288
+ # @example
289
+ # selection = Sketchup.active_model.selection
290
+ # number = selection.length
291
+ #
292
+ # @return [Integer]
293
+ #
294
+ # @see #size
295
+ #
296
+ # @see #nitems
297
+ #
298
+ # @version SketchUp 6.0
299
+ def length
300
+ end
301
+
302
+ # The model method retrieves the model for the selection.
303
+ #
304
+ # @example
305
+ # model = selection.model
306
+ #
307
+ # @return [Sketchup::Model] the model that includes the selection if
308
+ # successful
309
+ #
310
+ # @version SketchUp 6.0
311
+ def model
312
+ end
313
+
314
+ # The {#nitems} method is an alias for {#length}.
315
+ #
316
+ # @example
317
+ # selection = Sketchup.active_model.selection
318
+ # number = selection.nitems
319
+ #
320
+ # @return [Integer]
321
+ #
322
+ # @see #length
323
+ #
324
+ # @version SketchUp 6.0
325
+ def nitems
326
+ end
327
+
328
+ # The remove method is used to remove entities from the selection.
329
+ #
330
+ # You can pass it individual Entities or an Array of Entities:
331
+ # Note that the add, remove, and toggle methods are all aliases for one
332
+ # another. So if you call remove on an entity that is not selected, it will
333
+ # be toggled to be selected, not removed! Be cautious when writing your code to
334
+ # not make the assumption about the currently selected state of a given entity.
335
+ #
336
+ # @example
337
+ # # Remove by listing the entities...
338
+ # ss.remove(e1, e2, e3)
339
+ #
340
+ # # ...or remove by passing an Array of entities.
341
+ # ss.remove([e1, e2, e3])
342
+ #
343
+ # @example
344
+ # entities = model.active_entities
345
+ # entity = entities[0]
346
+ # status = selection.add entity
347
+ #
348
+ # @overload remove(entities)
349
+ #
350
+ # @param [Array<Sketchup::Entity>] entities
351
+ #
352
+ # @overload remove(*entities)
353
+ #
354
+ # @param [Array<Sketchup::Entity>] entities
355
+ #
356
+ # @return [Integer] the number of Entity objects removed
357
+ #
358
+ # @version SketchUp 6.0
359
+ def remove(*args)
360
+ end
361
+
362
+ # The remove_observer method is used to remove an observer from the selection
363
+ # object.
364
+ #
365
+ # @example
366
+ # selection = Sketchup.active_model.selection
367
+ # status = object.remove_observer observer
368
+ #
369
+ # @param [Object] observer
370
+ # An observer.
371
+ #
372
+ # @return [Boolean] true if successful, false if unsuccessful.
373
+ #
374
+ # @version SketchUp 6.0
375
+ def remove_observer(observer)
376
+ end
377
+
378
+ # The shift method is used to remove the first entity from the selection and
379
+ # returns it.
380
+ #
381
+ # @example
382
+ # status = selection.add entity
383
+ # UI.messagebox "Ready to remove item from selection set"
384
+ # entity = selection.shift
385
+ #
386
+ # @return [Sketchup::Entity] the first Entity object in the selection set
387
+ # if successful
388
+ #
389
+ # @version SketchUp 6.0
390
+ def shift
391
+ end
392
+
393
+ # The single_object? method is used to determine if the selection contains a
394
+ # single object.
395
+ #
396
+ # It can either be a single Entity or a group of Entities for which is_curve?
397
+ # or is_surface? will return true.
398
+ #
399
+ # @example
400
+ # status = selection.single_object
401
+ #
402
+ # @return [Boolean]
403
+ #
404
+ # @version SketchUp 6.0
405
+ def single_object?
406
+ end
407
+
408
+ # The {#size} method is an alias for {#length}.
409
+ #
410
+ # @example
411
+ # selection = Sketchup.active_model.selection
412
+ # number = selection.size
413
+ #
414
+ # @return [Integer]
415
+ #
416
+ # @see #length
417
+ #
418
+ # @version SketchUp 2014
419
+ def size
420
+ end
421
+
422
+ # The toggle method is used to change whether an entity is part of the
423
+ # selection. Entities that are not already selected
424
+ # are added. Entities that are already selected are removed.
425
+ #
426
+ # You can pass it individual Entities or an Array of Entities:
427
+ # Note that the add, remove, and toggle methods are all aliases for one
428
+ # another. So if you call remove on an entity that is not selected, it will
429
+ # be toggled to be selected, not removed! Be cautious when writing your code to
430
+ # not make the assumption about the currently selected state of a given entity.
431
+ #
432
+ # @example
433
+ # # Toggle by listing the entities...
434
+ # ss.toggle(e1, e2, e3)
435
+ #
436
+ # # ...or toggle by passing an Array of entities.
437
+ # ss.toggle([e1, e2, e3])
438
+ #
439
+ # @example
440
+ # entities = model.active_entities
441
+ # entity = entities[0]
442
+ # status = selection.add entity
443
+ #
444
+ # @overload toggle(entities)
445
+ #
446
+ # @param [Array<Sketchup::Entity>] entities
447
+ #
448
+ # @overload toggle(*entities)
449
+ #
450
+ # @param [Array<Sketchup::Entity>] entities
451
+ #
452
+ # @return [Integer] the number of Entity objects changed
453
+ #
454
+ # @version SketchUp 6.0
455
+ def toggle(*args)
456
+ end
457
+
458
+ end