sketchup-api-stubs 0.7.7 → 0.7.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (150) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +2 -1
  3. data/lib/sketchup-api-stubs/stubs/{array.rb → Array.rb} +1 -1
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +1 -1
  5. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +1 -1
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +1 -1
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +1 -1
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +1 -1
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +1 -1
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +18 -4
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +1 -1
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +1 -1
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +1 -1
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +1 -1
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +16 -14
  16. data/lib/sketchup-api-stubs/stubs/{geom.rb → Geom.rb} +1 -1
  17. data/lib/sketchup-api-stubs/stubs/{languagehandler.rb → LanguageHandler.rb} +5 -4
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +76 -54
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +311 -24
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +8 -4
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +1 -1
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +2 -1
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +1 -1
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +1 -1
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +1 -1
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +16 -11
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +1 -1
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +1 -1
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +1 -1
  30. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +2 -2
  31. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +1 -1
  32. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +1 -1
  33. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +1 -1
  34. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +1 -1
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +1 -1
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +1 -1
  37. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +1 -1
  38. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +1 -1
  39. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +2 -2
  40. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +1 -1
  41. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +1 -1
  42. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +9 -11
  43. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1 -1
  44. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +1 -1
  45. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +1 -1
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +1 -1
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +1 -1
  48. data/lib/sketchup-api-stubs/stubs/Layout.rb +1 -1
  49. data/lib/sketchup-api-stubs/stubs/{length.rb → Length.rb} +1 -1
  50. data/lib/sketchup-api-stubs/stubs/{numeric.rb → Numeric.rb} +1 -1
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +1 -1
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +13 -1
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +1 -1
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +1 -1
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +1 -1
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +1 -1
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +1 -1
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +1 -1
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +1 -1
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +1 -1
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +1 -1
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +50 -8
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +7 -8
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +1 -1
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +1 -1
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +1 -1
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +1 -1
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +7 -6
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +1 -1
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +1 -1
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +1 -1
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +1 -1
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +1 -1
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +1 -1
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +1 -1
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +1 -1
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +1 -1
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +120 -41
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +272 -0
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +1 -1
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +1 -1
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +1 -1
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +2 -2
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +27 -7
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +1 -1
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +1 -1
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +1 -1
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +1 -1
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +1 -1
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +1 -1
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +1 -1
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +1 -1
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +4 -2
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +1 -1
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +1 -1
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +7 -8
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +8 -8
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +2 -2
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +1 -1
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +1 -1
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +3 -3
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +1 -1
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +1 -1
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +1 -1
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +1 -1
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +2 -2
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +1 -1
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +1 -1
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +68 -71
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +1 -1
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +2 -2
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +2 -2
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +1 -1
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +7 -7
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +2 -2
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +1 -1
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +4 -5
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +1 -1
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +1 -1
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +1 -1
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +1 -1
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +2 -2
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +1 -1
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +1 -1
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +7 -4
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +1 -1
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +1 -1
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +1 -1
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +2 -2
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +1 -1
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +1 -1
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +1 -1
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +5 -3
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +1 -1
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +1 -1
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +9 -5
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +1 -1
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +14 -4
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +1 -1
  140. data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +10 -3
  141. data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +1 -1
  142. data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +1 -1
  143. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +79 -7
  144. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +26 -8
  145. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +1 -1
  146. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +1 -1
  147. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +18 -16
  148. data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +25 -14
  149. data/lib/sketchup-api-stubs/stubs/_top_level.rb +1 -1
  150. metadata +12 -11
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The {Sketchup::PickHelper} class is used to pick entities that reside under
@@ -73,6 +73,8 @@ class Sketchup::PickHelper
73
73
  # criteria can be for completely-contained or partially-contained entities,
74
74
  # similar to how the Selection tool works.
75
75
  #
76
+ # transformation) if num_picked > 0 Sketchup.active_model.selection.add(ph.all_picked) end
77
+ #
76
78
  # @example
