sketchup-api-stubs 0.7.9 → 0.7.11

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 (160) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +157 -151
  3. data/lib/sketchup-api-stubs/stubs/Array.rb +741 -741
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -322
  5. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +182 -172
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +111 -126
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +423 -400
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +693 -661
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +535 -509
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +500 -476
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +267 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +133 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +547 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +678 -693
  16. data/lib/sketchup-api-stubs/stubs/Geom.rb +351 -351
  17. data/lib/sketchup-api-stubs/stubs/LanguageHandler.rb +93 -93
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -595
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +751 -747
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -183
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Dictionary.rb +234 -0
  23. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +683 -517
  24. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -148
  26. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +464 -353
  27. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -354
  28. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  29. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  30. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  31. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -370
  32. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  33. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  34. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -225
  35. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +614 -567
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  37. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  38. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +282 -183
  39. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +458 -387
  40. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -209
  41. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +346 -344
  42. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  43. data/lib/sketchup-api-stubs/stubs/Layout/ReferenceEntity.rb +82 -82
  44. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +714 -692
  45. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1565 -1519
  46. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  48. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  49. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  50. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  51. data/lib/sketchup-api-stubs/stubs/Length.rb +286 -278
  52. data/lib/sketchup-api-stubs/stubs/Numeric.rb +249 -249
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +196 -144
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -169
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +226 -209
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +145 -150
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +294 -281
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +296 -302
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +473 -478
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +121 -121
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +673 -659
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +600 -593
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +252 -257
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -201
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +443 -449
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -74
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -104
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +167 -165
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -306
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -42
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +403 -406
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -397
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1282 -1239
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -261
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +519 -545
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Environment.rb +406 -0
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Environments.rb +185 -0
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/EnvironmentsObserver.rb +113 -0
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +122 -125
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +1006 -937
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -102
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +740 -750
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +289 -282
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +64 -62
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +405 -468
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -266
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -189
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +432 -406
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -84
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +307 -306
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +332 -326
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +380 -422
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +409 -427
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +241 -249
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +55 -48
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +114 -114
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/LoadHandler.rb +70 -0
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +1115 -414
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +330 -317
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -142
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -93
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1714 -1652
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +372 -357
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +133 -130
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -271
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +463 -490
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +104 -116
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +939 -797
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +388 -361
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +501 -478
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +385 -361
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -45
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +451 -458
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +211 -212
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +259 -255
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -59
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -40
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/Snap.rb +125 -0
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +88 -69
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +263 -217
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +283 -262
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +199 -217
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +924 -834
  143. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  144. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -156
  145. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -75
  146. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +143 -142
  147. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1566 -1311
  148. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +71 -45
  149. data/lib/sketchup-api-stubs/stubs/Sketchup.rb +1429 -1377
  150. data/lib/sketchup-api-stubs/stubs/SketchupExtension.rb +353 -353
  151. data/lib/sketchup-api-stubs/stubs/String.rb +24 -24
  152. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +399 -389
  153. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +580 -494
  154. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +280 -269
  155. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +258 -241
  156. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +636 -635
  157. data/lib/sketchup-api-stubs/stubs/UI.rb +791 -683
  158. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -303
  159. data/lib/sketchup-api-stubs.rb +1 -1
  160. metadata +10 -24
