sketchup-api-stubs 0.7.4 → 0.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs.rb +1 -1
  3. data/lib/sketchup-api-stubs/sketchup.rb +147 -145
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -318
  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 +498 -492
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -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 +691 -691
  16. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  17. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +573 -573
  18. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +411 -411
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +179 -174
  20. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  21. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +515 -514
  22. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  23. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -143
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
  25. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -349
  26. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  27. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  28. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  29. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -371
  30. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  31. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  32. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -220
  33. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
  34. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  36. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
  37. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
  38. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -204
  39. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
  40. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  41. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +694 -694
  42. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  43. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  44. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  45. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  47. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -140
  48. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +157 -157
  49. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  50. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +286 -281
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -328
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -577
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -281
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +577 -562
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +604 -593
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -194
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +362 -329
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -72
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -102
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -312
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -38
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +396 -390
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +502 -508
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1126 -1119
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -125
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -544
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -59
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +126 -125
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +751 -750
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +699 -697
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +285 -285
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +417 -409
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -226
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -190
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +405 -393
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -82
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -303
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +327 -285
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -244
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -136
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -112
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -416
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +318 -311
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -141
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -95
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1651 -1638
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -356
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +131 -132
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -770
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +363 -353
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -76
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -456
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -44
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +459 -454
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +257 -257
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -57
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -211
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -225
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +835 -829
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -154
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +71 -61
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1307 -1301
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -43
  135. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +317 -310
  136. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +387 -356
  137. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +255 -229
  138. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
  139. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -633
  140. data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
  141. data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
  142. data/lib/sketchup-api-stubs/stubs/geom.rb +351 -348
  143. data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
  144. data/lib/sketchup-api-stubs/stubs/length.rb +278 -278
  145. data/lib/sketchup-api-stubs/stubs/numeric.rb +249 -249
  146. data/lib/sketchup-api-stubs/stubs/sketchup.rb +1342 -1310
  147. data/lib/sketchup-api-stubs/stubs/sketchupextension.rb +353 -353
  148. data/lib/sketchup-api-stubs/stubs/string.rb +24 -24
  149. data/lib/sketchup-api-stubs/stubs/ui.rb +668 -667
  150. metadata +4 -2