77
79
  # boundingbox = Geom::BoundingBox.new
78
80
  # boundingbox.add([1, 1, 1], [100, 100, 100])
@@ -82,10 +84,7 @@ class Sketchup::PickHelper
82
84
  # angle = 45
83
85
  # transformation = Geom::Transformation.new(ORIGIN, Z_AXIS, angle)
84
86
  #
85
- # num_picked = ph.boundingbox_pick(boundingbox, Sketchup::PickHelper::PICK_CROSSING, transformation)
86
- # if num_picked > 0
87
- # Sketchup.active_model.selection.add(ph.all_picked)
88
- # end
87
+ # num_picked = ph.boundingbox_pick(boundingbox, Sketchup::PickHelper::PICK_CROSSING,
89
88
  #
90
89
  # @param bounding_box
91
90
  # BoundingBox object defining the volume to use for picking
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The {Sketchup::RegionalSettings} module contains methods getting information about the
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The RenderingOptions class contains method to extract the rendering
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # This observer interface is implemented to react to rendering options events.
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The SectionPlane class represents a section plane in a SketchUp model. Note
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # A set of the currently selected entities. Use the Model.selection method
@@ -155,7 +155,7 @@ class Sketchup::Selection
155
155
  # number = selection.count
156
156
  #
157
157
  # @note Since SketchUp 2014 the count method is inherited from Ruby's
158
- # +Enumable+ mix-in module. Prior to that the {#count} method is an alias
158
+ # +Enumerable+ mix-in module. Prior to that the {#count} method is an alias
159
159
  # for {#length}.
160
160
  #
161
161
  # @return [Integer]
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # This observer interface is implemented to react to selection events.
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The set class represents a collection of unique objects. This class is useful
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The ShadowInfo class contains method to extract the shadow information for a
@@ -7,12 +7,14 @@
7
7
  #
8
8
  # The following shadow information keys are maintained in SketchUp:
9
9
  #
10
- # - +City+ (in Model Info > Geo-location > Set Manual Location...) Note that 'City' is called 'Location' in the UI
10
+ # - +City+ (in Model Info > Geo-location > Set Manual Location...) Note that 'City' is called
11
+ # 'Location' in the UI
11
12
  # - +Country+ (in Model Info > Geo-location > Set Manual Location...)
12
13
  # - +Dark+ (in Window > Shadows)
13
14
  # - +DayOfYear+
14
15
  # - +DaylightSavings+
15
- # - +DisplayNorth+ (in View > Toolbars > Solar North) Note that 'Toolbar' is called 'Tool Palettes' on Mac
16
+ # - +DisplayNorth+ (in View > Toolbars > Solar North) Note that 'Toolbar' is called 'Tool Palettes'
17
+ # on Mac
16
18
  # - +DisplayOnAllFaces+ (in Window > Shadows)
17
19
  # - +DisplayOnGroundPlane+ (in Window > Shadows)
18
20
  # - +DisplayShadows+ (in Window > Shadows)
@@ -20,7 +22,8 @@
20
22
  # - +Latitude+ (in Model Info > Geo-location > Set Manual Location...)
21
23
  # - +Light+ (in Window > Shadows)
22
24
  # - +Longitude+ (in Model Info > Geo-location > Set Manual Location...)
23
- # - +NorthAngle+ (in View > Toolbars > Solar North) Note that 'Toolbar' is called 'Tool Palettes' on Mac
25
+ # - +NorthAngle+ (in View > Toolbars > Solar North) Note that 'Toolbar' is called 'Tool Palettes'
26
+ # on Mac
24
27
  # - +ShadowTime+ (in Window > Shadows)
25
28
  # - +ShadowTime_time_t+ (ShadowTime in Epoch time)
