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,427 +1,427 @@
1
- # Copyright:: Copyright 2023 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # The Layers collection allows you to see and manage all of the layers in a
5
- # model. You get a pointer to the Layers object from within the Model.
6
- #
7
- # @example
8
- # model = Sketchup.active_model
9
- # layers = model.layers
10
- #
11
- # @note As of SketchUp 2020 "Layers" were renamed to "Tags" in the UI.
12
- # The API retains the use of "Layer" for compatibility and is synonymous with
13
- # "Tag".
14
- #
15
- # @version SketchUp 6.0
16
- class Sketchup::Layers < Sketchup::Entity
17
-
18
- # Includes
19
-
20
- include Enumerable
21
-
22
- # Instance Methods
23
-
24
- # The {#[]} method is used to retrieve a layer by index or name.
25
- #
26
- # @example
27
- # model = Sketchup.active_model
28
- # layers = model.layers
29
- # new_layer = layers.add "test layer"
30
- # layer_by_number = layers[1]
31
- # layer_by_name = layers["test layer"]
32
- #
33
- # @param [Integer, String] index_or_name
34
- # A number representing the layer's
35
- # index in an array of Layer objects, or the name of the layer.
36
- #
37
- # @return [Sketchup::Layer, nil]
38
- #
39
- # @see #at
40
- #
41
- # @version SketchUp 6.0
42
- def [](index_or_name)
43
- end
44
-
45
- # The {#add} method is used to add a new layer.
46
- #
47
- # If you give the name of a Layer that is already defined, it will return the
48
- # existing Layer rather than adding a new one.
49
- #
50
- # @example
51
- # layers = Sketchup.active_model.layers
52
- # layer = layers.add("Test Layer")
53
- #
54
- # @param [String] layer_name
55
- # The name of the added layer.
56
- #
57
- # @return [Sketchup::Layer]
58
- #
59
- # @version SketchUp 6.0
60
- def add(layer_name)
61
- end
62
- alias_method :add_layer, :add
63
-
64
- # The {#add_folder} method adds or moves a layer folder.
65
- #
66
- # @api TagFolder
67
- #
68
- # @example
69
- # manager = Sketchup.active_model.layers
70
- # folder = manager.add_folder('Doors')
71
- #
72
- # @overload add_folder(name)
73
- #
74
- # Adds a new folder with the given name. Unlike layers, folders do not
75
- # need to have a unique name. But the name does have to be non-empty.
76
- # @param [String] name
77
- #
78
- # @overload add_folder(folder)
79
- #
80
- # Moves an existing {Sketchup::LayerFolder} to the receiver. This will
81
- # include any children in the given folder.
82
- # @param [Sketchup::LayerFolder] folder
83
- # @see Sketchup::LayerFolder#folder= Information on how which notifications
84
- # trigger when reparenting an existing folder.
85
- #
86
- # @return [Sketchup::LayerFolder]
87
- #
88
- # @see #count_layers
89
- #
90
- # @version SketchUp 2021.0
91
- def add_folder(arg)
92
- end
93
-
94
- # The {#add_observer} method is used to add an observer to the layers
95
- # collection.
96
- #
97
- # @example
98
- # layers = Sketchup.active_model.layers
99
- # status = layers.add_observer observer
100
- #
101
- # @param [Sketchup::LayersObserver] observer
102
- #
103
- # @return [Boolean] true if successful, false if unsuccessful.
104
- #
105
- # @version SketchUp 6.0
106
- def add_observer(observer)
107
- end
108
-
109
- # The {#at} method is an alias for {#[]}.
110
- #
111
- # @example
112
- # model = Sketchup.active_model
113
- # layers = model.layers
114
- # new_layer = layers.add "test layer"
115
- # layer_by_number = layers.at(1)
116
- # layer_by_name = layers.at("test layer")
117
- #
118
- # @return [Sketchup::Layer, nil]
119
- #
120
- # @see #[]
121
- #
122
- # @version SketchUp 6.0
123
- def at(index_or_name)
124
- end
125
-
126
- #
127
- # @example
128
- # layers = Sketchup.active_model.layers
129
- # number = layers.count
130
- #
131
- # @note Since SketchUp 2014 the count method is inherited from Ruby's
132
- # +Enumerable+ mix-in module. Prior to that the {#count} method is an alias
133
- # for {#length}.
134
- #
135
- # @return integer - the number of layers in the collection
136
- #
137
- # @see #length
138
- #
139
- # @version SketchUp 6.0
140
- def count
141
- end
142
-
143
- # The {#count_folders} method counts the number of folders which are direct
144
- # children of the layer manager.
145
- #
146
- # @api TagFolder
147
- #
148
- # @example
149
- # manager = Sketchup.active_model.layers
150
- # folder = manager.add_folder('Doors')
151
- # num_folders = manager.count_folders
152
- #
153
- # @return [Integer]
154
- #
155
- # @version SketchUp 2021.0
156
- def count_folders
157
- end
158
-
159
- # The {#count_layers} method retrieves the number of layers not in a folder.
160
- #
161
- # @api TagFolder
162
- #
163
- # @example
164
- # layers = Sketchup.active_model.layers
165
- # number = layers.count_layers
166
- #
167
- # @return [Integer]
168
- #
169
- # @see #size
170
- #
171
- # @see #length
172
- #
173
- # @version SketchUp 2021.0
174
- def count_layers
175
- end
176
-
177
- # The {#each} method is used to iterate through all of the layers in the model.
178
- # This include layers that are nested inside folders.
179
- #
180
- # @example
181
- # model = Sketchup.active_model
182
- # layers = model.layers
183
- # layers.add("Test layer")
184
- # layers.each { | layer | puts layer.name }
185
- #
186
- # @note Don't remove content from this collection while iterating over it with
187
- # {#each}. This would change the size of the collection and cause elements to
188
- # be skipped as the indices change. Instead copy the current collection to an
189
- # array using +to_a+ and then use +each+ on the array, when removing content.
190
- #
191
- # @version SketchUp 6.0
192
- #
193
- # @yield [layer]
194
- #
195
- # @yieldparam [Sketchup::Layer] layer
196
- def each
197
- end
198
-
199
- # The {#each_folder} method is used to iterate through the folders that are
200
- # direct children to the layer manager.
201
- #
202
- # @api TagFolder
203
- #
204
- # @example
205
- # manager = Sketchup.active_model.layers
206
- # folder = manager.add_folder('Doors')
207
- # folder = manager.add_folder('Windows')
208
- # manager.each_folder { |folder|
209
- # puts folder.name
210
- # }
211
- #
212
- # @version SketchUp 2021.0
213
- #
214
- # @yield [folder]
215
- #
216
- # @yieldparam [Sketchup::LayerFolder] folder
217
- def each_folder
218
- end
219
-
220
- # The {#each_layer} method is used to iterate through the layers that are not
221
- # inside a layer folder.
222
- #
223
- # @api TagFolder
224
- #
225
- # @example
226
- # model = Sketchup.active_model
227
- # layers = model.layers
228
- # layers.add('Test layer')
229
- # layers.each_layer { | layer | puts layer.name }
230
- #
231
- # @version SketchUp 2021.0
232
- #
233
- # @yield [layer]
234
- #
235
- # @yieldparam [Sketchup::Layer] layer
236
- def each_layer
237
- end
238
-
239
- # The {#folders} method returns the folders of the layer manager.
240
- #
241
- # @api TagFolder
242
- #
243
- # @example
244
- # manager = Sketchup.active_model.layers
245
- # manager.add_folder('Doors')
246
- # manager.add_folder('Windows')
247
- # folders = manager.folders
248
- #
249
- # @note This does not return all the folders in the model, only those that are
250
- # direct children of the layer manager.
251
- #
252
- # @return [Array<Sketchup::LayerFolder>]
253
- #
254
- # @version SketchUp 2021.0
255
- def folders
256
- end
257
-
258
- # The {#layers} method retrieves the layers not in a folder.
259
- #
260
- # @api TagFolder
261
- #
262
- # @example
263
- # manager = Sketchup.active_model.layers
264
- # layers = manager.layers
265
- #
266
- # @return [Array<Sketchup::Layer>]
267
- #
268
- # @version SketchUp 2021.0
269
- def layers
270
- end
271
-
272
- # The {#length} method retrieves the number of layers.
273
- #
274
- # @example
275
- # layers = Sketchup.active_model.layers
276
- # number = layers.length
277
- #
278
- # @return [Integer]
279
- #
280
- # @see #size
281
- #
282
- # @version SketchUp 6.0
283
- def length
284
- end
285
-
286
- # The {#purge_unused} method is used to remove unused layers.
287
- #
288
- # @example
289
- # layers = Sketchup.active_model.layers
290
- # num_layers_removed = layers.purge_unused
291
- #
292
- # @return [Integer] Number of unused layers removed
293
- #
294
- # @see #purge_unused_folders
295
- #
296
- # @version SketchUp 6.0
297
- def purge_unused
298
- end
299
- alias_method :purge_unused_layers, :purge_unused
300
-
301
- # The {#purge_unused_folders} method is used to remove all layer folder with
302
- # no children.
303
- #
304
- # @api TagFolder
305
- #
306
- # @example
307
- # manager = Sketchup.active_model.layers
308
- # folder = manager.add_folder('Doors')
309
- # folder = manager.add_folder('Windows')
310
- # manager.purge_unused_folders
311
- #
312
- # @version SketchUp 2021.0
313
- #
314
- # @yield [folder]
315
- #
316
- # @yieldparam [Sketchup::LayerFolder] folder
317
- def purge_unused_folders
318
- end
319
-
320
- # Remove the given layer from the model, optionally removing the geometry.
321
- #
322
- # @example
323
- # # Remove layer by layer reference.
324
- # layer = Sketchup.active_model.layers.add("MyLayer")
325
- # Sketchup.active_model.layers.remove(layer)
326
- #
327
- # # Remove layer by name.
328
- # Sketchup.active_model.layers.add("MyLayer")
329
- # Sketchup.active_model.layers.remove("MyLayer")
330
- #
331
- # # Remove layer by index.
332
- # Sketchup.active_model.layers.remove(1)
333
- #
334
- # # Remove layer and the entities on the layer.
335
- # edge = Sketchup.active_model.entities.add_line([0, 0, 0], [9, 9, 9])
336
- # edge.layer = Sketchup.active_model.layers.add("MyLayer")
337
- # Sketchup.active_model.layers.remove("MyLayer", true)
338
- #
339
- # @param [Sketchup::Layer, Integer, String] layer
340
- #
341
- # @param [Boolean] remove_geometry
342
- # If true, geometry in the removed layer will
343
- # be removed as well. If false (which is the default),
344
- # this geometry will be placed on Layer 0.
345
- #
346
- # @return [Boolean] true if successful, false if unsuccessful.
347
- #
348
- # @version SketchUp 2015
349
- def remove(layer, remove_geometry = false)
350
- end
351
- alias_method :remove_layer, :remove
352
-
353
- # The {#remove_folder} method removes the folder from the model. All children are
354
- # preserved, but moved up one level.
355
- #
356
- # @api TagFolder
357
- #
358
- # @example
359
- # manager = Sketchup.active_model.layers
360
- # folder = manager.add_folder('Doors')
361
- # manager.remove_folder(folder)
362
- #
363
- # @param [Sketchup::LayerFolder] folder
364
- #
365
- # @raise [ArgumentError] if the +folder+ is not a direct child of the receiver.
366
- #
367
- # @return [nil]
368
- #
369
- # @version SketchUp 2021.0
370
- def remove_folder(folder)
371
- end
372
-
373
- # The {#remove_observer} method is used to remove an observer from the current
374
- # object.
375
- #
376
- # @example
377
- # layers = Sketchup.active_model.layers
378
- # status = layers.remove_observer observer
379
- #
380
- # @param [Sketchup::LayersObserver] observer
381
- #
382
- # @return [Boolean] true if successful, false if unsuccessful.
383
- #
384
- # @version SketchUp 6.0
385
- def remove_observer(observer)
386
- end
387
-
388
- # The {#size} method is an alias of {#length}.
389
- #
390
- # @example
391
- # layers = Sketchup.active_model.layers
392
- # number = layers.size
393
- #
394
- # @return [Integer]
395
- #
396
- # @see #length
397
- #
398
- # @version SketchUp 2014
399
- def size
400
- end
401
-
402
- # The {#unique_name} method can be used to get a string that will be a unique
403
- # layer name inside this collection.
404
- #
405
- # @example
406
- # model = Sketchup.active_model
407
- # layers = model.layers
408
- # # Will return "Joe" since there are probably no other layers named that.
409
- # # Or might return something like "Joe #2" if there is already a layer
410
- # # named Joe.
411
- # good_name = layers.unique_name("Joe")
412
- #
413
- # @overload unique_name
414
- #
415
- # @return [String] Will default to using "Layer" (SketchUp2019 and older)
416
- # or "Tag" as basename for a unique name.
417
- #
418
- # @overload unique_name(base_name)
419
- #
420
- # @param [String] base_name The base name to build the unique name from.
421
- # @return [String]
422
- #
423
- # @version SketchUp 6.0
424
- def unique_name(*args)
425
- end
426
-
427
- end
1
+ # Copyright:: Copyright 2024 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # The Layers collection allows you to see and manage all of the layers in a
5
+ # model. You get a pointer to the Layers object from within the Model.
6
+ #
7
+ # @example
8
+ # model = Sketchup.active_model
9
+ # layers = model.layers
10
+ #
11
+ # @note As of SketchUp 2020 "Layers" were renamed to "Tags" in the UI.
12
+ # The API retains the use of "Layer" for compatibility and is synonymous with
13
+ # "Tag".
14
+ #
15
+ # @version SketchUp 6.0
16
+ class Sketchup::Layers < Sketchup::Entity
17
+
18
+ # Includes
19
+
20
+ include Enumerable
21
+
22
+ # Instance Methods
23
+
24
+ # The {#[]} method is used to retrieve a layer by index or name.
25
+ #
26
+ # @example
27
+ # model = Sketchup.active_model
28
+ # layers = model.layers
29
+ # new_layer = layers.add "test layer"
30
+ # layer_by_number = layers[1]
31
+ # layer_by_name = layers["test layer"]
32
+ #
33
+ # @param [Integer, String] index_or_name
34
+ # A number representing the layer's
35
+ # index in an array of Layer objects, or the name of the layer.
36
+ #
37
+ # @return [Sketchup::Layer, nil]
38
+ #
39
+ # @see #at
40
+ #
41
+ # @version SketchUp 6.0
42
+ def [](index_or_name)
43
+ end
44
+
45
+ # The {#add} method is used to add a new layer.
46
+ #
47
+ # If you give the name of a Layer that is already defined, it will return the
48
+ # existing Layer rather than adding a new one.
49
+ #
50
+ # @example
51
+ # layers = Sketchup.active_model.layers
52
+ # layer = layers.add("Test Layer")
53
+ #
54
+ # @param [String] layer_name
55
+ # The name of the added layer.
56
+ #
57
+ # @return [Sketchup::Layer]
58
+ #
59
+ # @version SketchUp 6.0
60
+ def add(layer_name)
61
+ end
62
+ alias_method :add_layer, :add
63
+
64
+ # The {#add_folder} method adds or moves a layer folder.
65
+ #
66
+ # @api TagFolder
67
+ #
68
+ # @example
69
+ # manager = Sketchup.active_model.layers
70
+ # folder = manager.add_folder('Doors')
71
+ #
72
+ # @overload add_folder(name)
73
+ #
74
+ # Adds a new folder with the given name. Unlike layers, folders do not
75
+ # need to have a unique name. But the name does have to be non-empty.
76
+ # @param [String] name
77
+ #
78
+ # @overload add_folder(folder)
79
+ #
80
+ # Moves an existing {Sketchup::LayerFolder} to the receiver. This will
81
+ # include any children in the given folder.
82
+ # @param [Sketchup::LayerFolder] folder
83
+ # @see Sketchup::LayerFolder#folder= Information on how which notifications
84
+ # trigger when reparenting an existing folder.
85
+ #
86
+ # @return [Sketchup::LayerFolder]
87
+ #
88
+ # @see #count_layers
89
+ #
90
+ # @version SketchUp 2021.0
91
+ def add_folder(arg)
92
+ end
93
+
94
+ # The {#add_observer} method is used to add an observer to the layers
95
+ # collection.
96
+ #
97
+ # @example
98
+ # layers = Sketchup.active_model.layers
99
+ # status = layers.add_observer observer
100
+ #
101
+ # @param [Sketchup::LayersObserver] observer
102
+ #
103
+ # @return [Boolean] true if successful, false if unsuccessful.
104
+ #
105
+ # @version SketchUp 6.0
106
+ def add_observer(observer)
107
+ end
108
+
109
+ # The {#at} method is an alias for {#[]}.
110
+ #
111
+ # @example
112
+ # model = Sketchup.active_model
113
+ # layers = model.layers
114
+ # new_layer = layers.add "test layer"
115
+ # layer_by_number = layers.at(1)
116
+ # layer_by_name = layers.at("test layer")
117
+ #
118
+ # @return [Sketchup::Layer, nil]
119
+ #
120
+ # @see #[]
121
+ #
122
+ # @version SketchUp 6.0
123
+ def at(index_or_name)
124
+ end
125
+
126
+ #
127
+ # @example
128
+ # layers = Sketchup.active_model.layers
129
+ # number = layers.count
130
+ #
131
+ # @note Since SketchUp 2014 the count method is inherited from Ruby's
132
+ # +Enumerable+ mix-in module. Prior to that the {#count} method is an alias
133
+ # for {#length}.
134
+ #
135
+ # @return integer - the number of layers in the collection
136
+ #
137
+ # @see #length
138
+ #
139
+ # @version SketchUp 6.0
140
+ def count
141
+ end
142
+
143
+ # The {#count_folders} method counts the number of folders which are direct
144
+ # children of the layer manager.
145
+ #
146
+ # @api TagFolder
147
+ #
148
+ # @example
149
+ # manager = Sketchup.active_model.layers
150
+ # folder = manager.add_folder('Doors')
151
+ # num_folders = manager.count_folders
152
+ #
153
+ # @return [Integer]
154
+ #
155
+ # @version SketchUp 2021.0
156
+ def count_folders
157
+ end
158
+
159
+ # The {#count_layers} method retrieves the number of layers not in a folder.
160
+ #
161
+ # @api TagFolder
162
+ #
163
+ # @example
164
+ # layers = Sketchup.active_model.layers
165
+ # number = layers.count_layers
166
+ #
167
+ # @return [Integer]
168
+ #
169
+ # @see #size
170
+ #
171
+ # @see #length
172
+ #
173
+ # @version SketchUp 2021.0
174
+ def count_layers
175
+ end
176
+
177
+ # The {#each} method is used to iterate through all of the layers in the model.
178
+ # This include layers that are nested inside folders.
179
+ #
180
+ # @example
181
+ # model = Sketchup.active_model
182
+ # layers = model.layers
183
+ # layers.add("Test layer")
184
+ # layers.each { | layer | puts layer.name }
185
+ #
186
+ # @note Don't remove content from this collection while iterating over it with
187
+ # {#each}. This would change the size of the collection and cause elements to
188
+ # be skipped as the indices change. Instead copy the current collection to an
189
+ # array using +to_a+ and then use +each+ on the array, when removing content.
190
+ #
191
+ # @version SketchUp 6.0
192
+ #
193
+ # @yield [layer]
194
+ #
195
+ # @yieldparam [Sketchup::Layer] layer
196
+ def each
197
+ end
198
+
199
+ # The {#each_folder} method is used to iterate through the folders that are
200
+ # direct children to the layer manager.
201
+ #
202
+ # @api TagFolder
203
+ #
204
+ # @example
205
+ # manager = Sketchup.active_model.layers
206
+ # folder = manager.add_folder('Doors')
207
+ # folder = manager.add_folder('Windows')
208
+ # manager.each_folder { |folder|
209
+ # puts folder.name
210
+ # }
211
+ #
212
+ # @version SketchUp 2021.0
213
+ #
214
+ # @yield [folder]
215
+ #
216
+ # @yieldparam [Sketchup::LayerFolder] folder
217
+ def each_folder
218
+ end
219
+
220
+ # The {#each_layer} method is used to iterate through the layers that are not
221
+ # inside a layer folder.
222
+ #
223
+ # @api TagFolder
224
+ #
225
+ # @example
226
+ # model = Sketchup.active_model
227
+ # layers = model.layers
228
+ # layers.add('Test layer')
229
+ # layers.each_layer { | layer | puts layer.name }
230
+ #
231
+ # @version SketchUp 2021.0
232
+ #
233
+ # @yield [layer]
234
+ #
235
+ # @yieldparam [Sketchup::Layer] layer
236
+ def each_layer
237
+ end
238
+
239
+ # The {#folders} method returns the folders of the layer manager.
240
+ #
241
+ # @api TagFolder
242
+ #
243
+ # @example
244
+ # manager = Sketchup.active_model.layers
245
+ # manager.add_folder('Doors')
246
+ # manager.add_folder('Windows')
247
+ # folders = manager.folders
248
+ #
249
+ # @note This does not return all the folders in the model, only those that are
250
+ # direct children of the layer manager.
251
+ #
252
+ # @return [Array<Sketchup::LayerFolder>]
253
+ #
254
+ # @version SketchUp 2021.0
255
+ def folders
256
+ end
257
+
258
+ # The {#layers} method retrieves the layers not in a folder.
259
+ #
260
+ # @api TagFolder
261
+ #
262
+ # @example
263
+ # manager = Sketchup.active_model.layers
264
+ # layers = manager.layers
265
+ #
266
+ # @return [Array<Sketchup::Layer>]
267
+ #
268
+ # @version SketchUp 2021.0
269
+ def layers
270
+ end
271
+
272
+ # The {#length} method retrieves the number of layers.
273
+ #
274
+ # @example
275
+ # layers = Sketchup.active_model.layers
276
+ # number = layers.length
277
+ #
278
+ # @return [Integer]
279
+ #
280
+ # @see #size
281
+ #
282
+ # @version SketchUp 6.0
283
+ def length
284
+ end
285
+
286
+ # The {#purge_unused} method is used to remove unused layers.
287
+ #
288
+ # @example
289
+ # layers = Sketchup.active_model.layers
290
+ # num_layers_removed = layers.purge_unused
291
+ #
292
+ # @return [Integer] Number of unused layers removed
293
+ #
294
+ # @see #purge_unused_folders
295
+ #
296
+ # @version SketchUp 6.0
297
+ def purge_unused
298
+ end
299
+ alias_method :purge_unused_layers, :purge_unused
300
+
301
+ # The {#purge_unused_folders} method is used to remove all layer folder with
302
+ # no children.
303
+ #
304
+ # @api TagFolder
305
+ #
306
+ # @example
307
+ # manager = Sketchup.active_model.layers
308
+ # folder = manager.add_folder('Doors')
309
+ # folder = manager.add_folder('Windows')
310
+ # manager.purge_unused_folders
311
+ #
312
+ # @version SketchUp 2021.0
313
+ #
314
+ # @yield [folder]
315
+ #
316
+ # @yieldparam [Sketchup::LayerFolder] folder
317
+ def purge_unused_folders
318
+ end
319
+
320
+ # Remove the given layer from the model, optionally removing the geometry.
321
+ #
322
+ # @example
323
+ # # Remove layer by layer reference.
324
+ # layer = Sketchup.active_model.layers.add("MyLayer")
325
+ # Sketchup.active_model.layers.remove(layer)
326
+ #
327
+ # # Remove layer by name.
328
+ # Sketchup.active_model.layers.add("MyLayer")
329
+ # Sketchup.active_model.layers.remove("MyLayer")
330
+ #
331
+ # # Remove layer by index.
332
+ # Sketchup.active_model.layers.remove(1)
333
+ #
334
+ # # Remove layer and the entities on the layer.
335
+ # edge = Sketchup.active_model.entities.add_line([0, 0, 0], [9, 9, 9])
336
+ # edge.layer = Sketchup.active_model.layers.add("MyLayer")
337
+ # Sketchup.active_model.layers.remove("MyLayer", true)
338
+ #
339
+ # @param [Sketchup::Layer, Integer, String] layer
340
+ #
341
+ # @param [Boolean] remove_geometry
342
+ # If true, geometry in the removed layer will
343
+ # be removed as well. If false (which is the default),
344
+ # this geometry will be placed on Layer 0.
345
+ #
346
+ # @return [Boolean] true if successful, false if unsuccessful.
347
+ #
348
+ # @version SketchUp 2015
349
+ def remove(layer, remove_geometry = false)
350
+ end
351
+ alias_method :remove_layer, :remove
352
+
353
+ # The {#remove_folder} method removes the folder from the model. All children are
354
+ # preserved, but moved up one level.
355
+ #
356
+ # @api TagFolder
357
+ #
358
+ # @example
359
+ # manager = Sketchup.active_model.layers
360
+ # folder = manager.add_folder('Doors')
361
+ # manager.remove_folder(folder)
362
+ #
363
+ # @param [Sketchup::LayerFolder] folder
364
+ #
365
+ # @raise [ArgumentError] if the +folder+ is not a direct child of the receiver.
366
+ #
367
+ # @return [nil]
368
+ #
369
+ # @version SketchUp 2021.0
370
+ def remove_folder(folder)
371
+ end
372
+
373
+ # The {#remove_observer} method is used to remove an observer from the current
374
+ # object.
375
+ #
376
+ # @example
377
+ # layers = Sketchup.active_model.layers
378
+ # status = layers.remove_observer observer
379
+ #
380
+ # @param [Sketchup::LayersObserver] observer
381
+ #
382
+ # @return [Boolean] true if successful, false if unsuccessful.
383
+ #
384
+ # @version SketchUp 6.0
385
+ def remove_observer(observer)
386
+ end
387
+
388
+ # The {#size} method is an alias of {#length}.
389
+ #
390
+ # @example
391
+ # layers = Sketchup.active_model.layers
392
+ # number = layers.size
393
+ #
394
+ # @return [Integer]
395
+ #
396
+ # @see #length
397
+ #
398
+ # @version SketchUp 2014
399
+ def size
400
+ end
401
+
402
+ # The {#unique_name} method can be used to get a string that will be a unique
403
+ # layer name inside this collection.
404
+ #
405
+ # @example
406
+ # model = Sketchup.active_model
407
+ # layers = model.layers
408
+ # # Will return "Joe" since there are probably no other layers named that.
409
+ # # Or might return something like "Joe #2" if there is already a layer
410
+ # # named Joe.
411
+ # good_name = layers.unique_name("Joe")
412
+ #
413
+ # @overload unique_name
414
+ #
415
+ # @return [String] Will default to using "Layer" (SketchUp2019 and older)
416
+ # or "Tag" as basename for a unique name.
417
+ #
418
+ # @overload unique_name(base_name)
419
+ #
420
+ # @param [String] base_name The base name to build the unique name from.
421
+ # @return [String]
422
+ #
423
+ # @version SketchUp 6.0
424
+ def unique_name(*args)
425
+ end
426
+
427
+ end