sketchup-api-stubs 0.7.2 → 0.7.7

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 (149) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +3 -1
  3. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +15 -11
  4. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +5 -5
  5. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +5 -5
  6. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +1 -1
  7. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +5 -6
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +18 -18
  9. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +27 -10
  10. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +1 -1
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +1 -1
  12. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +1 -1
  13. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +2 -3
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +4 -4
  15. data/lib/sketchup-api-stubs/stubs/Layout.rb +1 -1
  16. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +5 -1
  17. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +1 -1
  18. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +7 -14
  19. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +1 -1
  20. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +61 -5
  21. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +1 -1
  22. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +7 -14
  23. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +1 -1
  24. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +1 -1
  25. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +189 -1
  26. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +1 -1
  27. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +9 -4
  28. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +2 -3
  29. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +1 -1
  30. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +1 -1
  31. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +7 -14
  32. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +6 -2
  33. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +1 -1
  34. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +1 -1
  35. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +1 -1
  36. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +1 -1
  37. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +7 -14
  38. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +1 -1
  39. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +1 -1
  40. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +148 -5
  41. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1 -1
  42. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +1 -1
  43. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +1 -1
  44. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +1 -1
  45. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +1 -1
  46. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +5 -1
  47. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +4 -4
  48. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +1 -1
  49. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +3 -3
  50. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +6 -1
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +1 -1
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +32 -58
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +110 -209
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +1 -1
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +1 -1
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +24 -11
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +24 -9
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +58 -57
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +1 -1
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +1 -1
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +1 -1
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +16 -9
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +135 -39
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +6 -4
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +6 -4
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +1 -1
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +3 -9
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +5 -1
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +1 -1
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +10 -4
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +8 -14
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +1 -1
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +55 -26
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +6 -4
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +20 -15
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +6 -5
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +9 -8
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +232 -65
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +1 -1
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +98 -45
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +1 -1
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +48 -41
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +7 -7
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +60 -1
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +47 -7
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +11 -12
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +33 -21
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +6 -4
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +5 -2
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +115 -68
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +225 -29
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +118 -5
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +2 -2
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +1 -1
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +1 -1
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +2 -13
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +1 -1
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +8 -10
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +16 -9
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +6 -5
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +9 -11
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +126 -73
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +5 -4
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +2 -3
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +7 -7
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +4 -4
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +143 -40
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +22 -12
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +6 -5
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +37 -15
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +1 -1
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +1 -1
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +5 -4
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +1 -1
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +10 -5
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +20 -20
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +1 -1
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +5 -5
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +6 -4
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +1 -1
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +9 -3
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +1 -1
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +14 -22
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +1 -1
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +31 -25
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +2 -2
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +6 -4
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +32 -22
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +1 -1
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +73 -67
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +6 -4
  134. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +13 -6
  135. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +132 -10
  136. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +94 -54
  137. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +1 -1
  138. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +3 -3
  139. data/lib/sketchup-api-stubs/stubs/_top_level.rb +3 -1
  140. data/lib/sketchup-api-stubs/stubs/array.rb +1 -1
  141. data/lib/sketchup-api-stubs/stubs/geom.rb +4 -1
  142. data/lib/sketchup-api-stubs/stubs/languagehandler.rb +1 -1
  143. data/lib/sketchup-api-stubs/stubs/length.rb +1 -1
  144. data/lib/sketchup-api-stubs/stubs/numeric.rb +1 -1
  145. data/lib/sketchup-api-stubs/stubs/sketchup.rb +66 -23
  146. data/lib/sketchup-api-stubs/stubs/sketchupextension.rb +1 -1
  147. data/lib/sketchup-api-stubs/stubs/string.rb +1 -1
  148. data/lib/sketchup-api-stubs/stubs/ui.rb +17 -12
  149. metadata +5 -3
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
1
+ # Copyright:: Copyright 2021 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # This observer interface is implemented to react to changes in camera
@@ -1,15 +1,13 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
1
+ # Copyright:: Copyright 2021 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # A Group class contains methods for manipulating groups of entities.
5
5
  #