26
29
  # - +SunDirection+ (Generated based on ShadowTime)
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # This observer interface is implemented to react to changes to the shadow
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The {Sketchup::Skp} module is used to read metadata from external SketchUp
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The Style class contains methods for modifying information about a specific
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The Styles class contains methods for manipulating a collection of styles in
@@ -94,7 +94,7 @@ class Sketchup::Styles < Sketchup::Entity
94
94
  # number = styles.count
95
95
  #
96
96
  # @note Since SketchUp 2014 the count method is inherited from Ruby's
97
- # +Enumable+ mix-in module. Prior to that the {#count} method is an alias
97
+ # +Enumerable+ mix-in module. Prior to that the {#count} method is an alias
98
98
  # for {#length}.
99
99
  #
100
100
  # @return [Integer]
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The Text class contains method to manipulate a Text entity object.
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The Texture class contains methods for obtaining information about textures
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The TextureWriter class is used primarily for writing the textures used in a
@@ -1,9 +1,11 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 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.
5
- # See https://github.com/SketchUp/sketchup-ruby-api-tutorials/tree/master/examples/02_custom_tool
6
- # for an example of how to create a custom tool in Ruby.
5
+ # See
6
+ # {our code
7
+ # example}[https://github.com/SketchUp/sketchup-ruby-api-tutorials/tree/main/examples/02_custom_tool]
8
+ # for how to create a custom tool in Ruby.
7
9
  #
8
10
  # To create a new tool in Ruby, you must define a new class that implements
9
11
  # the methods for the events that you want to respond to. You do not have
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 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 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 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 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 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
@@ -22,8 +22,10 @@ class Sketchup::UVHelper
22
22
  # face.outer_loop.vertices.each do |vert|
23
23
  # uvq = uv_helper.get_back_UVQ(vert.position)
24
24
  # # "Normalize" UVQ to UV.
25
- # u = uvq.u / unq.q
26
- # v = uvq.v / unq.q
25
+ # # #x, #y and #z corresponds to U, V and Q respectively,
26
+ # # as SketchUp re-uses the normal Point3d objects for UVQs
27
+ # u = uvq.x / uvq.z
28
+ # v = uvq.y / uvq.z
27
29
  # puts "u=#{u} v=#{v}""
28
30
  # end
29
31
  #
@@ -49,8 +51,10 @@ class Sketchup::UVHelper
49
51
  # face.outer_loop.vertices.each do |vert|
50
52
  # uvq = uv_helper.get_front_UVQ(vert.position)
51
53
  # # "Normalize" UVQ to UV.
52
- # u = uvq.u / unq.q
53
- # v = uvq.v / unq.q
54
+ # # #x, #y and #z corresponds to U, V and Q respectively,
55
+ # # as SketchUp re-uses the normal Point3d objects for UVQs
56
+ # u = uvq.x / uvq.z
57
+ # v = uvq.y / uvq.z
54
58
  # puts "u=#{u} v=#{v}""
55
59
  # end
56
60
  #
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 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.
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # This class contains methods to manipulate the current point of view of the
@@ -462,10 +462,18 @@ class Sketchup::View
462
462
  # around the full bounds of the text, use {#text_bounds} to compute the
463
463
  # desired alignment.
464
464
  #
465
+ # The vertical alignment can vary between fonts and platforms. It's recommended
466
+ # to test different fonts and find one that fits well across both platforms
467
+ # for your purposes.
468
+ #
465
469
  # <b>Example of different vertical alignment and text bounds:</b>
466
470
  #
467
471
  # rdoc-image:../images/view-draw-text-with-bounds.png
468
472
  #
473
+ # @bug Prior to SU2022.0, on macOS, the vertical text alignment for some fonts
474
+ # could appear to be offset from their expected positions. As of SU2022.0 the
475
+ # vertical alignment should be more accurate and consistent.
476
+ #
469
477
  # @example
470
478
  # class ExampleTool
471
479
  # def draw(view)
@@ -505,7 +513,7 @@ class Sketchup::View
505
513
  # def draw_text(view, position, text, **options)
