sketchup-api-stubs 0.7.10 → 0.7.11

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 (159) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +6 -0
  3. data/lib/sketchup-api-stubs/stubs/Array.rb +1 -1
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +2 -2
  5. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +25 -15
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +17 -32
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +1 -1
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +62 -39
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +136 -104
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +56 -30
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +76 -52
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +35 -31
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +8 -16
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +135 -110
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +207 -222
  16. data/lib/sketchup-api-stubs/stubs/Geom.rb +6 -6
  17. data/lib/sketchup-api-stubs/stubs/LanguageHandler.rb +1 -1
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +1 -1
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +11 -7
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +1 -1
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +1 -1
  22. data/lib/sketchup-api-stubs/stubs/Layout/Dictionary.rb +234 -0
  23. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +124 -10
  24. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +1 -1
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +1 -1
  26. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +112 -4
  27. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +1 -1
  28. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +1 -1
  29. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +4 -4
  30. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +1 -1
  31. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +1 -1
  32. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +1 -1
  33. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +1 -1
  34. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +1 -1
  35. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +56 -9
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +1 -1
  37. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +1 -1
  38. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +100 -1
  39. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +13 -14
  40. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +1 -1
  41. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +5 -3
  42. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +1 -1
  43. data/lib/sketchup-api-stubs/stubs/Layout/ReferenceEntity.rb +1 -1
  44. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +1 -1
  45. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +47 -1
  46. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +1 -1
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +1 -1
  48. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +1 -1
  49. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +1 -1
  50. data/lib/sketchup-api-stubs/stubs/Layout.rb +1 -1
  51. data/lib/sketchup-api-stubs/stubs/Length.rb +9 -1
  52. data/lib/sketchup-api-stubs/stubs/Numeric.rb +1 -1
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +65 -13
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +1 -1
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +1 -1
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +2 -7
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +16 -3
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +13 -13
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +8 -14
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +10 -15
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +1 -1
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +2 -2
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +1 -1
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +28 -14
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +15 -8
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +1 -1
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +7 -12
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +1 -1
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +1 -1
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +4 -10
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +1 -1
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +1 -1
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +17 -15
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +17 -17
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +1 -1
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +3 -3
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +11 -14
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +2 -2
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +10 -10
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +59 -19
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +1 -1
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +1 -1
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +3 -3
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +1 -1
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Environment.rb +406 -0
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Environments.rb +185 -0
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/EnvironmentsObserver.rb +113 -0
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +3 -6
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +94 -25
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +2 -2
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +16 -26
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +24 -17
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +11 -9
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +1 -1
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +4 -67
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +2 -2
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +2 -2
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +34 -8
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +1 -1
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +4 -3
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +14 -8
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +3 -45
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +1 -19
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +1 -9
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +1 -1
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +10 -3
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +1 -1
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +1 -1
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/LoadHandler.rb +70 -0
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +1 -1
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +831 -130
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +35 -22
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +1 -1
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +1 -1
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +146 -88
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +20 -5
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +14 -11
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +1 -1
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +1 -1
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +17 -44
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +1 -13
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +158 -16
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +48 -21
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +1 -1
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +61 -40
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +1 -1
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +13 -1
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +1 -1
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +1 -1
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +84 -91
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +1 -1
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +1 -2
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +9 -5
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +1 -1
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +1 -1
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/Snap.rb +125 -0
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +20 -1
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +59 -13
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +29 -8
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +13 -31
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +9 -9
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +229 -139
  143. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +1 -1
  144. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +1 -1
  145. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +1 -1
  146. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +23 -22
  147. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +336 -99
  148. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +34 -8
  149. data/lib/sketchup-api-stubs/stubs/Sketchup.rb +71 -36
  150. data/lib/sketchup-api-stubs/stubs/SketchupExtension.rb +11 -11
  151. data/lib/sketchup-api-stubs/stubs/String.rb +1 -1
  152. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +21 -9
  153. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +80 -5
  154. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +14 -3
  155. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +20 -3
  156. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +9 -6
  157. data/lib/sketchup-api-stubs/stubs/UI.rb +77 -14
  158. data/lib/sketchup-api-stubs/stubs/_top_level.rb +7 -7
  159. metadata +10 -24
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2024 Trimble Inc.
1
+ # Copyright:: Copyright 2026 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # Tool is the interface that you implement to create a SketchUp tool.
@@ -27,12 +27,12 @@
27
27
  # The following table contains several constants you can use when check for
