sketchup-api-stubs 0.7.3 → 0.7.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +5 -5
  2. data/.yardopts +9 -9
  3. data/lib/sketchup-api-stubs.rb +1 -1
  4. data/lib/sketchup-api-stubs/sketchup.rb +145 -145
  5. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +318 -318
  6. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
  7. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
  8. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
  10. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
  11. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +492 -492
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -478
  13. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  14. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
  16. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +691 -691
  17. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +573 -573
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +411 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +174 -186
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +514 -514
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +143 -155
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -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 +371 -371
  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 +220 -232
  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 +204 -216
  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/SketchUpModel.rb +694 -694
  43. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  44. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  45. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  48. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +140 -140
  49. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +157 -157
  50. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -281
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +328 -328
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +577 -577
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +281 -281
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +562 -562
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +194 -194
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +329 -329
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +72 -72
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +102 -102
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +312 -312
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +38 -38
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +390 -390
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +508 -508
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1119 -1119
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +125 -125
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +544 -544
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +59 -59
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -125
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +750 -750
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +697 -697
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +285 -285
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +409 -409
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +226 -226
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +190 -190
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +393 -393
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +82 -82
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +303 -303
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +285 -280
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +244 -231
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +136 -136
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -123
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +416 -416
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +311 -311
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +141 -141
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +95 -95
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1638 -1601
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +356 -356
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +132 -132
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +770 -770
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +353 -353
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +76 -76
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +456 -456
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +44 -44
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +454 -454
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +257 -257
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +57 -57
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +211 -211
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +225 -225
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +829 -829
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +154 -154
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +61 -61
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1301 -1301
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +43 -43
  134. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +310 -310
  135. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +356 -356
  136. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +229 -229
  137. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
  138. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -633
  139. data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
  140. data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
  141. data/lib/sketchup-api-stubs/stubs/geom.rb +348 -348
  142. data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
  143. data/lib/sketchup-api-stubs/stubs/length.rb +278 -278
  144. data/lib/sketchup-api-stubs/stubs/numeric.rb +249 -249
  145. data/lib/sketchup-api-stubs/stubs/sketchup.rb +1310 -1310
  146. data/lib/sketchup-api-stubs/stubs/sketchupextension.rb +353 -353
  147. data/lib/sketchup-api-stubs/stubs/string.rb +24 -24
  148. data/lib/sketchup-api-stubs/stubs/ui.rb +667 -667
  149. metadata +3 -4