506
514
  # native_options = options.dup
507
515
  # if IS_WIN && options.key?(:size)
508
- # native_options[:size] = pixels_to_points(size)
516
+ # native_options[:size] = pixels_to_points(options[:size])
509
517
  # end
510
518
  # view.draw_text(position, text, **native_options)
511
519
  # end
@@ -1192,8 +1200,7 @@ class Sketchup::View
1192
1200
  # For other file formats available from the GUI in File > Export > 2D
1193
1201
  # Graphics, .e.g `.pdf`, use {Sketchup::Model#export}.
1194
1202
  #
1195
- # @overload write_image(filename, width = view.vpwidth, height = view.vpheight, antialias = false, compression = 1.0)
1196
- #
1203
+ # compression = 1.0)
1197
1204
  # @note Prefer the overload with option hash instead of this variant. This
1198
1205
  # overload is not updated with new options.
1199
1206
  #
@@ -1215,6 +1222,9 @@ class Sketchup::View
1215
1222
  # @param [Float] compression
1216
1223
  # Compression factor for JPEG images, between +0.0+ and +1.0+.
1217
1224
  #
1225
+ # @overload write_image(filename, width = view.vpwidth, height = view.vpheight, antialias = false,
1226
+ #
1227
+ #
1218
1228
  # @overload write_image(options)
1219
1229
  #
1220
1230
  # @example
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # This observer interface is implemented to react to view events.
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The Sketchup module contains a number of important utility methods for use in
@@ -140,6 +140,11 @@ module Sketchup
140
140
  # @example
141
141
  # Sketchup.debug_mode = true
142
142
  #
143
+ # @note Changing this value within your extension can cause problems for other
144
+ # extension developers who rely on the debug information for their own work.
145
+ # Only use this locally; never change this value in an extension you
146
+ # publish.
147
+ #
143
148
  # @param [Boolean] enabled
144
149
  # If true, SketchUp will produce debug warnings.
145
150
  #
@@ -182,11 +187,13 @@ module Sketchup
182
187
  # Returns the ExtensionsManager where you can find all registered
183
188
  # SketchupExtension objects.
184
189
  #
190
+ # #{extension.loaded?}"
191
+ # }
192
+ #
185
193
  # @example
186
194
  # extensions = Sketchup.extensions
187
195
  # extensions.each{ |extension|
188
- # puts "The next extension is named: #{extension.name} and its loaded? state is: #{extension.loaded?}"
189
- # }
196
+ # puts "The next extension is named: #{extension.name} and its loaded? state is:
190
197
  #
191
198
  # @return [Sketchup::ExtensionsManager] an ExtensionsManager object.
192
199
  #
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The SketchupExtension class contains methods allowing you to create and
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The String class contains a method used to parse a string as a length value.
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The Command class is the preferred class for adding tools to the menus and
@@ -67,6 +67,58 @@ class UI::Command
67
67
 
68
68
  # Instance Methods
69
69
 