28
28
  # certain key presses inside the keyboard handling callbacks:
29
29
  #
30
- # - +CONSTRAIN_MODIFIER_KEY+ = Shift Key
31
- # - +CONSTRAIN_MODIFIER_MASK+ = Shift Key
32
- # - +COPY_MODIFIER_KEY+ = Alt/Option on Mac, Ctrl on PC
33
- # - +COPY_MODIFIER_MASK+ = Alt/Option on Mac, Ctrl on PC
34
- # - +ALT_MODIFIER_KEY+ = Command on Mac, Alt on PC
35
- # - +ALT_MODIFIER_MASK+ = Command on Mac, Alt on PC
30
+ # - {CONSTRAIN_MODIFIER_KEY} = Shift Key
31
+ # - {CONSTRAIN_MODIFIER_MASK} = Shift Key
32
+ # - {COPY_MODIFIER_KEY} = Alt/Option on Mac, Ctrl on PC
33
+ # - {COPY_MODIFIER_MASK} = Alt/Option on Mac, Ctrl on PC
34
+ # - {ALT_MODIFIER_KEY} = Command on Mac, Alt on PC
35
+ # - {ALT_MODIFIER_MASK} = Command on Mac, Alt on PC
36
36
  #
37
37
  # @abstract Implement the methods described in this class to create a tool.
38
38
  # You can not sub-class this class because it is not defined by the API.
@@ -130,10 +130,6 @@ class Sketchup::Tool
130
130
  # the tool is drawing gets clipped to the extents of the rest of the
131
131
  # model.
132
132
  #
133
- # This must return a {Geom::BoundingBox}. In a typical implementation, you
134
- # will create a new {Geom::BoundingBox}, add points to set the extents of the
135
- # drawing that the tool will do and then return it.
136
- #
137
133
  # @example
138
134
  # def getExtents
139
135
  # bb = Sketchup.active_model.bounds
@@ -181,11 +177,6 @@ class Sketchup::Tool
181
177
  # implement this method. Implement this method if you want a context-click to
182
178
  # display something other than this default context menu.
183
179
  #
184
- # In SketchUp 2015 the flags, x, y and view parameters were added. They are
185
- # needed if you need to pick the entities under the mouse position. The new
186
- # parameters are optional, but if you need to use one you must include them
187
- # all.
188
- #
189
180
  # @example
190
181
  # if Sketchup.version.to_i < 15
191
182
  # # Compatible with SketchUp 2014 and older:
@@ -209,21 +200,36 @@ class Sketchup::Tool
209
200
  # end
210
201
  # end
211
202
  #
203
+ # @note In SketchUp 2015 the flags, x, y and view parameters were added. They are
204
+ # needed if you need to pick the entities under the mouse position. The new
205
+ # parameters are optional, but if you need to use one you must include them
206
+ # all.
207
+ #
212
208
  # @overload getMenu(menu)
213
209
  #
214
210
  # @param [Sketchup::Menu] menu
215
211
  #
216
212
  # @overload getMenu(menu, flags, x, y, view)
217
213
  #
214
+ # @note Signature for versions prior to SketchUp 2025.0
218
215
  # @version SketchUp 2015
219
216
  # @param [Sketchup::Menu] menu
220
217
  # @param [Integer] flags
221
218
  # A bit mask that tells the state of the modifier keys and other mouse
222
219
  # buttons at the time.
223
- # @param [Integer] x
224
- # The X coordinate on the screen where the event occurred.
225
- # @param [Integer] y
226
- # The Y coordinate on the screen where the event occurred.
220
+ # @param [Integer] x Screen coordinate in physical pixels.
221
+ # @param [Integer] y Screen coordinate in physical pixels.
222
+ # @param [Sketchup::View] view
223
+ #
224
+ # @overload getMenu(menu, flags, x, y, view)
225
+ #
226
+ # @version SketchUp 2025.0
227
+ # @param [Sketchup::Menu] menu
228
+ # @param [Integer] flags
229
+ # A bit mask that tells the state of the modifier keys and other mouse
230
+ # buttons at the time.
231
+ # @param [Float] x Screen coordinate in logical pixels.
232
+ # @param [Float] y Screen coordinate in logical pixels.
227
233
  # @param [Sketchup::View] view