@@ -1,311 +1,311 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # A collection of Materials objects. Each model contains a Materials collection
5
- # that can be accessed via Model.materials.
6
- #
7
- # @example
8
- # # Get a handle to all the materials in the current model.
9
- # model = Sketchup.active_model
10
- # materials = model.materials
11
- #
12
- # @version SketchUp 6.0
13
- class Sketchup::Materials < Sketchup::Entity
14
-
15
- # Includes
16
-
17
- include Enumerable
18
-
19
- # Instance Methods
20
-
21
- # The {#[]} method is used to retrieve a material by index or name.
22
- #
23
- # The {#at} method is an alias of {#[]}
24
- #
25
- # @example
26
- # model = Sketchup.active_model
27
- # materials = model.materials
28
- # material = materials[0]
29
- #
30
- # @overload [](index)
31
- #
32
- # @param index [Integer] A number representing the material's index in an array
33
- # of Material objects.
34
- # @return [Sketchup::Material, nil] a Material object on success, Nil on failure
35
- #
36
- # @overload [](name)
37
- #
38
- # @param name [String] The name of the material.
39
- # @return [Sketchup::Material, nil] a Material object on success, Nil on failure
40
- #
41
- # @version SketchUp 6.0
42
- def [](arg)
43
- end
44
-
45
- # Add a new Material. When called with no arguments, this will generate a
46
- # new unique name for the new Material. If a name is given, it will check
47
- # to see if there is already a material with that name. If there is already
48
- # a material with the given name, then a new unique name is generated using
49
- # the given name as a base.
50
- #
51
- # @example
52
- # model = Sketchup.active_model
53
- # materials = model.materials
54
- # material = materials.add('Joe')
55
- #
56
- # @param [String] name
57
- # The name of the new material.
58
- #
59
- # @return [Sketchup::Material] a Material object
60
- #
61
- # @version SketchUp 6.0
62
- def add(name)
63
- end
64
-
65
- # The add_observer method is used to add an observer to the materials
66
- # collection.
67
- #
68
- # @example
69
- # materials = Sketchup.active_model.materials
70
- # status = materials.add_observer(observer)
71
- #
72
- # @param [Object] observer
73
- # An observer.
74
- #
75
- # @return [Boolean] true if successful, false if unsuccessful.
76
- #
77
- # @version SketchUp 6.0
78
- def add_observer(observer)
79
- end
80
-
81
- # The {#[]} method is used to retrieve a material by index or name.
82
- #
83
- # The {#at} method is an alias of {#[]}
84
- #
85
- # @example
86
- # model = Sketchup.active_model
87
- # materials = model.materials
88
- # material = materials[0]
89
- #
90
- # @overload [](index)
91
- #
92
- # @param index [Integer] A number representing the material's index in an array
93
- # of Material objects.
94
- # @return [Sketchup::Material, nil] a Material object on success, Nil on failure
95
- #
96
- # @overload [](name)
97
- #
98
- # @param name [String] The name of the material.
99
- # @return [Sketchup::Material, nil] a Material object on success, Nil on failure
100
- #
101
- # @version SketchUp 6.0
102
- def at(arg)
103
- end
104
-
105
- #
106
- # @example
107
- # materials = Sketchup.active_model.materials
108
- # count = materials.count
109
- #
110
- # @note Since SketchUp 2014 the count method is inherited from Ruby's
111
- # +Enumable+ mix-in module. Prior to that the {#count} method is an alias
112
- # for {#length}.
113
- #
114
- # @return [Integer]
115
- #
116
- # @see #length
117
- #
118
- # @version SketchUp 6.0
119
- def count
120
- end
121
-
122
- # The current method is used to get the current material, i.e. the material
123
- # that the user has selected in the Materials dialog.
124
- #
125
- # @example
126
- # current = Sketchup.active_model.materials.current
127
- #
128
- # @return [Sketchup::Material] a Material object.
129
- #
130
- # @version SketchUp 6.0
131
- def current
132
- end
133
-
134
- # The current= method is used to set the current material.
135
- #
136
- # @example
137
- # # Make the first material in the model "current"
138
- # materials = Sketchup.active_model.materials
139
- # materials.current = materials[0]
140
- #
141
- # @param [Sketchup::Material] material
142
- # A Material object.
143
- #
144
- # @return [Sketchup::Material]
145
- #
146
- # @version SketchUp 6.0
147
- def current=(material)
148
- end
149
-
150
- # The each method is used to iterate through all of the materials.
151
- #
152
- # @example
153
- # model = Sketchup.active_model
154
- # model.materials.each { |material|
155
- # puts material.display_name
156
- # }
157
- #
158
- # @return [nil]
159
- #
160
- # @version SketchUp 6.0
161
- #
162
- # @yield [Sketchup::Material] A variable that will hold each Material object as they
163
- # are found.
164
- def each
165
- end
166
-
167
- # The number of materials in the collection.
168
- #
169
- # @example
170
- # materials = Sketchup.active_model.materials
171
- # number = materials.length
172
- #
173
- # @note The returned number includes {Sketchup::Image} materials as well.
174
- # It will not reflect the number of materials yielded by {#each}. To get
175
- # the number of non-image materials use {#count} or +materials.to_a.size+.
176
- #
177
- # @return [Integer]
178
- #
179
- # @see #size
180
- #
181
- # @version SketchUp 6.0
182
- def length
183
- end
184
-
185
- # The {#load} method is used to load a material from file into the model.
186
- #
187
- # If a matching material exist in the model that will be returned instead.
188
- #
189
- # @example
190
- # # Load a material from the shipped SketchUp library. (SketchUp 2016)
191
- # filename = 'Materials/Brick, Cladding and Siding/Cinder Block.skm'
192
- # path = Sketchup.find_support_file(filename)
193
- # materials = Sketchup.active_model.materials
194
- # material = materials.load(path)
195
- #
196
- # @param [String] filename
197
- # the path to the SKM file to load.
198
- #
199
- # @raise [RuntimeError] if the material failed to load.
200
- #
201
- # @return [Sketchup::Material] the new loaded material, or existing material.
202
- #
203
- # @version SketchUp 2017
204
- def load(filename)
205
- end
206
-
207
- # The purge_unused method is used to remove unused materials.
208
- #
209
- # @example
210
- # materials = Sketchup.active_model.materials
211
- # materials.purge_unused
212
- #
213
- # @return [Sketchup::Materials] The Materials object.
214
- #
215
- # @version SketchUp 6.0
216
- def purge_unused
217
- end
218
-
219
- # Remove a given material.
220
- #
221
- # NOTE: On SketchUp versions prior to 2014 there is a bug in this method that
222
- # could potentially lead to file corruption. If you call Materials.remove on a
223
- # material that is painted onto any entity in the active model (e.g. faces,
224
- # edges, groups, ...), then calling this method will not successfully unpaint
225
- # the entity and remove the material from the model.
226
- # You must first unpaint all of the entities that respond to .material
227
- # and .back_material before calling Materials.remove.
228
- #
229
- # @example
230
- # if entity.respond_to?(:material) do
231
- # if entity.material.equal?(material_to_remove) do
232
- # entity.material = nil
233
- # end
234
- # end
235
- # # for entities that have a back material
236
- # if entity.respond_to?(:back_material) do
237
- # if entity.back_material.equal?(material_to_remove) do
238
- # entity.back_material = nil
239
- # end
240
- # end
241
- #
242
- # @example
243
- # model = Sketchup.active_model
244
- # materials = model.materials
245
- # material = materials.add('Joe')
246
- # materials.remove(material)
247
- #
248
- # @param [Sketchup::Material] material
249
- # The material to remove.
250
- #
251
- # @return [Boolean] true if successful, false if unsuccessful.
252
- #
253
- # @version SketchUp 8.0 M1
254
- def remove(material)
255
- end
256
-
257
- # The remove_observer method is used to remove an observer from the materials
258
- # collection.
259
- #
260
- # @example
261
- # materials = Sketchup.active_model.materials
262
- # status = materials.remove_observer(observer)
263
- #
264
- # @param [Object] observer
265
- # An observer.
266
- #
267
- # @return [Boolean] true if successful, false if unsuccessful.
268
- #
269
- # @version SketchUp 6.0
270
- def remove_observer(observer)
271
- end
272
-
273
- # The number of materials in the collection.
274
- #
275
- # The {#size} method is an alias for {#length}.
276
- #
277
- # @example
278
- # materials = Sketchup.active_model.materials
279
- # number = materials.size
280
- #
281
- # @note The returned number includes {Sketchup::Image} materials as well.
282
- # It will not reflect the number of materials yielded by {#each}. To get
283
- # the number of non-image materials use {#count} or +materials.to_a.size+.
284
- #
285
- # @return [Integer]
286
- #
287
- # @see #length
288
- #
289
- # @version SketchUp 2014
290
- def size
291
- end
292
-
293
- # The {#unique_name} method is used to retrieve a unique name from the
294
- # materials collection that is based on the provided one. If provided name is
295
- # unique it will be returned, otherwise any trailing indices will be replaced
296
- # by a new index.
297
- #
298
- # @example
299
- # materials = Sketchup.active_model.materials
300
- # unique_name = materials.unique_name("test_name")
301
- #
302
- # @param [String] name
303
- # the suggested name.
304
- #
305
- # @return [String] a unique name.
306
- #
307
- # @version SketchUp 2018
308
- def unique_name(name)
309
- end
310
-
311
- end
1
+ # Copyright:: Copyright 2020 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # A collection of Materials objects. Each model contains a Materials collection
5
+ # that can be accessed via Model.materials.
6
+ #
7
+ # @example
8
+ # # Get a handle to all the materials in the current model.
9
+ # model = Sketchup.active_model
10
+ # materials = model.materials
11
+ #
12
+ # @version SketchUp 6.0
13
+ class Sketchup::Materials < Sketchup::Entity
14
+
15
+ # Includes
16
+
17
+ include Enumerable
18
+
19
+ # Instance Methods
20
+
21
+ # The {#[]} method is used to retrieve a material by index or name.
22
+ #
23
+ # The {#at} method is an alias of {#[]}
24
+ #
25
+ # @example
26
+ # model = Sketchup.active_model
27
+ # materials = model.materials
28
+ # material = materials[0]
29
+ #
30
+ # @overload [](index)
31
+ #
32
+ # @param index [Integer] A number representing the material's index in an array
33
+ # of Material objects.
34
+ # @return [Sketchup::Material, nil] a Material object on success, Nil on failure
35
+ #
36
+ # @overload [](name)
37
+ #
38
+ # @param name [String] The name of the material.
39
+ # @return [Sketchup::Material, nil] a Material object on success, Nil on failure
40
+ #
41
+ # @version SketchUp 6.0
42
+ def [](arg)
43
+ end
44
+
45
+ # Add a new Material. When called with no arguments, this will generate a
46
+ # new unique name for the new Material. If a name is given, it will check
47
+ # to see if there is already a material with that name. If there is already
48
+ # a material with the given name, then a new unique name is generated using
49
+ # the given name as a base.
50
+ #
51
+ # @example
52
+ # model = Sketchup.active_model
53
+ # materials = model.materials
54
+ # material = materials.add('Joe')
55
+ #
56
+ # @param [String] name
57
+ # The name of the new material.
58
+ #
59
+ # @return [Sketchup::Material] a Material object
60
+ #
61
+ # @version SketchUp 6.0
62
+ def add(name)
63
+ end
64
+
65
+ # The add_observer method is used to add an observer to the materials
66
+ # collection.
67
+ #
68
+ # @example
69
+ # materials = Sketchup.active_model.materials
70
+ # status = materials.add_observer(observer)
71
+ #
72
+ # @param [Object] observer
73
+ # An observer.
74
+ #
75
+ # @return [Boolean] true if successful, false if unsuccessful.
76
+ #
77
+ # @version SketchUp 6.0
78
+ def add_observer(observer)
79
+ end
80
+
81
+ # The {#[]} method is used to retrieve a material by index or name.
82
+ #
83
+ # The {#at} method is an alias of {#[]}
84
+ #
85
+ # @example
86
+ # model = Sketchup.active_model
87
+ # materials = model.materials
88
+ # material = materials[0]
89
+ #
90
+ # @overload [](index)
91
+ #
92
+ # @param index [Integer] A number representing the material's index in an array
93
+ # of Material objects.
94
+ # @return [Sketchup::Material, nil] a Material object on success, Nil on failure
95
+ #
96
+ # @overload [](name)
97
+ #
98
+ # @param name [String] The name of the material.
99
+ # @return [Sketchup::Material, nil] a Material object on success, Nil on failure
100
+ #
101
+ # @version SketchUp 6.0
102
+ def at(arg)
103
+ end
104
+
105
+ #
106
+ # @example
107
+ # materials = Sketchup.active_model.materials
108
+ # count = materials.count
109
+ #
110
+ # @note Since SketchUp 2014 the count method is inherited from Ruby's
111
+ # +Enumable+ mix-in module. Prior to that the {#count} method is an alias
112
+ # for {#length}.
113
+ #
114
+ # @return [Integer]
115
+ #
116
+ # @see #length
117
+ #
118
+ # @version SketchUp 6.0
119
+ def count
120
+ end
121
+
122
+ # The current method is used to get the current material, i.e. the material
123
+ # that the user has selected in the Materials dialog.
124
+ #
125
+ # @example
126
+ # current = Sketchup.active_model.materials.current
127
+ #
128
+ # @return [Sketchup::Material] a Material object.
129
+ #
130
+ # @version SketchUp 6.0
131
+ def current
132
+ end
133
+
134
+ # The current= method is used to set the current material.
135
+ #
136
+ # @example
137
+ # # Make the first material in the model "current"
138
+ # materials = Sketchup.active_model.materials
139
+ # materials.current = materials[0]
140
+ #
141
+ # @param [Sketchup::Material] material
142
+ # A Material object.
143
+ #
144
+ # @return [Sketchup::Material]
145
+ #
146
+ # @version SketchUp 6.0
147
+ def current=(material)
148
+ end
149
+
150
+ # The each method is used to iterate through all of the materials.
151
+ #
152
+ # @example
153
+ # model = Sketchup.active_model
154
+ # model.materials.each { |material|
155
+ # puts material.display_name
156
+ # }
157
+ #
158
+ # @return [nil]
159
+ #
160
+ # @version SketchUp 6.0
161
+ #
162
+ # @yield [Sketchup::Material] A variable that will hold each Material object as they
163
+ # are found.
164
+ def each
165
+ end
166
+
167
+ # The number of materials in the collection.
168
+ #
169
+ # @example
170
+ # materials = Sketchup.active_model.materials
171
+ # number = materials.length
172
+ #
173
+ # @note The returned number includes {Sketchup::Image} materials as well.
174
+ # It will not reflect the number of materials yielded by {#each}. To get
175
+ # the number of non-image materials use {#count} or +materials.to_a.size+.
176
+ #
177
+ # @return [Integer]
178
+ #
179
+ # @see #size
180
+ #
181
+ # @version SketchUp 6.0
182
+ def length
183
+ end
184
+
185
+ # The {#load} method is used to load a material from file into the model.
186
+ #
187
+ # If a matching material exist in the model that will be returned instead.
188
+ #
189
+ # @example
190
+ # # Load a material from the shipped SketchUp library. (SketchUp 2016)
191
+ # filename = 'Materials/Brick, Cladding and Siding/Cinder Block.skm'
192
+ # path = Sketchup.find_support_file(filename)
193
+ # materials = Sketchup.active_model.materials
194
+ # material = materials.load(path)
195
+ #
196
+ # @param [String] filename
197
+ # the path to the SKM file to load.
198
+ #
199
+ # @raise [RuntimeError] if the material failed to load.
200
+ #
201
+ # @return [Sketchup::Material] the new loaded material, or existing material.
202
+ #
203
+ # @version SketchUp 2017
204
+ def load(filename)
205
+ end
206
+
207
+ # The purge_unused method is used to remove unused materials.
208
+ #
209
+ # @example
210
+ # materials = Sketchup.active_model.materials
211
+ # materials.purge_unused
212
+ #
213
+ # @return [Sketchup::Materials] The Materials object.
214
+ #
215
+ # @version SketchUp 6.0
216
+ def purge_unused
217
+ end
218
+
219
+ # Remove a given material.
220
+ #
221
+ # NOTE: On SketchUp versions prior to 2014 there is a bug in this method that
222
+ # could potentially lead to file corruption. If you call Materials.remove on a
223
+ # material that is painted onto any entity in the active model (e.g. faces,
224
+ # edges, groups, ...), then calling this method will not successfully unpaint
225
+ # the entity and remove the material from the model.
226
+ # You must first unpaint all of the entities that respond to .material
227
+ # and .back_material before calling Materials.remove.
228
+ #
229
+ # @example
230
+ # if entity.respond_to?(:material) do
231
+ # if entity.material.equal?(material_to_remove) do
232
+ # entity.material = nil
233
+ # end
234
+ # end
235
+ # # for entities that have a back material
236
+ # if entity.respond_to?(:back_material) do
237
+ # if entity.back_material.equal?(material_to_remove) do
238
+ # entity.back_material = nil
239
+ # end
240
+ # end
241
+ #
242
+ # @example
243
+ # model = Sketchup.active_model
244
+ # materials = model.materials
245
+ # material = materials.add('Joe')
246
+ # materials.remove(material)
247
+ #
248
+ # @param [Sketchup::Material] material
249
+ # The material to remove.
250
+ #
251
+ # @return [Boolean] true if successful, false if unsuccessful.
252
+ #
253
+ # @version SketchUp 8.0 M1
254
+ def remove(material)
255
+ end
256
+
257
+ # The remove_observer method is used to remove an observer from the materials
258
+ # collection.
259
+ #
260
+ # @example
261
+ # materials = Sketchup.active_model.materials
262
+ # status = materials.remove_observer(observer)
263
+ #
264
+ # @param [Object] observer
265
+ # An observer.
266
+ #
267
+ # @return [Boolean] true if successful, false if unsuccessful.
268
+ #
269
+ # @version SketchUp 6.0
270
+ def remove_observer(observer)
271
+ end
272
+
273
+ # The number of materials in the collection.
274
+ #
275
+ # The {#size} method is an alias for {#length}.
276
+ #
277
+ # @example
278
+ # materials = Sketchup.active_model.materials
279
+ # number = materials.size
280
+ #
281
+ # @note The returned number includes {Sketchup::Image} materials as well.
282
+ # It will not reflect the number of materials yielded by {#each}. To get
283
+ # the number of non-image materials use {#count} or +materials.to_a.size+.
284
+ #
285
+ # @return [Integer]
286
+ #
287
+ # @see #length
288
+ #
289
+ # @version SketchUp 2014
290
+ def size
291
+ end
292
+
293
+ # The {#unique_name} method is used to retrieve a unique name from the
294
+ # materials collection that is based on the provided one. If provided name is
295
+ # unique it will be returned, otherwise any trailing indices will be replaced
296
+ # by a new index.
297
+ #
298
+ # @example
299
+ # materials = Sketchup.active_model.materials
300
+ # unique_name = materials.unique_name("test_name")
301
+ #
302
+ # @param [String] name
303
+ # the suggested name.
304
+ #
305
+ # @return [String] a unique name.
306
+ #
307
+ # @version SketchUp 2018
308
+ def unique_name(name)
309
+ end
310
+
311
+ end