6
- # Groups in SketchUp are very similar to Components, except that there is no
7
- # instancing of groups. That means that you always will have one and only one
8
- # of each of your groups. (In the actual implementation, SketchUp keeps track
9
- # of groups as a special kind of Component that combines properties of
10
- # definitions and instances, which is why you will see deprecated methods
11
- # like Group.make_unique, and the class of observer you attach to Groups are
12
- # ComponentInstance observers.)
6
+ # Groups in SketchUp are very similar to components, but can from a user point
7
+ # of view be thought of as unique objects. Groups can be instanced when copied
8
+ # but are silently made unique when edited through the GUI. To honor this
9
+ # behavior, make sure to call {#make_unique} before modifying a group through
10
+ # the API.
13
11
  #
14
12
  # @version SketchUp 6.0
15
13
  class Sketchup::Group < Sketchup::Drawingelement
@@ -203,6 +201,57 @@ class Sketchup::Group < Sketchup::Drawingelement
203
201
  def explode
204
202
  end
205
203
 
204
+ # The {#glued_to} method is used to retrieve the entity that this group is
205
+ # glued to.
206
+ #
207
+ # @example
208
+ # point = Geom::Point3d.new(10, 20, 30)
209
+ # transform = Geom::Transformation.new(point)
210
+ # model = Sketchup.active_model
211
+ # entities = model.active_entities
212
+ # group = entities.add_group
213
+ # group.entities.add_face([[0, 0, 0], [10, 0, 0], [10, 10, 0], [0, 10, 0]])
214
+ # status = group.glued_to
215
+ #
216
+ # @return [Sketchup::Face, Sketchup::Group, Sketchup::ComponentInstance, Sketchup::Image, nil]
217
+ #
218
+ # @version SketchUp 2021.1
219
+ def glued_to
220
+ end
221
+
222
+ # The {glued_to=} method glues this group to a drawing element.
223
+ # When moving this other drawing elment with the Move tool, the glued group moves with it.
224
+ #
225
+ # @example
226
+ # model = Sketchup.active_model
227
+ # entities = model.active_entities
228
+ #
229
+ # # Create a face
230
+ # face = entities.add_face([[0, 0, 0], [100, 0, 0], [100, 100, 0], [0, 100, 0]])
231
+ #
232
+ # # Create a group
233
+ # definitions = model.definitions
234
+ # group = entities.add_group
235
+ # group.entities.add_face([[0, 0, 0], [10, 0, 0], [10, 10, 0], [0, 10, 0]])
236
+ #
237
+ # # Make group "gluable"
238
+ # group.definition.behavior.is2d = true
239
+ #
240
+ # # Glue the group to the face.
241
+ # # If you now move the face, the group will follow.
242
+ # group.glued_to = face
243
+ #
244
+ # @param [Sketchup::Face, Sketchup::Group, Sketchup::ComponentInstance, Sketchup::Image, nil] drawing_element
245
+ #
246
+ # @raise ArgumentError if the {Sketchup::Behavior} for this group doesn't allow gluing,
247
+ # if the alignment is wrong, or if this would lead to cyclic gluing.
248
+ #
249
+ # @return [Sketchup::Face, Sketchup::Group, Sketchup::ComponentInstance, Sketchup::Image, nil] the entity the group was glued to.
250
+ #
251
+ # @version SketchUp 2021.1
252
+ def glued_to=(drawing_element)
253
+ end
254
+
206
255
  # The guid method is used to get the base 64 encoded unique id
207
256
  # for this SketchUp object.
208
257
  #
@@ -228,6 +277,8 @@ class Sketchup::Group < Sketchup::Drawingelement
228
277
  # group2 = entities[1]
229
278
  # result = group1.intersect(group2)
230
279
  #
280
+ # @note This method is not available in SketchUp Make.
281
+ #
231
282
  # @param [Sketchup::Group, Sketchup::ComponentInstance] group
232
283
  # The group to intersect this group with.
233
284
  #
@@ -239,11 +290,11 @@ class Sketchup::Group < Sketchup::Drawingelement
239
290
  def intersect(group)