@@ -1,326 +1,332 @@
1
- # Copyright:: Copyright 2023 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # The Layer class contains methods modifying and extracting information for a
5
- # layer.
6
- #
7
- # By default, a SketchUp model has one layer, Layer 0 (Named "Untagged" in the
8
- # UI since SketchUp 2020), which is the base
9
- # layer. You can't delete or rename Layer 0. Unlike certain other CAD software
10
- # packages, entities associated with different layers in SketchUp still
11
- # intersect with each other. (If you want collections of entities to not
12
- # intersect, place them in Groups instead.)
13
- #
14
- # Layers are commonly used to organize your model and control the visibility
15
- # of related groups and components. For example, you could make all of your
16
- # wall and roof entities different groups, associate layers with those groups,
17
- # and then hide those layers so as to display just the floor plan in the model.
18
- #
19
- # @example
20
- # model = Sketchup.active_model
21
- # layers = model.layers
22
- # new_layer = layers.add('Doors')
23
- #
24
- # @note As of SketchUp 2020 "Layers" were renamed to "Tags" in the UI.
25
- # The API retains the use of "Layer" for compatibility and is synonymous with
26
- # "Tag".
27
- #
28
- # @version SketchUp 6.0
29
- class Sketchup::Layer < Sketchup::Entity
30
-
31
- # Includes
32
-
33
- include Comparable
34
-
35
- # Instance Methods
36
-
37
- # The {#<=>} method is used to compare two layers based on their names.
38
- # This enables the Ruby +Array#sort+ method to sort SketchUp layers.
39
- #
40
- # @example
41
- # model = Sketchup.active_model
42
- # layers = model.layers
43
- # new_layer = layers.add "test layer"
44
- # layer1 = layers[0]
45
- # layer2 = layers[1]
46
- # status = layer1 <=> layer2
47
- #
48
- # @param [Sketchup::Layer] layer2
49
- #
50
- # @return [Integer] -1 if layer1 is less than layer2. 1 if layer2
51
- # is less than layer1. 0 if layer1 and layer2 are equal.
52
- #
53
- # @version SketchUp 6.0
54
- def <=>(layer2)
55
- end
56
-
57
- # The {#==} method is used to determine if two layers are the same.
58
- #
59
- # @example
60
- # model = Sketchup.active_model
61
- # layers = model.layers
62
- # layer1 = layers.add("Test layer 1")
63
- # layer2 = layers.add("Test layer 2")
64
- # equal = layer1 == layer2
65
- #
66
- # @param [Object] other
67
- #
68
- # @version SketchUp 6.0
69
- def ==(other)
70
- end
71
-
72
- # The {#color} method is used to retrieve the color of the layer.
73
- #
74
- # @example
75
- # model = Sketchup.active_model
76
- # layers = model.layers
77
- # new_layer = layers.add('Test layer')
78
- # color = new_layer.color
79
- #
80
- # @return [Sketchup::Color]
81
- #
82
- # @version SketchUp 2014
83
- def color
84
- end
85
-
86
- # The {#color=} method is used to set the name of a layer.
87
- #
88
- # @example
89
- # model = Sketchup.active_model
90
- # layers = model.layers
91
- # new_layer = layers.add('Test layer')
92
- # new_layer.color = Sketchup::Color.new(192, 0, 0)
93
- #
94
- # @param [Sketchup::Color] color
95
- #
96
- # @version SketchUp 2014
97
- def color=(color)
98
- end
99
-
100
- # The {#display_name} method is used to retrieve the display name of the layer.
101
- #
102
- # @example
103
- # model = Sketchup.active_model
104
- # layers = model.layers
105
- # new_layer = layers.add ("test layer")
106
- # name = new_layer.display_name
107
- #
108
- # @return [String]
109
- #
110
- # @see #name
111
- #
112
- # @version SketchUp 2020.0
113
- def display_name
114
- end
115
-
116
- # The {#folder} method is used to return the parent layer folder of a layer.
117
- #
118
- # @api TagFolder
119
- #
120
- # @example
121
- # model = Sketchup.active_model
122
- # layers = model.layers
123
- # folder1 = layers.add_folder('Folder1')
124
- # layer1 = layers.add('Layer1')
125
- # layer1.folder = folder1
126
- # parent_folder = layer1.folder # Returns: folder1
127
- #
128
- # @return [Sketchup::LayerFolder, nil] +nil+ if the folder is a direct child to
129
- # the layer manager.
130
- #
131
- # @version SketchUp 2021.0
132
- def folder
133
- end
134
-
135
- # The {#folder=} method is used to set the parent layer folder of a layer.
136
- #
137
- # This will trigger +onParentFolderChanged+ in normal cases and
138
- # +onLayerChanged+ during undo/redo.
139
- #
140
- # @api TagFolder
141
- #
142
- # @example
143
- # model = Sketchup.active_model
144
- # layers = model.layers
145
- # folder = layers.add_folder('Hello')
146
- # layer = layers.add_layer('World')
147
- # layer.folder = folder
148
- #
149
- # @param [Sketchup::LayerFolder, nil] parent
150
- # +nil+ will make the layer a
151
- # direct child to the layer manager.
152
- #
153
- # @version SketchUp 2021.0
154
- def folder=(parent)
155
- end
156
-
157
- # The {#line_style} method retrieves the line style on this layer.
158
- #
159
- # @example
160
- # line_style = Sketchup.active_model.layers[0].line_style
161
- #
162
- # @return [Sketchup::LineStyle, nil] The line style retrieved.
163
- #
164
- # @version SketchUp 2019
165
- def line_style
166
- end
167
-
168
- # The {#line_style=} method lets you set a specific line style to a layer
169
- #
170
- # @example
171
- # line_style = Sketchup.active_model.line_styles["Dot"]
172
- # Sketchup.active_model.layers[0].line_style = line_style
173
- #
174
- # @param [Sketchup::LineStyle, nil] line_style
175
- # The line style to set on this layer.
176
- #
177
- # @return [Sketchup::Layer] The layer that the line style was applied on.
178
- #
179
- # @version SketchUp 2019
180
- def line_style=(line_style)
181
- end
182
-
183
- # The {#name} method is used to retrieve the name of the layer.
184
- #
185
- # @example
186
- # model = Sketchup.active_model
187
- # layers = model.layers
188
- # new_layer = layers.add "test layer"
189
- # name = new_layer.name
190
- #
191
- # @return [String]
192
- #
193
- # @see #display_name
194
- #
195
- # @version SketchUp 6.0
196
- def name
197
- end
198
-
199
- # The {#name=} method is used to set the name of a layer.
200
- #
201
- # @example
202
- # model = Sketchup.active_model
203
- # layers = model.layers
204
- # new_layer = layers.add "test layer"
205
- # name = new_layer.name = "new test layer"
206
- #
207
- # @param [String] name
208
- #
209
- # @version SketchUp 6.0
210
- def name=(name)
211
- end
212
-
213
- # The {#page_behavior} method is used to retrieve the visibility behavior of the
214
- # layer for new pages and existing pages. For example, you may want your layer
215
- # to be visible or hidden by default in any new pages (aka Scenes) created by
216
- # the user.
217
- #
218
- # A page keeps a list of layers that do not have their default behavior.
219
- # If a layer is not in that list, then it is set to its default visibility
220
- # determined by one of these values:
221
- #
222
- # The behaviour is composed of a combination of these flags:
223
- #
224
- # [Default visibility]
225
- # These flags are used to set the value of {#page_behavior}. A page keeps
226
- # a list of layers that do not have their default behavior. If a layer
227
- # is not in that list, then it is set to its default visibility which
228
- # is determined by one of these flags.
229
- # - {LAYER_VISIBLE_BY_DEFAULT}: +0x0000+
230
- # - {LAYER_HIDDEN_BY_DEFAULT}: +0x0001+
231
- #
232
- # [Visibility on new pages]
233
- # You can also set this addition flag that controls the visibility of
234
- # a layer on newly created pages.
235
- # - {LAYER_USES_DEFAULT_VISIBILITY_ON_NEW_PAGES}: +0x0000+
236
- # - {LAYER_IS_VISIBLE_ON_NEW_PAGES}: +0x0010+
237
- # - {LAYER_IS_HIDDEN_ON_NEW_PAGES}: +0x0020+
238
- #
239
- # The default visibility for a layer is set by either
240
- # {LAYER_VISIBLE_BY_DEFAULT} or
241
- # {LAYER_HIDDEN_BY_DEFAULT}. This is what will be used when a page
242
- # does not contain the visibility state of a layer.
243
- #
244
- # The remaining flags control the visibility of the layer for new pages.
245
- #
246
- # @example
247
- # model = Sketchup.active_model
248
- # layers = model.layers
249
- # layer = layers.add('Test Layer')
250
- # hidden_by_default = (layer.page_behavior & LAYER_HIDDEN_BY_DEFAULT) ==
251
- # LAYER_HIDDEN_BY_DEFAULT
252
- #
253
- # @return [Integer] an integer representing the current behavior of the layer.
254
- #
255
- # @version SketchUp 6.0
256
- def page_behavior
257
- end
258
-
259
- # The {#page_behavior=} method is used to control the layer's visibility
260
- # behavior on existing and new pages.
261
- #
262
- # When you Update a page (as opposed to creating a new page) the current
263
- # visibility of the layer is used.
264
- #
265
- # The behavior is composed of a combination of these flags:
266
- #
267
- # [Default visibility]
268
- # These flags are used to set the value of {#page_behavior}. A page keeps
269
- # a list of layers that do not have their default behavior. If a layer
270
- # is not in that list, then it is set to its default visibility which
271
- # is determined by one of these flags.
272
- # - {LAYER_VISIBLE_BY_DEFAULT}: +0x0000+
273
- # - {LAYER_HIDDEN_BY_DEFAULT}: +0x0001+
274
- #
275
- # [Visibility on new pages]
276
- # You can also set this addition flag that controls the visibility of
277
- # a layer on newly created pages.
278
- # - {LAYER_USES_DEFAULT_VISIBILITY_ON_NEW_PAGES}: +0x0000+
279
- # - {LAYER_IS_VISIBLE_ON_NEW_PAGES}: +0x0010+
280
- # - {LAYER_IS_HIDDEN_ON_NEW_PAGES}: +0x0020+
281
- #
282
- # @bug Prior to SketchUp 2014 the +LAYER_HIDDEN_BY_DEFAULT+ flag
283
- # would trigger the validation check in SketchUp that would reset the
284
- # {#page_behavior} of the layer.
285
- #
286
- # @example
287
- # layers = Sketchup.active_model.layers
288
- # layer = layers.add('Test Layer')
289
- # behavior = LAYER_HIDDEN_BY_DEFAULT | LAYER_IS_HIDDEN_ON_NEW_PAGES
290
- # layer.page_behavior = behavior
291
- #
292
- # @param [Integer] page_behavior
293
- #
294
- # @version SketchUp 6.0
295
- def page_behavior=(page_behavior)
296
- end
297
-
298
- # The {#visible=} method is used to set if the layer is visible.
299
- #
300
- # @example
301
- # model = Sketchup.active_model
302
- # layers = model.layers
303
- # layer = layers.add('Hello World')
304
- # layer.visible = false
305
- #
306
- # @param [Boolean] visible
307
- #
308
- # @version SketchUp 6.0
309
- def visible=(visible)
310
- end
311
-
312
- # The {#visible?} method is used to determine if the layer is visible.
313
- #
314
- # @example
315
- # model = Sketchup.active_model
316
- # layers = model.layers
317
- # layer = layers.add('Hello World')
318
- # layer.visible? # Returns: true
319
- #
320
- # @return [Boolean]
321
- #
322
- # @version SketchUp 6.0
323
- def visible?
324
- end
325
-
326
- end
1
+ # Copyright:: Copyright 2026 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # The Layer class contains methods modifying and extracting information for a
5
+ # layer.
6
+ #
7
+ # By default, a SketchUp model has one layer, Layer 0 (Named "Untagged" in the
8
+ # UI since SketchUp 2020), which is the base
9
+ # layer. You can't delete or rename Layer 0. Unlike certain other CAD software
10
+ # packages, entities associated with different layers in SketchUp still
11
+ # intersect with each other. (If you want collections of entities to not
12
+ # intersect, place them in Groups instead.)
13
+ #
14
+ # Layers are commonly used to organize your model and control the visibility
15
+ # of related groups and components. For example, you could make all of your
16
+ # wall and roof entities different groups, associate layers with those groups,
17
+ # and then hide those layers so as to display just the floor plan in the model.
18
+ #
19
+ # @example
20
+ # model = Sketchup.active_model
21
+ # layers = model.layers
22
+ # new_layer = layers.add('Doors')
23
+ #
24
+ # @note As of SketchUp 2020 "Layers" were renamed to "Tags" in the UI.
25
+ # The API retains the use of "Layer" for compatibility and is synonymous with
26
+ # "Tag".
27
+ #
28
+ # @version SketchUp 6.0
29
+ class Sketchup::Layer < Sketchup::Entity
30
+
31
+ # Includes
32
+
33
+ include Comparable
34
+
35
+ # Instance Methods
36
+
37
+ # The {#<=>} method is used to compare two layers based on their names.
38
+ # This enables the Ruby +Array#sort+ method to sort SketchUp layers.
39
+ #
40
+ # @example
41
+ # model = Sketchup.active_model
42
+ # layers = model.layers
43
+ # new_layer = layers.add "test layer"
44
+ # layer1 = layers[0]
45
+ # layer2 = layers[1]
46
+ # status = layer1 <=> layer2
47
+ #
48
+ # @param [Sketchup::Layer] layer2
49
+ #
50
+ # @return [Integer] -1 if layer1 is less than layer2. 1 if layer2
51
+ # is less than layer1. 0 if layer1 and layer2 are equal.
52
+ #
53
+ # @version SketchUp 6.0
54
+ def <=>(layer2)
55
+ end
56
+
57
+ # The {#==} method is used to determine if two layers are the same.
58
+ #
59
+ # @example
60
+ # model = Sketchup.active_model
61
+ # layers = model.layers
62
+ # layer1 = layers.add("Test layer 1")
63
+ # layer2 = layers.add("Test layer 2")
64
+ # equal = layer1 == layer2
65
+ #
66
+ # @param [Object] other
67
+ #
68
+ # @version SketchUp 6.0
69
+ def ==(other)
70
+ end
71
+
72
+ # The {#color} method is used to retrieve the color of the layer.
73
+ #
74
+ # @example
75
+ # model = Sketchup.active_model
76
+ # layers = model.layers
77
+ # new_layer = layers.add('Test layer')
78
+ # color = new_layer.color
79
+ #
80
+ # @return [Sketchup::Color]
81
+ #
82
+ # @version SketchUp 2014
83
+ def color
84
+ end
85
+
86
+ # The {#color=} method is used to set the color of a layer.
87
+ #
88
+ # @example
89
+ # model = Sketchup.active_model
90
+ # layers = model.layers
91
+ # new_layer = layers.add('Test layer')
92
+ # new_layer.color = Sketchup::Color.new(192, 0, 0)
93
+ #
94
+ # @param [Sketchup::Color] color
95
+ #
96
+ # @version SketchUp 2014
97
+ def color=(color)
98
+ end
99
+
100
+ # The {#display_name} method is used to retrieve the display name of the layer.
101
+ # This is the name shown to the user in the Sketchup UI.
102
+ #
103
+ # @example
104
+ # model = Sketchup.active_model
105
+ # layers = model.layers
106
+ # new_layer = layers.add ("test layer")
107
+ # name = new_layer.display_name
108
+ #
109
+ # @note The display name and internal name of layers should share the same value except for the
110
+ # Layer0. From version 2020.0 onwards the display name of Layer0 is "Untagged" and it is
111
+ # localized.
112
+ #
113
+ # @return [String]
114
+ #
115
+ # @see #name
116
+ #
117
+ # @version SketchUp 2020.0
118
+ def display_name
119
+ end
120
+
121
+ # The {#folder} method is used to return the parent layer folder of a layer.
122
+ #
123
+ # @example
124
+ # model = Sketchup.active_model
125
+ # layers = model.layers
126
+ # folder1 = layers.add_folder('Folder1')
127
+ # layer1 = layers.add('Layer1')
128
+ # layer1.folder = folder1
129
+ # parent_folder = layer1.folder # Returns: folder1
130
+ #
131
+ # @return [Sketchup::LayerFolder, nil] +nil+ if the folder is a direct child to
132
+ # the layer manager.
133
+ #
134
+ # @version SketchUp 2021.0
135
+ def folder
136
+ end
137
+
138
+ # The {#folder=} method is used to set the parent layer folder of a layer.
139
+ #
140
+ # This will trigger +onParentFolderChanged+ in normal cases and
141
+ # +onLayerChanged+ during undo/redo.
142
+ #
143
+ # @example
144
+ # model = Sketchup.active_model
145
+ # layers = model.layers
146
+ # folder = layers.add_folder('Hello')
147
+ # layer = layers.add_layer('World')
148
+ # layer.folder = folder
149
+ #
150
+ # @param [Sketchup::LayerFolder, nil] parent
151
+ # +nil+ will make the layer a
152
+ # direct child to the layer manager.
153
+ #
154
+ # @version SketchUp 2021.0
155
+ def folder=(parent)
156
+ end
157
+
158
+ # The {#line_style} method retrieves the line style on this layer.
159
+ #
160
+ # @example
161
+ # line_style = Sketchup.active_model.layers[0].line_style
162
+ #
163
+ # @return [Sketchup::LineStyle, nil] The line style retrieved.
164
+ #
165
+ # @version SketchUp 2019
166
+ def line_style
167
+ end
168
+
169
+ # The {#line_style=} method lets you set a specific line style to a layer
170
+ #
171
+ # @example
172
+ # line_style = Sketchup.active_model.line_styles["Dot"]
173
+ # Sketchup.active_model.layers[0].line_style = line_style
174
+ #
175
+ # @param [Sketchup::LineStyle, nil] line_style
176
+ # The line style to set on this layer.
177
+ #
178
+ # @return [Sketchup::Layer] The layer that the line style was applied on.
179
+ #
180
+ # @version SketchUp 2019
181
+ def line_style=(line_style)
182
+ end
183
+
184
+ # The {#name} method return the internal name of the layer which is handled by the model.
185
+ # Its use is for scripting and internal references.
186
+ #
187
+ # @example
188
+ # model = Sketchup.active_model
189
+ # layers = model.layers
190
+ # new_layer = layers.add "test layer"
191
+ # name = new_layer.name
192
+ #
193
+ # @note The internal layer and display name of layers should share the same value except for the
194
+ # Layer0. From version 2020.0 onwards the display name of Layer0 is "Untagged" and it is
195
+ # localized.
196
+ #
197
+ # @return [String] representing the name of the layer
198
+ #
199
+ # @see #display_name
200
+ #
201
+ # @version SketchUp 6.0
202
+ def name
203
+ end
204
+
205
+ # The {#name=} method is used to set the name of a layer.
206
+ #
207
+ # @example
208
+ # model = Sketchup.active_model
209
+ # layers = model.layers
210
+ # new_layer = layers.add "test layer"
211
+ # name = new_layer.name = "new test layer"
212
+ #
213
+ # @param [String] name
214
+ #
215
+ # @version SketchUp 6.0
216
+ def name=(name)
217
+ end
218
+
219
+ # The {#page_behavior} method is used to retrieve the visibility behavior of the
220
+ # layer for new pages and existing pages. For example, you may want your layer
221
+ # to be visible or hidden by default in any new pages (aka Scenes) created by
222
+ # the user.
223
+ #
224
+ # A page keeps a list of layers that do not have their default behavior.
225
+ # If a layer is not in that list, then it is set to its default visibility
226
+ # determined by one of these values:
227
+ #
228
+ # The behaviour is composed of a combination of these flags:
229
+ #
230
+ # [Default visibility]
231
+ # These flags are used to set the value of {#page_behavior}. A page keeps
232
+ # a list of layers that do not have their default behavior. If a layer
233
+ # is not in that list, then it is set to its default visibility which
234
+ # is determined by one of these flags.
235
+ # - {LAYER_VISIBLE_BY_DEFAULT}: +0x0000+
236
+ # - {LAYER_HIDDEN_BY_DEFAULT}: +0x0001+
237
+ #
238
+ # [Visibility on new pages]
239
+ # You can also set this addition flag that controls the visibility of
240
+ # a layer on newly created pages.
241
+ # - {LAYER_USES_DEFAULT_VISIBILITY_ON_NEW_PAGES}: +0x0000+
242
+ # - {LAYER_IS_VISIBLE_ON_NEW_PAGES}: +0x0010+
243
+ # - {LAYER_IS_HIDDEN_ON_NEW_PAGES}: +0x0020+
244
+ #
245
+ # The default visibility for a layer is set by either
246
+ # {LAYER_VISIBLE_BY_DEFAULT} or
247
+ # {LAYER_HIDDEN_BY_DEFAULT}. This is what will be used when a page
248
+ # does not contain the visibility state of a layer.
249
+ #
250
+ # The remaining flags control the visibility of the layer for new pages.
251
+ #
252
+ # @example
253
+ # model = Sketchup.active_model
254
+ # layers = model.layers
255
+ # layer = layers.add('Test Layer')
256
+ # hidden_by_default = (layer.page_behavior & LAYER_HIDDEN_BY_DEFAULT) ==
257
+ # LAYER_HIDDEN_BY_DEFAULT
258
+ #
259
+ # @return [Integer] an integer representing the current behavior of the layer.
260
+ #
261
+ # @version SketchUp 6.0
262
+ def page_behavior
263
+ end
264
+
265
+ # The {#page_behavior=} method is used to control the layer's visibility
266
+ # behavior on existing and new pages.
267
+ #
268
+ # When you Update a page (as opposed to creating a new page) the current
269
+ # visibility of the layer is used.
270
+ #
271
+ # The behavior is composed of a combination of these flags:
272
+ #
273
+ # [Default visibility]
274
+ # These flags are used to set the value of {#page_behavior}. A page keeps
275
+ # a list of layers that do not have their default behavior. If a layer
276
+ # is not in that list, then it is set to its default visibility which
277
+ # is determined by one of these flags.
278
+ # - {LAYER_VISIBLE_BY_DEFAULT}: +0x0000+
279
+ # - {LAYER_HIDDEN_BY_DEFAULT}: +0x0001+
280
+ #
281
+ # [Visibility on new pages]
282
+ # You can also set this addition flag that controls the visibility of
283
+ # a layer on newly created pages.
284
+ # - {LAYER_USES_DEFAULT_VISIBILITY_ON_NEW_PAGES}: +0x0000+
285
+ # - {LAYER_IS_VISIBLE_ON_NEW_PAGES}: +0x0010+
286
+ # - {LAYER_IS_HIDDEN_ON_NEW_PAGES}: +0x0020+
287
+ #
288
+ # @bug Prior to SketchUp 2014 the +LAYER_HIDDEN_BY_DEFAULT+ flag
289
+ # would trigger the validation check in SketchUp that would reset the
290
+ # {#page_behavior} of the layer.
291
+ #
292
+ # @example
293
+ # layers = Sketchup.active_model.layers
294
+ # layer = layers.add('Test Layer')
295
+ # behavior = LAYER_HIDDEN_BY_DEFAULT | LAYER_IS_HIDDEN_ON_NEW_PAGES
296
+ # layer.page_behavior = behavior
297
+ #
298
+ # @param [Integer] page_behavior
299
+ #
300
+ # @version SketchUp 6.0
301
+ def page_behavior=(page_behavior)
302
+ end
303
+
304
+ # The {#visible=} method is used to set if the layer is visible.
305
+ #
306
+ # @example
307
+ # model = Sketchup.active_model
308
+ # layers = model.layers
309
+ # layer = layers.add('Hello World')
310
+ # layer.visible = false
311
+ #
312
+ # @param [Boolean] visible
313
+ #
314
+ # @version SketchUp 6.0
315
+ def visible=(visible)
316
+ end
317
+
318
+ # The {#visible?} method is used to determine if the layer is visible.
319
+ #
320
+ # @example
321
+ # model = Sketchup.active_model
322
+ # layers = model.layers
323
+ # layer = layers.add('Hello World')
324
+ # layer.visible? # Returns: true
325
+ #
326
+ # @return [Boolean]
327
+ #
328
+ # @version SketchUp 6.0
329
+ def visible?
330
+ end
331
+
332
+ end