228
234
  #
229
235
  # @return [nil]
@@ -276,26 +282,30 @@ class Sketchup::Tool
276
282
  # "virtual keys" defined as constants you can use. Their use is cross
277
283
  # platform. They are:
278
284
  #
279
- # - +VK_ALT+
280
- # - +VK_COMMAND+
281
- # - +VK_CONTROL+
282
- # - +VK_DELETE+
283
- # - +VK_DOWN+
284
- # - +VK_END+
285
- # - +VK_HOME+
286
- # - +VK_INSERT+
287
- # - +VK_LEFT+
288
- # - +VK_MENU+
289
- # - +VK_NEXT+
290
- # - +VK_PRIOR+
291
- # - +VK_RIGHT+
292
- # - +VK_SHIFT+
293
- # - +VK_SPACE+
294
- # - +VK_UP+
285
+ # - {VK_ALT}
286
+ # - {VK_COMMAND}
287
+ # - {VK_CONTROL}
288
+ # - {VK_DELETE}
289
+ # - {VK_DOWN}
290
+ # - {VK_END}
291
+ # - {VK_HOME}
292
+ # - {VK_INSERT}
293
+ # - {VK_LEFT}
294
+ # - {VK_MENU}
295
+ # - {VK_NEXT}
296
+ # - {VK_PRIOR}
297
+ # - {VK_RIGHT}
298
+ # - {VK_SHIFT}
299
+ # - {VK_SPACE}
300
+ # - {VK_UP}
295
301
  #
296
302
  # V6: There is a bug on Windows where the typematic effect does
297
303
  # not work. Typematic effects work fine on a Mac.
298
304
  #
305
+ # @bug SketchUp 2026.0 (Windows) introduced a regression in {Sketchup::Tool#onKeyDown}
306
+ # where the event didn't trigger when Return/Enter was pressed. This was fixed
307
+ # in SketchUp 2026.1.
308
+ #
299
309
  # @example
300
310
  # def onKeyDown(key, repeat, flags, view)
301
311
  # puts "onKeyDown: key = #{key}"
@@ -368,20 +378,27 @@ class Sketchup::Tool
368
378
  # puts " view = #{view}"
369
379
  # end
370
380
  #
371
- # @param [Integer] flags
372
- # A bit mask that tells the state of the modifier
373
- # keys and other mouse buttons at the time.
381
+ # @overload onLButtonDoubleClick(flags, x, y, view)
374
382
  #
375
- # @param [Integer] x
376
- # The X coordinate on the screen where the event occurred.
383
+ # @note Signature for versions prior to SketchUp 2025.0
384
+ # @version SketchUp 6.0
385
+ # @param [Integer] flags A bit mask that tells the state of the modifier
386
+ # keys and other mouse buttons at the time.
387
+ # @param [Integer] x Screen coordinate in physical pixels.
388
+ # @param [Integer] y Screen coordinate in physical pixels.
389
+ # @param [Sketchup::View] view
377
390
  #
378
- # @param [Integer] y
379
- # The Y coordinate on the screen where the event occurred.
391
+ # @overload onLButtonDoubleClick(flags, x, y, view)
380
392
  #
381
- # @param [Sketchup::View] view
393
+ # @version SketchUp 2025.0
394
+ # @param [Integer] flags A bit mask that tells the state of the modifier
395
+ # keys and other mouse buttons at the time.
396
+ # @param [Float] x Screen coordinate in logical pixels.
397
+ # @param [Float] y Screen coordinate in logical pixels.
398
+ # @param [Sketchup::View] view
382
399
  #
383
400
  # @version SketchUp 6.0
384
- def onLButtonDoubleClick(flags, x, y, view)
401
+ def onLButtonDoubleClick
385
402
  end
386
403
 
387
404
  # The {#onLButtonDown} method is called by SketchUp when the left mouse button
@@ -395,20 +412,27 @@ class Sketchup::Tool
395
412
  # puts " view = #{view}"
396
413
  # end
397
414
  #
398
- # @param [Integer] flags
399
- # A bit mask that tells the state of the modifier
400
- # keys and other mouse buttons at the time.
415
+ # @overload onLButtonDown(flags, x, y, view)
401
416
  #