240
291
  end
241
292
 
242
- # The local_bounds method returns the BoundingBox object that defines the size
243
- # of the group in an untransformed state. Useful for determining the original
244
- # width, height, and depth of a group regardless of its current position or
245
- # scale. For components, you can get a similar result by checking
246
- # my_instance.definition.bounds.
293
+ # The {#local_bounds} method is used to retrieve the {Geom::BoundingBox}
294
+ # bounding the contents of a {Sketchup::Group}, in the group's own internal
295
+ # coordinate system.
296
+ #
297
+ # @deprecated In favor of `group.definition.bounds`.
247
298
  #
248
299
  # @example
249
300
  # # Add a group to the model.
@@ -257,7 +308,7 @@ class Sketchup::Group < Sketchup::Drawingelement
257
308
  # group.transform! transformation
258
309
  # local_bounds_2 = group.local_bounds
259
310
  #
260
- # @return [Geom::BoundingBox] a BoundingBox object
311
+ # @return [Geom::BoundingBox]
261
312
  #
262
313
  # @version SketchUp 7.0
263
314
  def local_bounds
@@ -303,14 +354,14 @@ class Sketchup::Group < Sketchup::Drawingelement
303
354
  def locked?
304
355
  end
305
356
 
306
- # The make_unique method is used to force a group to have a unique definition.
357
+ # The {#make_unique} method is used to force a group to have a unique
358
+ # definition. If the group is already unique in the model, nothing happens.
307
359
  #
308
- # Copying a group using the copy tool in SketchUp will create copies of the
309
- # group that share a common definition until an instance is edited manually or
310
- # this method is used. If multiple copies are made, all copies share a
311
- # definition until all copies are edited manually, or all copies have this
312
- # method used on them. This method ensures that the group uses a unique
313
- # definition entry in the drawing database.
360
+ # Copying a group in SketchUp will create a group that shares the same
361
+ # definition. SketchUp implicitly makes group unique when edited from the GUI,
362
+ # and from a user point of view groups could be thought of as always being
363
+ # unique. To honor this behavior, call this method before editing a group
364
+ # through the API.
314
365
  #
315
366
  # @example
316
367
  # # Assume we have 2 groups, one copied from the other and sharing definitions
@@ -341,15 +392,16 @@ class Sketchup::Group < Sketchup::Drawingelement
341
392
  def manifold?
342
393
  end
343
394
 
344
- # The move! method is used to apply a transformation to the group.
395
+ # The {#move!} method is used to set the transformation of this group
396
+ # instance, similarly to {#transformation=} but without recording to the undo
397
+ # stack.
345
398
  #
346
- # This method is the same as the transform! method except that it does not
347
- # record the move in an undo operation. This method is useful for
348
- # transparently moving things during an animation.
399
+ # This method is useful for moving entities inside of an animation or page
400
+ # transition.
349
401
  #
350
402
  # @example
351
403
  # point = Geom::Point3d.new 500,500,500
352
- # t = Geom::Transformation.new point
404
+ # transformation = Geom::Transformation.new point
353
405
  # depth = 100
354
406
  # width = 100
355
407
  # model = Sketchup.active_model
@@ -369,21 +421,17 @@ class Sketchup::Group < Sketchup::Drawingelement
369
421
  # # Add a face to within the group
370
422
  # face = entities2.add_face pts
371
423
  # UI.messagebox "Group before Move"
372
- # group = group.move! t
373
- # if (group)
374
- # UI.messagebox "Group after move"
375
- # UI.messagebox group
376
- # else
377
- # UI.messagebox "Failure"
378
- # end
424
+ # group = group.move!(transformation)
379
425
  #
380
- # @param [Geom::Transformation] transform
381
- # A Transformation object.
426
+ # @note Despite the name being similar to {#transform!}, this method closer
427
+ # corresponds to {#transformation=}.
428
+ #
429
+ # @param [Geom::Transformation] transformation
382
430
  #
383
431
  # @return [Sketchup::Group] the transformed Group object if successful