70
+ # The {#extension} method returns the command's associated extension.
71
+ #
72
+ # @example
73
+ # extension = Sketchup.extensions['Sandbox Tools']
74
+ # cmd = UI::Command.new("Tester") {}
75
+ # cmd.extension = extension
76
+ # p cmd.extension == extension
77
+ #
78
+ # @note This is an advanced feature that extension developers normally won't
79
+ # have to deal with. It's purpose is to address scenarios when SketchUp
80
+ # isn't able to automatically infer which extension the command belongs to.
81
+ #
82
+ # @return [SketchupExtension, nil]
83
+ #
84
+ # @version SketchUp 2022.0
85
+ def extension
86
+ end
87
+
88
+ # The {#extension=} method explicitly sets the command's associated extension.
89
+ #
90
+ # @example
91
+ # extension = Sketchup.extensions['Sandbox Tools']
92
+ # cmd = UI::Command.new("Tester") {}
93
+ # cmd.extension = extension
94
+ #
95
+ # @note This is an advanced feature that extension developers normally won't
96
+ # have to deal with. It's purpose is to address scenarios when SketchUp
97
+ # isn't able to automatically infer which extension the command belongs to.
98
+ # These scenarios are for example an extension using a library to add its
99
+ # commands or command manager extensions.
100
+ #
101
+ # @param [SketchupExtension, nil] extension
102
+ #
103
+ # @version SketchUp 2022.0
104
+ def extension=(extension)
105
+ end
106
+
107
+ # The {#get_validation_proc} method returns the command's validation proc.
108
+ #
109
+ # @example
110
+ # cmd = UI::Command.new("Tester") {}
111
+ # cmd.set_validation_proc { MF_DISABLED }
112
+ # proc = cmd.get_validation_proc
113
+ #
114
+ # @return [Proc, nil]
115
+ #
116
+ # @see #set_validation_proc
117
+ #
118
+ # @version SketchUp 2022.0
119
+ def get_validation_proc
120
+ end
121
+
70
122
  # The large_icon method returns the icon file for the command's
71
123
  # large icon.
72
124
  #
@@ -149,6 +201,21 @@ class UI::Command
149
201
  def menu_text=(menuitem)
150
202
  end
151
203
 
204
+ # The {#proc} method returns the command's proc that is called when the command
205
+ # is invoked.
206
+ #
207
+ # @example
208
+ # cmd = UI::Command.new("Tester") {}
209
+ # cmd.set_validation_proc { MF_DISABLED }
210
+ # proc = cmd.proc
211
+ # proc.call
212
+ #
213
+ # @return [Proc]
214
+ #
215
+ # @version SketchUp 2022.0
216
+ def proc
217
+ end
218
+
152
219
  # The {#set_validation_proc} method allows you to change whether the command
153
220
  # is enabled, checked, etc. For instance, the command toggling a dialog window
154
221
  # may be displayed as checked while the dialog is open.
@@ -177,6 +244,8 @@ class UI::Command
177
244
  #
178
245
  # @return [UI::Command]
179
246
  #
247
+ # @see #get_validation_proc
248
+ #
180
249
  # @version SketchUp 6.0
181
250
  #
182
251
  # @yield []
@@ -236,13 +305,13 @@ class UI::Command
236
305
  # command.
237
306
  #
238
307
  # @example
239
- # toolbar = UI::Toolbar.new "Test"
308
+ # toolbar = UI::Toolbar.new("Test")
240
309
  # # This toolbar tool simply displays Hello World on the screen
241
310
  # # when clicked
242
311
  # cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
243
312
  # cmd.small_icon = "ToolPencilSmall.png"
244
313
  # cmd.large_icon = "ToolPencilLarge.png"
245
- # cmd.status_bar_text = $tStrings.GetString("Testing the toolbars class")
314
+ # cmd.status_bar_text = "Testing the toolbars class."
246
315
  # toolbar = toolbar.add_item cmd
247
316
  # toolbar.show
248
317
  # puts cmd.status_bar_text
@@ -254,15 +323,15 @@ class UI::Command
254
323
  end
255
324
 
256
325
  # The status_bar_text= method is used to set the status bar text for the
257
- # command.
326
+ # command. This should be a description what the command does.
258
327
  #
259
328
  # @example
260
- # toolbar = UI::Toolbar.new "Test"
329
+ # toolbar = UI::Toolbar.new("Test")
261
330
  # # This toolbar tool simply displays Hello World on the screen when clicked
262
331
  # cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
263
332
  # cmd.small_icon = "ToolPencilSmall.png"
264
333
  # cmd.large_icon = "ToolPencilLarge.png"
265
- # cmd.status_bar_text = $tStrings.GetString("Testing the toolbars class")
334
+ # cmd.status_bar_text = "Testing the toolbars class."
266
335
  # toolbar = toolbar.add_item cmd
