sketchup-api-stubs 0.7.8 → 0.7.9

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 -148
  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 -523
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +476 -478
  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 -698
  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 +517 -516
  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 +353 -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 +387 -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 -0
  43. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +692 -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 +209 -209
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +150 -152
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -286
  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 -122
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +659 -619
  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 -426
  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 -396
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -502
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1239 -1205
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -272
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -545
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -126
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -937
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -104
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -750
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +282 -292
  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 -407
  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 -112
  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 -318
  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 +1652 -1651
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -357
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +130 -131
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -284
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +490 -0
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +116 -0
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -797
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +361 -363
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -477
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +361 -364
  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 -459
  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 -260
  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 -837
  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 +1311 -1317
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
  143. data/lib/sketchup-api-stubs/stubs/Sketchup.rb +1377 -1360
  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 +389 -389
  147. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +494 -496
  148. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -269
  149. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +241 -240
  150. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -635
  151. data/lib/sketchup-api-stubs/stubs/UI.rb +683 -683
  152. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -311
  153. data/lib/sketchup-api-stubs.rb +1 -1
  154. metadata +10 -7
@@ -1,459 +1,458 @@
1
- # Copyright:: Copyright 2022 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
- # @yield [Sketchup::Entity] A variable that will hold each Entity object as they
187
- # are found.
188
- def each
189
- end
190
-
191
- # The empty? method is used to determine if there are entities in the
192
- # selection.
193
- #
194
- # @example
195
- # status = selection.add entity
196
- # status = selection.empty
197
- #
198
- # @return [Boolean]
199
- #
200
- # @version SketchUp 6.0
201
- def empty?
202
- end
203
-
204
- # The first method is used to retrieve the first selected entity
205
- #
206
- # Returns nil if nothing is selected. This method is useful when you know that
207
- # only a single entity is selected, or you are only interested in the first
208
- # selected entity.
209
- #
210
- # @example
211
- # status = selection.add entity
212
- # entity = selection.first
213
- #
214
- # @return [Sketchup::Entity] the first selected Entity object if successful
215
- #
216
- # @version SketchUp 6.0
217
- def first
218
- end
219
-
220
- # The {include?} method is used to determine if a given {Sketchup::Entity} is
221
- # in the selection.
222
- #
223
- # @example
224
- # model = Sketchup.active_model
225
- # entity = model.active_entities.first
226
- # selection = model.selection
227
- # selection.add(entity)
228
- # p selection.include?(entity)
229
- #
230
- # @param [Sketchup::Entity] entity
231
- #
232
- # @return [Boolean]
233
- #
234
- # @see #contains?
235
- #
236
- # @version SketchUp 6.0
237
- def include?(entity)
238
- end
239
-
240
- # The {#invert} method is used to invert the selection.
241
- #
242
- # @example
243
- # model = Sketchup.active_model
244
- # entities = model.active_entities
245
- # selection = model.selection
246
- # # Create a cube
247
- # face = entities.add_face([0, 0, 0], [9, 0, 0], [9, 9, 0], [0, 9, 0])
248
- # face.pushpull(-9)
249
- # # Add the first two faces to the selection
250
- # faces = entities.grep(Sketchup::Face).take(2)
251
- # selection.add(faces)
252
- # # Invert selection
253
- # selection.invert
254
- #
255
- # @return [nil]
256
- #
257
- # @version SketchUp 2019.2
258
- def invert
259
- end
260
-
261
- # The is_curve? method is used to determine if the selection contains all
262
- # edges that belong to a single curve.
263
- #
264
- # @example
265
- # selection.add entity
266
- # status = selection.is_curve?
267
- #
268
- # @return [Boolean]
269
- #
270
- # @version SketchUp 6.0
271
- def is_curve?
272
- end
273
-
274
- # The is_surface? method is used to determine if the selection contains only
275
- # all of the faces that are part of a single curved surface.
276
- #
277
- # @example
278
- # selection.add entity
279
- # status = selection.is_surface
280
- #
281
- # @return [Boolean]
282
- #
283
- # @version SketchUp 6.0
284
- def is_surface?
285
- end
286
-
287
- # The {#length} method is used to retrieve the number of selected entities.
288
- #
289
- # @example
290
- # selection = Sketchup.active_model.selection
291
- # number = selection.length
292
- #
293
- # @return [Integer]
294
- #
295
- # @see #size
296
- #
297
- # @see #nitems
298
- #
299
- # @version SketchUp 6.0
300
- def length
301
- end
302
-
303
- # The model method retrieves the model for the selection.
304
- #
305
- # @example
306
- # model = selection.model
307
- #
308
- # @return [Sketchup::Model] the model that includes the selection if
309
- # successful
310
- #
311
- # @version SketchUp 6.0
312
- def model
313
- end
314
-
315
- # The {#nitems} method is an alias for {#length}.
316
- #
317
- # @example
318
- # selection = Sketchup.active_model.selection
319
- # number = selection.nitems
320
- #
321
- # @return [Integer]
322
- #
323
- # @see #length
324
- #
325
- # @version SketchUp 6.0
326
- def nitems
327
- end
328
-
329
- # The remove method is used to remove entities from the selection.
330
- #
331
- # You can pass it individual Entities or an Array of Entities:
332
- # Note that the add, remove, and toggle methods are all aliases for one
333
- # another. So if you call remove on an entity that is not selected, it will
334
- # be toggled to be selected, not removed! Be cautious when writing your code to
335
- # not make the assumption about the currently selected state of a given entity.
336
- #
337
- # @example
338
- # # Remove by listing the entities...
339
- # ss.remove(e1, e2, e3)
340
- #
341
- # # ...or remove by passing an Array of entities.
342
- # ss.remove([e1, e2, e3])
343
- #
344
- # @example
345
- # entities = model.active_entities
346
- # entity = entities[0]
347
- # status = selection.add entity
348
- #
349
- # @overload remove(entities)
350
- #
351
- # @param [Array<Sketchup::Entity>] entities
352
- #
353
- # @overload remove(*entities)
354
- #
355
- # @param [Array<Sketchup::Entity>] entities
356
- #
357
- # @return [Integer] the number of Entity objects removed
358
- #
359
- # @version SketchUp 6.0
360
- def remove(*args)
361
- end
362
-
363
- # The remove_observer method is used to remove an observer from the selection
364
- # object.
365
- #
366
- # @example
367
- # selection = Sketchup.active_model.selection
368
- # status = object.remove_observer observer
369
- #
370
- # @param [Object] observer
371
- # An observer.
372
- #
373
- # @return [Boolean] true if successful, false if unsuccessful.
374
- #
375
- # @version SketchUp 6.0
376
- def remove_observer(observer)
377
- end
378
-
379
- # The shift method is used to remove the first entity from the selection and
380
- # returns it.
381
- #
382
- # @example
383
- # status = selection.add entity
384
- # UI.messagebox "Ready to remove item from selection set"
385
- # entity = selection.shift
386
- #
387
- # @return [Sketchup::Entity] the first Entity object in the selection set
388
- # if successful
389
- #
390
- # @version SketchUp 6.0
391
- def shift
392
- end
393
-
394
- # The single_object? method is used to determine if the selection contains a
395
- # single object.
396
- #
397
- # It can either be a single Entity or a group of Entities for which is_curve?
398
- # or is_surface? will return true.
399
- #
400
- # @example
401
- # status = selection.single_object
402
- #
403
- # @return [Boolean]
404
- #
405
- # @version SketchUp 6.0
406
- def single_object?
407
- end
408
-
409
- # The {#size} method is an alias for {#length}.
410
- #
411
- # @example
412
- # selection = Sketchup.active_model.selection
413
- # number = selection.size
414
- #
415
- # @return [Integer]
416
- #
417
- # @see #length
418
- #
419
- # @version SketchUp 2014
420
- def size
421
- end
422
-
423
- # The toggle method is used to change whether an entity is part of the
424
- # selection. Entities that are not already selected
425
- # are added. Entities that are already selected are removed.
426
- #
427
- # You can pass it individual Entities or an Array of Entities:
428
- # Note that the add, remove, and toggle methods are all aliases for one
429
- # another. So if you call remove on an entity that is not selected, it will
430
- # be toggled to be selected, not removed! Be cautious when writing your code to
431
- # not make the assumption about the currently selected state of a given entity.
432
- #
433
- # @example
434
- # # Toggle by listing the entities...
435
- # ss.toggle(e1, e2, e3)
436
- #
437
- # # ...or toggle by passing an Array of entities.
438
- # ss.toggle([e1, e2, e3])
439
- #
440
- # @example
441
- # entities = model.active_entities
442
- # entity = entities[0]
443
- # status = selection.add entity
444
- #
445
- # @overload toggle(entities)
446
- #
447
- # @param [Array<Sketchup::Entity>] entities
448
- #
449
- # @overload toggle(*entities)
450
- #
451
- # @param [Array<Sketchup::Entity>] entities
452
- #
453
- # @return [Integer] the number of Entity objects changed
454
- #
455
- # @version SketchUp 6.0
456
- def toggle(*args)
457
- end
458
-
459
- end
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