402
- # @param [Integer] x
403
- # The X coordinate on the screen where the event occurred.
417
+ # @note Signature for versions prior to SketchUp 2025.0
418
+ # @version SketchUp 6.0
419
+ # @param [Integer] flags A bit mask that tells the state of the modifier
420
+ # keys and other mouse buttons at the time.
421
+ # @param [Integer] x Screen coordinate in physical pixels.
422
+ # @param [Integer] y Screen coordinate in physical pixels.
423
+ # @param [Sketchup::View] view
404
424
  #
405
- # @param [Integer] y
406
- # The Y coordinate on the screen where the event occurred.
425
+ # @overload onLButtonDown(flags, x, y, view)
407
426
  #
408
- # @param [Sketchup::View] view
427
+ # @version SketchUp 2025.0
428
+ # @param [Integer] flags A bit mask that tells the state of the modifier
429
+ # keys and other mouse buttons at the time.
430
+ # @param [Float] x Screen coordinate in logical pixels.
431
+ # @param [Float] y Screen coordinate in logical pixels.
432
+ # @param [Sketchup::View] view
409
433
  #
410
434
  # @version SketchUp 6.0
411
- def onLButtonDown(flags, x, y, view)
435
+ def onLButtonDown
412
436
  end
413
437
 
414
438
  # The {#onLButtonUp} method is called by SketchUp when the left mouse button is
@@ -422,20 +446,27 @@ class Sketchup::Tool
422
446
  # puts " view = #{view}"
423
447
  # end
424
448
  #
425
- # @param [Integer] flags
426
- # A bit mask that tells the state of the modifier
427
- # keys and other mouse buttons at the time.
449
+ # @overload onLButtonUp(flags, x, y, view)
428
450
  #
429
- # @param [Integer] x
430
- # The X coordinate on the screen where the event occurred.
451
+ # @note Signature for versions prior to SketchUp 2025.0
452
+ # @version SketchUp 6.0
453
+ # @param [Integer] flags A bit mask that tells the state of the modifier
454
+ # keys and other mouse buttons at the time.
455
+ # @param [Integer] x Screen coordinate in physical pixels.
456
+ # @param [Integer] y Screen coordinate in physical pixels.
457
+ # @param [Sketchup::View] view
431
458
  #
432
- # @param [Integer] y
433
- # The Y coordinate on the screen where the event occurred.
459
+ # @overload onLButtonUp(flags, x, y, view)
434
460
  #
435
- # @param [Sketchup::View] view
461
+ # @version SketchUp 2025.0
462
+ # @param [Integer] flags A bit mask that tells the state of the modifier
463
+ # keys and other mouse buttons at the time.
464
+ # @param [Float] x Screen coordinate in logical pixels.
465
+ # @param [Float] y Screen coordinate in logical pixels.
466
+ # @param [Sketchup::View] view
436
467
  #
437
468
  # @version SketchUp 6.0
438
- def onLButtonUp(flags, x, y, view)
469
+ def onLButtonUp
439
470
  end
440
471
 
441
472
  # The {#onMButtonDoubleClick} method is called by SketchUp when the middle
@@ -457,20 +488,27 @@ class Sketchup::Tool
457
488
  # for now in the hopes of fixing the implementation, but you won't have any
458
489
  # luck trying to use it in SU7 and earlier.
459
490
  #
460
- # @param [Integer] flags
461
- # A bit mask that tells the state of the modifier
462
- # keys and other mouse buttons at the time.
491
+ # @overload onMButtonDoubleClick(flags, x, y, view)
463
492
  #
464
- # @param [Integer] x
465
- # The X coordinate on the screen where the event occurred.
493
+ # @note Signature for versions prior to SketchUp 2025.0
494
+ # @version SketchUp 6.0
495
+ # @param [Integer] flags A bit mask that tells the state of the modifier
496
+ # keys and other mouse buttons at the time.
497
+ # @param [Integer] x Screen coordinate in physical pixels.
498
+ # @param [Integer] y Screen coordinate in physical pixels.
499
+ # @param [Sketchup::View] view
466
500
  #
467
- # @param [Integer] y
468
- # The Y coordinate on the screen where the event occurred.
501
+ # @overload onMButtonDoubleClick(flags, x, y, view)
469
502
  #
