sketchup-api-stubs 0.7.4 → 0.7.5

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 (150) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs.rb +1 -1
  3. data/lib/sketchup-api-stubs/sketchup.rb +147 -145
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -318
  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 +498 -492
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -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 +691 -691
  16. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  17. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +573 -573
  18. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +411 -411
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +179 -174
  20. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  21. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +515 -514
  22. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  23. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -143
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
  25. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -349
  26. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  27. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  28. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  29. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -371
  30. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  31. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  32. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -220
  33. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
  34. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  36. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
  37. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
  38. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -204
  39. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
  40. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  41. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +694 -694
  42. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  43. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  44. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  45. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  47. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -140
  48. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +157 -157
  49. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  50. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +286 -281
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -328
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -577
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -281
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +577 -562
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +604 -593
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -194
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +362 -329
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -72
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -102
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -312
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -38
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +396 -390
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +502 -508
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1126 -1119
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -125
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -544
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -59
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +126 -125
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +751 -750
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +699 -697
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +285 -285
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +417 -409
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -226
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -190
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +405 -393
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -82
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -303
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +327 -285
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -244
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -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 -112
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -416
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +318 -311
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -141
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -95
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1651 -1638
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -356
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +131 -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 +797 -770
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +363 -353
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -76
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -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 +45 -44
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +459 -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 +59 -57
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -211
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -225
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +835 -829
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -154
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +71 -61
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1307 -1301
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -43
  135. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +317 -310
  136. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +387 -356
  137. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +255 -229
  138. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
  139. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -633
  140. data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
  141. data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
  142. data/lib/sketchup-api-stubs/stubs/geom.rb +351 -348
  143. data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
  144. data/lib/sketchup-api-stubs/stubs/length.rb +278 -278
  145. data/lib/sketchup-api-stubs/stubs/numeric.rb +249 -249
  146. data/lib/sketchup-api-stubs/stubs/sketchup.rb +1342 -1310
  147. data/lib/sketchup-api-stubs/stubs/sketchupextension.rb +353 -353
  148. data/lib/sketchup-api-stubs/stubs/string.rb +24 -24
  149. data/lib/sketchup-api-stubs/stubs/ui.rb +668 -667
  150. metadata +4 -2