@@ -0,0 +1,422 @@
1
+ # Copyright:: Copyright 2020 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # Allows layers to be organized in folders. Folders may have duplicate names.
5
+ #
6
+ # @api TagFolder
7
+ #
8
+ # @note As of SketchUp 2020 "Layers" were renamed to "Tags" in the UI.
9
+ # The API retains the use of "Layer" for compatibility and is synonymous with
10
+ # "Tag".
11
+ #
12
+ # @version SketchUp 2021.0
13
+ class Sketchup::LayerFolder < Sketchup::Entity
14
+
15
+ # Includes
16
+
17
+ include Comparable
18
+
19
+ # Instance Methods
20
+
21
+ # The {#<=>} method is used to compare two layer folders based on their names.
22
+ # You could use this for sorting if you're building a list of folder names.
23
+ #
24
+ # @api TagFolder
25
+ #
26
+ # @example
27
+ # model = Sketchup.active_model
28
+ # layers = model.layers
29
+ # folder1 = layers.add('Folder1')
30
+ # folder2 = layers.add('Folder2')
31
+ # comparison = folder1 <=> folder2 # Returns: -1
32
+ # comparison = folder1 <=> folder1 # Returns: 0
33
+ # comparison = folder2 <=> folder1 # Returns: 1
34
+ #
35
+ # @param [Object] other
36
+ #
37
+ # @return [Integer, nil] +-1+ if the receiver should appear before +other+.
38
+ # +1+ if the receiver should appear after +other+.
39
+ # +0+ if the receiver and +other+ are equal.
40
+ # +nil+ if +other+ is not comparable with the receiver.
41
+ #
42
+ # @version 2020.2
43
+ def <=>(other)
44
+ end
45
+
46
+ # The {#==} method is used to determine if two layer folders are the same.
47
+ #
48
+ # @api TagFolder
49
+ #
50
+ # @example
51
+ # model = Sketchup.active_model
52
+ # layers = model.layers
53
+ # folder1 = layers.add('Folder1')
54
+ # folder2 = layers.add('Folder2')
55
+ # equal = folder1 == folder2
56
+ #
57
+ # @param [Object] other
58
+ #
59
+ # @return [Boolean]
60
+ #
61
+ # @version SketchUp 2021.0
62
+ def ==(other)
63
+ end
64
+
65
+ # The {#add_folder} method adds or moves a layer folder.
66
+ #
67
+ # @api TagFolder
68
+ #
69
+ # @example
70
+ # manager = Sketchup.active_model.layers
71
+ # folder1 = manager.add_folder('Doors')
72
+ # folder2 = folder1.add_folder('Outer Doors')
73
+ #
74
+ # @overload add_folder(name)
75
+ #
76
+ # Adds a new folder with the given name. Unlike layers, folders do not
77
+ # need to have a unique name.
78
+ # @param [String] name
79
+ #
80
+ # @overload add_folder(folder)
81
+ #
82
+ # Moves an existing {Sketchup::LayerFolder} to the receiver. This will
83
+ # include any children in the given folder.
84
+ # @param [Sketchup::LayerFolder] folder
85
+ # @see Sketchup::LayerFolder#folder= Information on how which notifications
86
+ # trigger when reparenting an existing folder.
87
+ #
88
+ # @return [Sketchup::LayerFolder]
89
+ #
90
+ # @see #count_layers
91
+ #
92
+ # @version SketchUp 2021.0
93
+ def add_folder(arg)
94
+ end
95
+
96
+ # The {#add_layer} method adds a layer to a folder.
97
+ #
98
+ # @api TagFolder
99
+ #
100
+ # @example
101
+ # manager = Sketchup.active_model.layers
102
+ # layer = manager.add_layer('Inner Doors')
103
+ # folder = manager.add_folder('Doors')
104
+ #
105
+ # folder.add_layer(layer)
106
+ #
107
+ # @param [Sketchup::Layer] layer
108
+ #
109
+ # @return [nil]
110
+ #
111
+ # @see Sketchup::Layer#folder=
112
+ # Information on how which notifications
113
+ # trigger when reparenting a layer.
114
+ #
115
+ # @version SketchUp 2021.0
116
+ def add_layer(layer)
117
+ end
118
+
119
+ # The {#count_folders} method retrieves the number of child folders in the
120
+ # folder.
121
+ #
122
+ # @api TagFolder
123
+ #
124
+ # @example
125
+ # layers = Sketchup.active_model.layers
126
+ # folder1 = layers.add_folder('Hello')
127
+ # folder2 = folder1.add_folder('World')
128
+ # number = folder1.folder_count # Returns: 1
129
+ #
130
+ # @return [Integer]
131
+ #
132
+ # @version SketchUp 2021.0
133
+ def count_folders
134
+ end
135
+
136
+ # The {#count_layers} method retrieves the number of layers in the folder.
137
+ #
138
+ # @api TagFolder
139
+ #
140
+ # @example
141
+ # layers = Sketchup.active_model.layers
142
+ # layer = layers.add_layer('World')
143
+ # folder = layers.add_folder('Hello')
144
+ # folder.add_layer(layer)
145
+ # number = folder.layer_count # Returns: 1
146
+ #
147
+ # @return [Integer]
148
+ #
149
+ # @see #size
150
+ #
151
+ # @see #length
152
+ #
153
+ # @version SketchUp 2021.0
154
+ def count_layers
155
+ end
156
+ alias_method :length, :count_layers
157
+ alias_method :size, :count_layers
158
+
159
+ # The {#each_folder} method is used to iterate through the folders that are
160
+ # direct children to the folder.
161
+ #
162
+ # @api TagFolder
163
+ #
164
+ # @example
165
+ # model = Sketchup.active_model
166
+ # layers = model.layers
167
+ # folder1 = layers.add_folder('Hello')
168
+ # folder1.add_folder('World)
169
+ # folder1.each_folder { | folder | puts folder.name }
170
+ #
171
+ # @version SketchUp 2021.0
172
+ #
173
+ # @yield [folder]
174
+ #
175
+ # @yieldparam [Sketchup::LayerFolder] folder
176
+ def each_folder
177
+ end
178
+
179
+ # The {#each_layer} method is used to iterate through the layers that are
180
+ # direct children to the folder.
181
+ #
182
+ # @api TagFolder
183
+ #
184
+ # @example
185
+ # model = Sketchup.active_model
186
+ # layers = model.layers
187
+ # layer = layers.add_layer('World')
188
+ # folder = layers.add_folder('Hello')
189
+ # folder.add_layer(layer)
190
+ # folder.each_layer { | layer | puts layer.name }
191
+ #
192
+ # @version SketchUp 2021.0
193
+ #
194
+ # @yield [layer]
195
+ #
196
+ # @yieldparam [Sketchup::Layer] layer
197
+ def each_layer
198
+ end
199
+ alias_method :each, :each_layer
200
+
201
+ # The {#folder} method is used to return the parent layer folder of a layer
202
+ # folder.
203
+ #
204
+ # @api TagFolder
205
+ #
206
+ # @example
207
+ # model = Sketchup.active_model
208
+ # layers = model.layers
209
+ # folder1 = layers.add('Folder1')
210
+ # parent_folder = folder1.folder # Returns: nil
211
+ #
212
+ # folder2 = folder1.add('Folder2')
213
+ # parent_folder = folder2.folder # Returns: folder1
214
+ #
215
+ # @return [Sketchup::LayerFolder, nil] +nil+ if the folder is a direct child to
216
+ # the layer manager.
217
+ #
218
+ # @version SketchUp 2021.0
219
+ def folder
220
+ end
221
+
222
+ # The {#folder=} method is used to set the parent layer folder of a layer
223
+ # folder.
224
+ #
225
+ # This will trigger +onLayerFolderRemoved+ followed by +onLayerFolderAdded+.
226
+ #
227
+ # @api TagFolder
228
+ #
229
+ # @example
230
+ # model = Sketchup.active_model
231
+ # layers = model.layers
232
+ # folder1 = layers.add('Folder1')
233
+ # folder2 = layers.add('Folder2')
234
+ #
235
+ # folder2.folder = folder1
236
+ #
237
+ # @param [Sketchup::LayerFolder, nil] parent
238
+ # +nil+ will make the the folder a
239
+ # direct child to the layer manager.
240
+ #
241
+ # @version SketchUp 2021.0
242
+ def folder=(parent)
243
+ end
244
+
245
+ # The {#folders} returns the direct child-folders of the folder.
246
+ #
247
+ # @api TagFolder
248
+ #
249
+ # @example
250
+ # manager = Sketchup.active_model.layers
251
+ # folder1 = manager.add_folder('Doors')
252
+ # folder2 = folder1.add_folder('Windows')
253
+ # folders = folder1.folders
254
+ #
255
+ # @return [Array<Sketchup::LayerFolder>]
256
+ #
257
+ # @version SketchUp 2021.0
258
+ def folders
259
+ end
260
+
261
+ # The {#layers} method retrieves the child layers of a folder.
262
+ #
263
+ # @api TagFolder
264
+ #
265
+ # @example
266
+ # manager = Sketchup.active_model.layers
267
+ # folder = manager.add_folder('Hello')
268
+ # folder.add_layer(manager.add_layer('World'))
269
+ # folder.add_layer(manager.add_layer('Universe'))
270
+ #
271
+ # layers = folder.layers
272
+ #
273
+ # @return [Array<Sketchup::Layer>]
274
+ #
275
+ # @version SketchUp 2021.0
276
+ def layers
277
+ end
278
+
279
+ # The {#name} method gets the name of the folder.
280
+ #
281
+ # @api TagFolder
282
+ #
283
+ # @example
284
+ # manager = Sketchup.active_model.layers
285
+ # folder = manager.add_folder('Doors')
286
+ # name = folder.name
287
+ #
288
+ # @return [String]
289
+ #
290
+ # @version SketchUp 2021.0
291
+ def name
292
+ end
293
+ alias_method :display_name, :name
294
+
295
+ # The {#name=} method sets the name of the folder.
296
+ #
297
+ # @api TagFolder
298
+ #
299
+ # @example
300
+ # manager = Sketchup.active_model.layers
301
+ # folder = manager.add_folder('Doors')
302
+ # folder.name = 'Windows'
303
+ #
304
+ # @param [String] name
305
+ #
306
+ # @raise [ArgumentError] if +name+ is empty.
307
+ #
308
+ # @version SketchUp 2021.0
309
+ def name=(name)
310
+ end
311
+
312
+ # The {#remove_folder} method removes the folder from the model. All children
313
+ # are preserved, but move up one level.
314
+ #
315
+ # @api TagFolder
316
+ #
317
+ # @example
318
+ # manager = Sketchup.active_model.layers
319
+ # folder1 = manager.add_folder('Doors')
320
+ # folder2 = manager.add_folder('Outer Doors')
321
+ # folder1.remove_folder(folder2)
322
+ #
323
+ # @param [Sketchup::LayerFolder] folder
324
+ #
325
+ # @raise [ArgumentError] if the +folder+ is not a direct child of the receiver.
326
+ #
327
+ # @return [nil]
328
+ #
329
+ # @version SketchUp 2021.0
330
+ def remove_folder(folder)
331
+ end
332
+
333
+ # The {#remove_layer} method removes a layer from a folder. The layer will be
334
+ # parent to the layer manager.
335
+ #
336
+ # @api TagFolder
337
+ #
338
+ # @example
339
+ # manager = Sketchup.active_model.layers
340
+ # layer = manager.add_layer('Inner Doors')
341
+ # folder = manager.add_folder('Doors')
342
+ # folder.add_layer(layer)
343
+ #
344
+ # folder.remove_layer(layer)
345
+ #
346
+ # @param [Sketchup::Layer] layer
347
+ #
348
+ # @return [nil]
349
+ #
350
+ # @version SketchUp 2021.0
351
+ def remove_layer(layer)
352
+ end
353
+
354
+ # The {#visible=} method is used to set if the layer folder is visible.
355
+ #
356
+ # @api TagFolder
357
+ #
358
+ # @example
359
+ # model = Sketchup.active_model
360
+ # layers = model.layers
361
+ # folder = layers.add('Hello')
362
+ # folder.visible = false
363
+ #
364
+ # @param [Boolean] visible
365
+ #
366
+ # @version SketchUp 2021.0
367
+ def visible=(visible)
368
+ end
369
+
370
+ # The {#visible?} method is used to determine if the layer folder is visible.
371
+ #
372
+ # @api TagFolder
373
+ #
374
+ # @example
375
+ # model = Sketchup.active_model
376
+ # layers = model.layers
377
+ # folder = layers.add('Hello')
378
+ # folder.visible? # Returns: true
379
+ #
380
+ # @return [Boolean]
381
+ #
382
+ # @version SketchUp 2021.0
383
+ def visible?
384
+ end
385
+
386
+ # The {#visible_on_new_pages=} method is used to set if the layer folder is by
387
+ # default visible on new pages.
388
+ #
389
+ # @api TagFolder
390
+ #
391
+ # @example
392
+ # model = Sketchup.active_model
393
+ # layers = model.layers
394
+ # folder = layers.add_folder('Hello')
395
+ # folder.visible_on_new_pages = false
396
+ # page = model.pages.add('My Page')
397
+ # model.pages.select_page = page # `folder` will now be hidden.
398
+ #
399
+ # @param [Boolean] visible
400
+ #
401
+ # @version SketchUp 2021.0
402
+ def visible_on_new_pages=(visible)
403
+ end
404
+
405
+ # The {#visible_on_new_pages?} method is used to determine if the layer folder
406
+ # is by default visible on new pages.
407
+ #
408
+ # @api TagFolder
409
+ #
410
+ # @example
411
+ # model = Sketchup.active_model
412
+ # layers = model.layers
413
+ # folder = layers.add_folder('Hello')
414
+ # folder.visible_on_new_pages? # Returns: true
415
+ #
416
+ # @return [Boolean]
417
+ #
418
+ # @version SketchUp 2021.0
419
+ def visible_on_new_pages?
420
+ end
421
+
422
+ end
@@ -1,244 +1,427 @@
1
- # Copyright:: Copyright 2020 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
- # @version SketchUp 2020.2
63
- alias_method :add_layer, :add
64
-
65
- # The {#add_observer} method is used to add an observer to the layers
66
- # collection.
67
- #
68
- # @example
69
- # layers = Sketchup.active_model.layers
70
- # status = layers.add_observer observer
71
- #
72
- # @param [Sketchup::LayersObserver] observer
73
- #
74
- # @return [Boolean] true if successful, false if unsuccessful.
75
- #
76
- # @version SketchUp 6.0
77
- def add_observer(observer)
78
- end
79
-
80
- # The {#at} method is an alias for {#[]}.
81
- #
82
- # @example
83
- # model = Sketchup.active_model
84
- # layers = model.layers
85
- # new_layer = layers.add "test layer"
86
- # layer_by_number = layers.at(1)
87
- # layer_by_name = layers.at("test layer")
88
- #
89
- # @return [Sketchup::Layer, nil]
90
- #
91
- # @see #[]
92
- #
93
- # @version SketchUp 6.0
94
- def at(index_or_name)
95
- end
96
-
97
- #
98
- # @example
99
- # layers = Sketchup.active_model.layers
100
- # number = layers.count
101
- #
102
- # @note Since SketchUp 2014 the count method is inherited from Ruby's
103
- # +Enumable+ mix-in module. Prior to that the {#count} method is an alias
104
- # for {#length}.
105
- #
106
- # @return integer - the number of layers in the collection
107
- #
108
- # @see #length
109
- #
110
- # @version SketchUp 6.0
111
- def count
112
- end
113
-
114
- # The {#each} method is used to iterate through all of the layers in the model.
115
- #
116
- # @example
117
- # model = Sketchup.active_model
118
- # layers = model.layers
119
- # layers.add("Test layer")
120
- # layers.each { | layer | puts layer.name }
121
- #
122
- # @version SketchUp 6.0
123
- #
124
- # @yield [layer]
125
- #
126
- # @yieldparam [Sketchup::Layer] layer
127
- def each
128
- end
129
-
130
- # The {#length} method retrieves the number of layers.
131
- #
132
- # @example
133
- # layers = Sketchup.active_model.layers
134
- # number = layers.length
135
- #
136
- # @return [Integer]
137
- #
138
- # @see #size
139
- #
140
- # @version SketchUp 6.0
141
- def length
142
- end
143
-
144
- # The {#purge_unused} method is used to remove unused layers.
145
- #
146
- # @example
147
- # layers = Sketchup.active_model.layers
148
- # num_layers_removed = layers.purge_unused
149
- #
150
- # @return [Integer] Number of unused layers removed
151
- #
152
- # @version SketchUp 6.0
153
- def purge_unused
154
- end
155
- alias_method :purge_unused_layers, :purge_unused
156
-
157
- # Remove the given layer from the model, optionally removing the geometry.
158
- #
159
- # @example
160
- # # Remove layer by layer reference.
161
- # layer = Sketchup.active_model.layers.add("MyLayer")
162
- # Sketchup.active_model.layers.remove(layer)
163
- #
164
- # # Remove layer by name.
165
- # Sketchup.active_model.layers.add("MyLayer")
166
- # Sketchup.active_model.layers.remove("MyLayer")
167
- #
168
- # # Remove layer by index.
169
- # Sketchup.active_model.layers.remove(1)
170
- #
171
- # # Remove layer and the entities on the layer.
172
- # edge = Sketchup.active_model.entities.add_line([0, 0, 0], [9, 9, 9])
173
- # edge.layer = Sketchup.active_model.layers.add("MyLayer")
174
- # Sketchup.active_model.layers.remove("MyLayer", true)
175
- #
176
- # @param [Sketchup::Layer, Integer, String] layer
177
- #
178
- # @param [Boolean] remove_geometry
179
- # If true, geometry in the removed layer will
180
- # be removed as well. If false (which is the default),
181
- # this geometry will be placed on Layer 0.
182
- #
183
- # @return [Boolean] true if successful, false if unsuccessful.
184
- #
185
- # @version SketchUp 2015
186
- def remove(layer, remove_geometry = false)
187
- end
188
- alias_method :remove_layer, :remove
189
-
190
- # The {#remove_observer} method is used to remove an observer from the current
191
- # object.
192
- #
193
- # @example
194
- # layers = Sketchup.active_model.layers
195
- # status = layers.remove_observer observer
196
- #
197
- # @param [Sketchup::LayersObserver] observer
198
- #
199
- # @return [Boolean] true if successful, false if unsuccessful.
200
- #
201
- # @version SketchUp 6.0
202
- def remove_observer(observer)
203
- end
204
-
205
- # The {#size} method is an alias of {#length}.
206
- #
207
- # @example
208
- # layers = Sketchup.active_model.layers
209
- # number = layers.size
210
- #
211
- # @return [Integer]
212
- #
213
- # @see #length
214
- #
215
- # @version SketchUp 2014
216
- def size
217
- end
218
-
219
- # The {#unique_name} method can be used to get a string that will be a unique
220
- # layer name inside this collection.
221
- #
222
- # @example
223
- # model = Sketchup.active_model
224
- # layers = model.layers
225
- # # Will return "Joe" since there are probably no other layers named that.
226
- # # Or might return something like "Joe #2" if there is already a layer
227
- # # named Joe.
228
- # good_name = layers.unique_name("Joe")
229
- #
230
- # @overload unique_name
231
- #
232
- # @return [String] Will default to using "Layer" (SketchUp2019 and older)
233
- # or "Tag" as basename for a unique name.
234
- #
235
- # @overload unique_name(base_name)
236
- #
237
- # @param [String] base_name The base name to build the unique name from.
238
- # @return [String]
239
- #
240
- # @version SketchUp 6.0
241
- def unique_name(*args)
242
- end
243
-
244
- end
1
+ # Copyright:: Copyright 2020 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
+ # +Enumable+ 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