470
- # @param [Sketchup::View] view
503
+ # @version SketchUp 2025.0
504
+ # @param [Integer] flags A bit mask that tells the state of the modifier
505
+ # keys and other mouse buttons at the time.
506
+ # @param [Float] x Screen coordinate in logical pixels.
507
+ # @param [Float] y Screen coordinate in logical pixels.
508
+ # @param [Sketchup::View] view
471
509
  #
472
510
  # @version SketchUp 6.0
473
- def onMButtonDoubleClick(flags, x, y, view)
511
+ def onMButtonDoubleClick
474
512
  end
475
513
 
476
514
  # The {#onMButtonDown} method is called by SketchUp when the middle mouse
@@ -488,20 +526,27 @@ class Sketchup::Tool
488
526
  # puts " view = #{view}"
489
527
  # end
490
528
  #
491
- # @param [Integer] flags
492
- # A bit mask that tells the state of the modifier
493
- # keys and other mouse buttons at the time.
529
+ # @overload onMButtonDown(flags, x, y, view)
494
530
  #
495
- # @param [Integer] x
496
- # The X coordinate on the screen where the event occurred.
531
+ # @note Signature for versions prior to SketchUp 2025.0
532
+ # @version SketchUp 6.0
533
+ # @param [Integer] flags A bit mask that tells the state of the modifier
534
+ # keys and other mouse buttons at the time.
535
+ # @param [Integer] x Screen coordinate in physical pixels.
536
+ # @param [Integer] y Screen coordinate in physical pixels.
537
+ # @param [Sketchup::View] view
497
538
  #
498
- # @param [Integer] y
499
- # The Y coordinate on the screen where the event occurred.
539
+ # @overload onMButtonDown(flags, x, y, view)
500
540
  #
501
- # @param [Sketchup::View] view
541
+ # @version SketchUp 2025.0
542
+ # @param [Integer] flags A bit mask that tells the state of the modifier
543
+ # keys and other mouse buttons at the time.
544
+ # @param [Float] x Screen coordinate in logical pixels.
545
+ # @param [Float] y Screen coordinate in logical pixels.
546
+ # @param [Sketchup::View] view
502
547
  #
503
548
  # @version SketchUp 6.0
504
- def onMButtonDown(flags, x, y, view)
549
+ def onMButtonDown
505
550
  end
506
551
 
507
552
  # The {#onMButtonUp} method is called by SketchUp when the middle mouse button
@@ -520,20 +565,27 @@ class Sketchup::Tool
520
565
  # puts " view = #{view}"
521
566
  # end
522
567
  #
523
- # @param [Integer] flags
524
- # A bit mask that tells the state of the modifier
525
- # keys and other mouse buttons at the time.
568
+ # @overload onMButtonUp(flags, x, y, view)
526
569
  #
527
- # @param [Integer] x
528
- # The X coordinate on the screen where the event occurred.
570
+ # @note Signature for versions prior to SketchUp 2025.0
571
+ # @version SketchUp 6.0
572
+ # @param [Integer] flags A bit mask that tells the state of the modifier
573
+ # keys and other mouse buttons at the time.
574
+ # @param [Integer] x Screen coordinate in physical pixels.
575
+ # @param [Integer] y Screen coordinate in physical pixels.
576
+ # @param [Sketchup::View] view
529
577
  #
530
- # @param [Integer] y
531
- # The Y coordinate on the screen where the event occurred.
578
+ # @overload onMButtonUp(flags, x, y, view)
532
579
  #
533
- # @param [Sketchup::View] view
580
+ # @version SketchUp 2025.0
581
+ # @param [Integer] flags A bit mask that tells the state of the modifier
582
+ # keys and other mouse buttons at the time.
583
+ # @param [Float] x Screen coordinate in logical pixels.
584
+ # @param [Float] y Screen coordinate in logical pixels.
585
+ # @param [Sketchup::View] view
534
586
  #
535
587
  # @version SketchUp 6.0
536
- def onMButtonUp(flags, x, y, view)
588
+ def onMButtonUp
537
589
  end
538
590
 
539
591
  # The {#onMouseEnter} method is called by SketchUp when the mouse enters the
@@ -578,20 +630,27 @@ class Sketchup::Tool
578
630
  # puts " view = #{view}"
579
631
  # end