267
336
  # toolbar.show
268
337
  #
@@ -293,7 +362,7 @@ class UI::Command
293
362
  def tooltip
294
363
  end
295
364
 
296
- # The tooltip= method is used to define a command item's tooltip text. Tooltips
365
+ # The {#tooltip=} method is used to define a command item's tooltip header. Tooltips
297
366
  # will appear when the command is attached to a tool bar and the user hovers
298
367
  # their cursor over the icon.
299
368
  #
@@ -305,6 +374,9 @@ class UI::Command
305
374
  # toolbar = toolbar.add_item cmd
306
375
  # toolbar.show
307
376
  #
377
+ # @note The tooltip text should repeat the commands' title text. For the command
378
+ # description, use {#status_bar_text}.
379
+ #
308
380
  # @param [String] text
309
381
  # The text of the tooltip.
310
382
  #
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The Ruby HtmlDialog class allows you to create and interact with HTML dialog
@@ -16,6 +16,8 @@
16
16
  #
17
17
  # For usage examples, including how to migrate from the old WebDialog class,
18
18
  # see https://github.com/SketchUp/htmldialog-examples.
19
+ # You may use the {https://sketchup.github.io/modus-for-sketchup-extensions Trimble Modus}
20
+ # framework for a look and feel of your dialog that matches that of SketchUp's dialogs.
19
21
  #
20
22
  # HtmlDialog uses the following versions of CEF (Chromium Embedded Framework):
21
23
  #
@@ -150,7 +152,8 @@ class UI::HtmlDialog
150
152
  def execute_script(script)
151
153
  end
152
154
 
153
- # The {#get_content_size} method is used to get the content size of the HtmlDialog, in logical pixels.
155
+ # The {#get_content_size} method is used to get the content size of the HtmlDialog, in logical
156
+ # pixels.
154
157
  #
155
158
  # @example
156
159
  # width, height = dialog.get_content_size
@@ -192,7 +195,8 @@ class UI::HtmlDialog
192
195
 
193
196
  # The new method is used to create a new HtmlDialog.
194
197
  #
195
- # When +use_content_size+ is set to +true+, +width+, +height+, +min_width+,
198
+ # In SketchUp 2021.1 +use_content_size+ was added.
199
+ # When set to +true+, +width+, +height+, +min_width+,
196
200
  # +max width+, +min_height+, +max_height+ will represent the size of the
197
201
  # content area of the window. This excludes the titlebar and the window frame.
198
202
  # When +use_content_size+ is set to +false+ (the default value),
@@ -210,6 +214,23 @@ class UI::HtmlDialog
210
214
  # [+UI::HtmlDialog::STYLE_UTILITY+] HtmlDialog is shown with small titlebar
211
215
  # and stays on top of SketchUp.
212
216
  #
217
+ # @bug Prior to SketchUp 2019 the +:width+ and +:height+ provided is ignored
218
+ # if a +:preference_key+ is also present. To work around this bug on older
219
+ # versions use {#set_size} after you initialize the dialog.
220
+ #
221
+ # @bug SketchUp 2022.0 fixed a bug where position was set incorrectly when
222
+ # +use_content_size+ was set to +true+.
223
+ #
224
+ # @bug SketchUp 2022.0 fixed a bug where +max_height+ and +max_width+ were swapped
225
+ # when +use_content_size+ was set to +true+.
226
+ #
227
+ # @bug SketchUp 2022.0 fixed a bug where +use_content_size+ was not persisted (when
228
+ # +preferences_key+ is set).
229
+ #
230
+ # @bug SketchUp 2022.0 fixed a bug on Mac where size and position of the
231
+ # HtmlDialog were not persisted when SketchUp was closed without first
232
+ # closing the HtmlDialog window.
233
+ #
213
234
  # @example With options Hash
214
235
  # dialog = UI::HtmlDialog.new(
