sketchup-api-stubs 0.7.9 → 0.7.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +151 -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 +172 -172
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +509 -509
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +476 -476
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +693 -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 +747 -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/Document.rb +569 -517
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -148
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +356 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -354
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  30. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -370
  31. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  32. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  33. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -225
  34. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  37. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
  38. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +459 -387
  39. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -209
  40. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
  41. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  42. data/lib/sketchup-api-stubs/stubs/Layout/ReferenceEntity.rb +82 -82
  43. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +714 -692
  44. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  45. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  48. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  49. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  50. data/lib/sketchup-api-stubs/stubs/Length.rb +278 -278
  51. data/lib/sketchup-api-stubs/stubs/Numeric.rb +249 -249
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -144
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -169
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +226 -209
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +150 -150
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -281
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -302
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -478
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +121 -121
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +659 -659
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -201
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +449 -449
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -74
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -104
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -306
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -42
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +406 -406
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -397
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1242 -1239
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -261
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +519 -545
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -125
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -937
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -102
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -750
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +282 -282
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -468
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -266
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -189
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +406 -406
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -84
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -306
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -326
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -422
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -427
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -249
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +114 -114
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -414
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +317 -317
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -142
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -93
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1656 -1652
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -357
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +130 -130
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -271
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +490 -490
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +116 -116
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -797
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +361 -361
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +480 -478
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +373 -361
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -45
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +458 -458
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +255 -255
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -59
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -40
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -217
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -217
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +834 -834
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -156
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -75
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1329 -1311
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
  143. data/lib/sketchup-api-stubs/stubs/Sketchup.rb +1394 -1377
  144. data/lib/sketchup-api-stubs/stubs/SketchupExtension.rb +353 -353
  145. data/lib/sketchup-api-stubs/stubs/String.rb +24 -24
  146. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +387 -389
  147. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +505 -494
  148. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -269
  149. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +241 -241
  150. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -635
  151. data/lib/sketchup-api-stubs/stubs/UI.rb +728 -683
  152. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -303
  153. data/lib/sketchup-api-stubs.rb +1 -1
  154. metadata +3 -3
@@ -1,326 +1,326 @@
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 2024 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