sketchup-api-stubs 0.7.4 → 0.7.8

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 (151) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +148 -145
  3. data/lib/sketchup-api-stubs/stubs/{array.rb → Array.rb} +741 -741
  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 +523 -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 +693 -691
  16. data/lib/sketchup-api-stubs/stubs/{geom.rb → Geom.rb} +351 -348
  17. data/lib/sketchup-api-stubs/stubs/{languagehandler.rb → LanguageHandler.rb} +93 -92
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -573
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +698 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -174
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +516 -514
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -143
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -349
  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 -371
  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 -220
  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 -204
  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/SketchUpModel.rb +692 -694
  43. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  44. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  45. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  48. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  49. data/lib/sketchup-api-stubs/stubs/{length.rb → Length.rb} +278 -278
  50. data/lib/sketchup-api-stubs/stubs/{numeric.rb → Numeric.rb} +249 -249
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -140
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -157
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +286 -281
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -328
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -577
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -281
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +619 -562
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -194
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +426 -329
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -72
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -102
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -312
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -38
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +396 -390
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +502 -508
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1205 -1119
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +272 -0
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -125
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -544
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -59
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +126 -125
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -750
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -697
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +292 -285
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -409
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -226
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -190
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +407 -393
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -82
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -303
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -285
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -244
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -136
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -112
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -416
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +318 -311
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -141
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -95
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1651 -1638
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -356
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +131 -132
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -770
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +363 -353
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -76
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +477 -456
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -44
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +459 -454
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +260 -257
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -57
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -211
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -225
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +837 -829
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -154
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -61
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1317 -1301
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -43
  140. data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1360 -1310
  141. data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
  142. data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
  143. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -310
  144. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +496 -356
  145. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -229
  146. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
  147. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
  148. data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -667
  149. data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
  150. data/lib/sketchup-api-stubs.rb +1 -1
  151. metadata +15 -12
@@ -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 2022 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