580
632
  #
581
- # @param [Integer] flags
582
- # A bit mask that tells the state of the modifier
583
- # keys and other mouse buttons at the time.
633
+ # @overload onMouseMove(flags, x, y, view)
584
634
  #
585
- # @param [Integer] x
586
- # The X coordinate on the screen where the event occurred.
635
+ # @note Signature for versions prior to SketchUp 2025.0
636
+ # @version SketchUp 6.0
637
+ # @param [Integer] flags A bit mask that tells the state of the modifier
638
+ # keys and other mouse buttons at the time.
639
+ # @param [Integer] x Screen coordinate in physical pixels.
640
+ # @param [Integer] y Screen coordinate in physical pixels.
641
+ # @param [Sketchup::View] view
587
642
  #
588
- # @param [Integer] y
589
- # The Y coordinate on the screen where the event occurred.
643
+ # @overload onMouseMove(flags, x, y, view)
590
644
  #
591
- # @param [Sketchup::View] view
645
+ # @version SketchUp 2025.0
646
+ # @param [Integer] flags A bit mask that tells the state of the modifier
647
+ # keys and other mouse buttons at the time.
648
+ # @param [Float] x Screen coordinate in logical pixels.
649
+ # @param [Float] y Screen coordinate in logical pixels.
650
+ # @param [Sketchup::View] view
592
651
  #
593
652
  # @version SketchUp 6.0
594
- def onMouseMove(flags, x, y, view)
653
+ def onMouseMove
595
654
  end
596
655
 
597
656
  # The {#onMouseWheel} method is called by SketchUp when the mouse scroll wheel
@@ -642,27 +701,34 @@ class Sketchup::Tool
642
701
  #
643
702
  # Sketchup.active_model.select_tool(ExampleTool.new)
644
703
  #
645
- # @param [Integer] flags
646
- # A bit mask that tells the state of the modifier
647
- # keys and other mouse buttons at the time.
648
- #
649
- # @param [Integer] delta
650
- # Either +1+ or +-1+ depending on which direction the
651
- # mouse wheel scrolled.
704
+ # @overload onMouseWheel(flags, delta, x, y, view)
652
705
  #
653
- # @param [Float] x
654
- # The X coordinate on the screen where the event occurred.
706
+ # @note Signature for versions prior to SketchUp 2025.0
707
+ # @version SketchUp 2019.2
708
+ # @param [Integer] flags A bit mask that tells the state of the modifier
709
+ # keys and other mouse buttons at the time.
710
+ # @param [Integer] delta Either +1+ or +-1+ depending on which direction the
711
+ # mouse wheel scrolled.
712
+ # @param [Integer] x Screen coordinate in physical pixels.
713
+ # @param [Integer] y Screen coordinate in physical pixels.
714
+ # @param [Sketchup::View] view
655
715
  #
656
- # @param [Float] y
657
- # The Y coordinate on the screen where the event occurred.
716
+ # @overload onMouseWheel(flags, delta, x, y, view)
658
717
  #
659
- # @param [Sketchup::View] view
718
+ # @version SketchUp 2025.0
719
+ # @param [Integer] flags A bit mask that tells the state of the modifier
720
+ # keys and other mouse buttons at the time.
721
+ # @param [Integer] delta Either +1+ or +-1+ depending on which direction the
722
+ # mouse wheel scrolled.
723
+ # @param [Float] x Screen coordinate in logical pixels.
724
+ # @param [Float] y Screen coordinate in logical pixels.
725
+ # @param [Sketchup::View] view
660
726
  #
661
727
  # @return [Boolean] Return +true+ to prevent SketchUp from performing default
662
728
  # zoom action.
663
729
  #
664
730
  # @version SketchUp 2019.2
665
- def onMouseWheel(flags, delta, x, y, view)
731
+ def onMouseWheel
666
732
  end
667
733
 
668
734
  # The {#onRButtonDoubleClick} is called by SketchUp when the user double clicks
@@ -676,20 +742,27 @@ class Sketchup::Tool
676
742
  # puts " view = #{view}"
677
743
  # end
678
744
  #
679
- # @param [Integer] flags
680
- # A bit mask that tells the state of the modifier
681
- # keys and other mouse buttons at the time.
745
+ # @overload onRButtonDoubleClick(flags, x, y, view)
682
746
  #