384
432
  #
385
433
  # @version SketchUp 6.0
386
- def move!(transform)
434
+ def move!(transformation)
387
435
  end
388
436
 
389
437
  # The name method is used to retrieve the name of the group.
@@ -503,6 +551,8 @@ class Sketchup::Group < Sketchup::Drawingelement
503
551
  # group2 = entities[1]
504
552
  # result = group1.split(group2)
505
553
  #
554
+ # @note This method is not available in SketchUp Make.
555
+ #
506
556
  # @param [Sketchup::Group, Sketchup::ComponentInstance] group
507
557
  # The group to split this group with.
508
558
  #
@@ -528,6 +578,8 @@ class Sketchup::Group < Sketchup::Drawingelement
528
578
  # group2 = entities[1]
529
579
  # result = group1.subtract(group2)
530
580
  #
581
+ # @note This method is not available in SketchUp Make.
582
+ #
531
583
  # @param [Sketchup::Group, Sketchup::ComponentInstance] group
532
584
  # The group to subtract this group from.
533
585
  #
@@ -613,24 +665,21 @@ class Sketchup::Group < Sketchup::Drawingelement
613
665
  def transformation
614
666
  end
615
667
 
616
- # The transformation= method is used to set the transformation for the
617
- # group.
668
+ # The {#transformation=} method is used to set the transformation of this
669
+ # group
618
670
  #
619
671
  # @example
620
672
  # # Add a group to the model.
621
673
  # group = Sketchup.active_model.entities.add_group
622
674
  # group.entities.add_line([0,0,0],[100,100,100])
623
675
  #
624
- # new_transform = Geom::Transformation.new([100,0,0])
625
- # group.transformation = new_transform
626
- #
627
- # @param [Geom::Transformation] transform
628
- # The Transformation object to apply
676
+ # new_transformation = Geom::Transformation.new([100,0,0])
677
+ # group.transformation = new_transformation
629
678
  #
630
- # @return [Geom::Transformation] the applied transformation
679
+ # @param [Geom::Transformation] transformation
631
680
  #
632
681
  # @version SketchUp 6.0
633
- def transformation=(transform)
682
+ def transformation=(transformation)
634
683
  end
635
684
 
636
685
  # The trim method is used to compute the (non-destructive) boolean difference
@@ -644,6 +693,8 @@ class Sketchup::Group < Sketchup::Drawingelement
644
693
  # group2 = entities[1]
645
694
  # result = group1.trim(group2)
646
695
  #
696
+ # @note This method is not available in SketchUp Make.
697
+ #
647
698
  # @param [Sketchup::Group, Sketchup::ComponentInstance] group
648
699
  # The group to trim this group against.
649
700
  #
@@ -665,6 +716,8 @@ class Sketchup::Group < Sketchup::Drawingelement
665
716
  # group2 = entities[1]
666
717
  # result = group1.union(group2)
667
718
  #
719
+ # @note This method is not available in SketchUp Make.
720
+ #
668
721
  # @param [Sketchup::Group, Sketchup::ComponentInstance] group
669
722
  # The group to union this group with.
670
723
  #
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
1
+ # Copyright:: Copyright 2021 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The {Sketchup::Http} module provides interfaces to create asynchronous HTTP
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
1
+ # Copyright:: Copyright 2021 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # Http::Request objects allows you to send HTTP request to HTTP servers.
@@ -11,9 +11,9 @@ class Sketchup::Http::Request
11
11
  # Gets the http body that is going to be used when sending the request.
12
12
  #
13
13
  # @example
14
- # request = Sketchup::Http::Request.new("http://localhost:8080")
14
+ # @request = Sketchup::Http::Request.new("http://localhost:8080")
15
15
  #
16
- # request.start do |request, response|
16
+ # @request.start do |request, response|
17
17
  # puts "body: #{request.body}"
18
18
  # end
19
19
  #
@@ -26,10 +26,10 @@ class Sketchup::Http::Request
26
26
  # Sets the http body that is going to be used when sending the request.
27
27
  #
28
28
  # @example
