sketchup-api-stubs 0.7.7 → 0.7.9

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 (154) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +151 -147
  3. data/lib/sketchup-api-stubs/stubs/{array.rb → 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 -478
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +693 -691
  16. data/lib/sketchup-api-stubs/stubs/{geom.rb → Geom.rb} +351 -351
  17. data/lib/sketchup-api-stubs/stubs/{languagehandler.rb → LanguageHandler.rb} +93 -92
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -573
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +747 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -179
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +517 -515
  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 +353 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -349
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  30. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -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 +387 -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 -0
  43. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +692 -694
  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 → Length.rb} +278 -278
  51. data/lib/sketchup-api-stubs/stubs/{numeric.rb → 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 -157
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +150 -152
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -286
  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 -122
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +659 -577
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -594
  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 -425
  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 -396
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -502
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1239 -1126
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -0
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -545
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -126
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -917
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -104
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -750
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +282 -292
  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 -405
  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 -327
  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 -112
  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 -318
  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 +1652 -1654
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -357
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +130 -131
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -284
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +490 -0
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +116 -0
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -797
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +361 -363
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -478
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +361 -364
  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 -459
  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 -257
  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 -835
  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 -71
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1311 -1307
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
  143. data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1377 -1353
  144. data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
  145. data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
  146. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -317
  147. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +494 -478
  148. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -269
  149. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +241 -240
  150. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
  151. data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -672
  152. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -311
  153. data/lib/sketchup-api-stubs.rb +1 -1
  154. metadata +20 -16
@@ -1,327 +1,326 @@
1
- # Copyright:: Copyright 2021 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. You
38
- # could use this for sorting if you're building a list of layer names.
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('Folder1')
124
- # parent_folder = folder1.folder # Returns: nil
125
- #
126
- # folder2 = folder1.add('Folder2')
127
- # parent_folder = folder2.folder # Returns: folder1
128
- #
129
- # @return [Sketchup::LayerFolder, nil] +nil+ if the folder is a direct child to
130
- # the layer manager.
131
- #
132
- # @version SketchUp 2021.0
133
- def folder
134
- end
135
-
136
- # The {#folder=} method is used to set the parent layer folder of a layer.
137
- #
138
- # This will trigger +onParentFolderChanged+ in normal cases and
139
- # +onLayerChanged+ during undo/redo.
140
- #
141
- # @api TagFolder
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 is used to retrieve the name of the layer.
185
- #
186
- # @example
187
- # model = Sketchup.active_model
188
- # layers = model.layers
189
- # new_layer = layers.add "test layer"
190
- # name = new_layer.name
191
- #
192
- # @return [String]
193
- #
194
- # @see #display_name
195
- #
196
- # @version SketchUp 6.0
197
- def name
198
- end
199
-
200
- # The {#name=} method is used to set the name of a layer.
201
- #
202
- # @example
203
- # model = Sketchup.active_model
204
- # layers = model.layers
205
- # new_layer = layers.add "test layer"
206
- # name = new_layer.name = "new test layer"
207
- #
208
- # @param [String] name
209
- #
210
- # @version SketchUp 6.0
211
- def name=(name)
212
- end
213
-
214
- # The {#page_behavior} method is used to retrieve the visibility behavior of the
215
- # layer for new pages and existing pages. For example, you may want your layer
216
- # to be visible or hidden by default in any new pages (aka Scenes) created by
217
- # the user.
218
- #
219
- # A page keeps a list of layers that do not have their default behavior.
220
- # If a layer is not in that list, then it is set to its default visibility
221
- # determined by one of these values:
222
- #
223
- # The behaviour is composed of a combination of these flags:
224
- #
225
- # [Default visibility]
226
- # These flags are used to set the value of {#page_behavior}. A page keeps
227
- # a list of layers that do not have their default behavior. If a layer
228
- # is not in that list, then it is set to its default visibility which
229
- # is determined by one of these flags.
230
- # - {LAYER_VISIBLE_BY_DEFAULT}: +0x0000+
231
- # - {LAYER_HIDDEN_BY_DEFAULT}: +0x0001+
232
- #
233
- # [Visibility on new pages]
234
- # You can also set this addition flag that controls the visibility of
235
- # a layer on newly created pages.
236
- # - {LAYER_USES_DEFAULT_VISIBILITY_ON_NEW_PAGES}: +0x0000+
237
- # - {LAYER_IS_VISIBLE_ON_NEW_PAGES}: +0x0010+
238
- # - {LAYER_IS_HIDDEN_ON_NEW_PAGES}: +0x0020+
239
- #
240
- # The default visibility for a layer is set by either
241
- # {LAYER_VISIBLE_BY_DEFAULT} or
242
- # {LAYER_HIDDEN_BY_DEFAULT}. This is what will be used when a page
243
- # does not contain the visibility state of a layer.
244
- #
245
- # The remaining flags control the visibility of the layer for new pages.
246
- #
247
- # @example
248
- # model = Sketchup.active_model
249
- # layers = model.layers
250
- # layer = layers.add('Test Layer')
251
- # hidden_by_default = (layer.page_behavior & LAYER_HIDDEN_BY_DEFAULT) ==
252
- # LAYER_HIDDEN_BY_DEFAULT
253
- #
254
- # @return [Integer] an integer representing the current behavior of the layer.
255
- #
256
- # @version SketchUp 6.0
257
- def page_behavior
258
- end
259
-
260
- # The {#page_behavior=} method is used to control the layer's visibility
261
- # behavior on existing and new pages.
262
- #
263
- # When you Update a page (as opposed to creating a new page) the current
264
- # visibility of the layer is used.
265
- #
266
- # The behavior is composed of a combination of these flags:
267
- #
268
- # [Default visibility]
269
- # These flags are used to set the value of {#page_behavior}. A page keeps
270
- # a list of layers that do not have their default behavior. If a layer
271
- # is not in that list, then it is set to its default visibility which
272
- # is determined by one of these flags.
273
- # - {LAYER_VISIBLE_BY_DEFAULT}: +0x0000+
274
- # - {LAYER_HIDDEN_BY_DEFAULT}: +0x0001+
275
- #
276
- # [Visibility on new pages]
277
- # You can also set this addition flag that controls the visibility of
278
- # a layer on newly created pages.
279
- # - {LAYER_USES_DEFAULT_VISIBILITY_ON_NEW_PAGES}: +0x0000+
280
- # - {LAYER_IS_VISIBLE_ON_NEW_PAGES}: +0x0010+
281
- # - {LAYER_IS_HIDDEN_ON_NEW_PAGES}: +0x0020+
282
- #
283
- # @bug Prior to SketchUp 2014 the +LAYER_HIDDEN_BY_DEFAULT+ flag
284
- # would trigger the validation check in SketchUp that would reset the
285
- # {#page_behavior} of the layer.
286
- #
287
- # @example
288
- # layers = Sketchup.active_model.layers
289
- # layer = layers.add('Test Layer')
290
- # behavior = LAYER_HIDDEN_BY_DEFAULT | LAYER_IS_HIDDEN_ON_NEW_PAGES
291
- # layer.page_behavior = behavior
292
- #
293
- # @param [Integer] page_behavior
294
- #
295
- # @version SketchUp 6.0
296
- def page_behavior=(page_behavior)
297
- end
298
-
299
- # The {#visible=} method is used to set if the layer is visible.
300
- #
301
- # @example
302
- # model = Sketchup.active_model
303
- # layers = model.layers
304
- # layer = layers.add('Hello World')
305
- # layer.visible = false
306
- #
307
- # @param [Boolean] visible
308
- #
309
- # @version SketchUp 6.0
310
- def visible=(visible)
311
- end
312
-
313
- # The {#visible?} method is used to determine if the layer is visible.
314
- #
315
- # @example
316
- # model = Sketchup.active_model
317
- # layers = model.layers
318
- # layer = layers.add('Hello World')
319
- # layer.visible? # Returns: true
320
- #
321
- # @return [Boolean]
322
- #
323
- # @version SketchUp 6.0
324
- def visible?
325
- end
326
-
327
- end
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