683
- # @param [Integer] x
684
- # The X coordinate on the screen where the event occurred.
747
+ # @note Signature for versions prior to SketchUp 2025.0
748
+ # @version SketchUp 6.0
749
+ # @param [Integer] flags A bit mask that tells the state of the modifier
750
+ # keys and other mouse buttons at the time.
751
+ # @param [Integer] x Screen coordinate in physical pixels.
752
+ # @param [Integer] y Screen coordinate in physical pixels.
753
+ # @param [Sketchup::View] view
685
754
  #
686
- # @param [Integer] y
687
- # The Y coordinate on the screen where the event occurred.
755
+ # @overload onRButtonDoubleClick(flags, x, y, view)
688
756
  #
689
- # @param [Sketchup::View] view
757
+ # @version SketchUp 2025.0
758
+ # @param [Integer] flags A bit mask that tells the state of the modifier
759
+ # keys and other mouse buttons at the time.
760
+ # @param [Float] x Screen coordinate in logical pixels.
761
+ # @param [Float] y Screen coordinate in logical pixels.
762
+ # @param [Sketchup::View] view
690
763
  #
691
764
  # @version SketchUp 6.0
692
- def onRButtonDoubleClick(flags, x, y, view)
765
+ def onRButtonDoubleClick
693
766
  end
694
767
 
695
768
  # The {#onRButtonDown} method is called by SketchUp when the user presses
@@ -705,20 +778,27 @@ class Sketchup::Tool
705
778
  # puts " view = #{view}"
706
779
  # end
707
780
  #
708
- # @param [Integer] flags
709
- # A bit mask that tells the state of the modifier
710
- # keys and other mouse buttons at the time.
781
+ # @overload onRButtonDown(flags, x, y, view)
711
782
  #
712
- # @param [Integer] x
713
- # The X coordinate on the screen where the event occurred.
783
+ # @note Signature for versions prior to SketchUp 2025.0
784
+ # @version SketchUp 6.0
785
+ # @param [Integer] flags A bit mask that tells the state of the modifier
786
+ # keys and other mouse buttons at the time.
787
+ # @param [Integer] x Screen coordinate in physical pixels.
788
+ # @param [Integer] y Screen coordinate in physical pixels.
789
+ # @param [Sketchup::View] view
714
790
  #
715
- # @param [Integer] y
716
- # The Y coordinate on the screen where the event occurred.
791
+ # @overload onRButtonDown(flags, x, y, view)
717
792
  #
718
- # @param [Sketchup::View] view
793
+ # @version SketchUp 2025.0
794
+ # @param [Integer] flags A bit mask that tells the state of the modifier
795
+ # keys and other mouse buttons at the time.
796
+ # @param [Float] x Screen coordinate in logical pixels.
797
+ # @param [Float] y Screen coordinate in logical pixels.
798
+ # @param [Sketchup::View] view
719
799
  #
720
800
  # @version SketchUp 6.0
721
- def onRButtonDown(flags, x, y, view)
801
+ def onRButtonDown
722
802
  end
723
803
 
724
804
  # The {#onRButtonUp} method is called by SketchUp when the user releases the
@@ -732,26 +812,36 @@ class Sketchup::Tool
732
812
  # puts " view = #{view}"
733
813
  # end
734
814
  #
735
- # @param [Integer] flags
736
- # A bit mask that tells the state of the modifier
737
- # keys and other mouse buttons at the time.
815
+ # @overload onRButtonUp(flags, x, y, view)
738
816
  #
739
- # @param [Integer] x
740
- # The X coordinate on the screen where the event occurred.
817
+ # @note Signature for versions prior to SketchUp 2025.0
818
+ # @version SketchUp 6.0
819
+ # @param [Integer] flags A bit mask that tells the state of the modifier
820
+ # keys and other mouse buttons at the time.
821
+ # @param [Integer] x Screen coordinate in physical pixels.
822
+ # @param [Integer] y Screen coordinate in physical pixels.
823
+ # @param [Sketchup::View] view
741
824
  #
742
- # @param [Integer] y
743
- # The Y coordinate on the screen where the event occurred.
825
+ # @overload onRButtonUp(flags, x, y, view)
744
826
  #
