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.
- checksums.yaml +4 -4
- data/lib/sketchup-api-stubs.rb +1 -1
- data/lib/sketchup-api-stubs/sketchup.rb +147 -145
- data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -318
- data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
- data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
- data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
- data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
- data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
- data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +498 -492
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -478
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
- data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
- data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
- data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +691 -691
- data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
- data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +573 -573
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +411 -411
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +179 -174
- data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
- data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +515 -514
- data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
- data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -143
- data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
- data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -349
- data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
- data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
- data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
- data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -371
- data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
- data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
- data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -220
- data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
- data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
- data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
- data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
- data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
- data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -204
- data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
- data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
- data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +694 -694
- data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
- data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
- data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
- data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
- data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -140
- data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +157 -157
- data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +286 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -328
- data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -577
- data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
- data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
- data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +577 -562
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +604 -593
- data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
- data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -194
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +362 -329
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -72
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -102
- data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -312
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -38
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
- data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +396 -390
- data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +502 -508
- data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1126 -1119
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -544
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -59
- data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +126 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +751 -750
- data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
- data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +699 -697
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +285 -285
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
- data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +417 -409
- data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -226
- data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -190
- data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +405 -393
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -82
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -303
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +327 -285
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -244
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -136
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -112
- data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
- data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -416
- data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +318 -311
- data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -141
- data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -95
- data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1651 -1638
- data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -356
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +131 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
- data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -770
- data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +363 -353
- data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -76
- data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -456
- data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -44
- data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
- data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +459 -454
- data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
- data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +257 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -57
- data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
- data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
- data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -225
- data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +835 -829
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -154
- data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +71 -61
- data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
- data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1307 -1301
- data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -43
- data/lib/sketchup-api-stubs/stubs/UI/Command.rb +317 -310
- data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +387 -356
- data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +255 -229
- data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
- data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -633
- data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
- data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
- data/lib/sketchup-api-stubs/stubs/geom.rb +351 -348
- data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
- data/lib/sketchup-api-stubs/stubs/length.rb +278 -278
- data/lib/sketchup-api-stubs/stubs/numeric.rb +249 -249
- data/lib/sketchup-api-stubs/stubs/sketchup.rb +1342 -1310
- data/lib/sketchup-api-stubs/stubs/sketchupextension.rb +353 -353
- data/lib/sketchup-api-stubs/stubs/string.rb +24 -24
- data/lib/sketchup-api-stubs/stubs/ui.rb +668 -667
- 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
|
-
|
63
|
-
|
64
|
-
|
65
|
-
#
|
66
|
-
#
|
67
|
-
#
|
68
|
-
# @example
|
69
|
-
#
|
70
|
-
#
|
71
|
-
#
|
72
|
-
# @
|
73
|
-
#
|
74
|
-
#
|
75
|
-
#
|
76
|
-
#
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
#
|
81
|
-
#
|
82
|
-
#
|
83
|
-
#
|
84
|
-
#
|
85
|
-
#
|
86
|
-
#
|
87
|
-
#
|
88
|
-
#
|
89
|
-
#
|
90
|
-
#
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
#
|
98
|
-
#
|
99
|
-
#
|
100
|
-
#
|
101
|
-
#
|
102
|
-
#
|
103
|
-
#
|
104
|
-
#
|
105
|
-
#
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
#
|
110
|
-
#
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
#
|
115
|
-
#
|
116
|
-
#
|
117
|
-
#
|
118
|
-
#
|
119
|
-
#
|
120
|
-
#
|
121
|
-
#
|
122
|
-
# @version SketchUp 6.0
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
#
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
#
|
131
|
-
#
|
132
|
-
#
|
133
|
-
#
|
134
|
-
#
|
135
|
-
#
|
136
|
-
#
|
137
|
-
#
|
138
|
-
#
|
139
|
-
#
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
#
|
145
|
-
#
|
146
|
-
# @
|
147
|
-
#
|
148
|
-
#
|
149
|
-
#
|
150
|
-
#
|
151
|
-
#
|
152
|
-
#
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
#
|
160
|
-
#
|
161
|
-
#
|
162
|
-
#
|
163
|
-
#
|
164
|
-
#
|
165
|
-
#
|
166
|
-
#
|
167
|
-
#
|
168
|
-
#
|
169
|
-
#
|
170
|
-
#
|
171
|
-
#
|
172
|
-
#
|
173
|
-
#
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
#
|
178
|
-
#
|
179
|
-
#
|
180
|
-
#
|
181
|
-
#
|
182
|
-
#
|
183
|
-
#
|
184
|
-
#
|
185
|
-
#
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
#
|
191
|
-
#
|
192
|
-
#
|
193
|
-
# @
|
194
|
-
#
|
195
|
-
#
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
#
|
200
|
-
#
|
201
|
-
#
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
#
|
206
|
-
#
|
207
|
-
#
|
208
|
-
#
|
209
|
-
#
|
210
|
-
#
|
211
|
-
#
|
212
|
-
#
|
213
|
-
#
|
214
|
-
#
|
215
|
-
#
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
#
|
221
|
-
#
|
222
|
-
#
|
223
|
-
#
|
224
|
-
#
|
225
|
-
#
|
226
|
-
#
|
227
|
-
#
|
228
|
-
#
|
229
|
-
#
|
230
|
-
#
|
231
|
-
#
|
232
|
-
#
|
233
|
-
#
|
234
|
-
#
|
235
|
-
# @
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
#
|
240
|
-
#
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
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
|