215
236
  # {
@@ -249,10 +270,6 @@ class UI::HtmlDialog
249
270
  # dialog.set_url("https://www.sketchup.com")
250
271
  # dialog.show
251
272
  #
252
- # @note Prior to SketchUp 2019 the +:width+ and +:height+ provided is ignored
253
- # if a +:preference_key+ is also present. To work around this bug on older
254
- # versions use {#set_size} after you initialize the dialog.
255
- #
256
273
  # @note Prefix +preference_key+ with something unique to your extension.
257
274
  #
258
275
  # @note If there is no reference kept to the HtmlDialog object, the window
@@ -316,7 +333,8 @@ class UI::HtmlDialog
316
333
  def set_can_close
317
334
  end
318
335
 
319
- # The {#set_content_size} method is used to set the content size of the HtmlDialog, in logical pixels.
336
+ # The {#set_content_size} method is used to set the content size of the HtmlDialog, in logical
337
+ # pixels.
320
338
  #
321
339
  # @example
322
340
  # dialog.set_content_size(600, 400)
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # {UI::Notification} objects allows you to show native notifications in the
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The Toolbar class contains methods to create and manipulate SketchUp
@@ -1,4 +1,4 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
2
  # License:: The MIT License (MIT)
3
3
 
4
4
  # The Ruby WebDialog class allows you to create and interact with DHTML dialog
@@ -177,6 +177,22 @@ class UI::WebDialog
177
177
 
178
178
  # The +new+ method is used to create a new webdialog.
179
179
  #
180
+ # 250, left = 0, top = 0, resizable = true)
181
+ # @param [String] dialog_title The title to be displayed in the webdialog.
182
+ # @param [Boolean] scrollable true if you want to allow scrollbars, false
183
+ # if you do not want to allow scrollbars.
184
+ # @param [String, nil] pref_key The registry entry where the location and
185
+ # size of the dialog will be saved.
186
+ # If preferences_key is not included, the
187
+ # location and size will not be stored.
188
+ # @param [Integer] width The width of the webdialog.
189
+ # @param [Integer] height The height of the webdialog.
190
+ # @param [Integer] left The number of pixels from the left.
191
+ # @param [Integer] top The number of pixels from the top.
192
+ # @param [Integer] resizable true if you want the webdialog to be resizable,
193
+ # false if not.
194
+ # @return [UI::WebDialog]
195
+ #
180
196
  # @example
181
197
  # dlg = UI::WebDialog.new("Show sketchup.com", true,
182
198
  # "ShowSketchupDotCom", 739, 641, 150, 150, true);
@@ -191,22 +207,8 @@ class UI::WebDialog
191
207
  # user's OS. On Mac, Safari is embedded, while on the PC whatever version of
192
208
  # Internet Explorer is installed will be embedded.
193
209
  #
194
- # @overload initialize(dialog_title = "", scrollable = true, pref_key = nil, width = 250, height = 250, left = 0, top = 0, resizable = true)
210
+ # @overload initialize(dialog_title = "", scrollable = true, pref_key = nil, width = 250, height =
195
211
  #
196
- # @param [String] dialog_title The title to be displayed in the webdialog.
197
- # @param [Boolean] scrollable true if you want to allow scrollbars, false
198
- # if you do not want to allow scrollbars.
199
- # @param [String, nil] pref_key The registry entry where the location and
200
- # size of the dialog will be saved.
201
- # If preferences_key is not included, the
202
- # location and size will not be stored.
203
- # @param [Integer] width The width of the webdialog.
204
- # @param [Integer] height The height of the webdialog.
205
- # @param [Integer] left The number of pixels from the left.
206
- # @param [Integer] top The number of pixels from the top.
207
- # @param [Integer] resizable true if you want the webdialog to be resizable,
208
- # false if not.
209
- # @return [UI::WebDialog]
210
212
  #
211
213
  # @overload initialize(properties)
212
214
  #