29
- # request = Sketchup::Http::Request.new("http://localhost:8080")
30
- # request.body = "Hello World"
29
+ # @request = Sketchup::Http::Request.new("http://localhost:8080")
30
+ # @request.body = "Hello World"
31
31
  #
32
- # request.start do |request, response|
32
+ # @request.start do |request, response|
33
33
  # puts "body: #{request.body}"
34
34
  # end
35
35
  #
@@ -45,12 +45,12 @@ class Sketchup::Http::Request
45
45
  # Cancels the request.
46
46
  #
47
47
  # @example
48
- # request = Sketchup::Http::Request.new("http://localhost:8080")
49
- # request.start do |request, response|
48
+ # @request = Sketchup::Http::Request.new("http://localhost:8080")
49
+ # @request.start do |request, response|
50
50
  # puts "body: #{response.body}"
51
51
  # end
52
52
  #
53
- # request.cancel
53
+ # @request.cancel
54
54
  #
55
55
  # @return [true]
56
56
  #
@@ -61,10 +61,10 @@ class Sketchup::Http::Request
61
61
  # Returns the http headers that are going to be used when sending the request.
62
62
  #
63
63
  # @example
64
- # request = Sketchup::Http::Request.new("http://localhost:8080")
65
- # request.headers = { :key1 => "value1", :key2 => "value2" }
64
+ # @request = Sketchup::Http::Request.new("http://localhost:8080")
65
+ # @request.headers = { :key1 => "value1", :key2 => "value2" }
66
66
  #
67
- # request.headers.each do |key, value|
67
+ # @request.headers.each do |key, value|
68
68
  # puts "#{key}: #{value}"
69
69
  # end
70
70
  #
@@ -77,10 +77,10 @@ class Sketchup::Http::Request
77
77
  # Sets the http headers that are going to be used when sending the request.
78
78
  #
79
79
  # @example
80
- # request = Sketchup::Http::Request.new("http://localhost:8080")
81
- # request.headers = { :key1 => "value1", :key2 => "value2" }
80
+ # @request = Sketchup::Http::Request.new("http://localhost:8080")
81
+ # @request.headers = { :key1 => "value1", :key2 => "value2" }
82
82
  #
83
- # request.headers.each do |key, value|
83
+ # @request.headers.each do |key, value|
84
84
  # puts "#{key}: #{value}"
85
85
  # end
86
86
  #
@@ -96,10 +96,7 @@ class Sketchup::Http::Request
96
96
  # The new method is used to create a new Sketchup::Http::Request.
97
97
  #
98
98
  # The default port is 80, to use a different port define it in the URL when
99
- # creating a new Http::Request
100
- #
101
- # Keeping a reference to the request is necessary in order to ensure the use of
102
- # the response.
99
+ # creating a new {Sketchup::Http::Request}.
103
100
  #
104
101
  # The +method+ parameter accepts any custom http method or one of the
105
102
  # following:
@@ -111,12 +108,16 @@ class Sketchup::Http::Request
111
108
  # * +Sketchup::Http::OPTIONS+
112
109
  #
113
110
  # @example
114
- # request = Sketchup::Http::Request.new("http://localhost:8080", Sketchup::Http::GET)
111
+ # @request = Sketchup::Http::Request.new("http://localhost:8080", Sketchup::Http::GET)
115
112
  #
116
- # request.start do |request, response|
113
+ # @request.start do |request, response|
117
114
  # puts "body: #{response.body}"
118
115
  # end
119
116
  #
117
+ # @note If no reference is kept to the {Sketchup::Http::Request}, it can be garbage collected,
118
+ # making the download silently fail. This is especially noticeable for larger downloads that
119
+ # takes longer time.
120
+ #
120
121
  # @param [String] url
121
122
  # The targetted URL.
122
123
  #
@@ -133,9 +134,9 @@ class Sketchup::Http::Request
133
134
  # Returns the http method that is going to be used when sending the request.
134
135
  #
135
136
  # @example