@@ -1,329 +1,362 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # A DefinitionList object holds a list of all of the ComponentDefinition
5
- # objects in a model. This class contains methods for adding and retrieving
6
- # definitions from the list.
7
- #
8
- # @version SketchUp 6.0
9
- class Sketchup::DefinitionList < Sketchup::Entity
10
-
11
- # Includes
12
-
13
- include Enumerable
14
-
15
- # Instance Methods
16
-
17
- # The [] method is used to retrieve a component definition from the list. You
18
- # can give an integer index in the range 0 to length, a string which
19
- # represents the GUID (a unique internal identifier), or a string that is
20
- # the name of the definition.
21
- #
22
- # @example
23
- # path=Sketchup.find_support_file "Bed.skp",
24
- # "Components/Components Sampler/"
25
- # model = Sketchup.active_model
26
- # definitions = model.definitions
27
- # componentdefinition = definitions.load path
28
- # component = definitions[0]
29
- #
30
- # @overload [](index)
31
- #
32
- # @param [Integer] index The index for a specific component definition.
33
- # @return [Sketchup::ComponentDefinition, nil]
34
- #
35
- # @overload [](name)
36
- #
37
- # @param [String] name The unique GUID for the component definition.
38
- # @return [Sketchup::ComponentDefinition, nil]
39
- #
40
- # @overload [](guid)
41
- #
42
- # @param [String] guid The name of an existing component definition.
43
- # @return [Sketchup::ComponentDefinition, nil]
44
- #
45
- # @version SketchUp 6.0
46
- def [](arg)
47
- end
48
-
49
- # The add method is used to add a new component definition to the definition
50
- # list with the given name.
51
- #
52
- # @example
53
- # model = Sketchup.active_model
54
- # definitions = model.definitions
55
- # componentdefinition = definitions.add "BedTraditional"
56
- # component = definitions[0]
57
- #
58
- # @param [String] def_name
59
- # The new component definition to add to the definition
60
- # list.
61
- #
62
- # @return [Sketchup::ComponentDefinition] the ComponentDefinition object
63
- # that was added (if successful)
64
- #
65
- # @version SketchUp 6.0
66
- def add(def_name)
67
- end
68
-
69
- # The add_observer method is used to add an observer to the current object.
70
- #
71
- # @example
72
- # definitions = Sketchup.active_model.definitions
73
- # status = definitions.add_observer observer
74
- #
75
- # @param [Object] observer
76
- # An observer.
77
- #
78
- # @return [Boolean] true if successful, false if unsuccessful.
79
- #
80
- # @version SketchUp 6.0
81
- def add_observer(observer)
82
- end
83
-
84
- # The [] method is used to retrieve a component definition from the list. You
85
- # can give an integer index in the range 0 to length, a string which
86
- # represents the GUID (a unique internal identifier), or a string that is
87
- # the name of the definition.
88
- #
89
- # @example
90
- # path=Sketchup.find_support_file "Bed.skp",
91
- # "Components/Components Sampler/"
92
- # model = Sketchup.active_model
93
- # definitions = model.definitions
94
- # componentdefinition = definitions.load path
95
- # component = definitions[0]
96
- #
97
- # @overload [](index)
98
- #
99
- # @param [Integer] index The index for a specific component definition.
100
- # @return [Sketchup::ComponentDefinition, nil]
101
- #
102
- # @overload [](name)
103
- #
104
- # @param [String] name The unique GUID for the component definition.
105
- # @return [Sketchup::ComponentDefinition, nil]
106
- #
107
- # @overload [](guid)
108
- #
109
- # @param [String] guid The name of an existing component definition.
110
- # @return [Sketchup::ComponentDefinition, nil]
111
- #
112
- # @version SketchUp 6.0
113
- def at(arg)
114
- end
115
-
116
- #
117
- # @example
118
- # model = Sketchup.active_model
119
- # definitions = model.definitions
120
- # number = definitions.count
121
- #
122
- # @note Since SketchUp 2014 the count method is inherited from Ruby's
123
- # +Enumable+ mix-in module. Prior to that the {#count} method is an alias
124
- # for {#length}.
125
- #
126
- # @return [Integer]
127
- #
128
- # @see #length
129
- #
130
- # @version SketchUp 6.0
131
- def count
132
- end
133
-
134
- # The each method is used to iterate through all of the component definitions
135
- # in the definition list.
136
- #
137
- # Throws an exception if there are no component definitions.
138
- #
139
- # @example
140
- # model = Sketchup.active_model
141
- # definitions = model.definitions
142
- # definitions.add("BedTraditional")
143
- # number = definitions.each { |definition| puts definition.name }
144
- #
145
- # @return [nil]
146
- #
147
- # @version SketchUp 6.0
148
- #
149
- # @yield [Sketchup::ComponentDefinition] definition
150
- def each
151
- end
152
-
153
- # The {#length} method is used to retrieve number of component definitions in
154
- # the list.
155
- #
156
- # @example
157
- # model = Sketchup.active_model
158
- # definitions = model.definitions
159
- # number = definitions.length
160
- #
161
- # @return [Integer]
162
- #
163
- # @see #size
164
- #
165
- # @version SketchUp 6.0
166
- def length
167
- end
168
-
169
- # The load method is used to load a component from a file.
170
- #
171
- # @example
172
- # path=Sketchup.find_support_file "Bed.skp",
173
- # "Components/Components Sampler/"
174
- # model = Sketchup.active_model
175
- # definitions = model.definitions
176
- # componentdefinition = definitions.load path
177
- #
178
- # @param [String] path
179
- # The path where the component definition file is located.
180
- #
181
- # @raise RuntimeError If filename is an invalid SketchUp model. Added in
182
- # SketchUp 2019. Possible that prior versions of SketchUp will crash.
183
- #
184
- # @return [Sketchup::ComponentDefinition] the loaded ComponentDefinition
185
- # object if successful
186
- #
187
- # @version SketchUp 6.0
188
- def load(path)
189
- end
190
-
191
- # The load_from_url method loads a component from a location specified by
192
- # string url. This method throws an exception if an url string is not
193
- # given, or an error occurs during retrieval from url and a
194
- # load_handler was not given. Optional second parameter load_handler can be
195
- # used to pass in a ruby object that responds to the following methods:
196
- #
197
- # - cancelled?(a_boolean)
198
- # - onPercentChange(a_float)
199
- # - onSuccess()
200
- # - onFailure(message_string)
201
- #
202
- # @example
203
- # class LoadHandler
204
- #
205
- # attr :error
206
- #
207
- # def onPercentChange(percent)
208
- # Sketchup::set_status_text("LOADING: #{percent}%")
209
- # end
210
- #
211
- # def cancelled?
212
- # # You could, for example, show a messagebox after X seconds asking if the
213
- # # user wants to cancel the download. If this method returns true, then
214
- # # the download cancels.
215
- # return false
216
- # end
217
- #
218
- # def onSuccess
219
- # Sketchup::set_status_text('')
220
- # end
221
- #
222
- # def onFailure(error_message)
223
- # self.error = error_message
224
- # Sketchup::set_status_text('')
225
- # end
226
- #
227
- # end
228
- #
229
- # # Replace this with a real URL...
230
- # url = 'http://www.sketchup.com/model.skp'
231
- # model = Sketchup.active_model
232
- # definition = model.definitions.load_from_url(url, load_handler)
233
- #
234
- # if definition.nil?
235
- # puts "Error: #{load_handler.error}"
236
- # end
237
- #
238
- # @param [String] url
239
- # URL to load a .skp file from.
240
- #
241
- # @param [Object] load_handler
242
- # Ruby object that has methods defined
243
- # as described in the load_from_url details.
244
- #
245
- # @return [Sketchup::ComponentDefinition] the loaded ComponentDefinition
246
- # object if successful
247
- #
248
- # @version SketchUp 7.0
249
- def load_from_url(url, load_handler = nil)
250
- end
251
-
252
- # The purge_unused method is used to remove the unused component definitions.
253
- #
254
- # @example
255
- # definitions = Sketchup.active_model.definitions
256
- # definitions.purge_unused
257
- #
258
- # @return [Sketchup::DefinitionList]
259
- #
260
- # @version SketchUp 6.0
261
- def purge_unused
262
- end
263
-
264
- # The {#remove} method is used to remove a component definition from the
265
- # definition list with the given component definition. This will remove all
266
- # instances of the definition.
267
- #
268
- # @example
269
- # model = Sketchup.active_model
270
- # definitions = model.definitions
271
- # definition = definitions[0]
272
- # definitions.remove(definition)
273
- #
274
- # @param [Sketchup::ComponentDefinition] definition
275
- #
276
- # @return [Boolean]
277
- #
278
- # @version SketchUp 2018
279
- def remove(definition)
280
- end
281
-
282
- # The remove_observer method is used to remove an observer from the current
283
- # object.
284
- #
285
- # @example
286
- # definitions = Sketchup.active_model.definitions
287
- # status = definitions.remove_observer observer
288
- #
289
- # @param [Object] observer
290
- # An observer.
291
- #
292
- # @return [Boolean] true if successful, false if unsuccessful.
293
- #
294
- # @version SketchUp 6.0
295
- def remove_observer(observer)
296
- end
297
-
298
- # The {#size} method is an alias for {#length}.
299
- #
300
- # @example
301
- # model = Sketchup.active_model
302
- # definitions = model.definitions
303
- # number = definitions.size
304
- #
305
- # @return [Integer]
306
- #
307
- # @see #length
308
- #
309
- # @version SketchUp 2014
310
- def size
311
- end
312
-
313
- # The unique_name is used to generate a unique name for a definition based on
314
- # a base_name string. For example, a base_name of "Joe" might return "Joe #2"
315
- #
316
- # @example
317
- # model = Sketchup.active_model
318
- # definitions = model.definitions
319
- # new_name = definitions.unique_name "My Base Name"
320
- #
321
- # @param [String] base_name
322
- #
323
- # @return [String] the unique name.
324
- #
325
- # @version SketchUp 6.0
326
- def unique_name(base_name)
327
- end
328
-
329
- end
1
+ # Copyright:: Copyright 2020 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # A DefinitionList object holds a list of all of the ComponentDefinition
5
+ # objects in a model. This class contains methods for adding and retrieving
6
+ # definitions from the list.
7
+ #
8
+ # @version SketchUp 6.0
9
+ class Sketchup::DefinitionList < Sketchup::Entity
10
+
11
+ # Includes
12
+
13
+ include Enumerable
14
+
15
+ # Instance Methods
16
+
17
+ # The [] method is used to retrieve a component definition from the list. You
18
+ # can give an integer index in the range 0 to length, a string which
19
+ # represents the GUID (a unique internal identifier), or a string that is
20
+ # the name of the definition.
21
+ #
22
+ # @example
23
+ # path=Sketchup.find_support_file "Bed.skp",
24
+ # "Components/Components Sampler/"
25
+ # model = Sketchup.active_model
26
+ # definitions = model.definitions
27
+ # componentdefinition = definitions.load path
28
+ # component = definitions[0]
29
+ #
30
+ # @overload [](index)
31
+ #
32
+ # @param [Integer] index The index for a specific component definition.
33
+ # @return [Sketchup::ComponentDefinition, nil]
34
+ #
35
+ # @overload [](name)
36
+ #
37
+ # @param [String] name The unique GUID for the component definition.
38
+ # @return [Sketchup::ComponentDefinition, nil]
39
+ #
40
+ # @overload [](guid)
41
+ #
42
+ # @param [String] guid The name of an existing component definition.
43
+ # @return [Sketchup::ComponentDefinition, nil]
44
+ #
45
+ # @version SketchUp 6.0
46
+ def [](arg)
47
+ end
48
+
49
+ # The add method is used to add a new component definition to the definition
50
+ # list with the given name.
51
+ #
52
+ # @example
53
+ # model = Sketchup.active_model
54
+ # definitions = model.definitions
55
+ # componentdefinition = definitions.add "BedTraditional"
56
+ # component = definitions[0]
57
+ #
58
+ # @param [String] def_name
59
+ # The new component definition to add to the definition
60
+ # list.
61
+ #
62
+ # @return [Sketchup::ComponentDefinition] the ComponentDefinition object
63
+ # that was added (if successful)
64
+ #
65
+ # @version SketchUp 6.0
66
+ def add(def_name)
67
+ end
68
+
69
+ # The add_observer method is used to add an observer to the current object.
70
+ #
71
+ # @example
72
+ # definitions = Sketchup.active_model.definitions
73
+ # status = definitions.add_observer observer
74
+ #
75
+ # @param [Object] observer
76
+ # An observer.
77
+ #
78
+ # @return [Boolean] true if successful, false if unsuccessful.
79
+ #
80
+ # @version SketchUp 6.0
81
+ def add_observer(observer)
82
+ end
83
+
84
+ # The [] method is used to retrieve a component definition from the list. You
85
+ # can give an integer index in the range 0 to length, a string which
86
+ # represents the GUID (a unique internal identifier), or a string that is
87
+ # the name of the definition.
88
+ #
89
+ # @example
90
+ # path=Sketchup.find_support_file "Bed.skp",
91
+ # "Components/Components Sampler/"
92
+ # model = Sketchup.active_model
93
+ # definitions = model.definitions
94
+ # componentdefinition = definitions.load path
95
+ # component = definitions[0]
96
+ #
97
+ # @overload [](index)
98
+ #
99
+ # @param [Integer] index The index for a specific component definition.
100
+ # @return [Sketchup::ComponentDefinition, nil]
101
+ #
102
+ # @overload [](name)
103
+ #
104
+ # @param [String] name The unique GUID for the component definition.
105
+ # @return [Sketchup::ComponentDefinition, nil]
106
+ #
107
+ # @overload [](guid)
108
+ #
109
+ # @param [String] guid The name of an existing component definition.
110
+ # @return [Sketchup::ComponentDefinition, nil]
111
+ #
112
+ # @version SketchUp 6.0
113
+ def at(arg)
114
+ end
115
+
116
+ #
117
+ # @example
118
+ # model = Sketchup.active_model
119
+ # definitions = model.definitions
120
+ # number = definitions.count
121
+ #
122
+ # @note Since SketchUp 2014 the count method is inherited from Ruby's
123
+ # +Enumable+ mix-in module. Prior to that the {#count} method is an alias
124
+ # for {#length}.
125
+ #
126
+ # @return [Integer]
127
+ #
128
+ # @see #length
129
+ #
130
+ # @version SketchUp 6.0
131
+ def count
132
+ end
133
+
134
+ # The {#each} method is used to iterate through all of the component
135
+ # definitions in the definition list.
136
+ #
137
+ # @example
138
+ # model = Sketchup.active_model
139
+ # definitions = model.definitions
140
+ # definitions.add("BedTraditional")
141
+ # number = definitions.each { |definition| puts definition.name }
142
+ #
143
+ # @note Don't remove content from this collection while iterating over it with
144
+ # {#each}. This would change the size of the collection and cause elements to
145
+ # be skipped as the indices change. Instead copy the current collection to an
146
+ # array using +to_a+ and then use +each+ on the array, when removing content.
147
+ #
148
+ # @return [nil]
149
+ #
150
+ # @version SketchUp 6.0
151
+ #
152
+ # @yield [Sketchup::ComponentDefinition] definition
153
+ def each
154
+ end
155
+
156
+ # The {#length} method is used to retrieve number of component definitions in
157
+ # the list.
158
+ #
159
+ # @example
160
+ # model = Sketchup.active_model
161
+ # definitions = model.definitions
162
+ # number = definitions.length
163
+ #
164
+ # @return [Integer]
165
+ #
166
+ # @see #size
167
+ #
168
+ # @version SketchUp 6.0
169
+ def length
170
+ end
171
+
172
+ # The {#load} method is used to load a component from a file.
173
+ #
174
+ # @bug In SketchUp versions prior to SketchUp 2019 the application would crash
175
+ # if you tried to open a newer model instead of raising the expected
176
+ # +RuntimeError+.
177
+ #
178
+ # @example
179
+ # path = Sketchup.find_support_file("Bed.skp",
180
+ # "Components/Components Sampler/")
181
+ # model = Sketchup.active_model
182
+ # definitions = model.definitions
183
+ # definition = definitions.load(path)
184
+ #
185
+ # @overload load(path)
186
+ #
187
+ # @param [String] path
188
+ # The path where the component definition file is located.
189
+ #
190
+ # @overload load(path, allow_newer: true)
191
+ #
192
+ # Starting with SketchUp 2021.0 SketchUp attempts to load newer SketchUp
193
+ # models. If a newer model is loaded some information might have been skipped
194
+ # and extensions should be careful to not save over the file they loaded from
195
+ # as information might be lost.
196
+ #
197
+ # @version SketchUp 2021.0
198
+ # @param [String] path
199
+ # The path where the component definition file is located.
200
+ # @param [Boolean] allow_newer
201
+ # Indicate that it is ok to load a model with of a newer version.
202
+ #
203
+ # @raise IOError If the file is not a valid SketchUp model.
204
+ #
205
+ # @raise RuntimeError If the file is the same as the model being loaded into.
206
+ #
207
+ # @raise IOError If the file is an empty component.
208
+ #
209
+ # @raise RuntimeError If the file contains only screen text.
210
+ #
211
+ # @raise RuntimeError If the file is of a newer file version that the executing
212
+ # SketchUp version cannot open.
213
+ #
214
+ # @return [Sketchup::ComponentDefinition] the loaded ComponentDefinition
215
+ #
216
+ # @version SketchUp 6.0
217
+ def load(*args)
218
+ end
219
+
220
+ # The {#load_from_url} method loads a component from a location specified by
221
+ # string url. This method throws an exception if an url string is not
222
+ # given, or an error occurs during retrieval from url and a
223
+ # load_handler was not given. Optional second parameter load_handler can be
224
+ # used to pass in a ruby object that responds to the following methods:
225
+ #
226
+ # - cancelled?(a_boolean)
227
+ # - onPercentChange(a_float)
228
+ # - onSuccess()
229
+ # - onFailure(message_string)
230
+ #
231
+ # @example
232
+ # class LoadHandler
233
+ # attr_accessor :error
234
+ #
235
+ # def onPercentChange(percent)
236
+ # Sketchup::set_status_text("loading: #{percent.round}%")
237
+ # end
238
+ #
239
+ # def cancelled?
240
+ # # You could, for example, show a messagebox after X seconds asking if the
241
+ # # user wants to cancel the download. If this method returns true, then
242
+ # # the download cancels.
243
+ # return false
244
+ # end
245
+ #
246
+ # def onSuccess
247
+ # Sketchup::set_status_text('')
248
+ # end
249
+ #
250
+ # def onFailure(error_message)
251
+ # self.error = error_message
252
+ # Sketchup::set_status_text('')
253
+ # end
254
+ # end
255
+ #
256
+ # # Replace this with a real URL...
257
+ # url = 'http://www.sketchup.com/model.skp'
258
+ # model = Sketchup.active_model
259
+ # load_handler = LoadHandler.new
260
+ # definition = model.definitions.load_from_url(url, load_handler)
261
+ #
262
+ # if definition.nil?
263
+ # puts "Error: #{load_handler.error}"
264
+ # end
265
+ #
266
+ # @overload load_from_url(url)
267
+ #
268
+ # @param [String] url
269
+ # URL to load a .skp file from.
270
+ #
271
+ # @overload load_from_url(url, load_handler)
272
+ #
273
+ # @param [String] url
274
+ # URL to load a .skp file from.
275
+ # @param [Object] load_handler
276
+ # Ruby object that has methods defined
277
+ # as described in the load_from_url details.
278
+ #
279
+ # @return [Sketchup::ComponentDefinition]
280
+ #
281
+ # @version SketchUp 7.0
282
+ def load_from_url(*args)
283
+ end
284
+
285
+ # The purge_unused method is used to remove the unused component definitions.
286
+ #
287
+ # @example
288
+ # definitions = Sketchup.active_model.definitions
289
+ # definitions.purge_unused
290
+ #
291
+ # @return [Sketchup::DefinitionList]
292
+ #
293
+ # @version SketchUp 6.0
294
+ def purge_unused
295
+ end
296
+
297
+ # The {#remove} method is used to remove a component definition from the
298
+ # definition list with the given component definition. This will remove all
299
+ # instances of the definition.
300
+ #
301
+ # @example
302
+ # model = Sketchup.active_model
303
+ # definitions = model.definitions
304
+ # definition = definitions[0]
305
+ # definitions.remove(definition)
306
+ #
307
+ # @param [Sketchup::ComponentDefinition] definition
308
+ #
309
+ # @return [Boolean]
310
+ #
311
+ # @version SketchUp 2018
312
+ def remove(definition)
313
+ end
314
+
315
+ # The remove_observer method is used to remove an observer from the current
316
+ # object.
317
+ #
318
+ # @example
319
+ # definitions = Sketchup.active_model.definitions
320
+ # status = definitions.remove_observer observer
321
+ #
322
+ # @param [Object] observer
323
+ # An observer.
324
+ #
325
+ # @return [Boolean] true if successful, false if unsuccessful.
326
+ #
327
+ # @version SketchUp 6.0
328
+ def remove_observer(observer)
329
+ end
330
+
331
+ # The {#size} method is an alias for {#length}.
332
+ #
333
+ # @example
334
+ # model = Sketchup.active_model
335
+ # definitions = model.definitions
336
+ # number = definitions.size
337
+ #
338
+ # @return [Integer]
339
+ #
340
+ # @see #length
341
+ #
342
+ # @version SketchUp 2014
343
+ def size
344
+ end
345
+
346
+ # The unique_name is used to generate a unique name for a definition based on
347
+ # a base_name string. For example, a base_name of "Joe" might return "Joe #2"
348
+ #
349
+ # @example
350
+ # model = Sketchup.active_model
351
+ # definitions = model.definitions
352
+ # new_name = definitions.unique_name "My Base Name"
353
+ #
354
+ # @param [String] base_name
355
+ #
356
+ # @return [String] the unique name.
357
+ #
358
+ # @version SketchUp 6.0
359
+ def unique_name(base_name)
360
+ end
361
+
362
+ end