745
- # @param [Sketchup::View] view
827
+ # @version SketchUp 2025.0
828
+ # @param [Integer] flags A bit mask that tells the state of the modifier
829
+ # keys and other mouse buttons at the time.
830
+ # @param [Float] x Screen coordinate in logical pixels.
831
+ # @param [Float] y Screen coordinate in logical pixels.
832
+ # @param [Sketchup::View] view
746
833
  #
747
834
  # @version SketchUp 6.0
748
- def onRButtonUp(flags, x, y, view)
835
+ def onRButtonUp
749
836
  end
750
837
 
751
838
  # The {#onReturn} method is called by SketchUp when the user hit the Return key
752
839
  # to complete an operation in the tool. This method will rarely need to be
753
840
  # implemented.
754
841
  #
842
+ # @bug SketchUp 2025.0 (Windows) introduced a regression where the event didn't
843
+ # trigger when Return/Enter was pressed. This was fixed in SketchUp 2026.0.
844
+ #
755
845
  # @example
756
846
  # def onReturn(view)
757
847
  # puts "onReturn(#{view})"
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2024 Trimble Inc.
1
+ # Copyright:: Copyright 2026 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The Tools class contains methods to manipulate a collection of SketchUp
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2024 Trimble Inc.
1
+ # Copyright:: Copyright 2026 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # This observer interface is implemented to react to tool events.
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2024 Trimble Inc.
1
+ # Copyright:: Copyright 2026 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The UV Helper class contains methods allowing you to determine the location
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2024 Trimble Inc.
1
+ # Copyright:: Copyright 2026 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # A Vertex. A Vertex represents the end of an Edge or a point inside a Face.
@@ -12,17 +12,15 @@ class Sketchup::Vertex < Sketchup::Entity
12
12
  # vertex and another vertex
13
13
  #
14
14
  # @example
15
- # edge = entities[0]
15
+ # model = Sketchup.active_model
16
+ # entities = model.active_entities
17
+ # edge = entities.add_line([0, 0, 0], [20, 20, 20], [40, 40, 40])
18
+ #
16
19
  # # returns array of vertices that make up the line
17
- # verticies = edge.vertices
18
- # vertex1 = verticies[0]
19
- # vertex2 = verticies[1]
20
- # edge = vertex1.common_edge vertex2
21
- # if (edge)
22
- # UI.messagebox edge
23
- # else
24
- # UI.messagebox "Failure"
25
- # end
20
+ # vertices = edge.vertices
21
+ # vertex1 = vertices[0]
22
+ # vertex2 = vertices[1]
23
+ # edge = vertex1.common_edge(vertex2)
26
24
  #
27
25
  # @param [Sketchup::Vertex] vertex2
28
26
  # A Vertex object.
@@ -39,23 +37,26 @@ class Sketchup::Vertex < Sketchup::Entity
39
37
  # interior of a Curve.
40
38
  #
41
39
  # @example
42
- # edge = entities[0]
43
- # # returns array of vertices that make up the line
44
- # verticies = edge.vertices
45
- # vertex1 = verticies[0]
40
+ # centerpoint = Geom::Point3d.new
41
+ # # Create a circle perpendicular to the normal or Z axis
42
+ # vector = Geom::Vector3d.new(0, 0, 1)
43
+ # vector2 = vector.normalize!
44
+ # model = Sketchup.active_model
45
+ # entities = model.entities
46
+ # edgearray = entities.add_circle(ORIGIN, Z_AXIS, 10)
47
+ # edge = edgearray[0]
48
+ # curve = edge.curve
49
+ # vertices = curve.vertices
50
+ # # returns array of vertices that make up the circle
51
+ # vertices = edge.vertices
52
+ # vertex1 = vertices[0]
46
53
  # status = vertex1.curve_interior?
47
- # if (status)
48
- # UI.messagebox status
49
- # else
50
- # #returns nil if vertex is not on interior of a Curve
51
- # UI.messagebox "Failure"
52
- # end
53
54
  #
54
55
  # @note This method doesn't actually return a boolean as the question mark
55
56
  # post-fix would normally indicate. But the result still evaluates to
56
57
  # truthy or falsy.
57
58
  #
58
- # @return [Boolean]
59
+ # @return [Sketchup::ArcCurve, nil]
59
60
  #
60
61
  # @version SketchUp 6.0
61
62
  def curve_interior?