136
- # request = Sketchup::Http::Request.new("http://localhost:8080")
137
+ # @request = Sketchup::Http::Request.new("http://localhost:8080")
137
138
  #
138
- # request.start do |request, response|
139
+ # @request.start do |request, response|
139
140
  # puts "request.method: #{request.method}"
140
141
  # end
141
142
  #
@@ -155,10 +156,10 @@ class Sketchup::Http::Request
155
156
  # * +Sketchup::Http::OPTIONS+
156
157
  #
157
158
  # @example
158
- # request = Sketchup::Http::Request.new("http://localhost:8080")
159
- # request.method = Sketchup::Http::POST
159
+ # @request = Sketchup::Http::Request.new("http://localhost:8080")
160
+ # @request.method = Sketchup::Http::POST
160
161
  #
161
- # request.start do |request, response|
162
+ # @request.start do |request, response|
162
163
  # puts "request.method: #{request.method}"
163
164
  # end
164
165
  #
@@ -175,14 +176,20 @@ class Sketchup::Http::Request
175
176
  # have received data from the server until the download finishes.
176
177
  #
177
178
  # @example
178
- # request = Sketchup::Http::Request.new("http://localhost:8080")
179
- #
180
- # request.set_download_progress_callback do |current, total|
181
- # puts "download current: #{current}"
182
- # puts "download total: #{total}"
179
+ # @request = Sketchup::Http::Request.new("http://localhost:8080")
180
+ #
181
+ # @request.set_download_progress_callback do |current, total|
182
+ # if total == -1
183
+ # puts "#{current}B"
184
+ # else
185
+ # percentage = (current.to_f / total * 100).round
186
+ # puts "#{current}B / #{total}B (#{percentage}%)"
187
+ # end
183
188
  # end
184
189
  #
185
- # request.start
190
+ # @request.start
191
+ #
192
+ # @note +total+ is -1 if the server doesn't specify a file size in the response header.
186
193
  #
187
194
  # @return [Boolean]
188
195
  #
@@ -202,9 +209,9 @@ class Sketchup::Http::Request
202
209
  # uploaded data to the server until the upload finishes.
203
210
  #
204
211
  # @example
205
- # request = Sketchup::Http::Request.new("http://localhost:8080")
212
+ # @request = Sketchup::Http::Request.new("http://localhost:8080")
206
213
  #
207
- # request.set_upload_progress_callback do |current, total|
214
+ # @request.set_upload_progress_callback do |current, total|
208
215
  # puts "upload current: #{current}"
209
216
  # puts "upload total: #{total}"
210
217
  # end
@@ -228,9 +235,9 @@ class Sketchup::Http::Request
228
235
  # Starts the request and optionally add a callback block.
229
236
  #
230
237
  # @example
231
- # request = Sketchup::Http::Request.new("http://localhost:8080")
238
+ # @request = Sketchup::Http::Request.new("http://localhost:8080")
232
239
  #
233
- # request.start do |request, response|
240
+ # @request.start do |request, response|
234
241
  # puts "body: #{response.body}"
235
242
  # end
236
243
  #
@@ -257,9 +264,9 @@ class Sketchup::Http::Request
257
264
  # * +Sketchup::Http::STATUS_FAILED+
258
265
  #
259
266
  # @example
260
- # request = Sketchup::Http::Request.new("http://localhost:8080")
261
- # request.start
262
- # puts "response.status: #{request.status}"
267
+ # @request = Sketchup::Http::Request.new("http://localhost:8080")
268
+ # @request.start
269
+ # puts "response.status: #{@request.status}"
263
270
  #
264
271
  # @return [int]
265
272
  #
@@ -270,9 +277,9 @@ class Sketchup::Http::Request
270
277
  # Returns a copy of the Request's URL.
271
278
  #
272
279
  # @example
273
- # request = Sketchup::Http::Request.new("http://localhost:8080")
280
+ # @request = Sketchup::Http::Request.new("http://localhost:8080")
274
281
  #
275
- # request.start do |request, response|
282
+ # @request.start do |request, response|
276
283
  # puts "url: #{request.url}"
277
284
  # end
278
285
  #