sketchup-api-stubs 0.7.2 → 0.7.7
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/sketchup.rb +3 -1
- data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +15 -11
- data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +5 -5
- data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +5 -5
- data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +5 -6
- data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +18 -18
- data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +27 -10
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +2 -3
- data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +4 -4
- data/lib/sketchup-api-stubs/stubs/Layout.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +5 -1
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +7 -14
- data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +61 -5
- data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +7 -14
- data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +189 -1
- data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +9 -4
- data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +2 -3
- data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +7 -14
- data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +6 -2
- data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +7 -14
- data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +148 -5
- data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +5 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +4 -4
- data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +3 -3
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +6 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +32 -58
- data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +110 -209
- data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +24 -11
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +24 -9
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +58 -57
- data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +16 -9
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +135 -39
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +6 -4
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +6 -4
- data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +3 -9
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +5 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +10 -4
- data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +8 -14
- data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +55 -26
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +6 -4
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +20 -15
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +6 -5
- data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +9 -8
- data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +232 -65
- data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +98 -45
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +48 -41
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +7 -7
- data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +60 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +47 -7
- data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +11 -12
- data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +33 -21
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +6 -4
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +5 -2
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +115 -68
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +225 -29
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +118 -5
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +2 -2
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +2 -13
- data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +8 -10
- data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +16 -9
- data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +6 -5
- data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +9 -11
- data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +126 -73
- data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +5 -4
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +2 -3
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +7 -7
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +4 -4
- data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +143 -40
- data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +22 -12
- data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +6 -5
- data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +37 -15
- data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +5 -4
- data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +10 -5
- data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +20 -20
- data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +5 -5
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +6 -4
- data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +9 -3
- data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +14 -22
- data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +31 -25
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +2 -2
- data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +6 -4
- data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +32 -22
- data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +73 -67
- data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +6 -4
- data/lib/sketchup-api-stubs/stubs/UI/Command.rb +13 -6
- data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +132 -10
- data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +94 -54
- data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +3 -3
- data/lib/sketchup-api-stubs/stubs/_top_level.rb +3 -1
- data/lib/sketchup-api-stubs/stubs/array.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/geom.rb +4 -1
- data/lib/sketchup-api-stubs/stubs/languagehandler.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/length.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/numeric.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/sketchup.rb +66 -23
- data/lib/sketchup-api-stubs/stubs/sketchupextension.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/string.rb +1 -1
- data/lib/sketchup-api-stubs/stubs/ui.rb +17 -12
- metadata +5 -3
@@ -0,0 +1,422 @@
|
|
1
|
+
# Copyright:: Copyright 2021 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 SketchUp 2021.0
|
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,4 +1,4 @@
|
|
1
|
-
# Copyright:: Copyright
|
1
|
+
# Copyright:: Copyright 2021 Trimble Inc.
|
2
2
|
# License:: The MIT License (MIT)
|
3
3
|
|
4
4
|
# The Layers collection allows you to see and manage all of the layers in a
|
@@ -8,6 +8,10 @@
|
|
8
8
|
# model = Sketchup.active_model
|
9
9
|
# layers = model.layers
|
10
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
|
+
#
|
11
15
|
# @version SketchUp 6.0
|
12
16
|
class Sketchup::Layers < Sketchup::Entity
|
13
17
|
|
@@ -38,7 +42,7 @@ class Sketchup::Layers < Sketchup::Entity
|
|
38
42
|
def [](index_or_name)
|
39
43
|
end
|
40
44
|
|
41
|
-
# The add method is used to add a new layer.
|
45
|
+
# The {#add} method is used to add a new layer.
|
42
46
|
#
|
43
47
|
# If you give the name of a Layer that is already defined, it will return the
|
44
48
|
# existing Layer rather than adding a new one.
|
@@ -47,25 +51,56 @@ class Sketchup::Layers < Sketchup::Entity
|
|
47
51
|
# layers = Sketchup.active_model.layers
|
48
52
|
# layer = layers.add("Test Layer")
|
49
53
|
#
|
50
|
-
# @param layer_name
|
54
|
+
# @param [String] layer_name
|
51
55
|
# The name of the added layer.
|
52
56
|
#
|
53
|
-
# @return
|
57
|
+
# @return [Sketchup::Layer]
|
54
58
|
#
|
55
59
|
# @version SketchUp 6.0
|
56
60
|
def add(layer_name)
|
57
61
|
end
|
62
|
+
alias_method :add_layer, :add
|
58
63
|
|
59
|
-
# The
|
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.
|
60
96
|
#
|
61
97
|
# @example
|
62
98
|
# layers = Sketchup.active_model.layers
|
63
99
|
# status = layers.add_observer observer
|
64
100
|
#
|
65
|
-
# @param observer
|
66
|
-
# An observer.
|
101
|
+
# @param [Sketchup::LayersObserver] observer
|
67
102
|
#
|
68
|
-
# @return
|
103
|
+
# @return [Boolean] true if successful, false if unsuccessful.
|
69
104
|
#
|
70
105
|
# @version SketchUp 6.0
|
71
106
|
def add_observer(observer)
|
@@ -105,20 +140,135 @@ class Sketchup::Layers < Sketchup::Entity
|
|
105
140
|
def count
|
106
141
|
end
|
107
142
|
|
108
|
-
# The
|
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.
|
109
179
|
#
|
110
180
|
# @example
|
111
181
|
# model = Sketchup.active_model
|
112
182
|
# layers = model.layers
|
113
|
-
# layers.add("
|
183
|
+
# layers.add("Test layer")
|
114
184
|
# layers.each { | layer | puts layer.name }
|
115
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
|
+
#
|
116
191
|
# @version SketchUp 6.0
|
117
192
|
#
|
118
|
-
# @yield [layer]
|
193
|
+
# @yield [layer]
|
194
|
+
#
|
195
|
+
# @yieldparam [Sketchup::Layer] layer
|
119
196
|
def each
|
120
197
|
end
|
121
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
|
+
|
122
272
|
# The {#length} method retrieves the number of layers.
|
123
273
|
#
|
124
274
|
# @example
|
@@ -133,17 +283,39 @@ class Sketchup::Layers < Sketchup::Entity
|
|
133
283
|
def length
|
134
284
|
end
|
135
285
|
|
136
|
-
# The
|
286
|
+
# The {#purge_unused} method is used to remove unused layers.
|
137
287
|
#
|
138
288
|
# @example
|
139
289
|
# layers = Sketchup.active_model.layers
|
140
|
-
#
|
290
|
+
# num_layers_removed = layers.purge_unused
|
291
|
+
#
|
292
|
+
# @return [Integer] Number of unused layers removed
|
141
293
|
#
|
142
|
-
# @
|
294
|
+
# @see #purge_unused_folders
|
143
295
|
#
|
144
296
|
# @version SketchUp 6.0
|
145
297
|
def purge_unused
|
146
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
|
147
319
|
|
148
320
|
# Remove the given layer from the model, optionally removing the geometry.
|
149
321
|
#
|
@@ -164,31 +336,50 @@ class Sketchup::Layers < Sketchup::Entity
|
|
164
336
|
# edge.layer = Sketchup.active_model.layers.add("MyLayer")
|
165
337
|
# Sketchup.active_model.layers.remove("MyLayer", true)
|
166
338
|
#
|
167
|
-
# @param layer
|
168
|
-
# Integer index, String name or Layer
|
339
|
+
# @param [Sketchup::Layer, Integer, String] layer
|
169
340
|
#
|
170
|
-
# @param remove_geometry
|
171
|
-
#
|
341
|
+
# @param [Boolean] remove_geometry
|
342
|
+
# If true, geometry in the removed layer will
|
172
343
|
# be removed as well. If false (which is the default),
|
173
344
|
# this geometry will be placed on Layer 0.
|
174
345
|
#
|
175
|
-
# @return
|
346
|
+
# @return [Boolean] true if successful, false if unsuccessful.
|
176
347
|
#
|
177
348
|
# @version SketchUp 2015
|
178
349
|
def remove(layer, remove_geometry = false)
|
179
350
|
end
|
351
|
+
alias_method :remove_layer, :remove
|
180
352
|
|
181
|
-
# The
|
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
|
182
374
|
# object.
|
183
375
|
#
|
184
376
|
# @example
|
185
377
|
# layers = Sketchup.active_model.layers
|
186
378
|
# status = layers.remove_observer observer
|
187
379
|
#
|
188
|
-
# @param observer
|
189
|
-
# An observer.
|
380
|
+
# @param [Sketchup::LayersObserver] observer
|
190
381
|
#
|
191
|
-
# @return
|
382
|
+
# @return [Boolean] true if successful, false if unsuccessful.
|
192
383
|
#
|
193
384
|
# @version SketchUp 6.0
|
194
385
|
def remove_observer(observer)
|
@@ -208,7 +399,7 @@ class Sketchup::Layers < Sketchup::Entity
|
|
208
399
|
def size
|
209
400
|
end
|
210
401
|
|
211
|
-
# The unique_name method can be used to get a string that will be a unique
|
402
|
+
# The {#unique_name} method can be used to get a string that will be a unique
|
212
403
|
# layer name inside this collection.
|
213
404
|
#
|
214
405
|
# @example
|
@@ -217,15 +408,20 @@ class Sketchup::Layers < Sketchup::Entity
|
|
217
408
|
# # Will return "Joe" since there are probably no other layers named that.
|
218
409
|
# # Or might return something like "Joe #2" if there is already a layer
|
219
410
|
# # named Joe.
|
220
|
-
# good_name = layers.unique_name
|
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.
|
221
417
|
#
|
222
|
-
# @
|
223
|
-
# The base name to build the unique name from.
|
418
|
+
# @overload unique_name(base_name)
|
224
419
|
#
|
225
|
-
#
|
420
|
+
# @param [String] base_name The base name to build the unique name from.
|
421
|
+
# @return [String]
|
226
422
|
#
|
227
423
|
# @version SketchUp 6.0
|
228
|
-
def unique_name(
|
424
|
+
def unique_name(*args)
|
229
425
|
end
|
230
426
|
|
231
427
|
end
|