sketchup-api-stubs 0.7.9 → 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 (160) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +157 -151
  3. data/lib/sketchup-api-stubs/stubs/Array.rb +741 -741
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -322
  5. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +182 -172
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +111 -126
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +423 -400
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +693 -661
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +535 -509
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +500 -476
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +267 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +133 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +547 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +678 -693
  16. data/lib/sketchup-api-stubs/stubs/Geom.rb +351 -351
  17. data/lib/sketchup-api-stubs/stubs/LanguageHandler.rb +93 -93
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -595
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +751 -747
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -183
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Dictionary.rb +234 -0
  23. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +683 -517
  24. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -148
  26. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +464 -353
  27. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -354
  28. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  29. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  30. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  31. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -370
  32. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  33. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  34. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -225
  35. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +614 -567
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  37. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  38. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +282 -183
  39. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +458 -387
  40. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -209
  41. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +346 -344
  42. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  43. data/lib/sketchup-api-stubs/stubs/Layout/ReferenceEntity.rb +82 -82
  44. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +714 -692
  45. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1565 -1519
  46. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  48. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  49. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  50. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  51. data/lib/sketchup-api-stubs/stubs/Length.rb +286 -278
  52. data/lib/sketchup-api-stubs/stubs/Numeric.rb +249 -249
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +196 -144
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -169
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +226 -209
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +145 -150
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +294 -281
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +296 -302
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +473 -478
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +121 -121
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +673 -659
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +600 -593
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +252 -257
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -201
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +443 -449
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -74
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -104
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +167 -165
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -306
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -42
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +403 -406
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -397
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1282 -1239
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -261
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +519 -545
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  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 +122 -125
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +1006 -937
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -102
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +740 -750
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +289 -282
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +64 -62
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +405 -468
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -266
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -189
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +432 -406
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -84
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +307 -306
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +332 -326
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +380 -422
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +409 -427
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +241 -249
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +55 -48
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +114 -114
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/LoadHandler.rb +70 -0
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +1115 -414
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +330 -317
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -142
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -93
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1714 -1652
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +372 -357
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +133 -130
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -271
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +463 -490
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +104 -116
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +939 -797
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +388 -361
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +501 -478
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +385 -361
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -45
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +451 -458
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +211 -212
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +259 -255
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -59
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -40
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/Snap.rb +125 -0
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +88 -69
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +263 -217
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +283 -262
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +199 -217
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +924 -834
  143. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  144. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -156
  145. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -75
  146. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +143 -142
  147. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1566 -1311
  148. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +71 -45
  149. data/lib/sketchup-api-stubs/stubs/Sketchup.rb +1429 -1377
  150. data/lib/sketchup-api-stubs/stubs/SketchupExtension.rb +353 -353
  151. data/lib/sketchup-api-stubs/stubs/String.rb +24 -24
  152. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +399 -389
  153. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +580 -494
  154. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +280 -269
  155. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +258 -241
  156. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +636 -635
  157. data/lib/sketchup-api-stubs/stubs/UI.rb +791 -683
  158. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -303
  159. data/lib/sketchup-api-stubs.rb +1 -1
  160. metadata +10 -24
@@ -1,278 +1,286 @@
1
- # Copyright:: Copyright 2023 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # Because length units are used so often in SketchUp, a special class has been
5
- # added to make it easier to work with length values. You can use a Length
6
- # object any place that you would use a Float.
7
- #
8
- # Internally, all lengths in SketchUp are stored in inches. The Length class
9
- # stores values in inches as well. A number of methods have been added to the
10
- # Ruby Numeric class to do units conversions.
11
- #
12
- # The setting for the Length Format and Length Unit can be retrieved from the
13
- # {Sketchup::Model#options} by querying the +"UnitsOptions"+
14
- # {Sketchup::OptionsProvider} for +"LengthFormat"+ and +"LengthUnit"+
15
- # respectively.
16
- #
17
- # *Constants:*
18
- #
19
- # [Length Format]
20
- # - +Length::Decimal+
21
- # - +Length::Architectural+
22
- # - +Length::Engineering+
23
- # - +Length::Fractional+
24
- #
25
- # [Length Unit]
26
- # - +Length::Inches+
27
- # - +Length::Feet+
28
- # - +Length::Millimeter+
29
- # - +Length::Centimeter+
30
- # - +Length::Meter+
31
- # (Added in SketchUp 2020.0)
32
- # - +Length::Yard+
33
- #
34
- # [Area Unit]
35
- # (Added in SketchUp 2019.2)
36
- # - +Length::SquareInches+
37
- # - +Length::SquareFeet+
38
- # - +Length::SquareMillimeter+
39
- # - +Length::SquareCentimeter+
40
- # - +Length::SquareMeter+
41
- # (Added in SketchUp 2020.0)
42
- # - +Length::SquareYard+
43
- #
44
- # [Volume Unit]
45
- # (Added in SketchUp 2019.2)
46
- # - +Length::CubicInches+
47
- # - +Length::CubicFeet+
48
- # - +Length::CubicMillimeter+
49
- # - +Length::CubicCentimeter+
50
- # - +Length::CubicMeter+
51
- # (Added in SketchUp 2020.0)
52
- # - +Length::CubicYard+
53
- # - +Length::Liter+
54
- # - +Length::USGallon+
55
- #
56
- # @note Prior to SketchUp 2015, +Length+ used to be derived from +Float+. This
57
- # is no longer the case.
58
- #
59
- # @version SketchUp 6.0
60
- class Length < Float
61
-
62
- # Constants
63
-
64
- Architectural = nil # Stub value.
65
-
66
- Centimeter = nil # Stub value.
67
-
68
- CubicCentimeter = nil # Stub value.
69
- CubicFeet = nil # Stub value.
70
- CubicInches = nil # Stub value.
71
- CubicMeter = nil # Stub value.
72
- CubicMillimeter = nil # Stub value.
73
- CubicYard = nil # Stub value.
74
-
75
- Decimal = nil # Stub value.
76
-
77
- Engineering = nil # Stub value.
78
-
79
- Fractional = nil # Stub value.
80
-
81
- Feet = nil # Stub value.
82
-
83
- Inches = nil # Stub value.
84
-
85
- Liter = nil # Stub value.
86
-
87
- Millimeter = nil # Stub value.
88
-
89
- Meter = nil # Stub value.
90
-
91
- SquareCentimeter = nil # Stub value.
92
- SquareFeet = nil # Stub value.
93
- SquareInches = nil # Stub value.
94
- SquareMeter = nil # Stub value.
95
- SquareMillimeter = nil # Stub value.
96
- SquareYard = nil # Stub value.
97
-
98
- USGallon = nil # Stub value.
99
-
100
- Yard = nil # Stub value.
101
-
102
- # Instance Methods
103
-
104
- # The < method is used to see if one length is less than another length.
105
- #
106
- # For example, if l1 = 1.0.inch and l2 = 1.000001.inch then l1 == l2 so l1
107
- # < l2 should return false.
108
- #
109
- # @example
110
- # length1 = 12.to_l
111
- # length2 = 11.to_l
112
- # if length1 < length2
113
- # puts "length1 is less than length2"
114
- # else
115
- # puts "length1 is not less than length2"
116
- # end
117
- #
118
- # @param [Length] length2
119
- # A length value.
120
- #
121
- # @return [Boolean] true if length1 is < length2; false if
122
- # length1 is not < length2
123
- #
124
- # @version SketchUp 6.0
125
- def <(length2)
126
- end
127
-
128
- # The <= method is used to see if one length is less than or equal to
129
- # another length.
130
- #
131
- # @example
132
- # length1 = 11.to_l
133
- # length2 = 12.to_l
134
- # if length1 <= length2
135
- # puts "length1 is less than or equal length2"
136
- # else
137
- # puts "length1 is greater than length2"
138
- # end
139
- #
140
- # @param [Length] length2
141
- # A length value.
142
- #
143
- # @return [Boolean] true if length1 is <= length2; false if
144
- # length1 is not <= length2
145
- #
146
- # @version SketchUp 6.0
147
- def <=(length2)
148
- end
149
-
150
- # The <=> method is used to see if one length is less than equal or greater
151
- # than another length. Because we change == for Length to do a test based on
152
- # a tolerance, we also need to change <=> to also take tolerance into account.
153
- #
154
- # @example
155
- # length1 = 20.to_l
156
- # length2 = 30.to_l
157
- # result = length1 <=> length2
158
- #
159
- # @param [Length] length2
160
- # A length value.
161
- #
162
- # @return [Integer] the result of the comparison
163
- #
164
- # @version SketchUp 6.0
165
- def <=>(length2)
166
- end
167
-
168
- # The == method is used to see if one length is equal to another length.
169
- #
170
- # The equality comparison on Length values uses the default tolerance that
171
- # SketchUp uses for comparing lengths.
172
- #
173
- # @example
174
- # length1 = 20.to_l
175
- # length2 = 30.to_l
176
- # is_equal = length1 == length2
177
- #
178
- # @param [Length] length2
179
- # A length value.
180
- #
181
- # @return [Boolean] true if length1 is == length2; false if
182
- # length1 is not == length2
183
- #
184
- # @version SketchUp 6.0
185
- def ==(length2)
186
- end
187
-
188
- # The > method is used to see if one length is greater than another length.
189
- #
190
- # For example, if l1 = 1.0.inch and l2 = 1.000001.inch then l1 == l2 so l1 >
191
- # l2 should return false.
192
- #
193
- # @example
194
- # length1 = 11.to_l
195
- # length2 = 12.to_l
196
- # if length1 > length2
197
- # puts "length1 is greater than length2"
198
- # else
199
- # puts "length1 is not greater than length2"
200
- # end
201
- #
202
- # @param [Length] length2
203
- # A length value.
204
- #
205
- # @return [Boolean] true if length1 is > length2; false if length1
206
- # is not > length2
207
- #
208
- # @version SketchUp 6.0
209
- def >(length2)
210
- end
211
-
212
- # The >= method is used to see if one length is greater than or equal to
213
- # another length.
214
- #
215
- # For example, if l1 = 1.0.inch and l2 = 1.000001.inch then l1 == l2 so l1 >=
216
- # l2 should return true. Also L1 <= l2 would return true.
217
- #
218
- # @example
219
- # length1 = 11.to_l
220
- # length2 = 12.to_l
221
- # if length1 >= length2
222
- # puts "length1 is greater than or equal length2"
223
- # else
224
- # puts "length1 is less than length2"
225
- # end
226
- #
227
- # @param [Length] length2
228
- # A length value.
229
- #
230
- # @return [Boolean] true if length1 is >= length2; false if
231
- # length1 is not >= length2
232
- #
233
- # @version SketchUp 6.0
234
- def >=(length2)
235
- end
236
-
237
- # The inspect method is used to retrieve an unformatted string for the length,
238
- # which is the length in inches, regardless of the user's model unit settings.
239
- # See Length.to_s for a way automatically format your Length to the user's
240
- # model units.
241
- #
242
- # @example
243
- # length = 55.to_l
244
- # str = length.inspect
245
- #
246
- # @return [String] an unformatted length string
247
- #
248
- # @version SketchUp 6.0
249
- def inspect
250
- end
251
-
252
- # The to_f method is used to convert a length to a normal float.
253
- #
254
- # @example
255
- # length = 45.to_l
256
- # f = length.to_f
257
- #
258
- # @return [Float] the float length value
259
- #
260
- # @version SketchUp 6.0
261
- def to_f
262
- end
263
-
264
- # Format a length as a String using the current units formatting settings
265
- # for the model. (So if the user's model is set to feet, this method will
266
- # return a nicely formatted length in feet.)
267
- #
268
- # @example
269
- # length = 55.to_l
270
- # str = length.to_s
271
- #
272
- # @return [String] the float length value
273
- #
274
- # @version SketchUp 6.0
275
- def to_s
276
- end
277
-
278
- end
1
+ # Copyright:: Copyright 2026 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # Because length units are used so often in SketchUp, a special class has been
5
+ # added to make it easier to work with length values. You can use a Length
6
+ # object any place that you would use a Float.
7
+ #
8
+ # Internally, all lengths in SketchUp are stored in inches. The Length class
9
+ # stores values in inches as well. A number of methods have been added to the
10
+ # Ruby Numeric class to do units conversions.
11
+ # {Find more info about units and lengths in this
12
+ # article}[https://developer.sketchup.com/article-lengthsandunits].
13
+ #
14
+ # The setting for the Length Format and Length Unit can be retrieved from the
15
+ # {Sketchup::Model#options} by querying the +"UnitsOptions"+
16
+ # {Sketchup::OptionsProvider} for +"LengthFormat"+ and +"LengthUnit"+
17
+ # respectively.
18
+ #
19
+ # *Constants:*
20
+ #
21
+ # [Length Format]
22
+ # - +Length::Decimal+
23
+ # - +Length::Architectural+
24
+ # - +Length::Engineering+
25
+ # - +Length::Fractional+
26
+ #
27
+ # [Length Unit]
28
+ # - +Length::Inches+
29
+ # - +Length::Feet+
30
+ # - +Length::Millimeter+
31
+ # - +Length::Centimeter+
32
+ # - +Length::Meter+
33
+ # (Added in SketchUp 2020.0)
34
+ # - +Length::Yard+
35
+ #
36
+ # [Area Unit]
37
+ # (Added in SketchUp 2019.2)
38
+ # - +Length::SquareInches+
39
+ # - +Length::SquareFeet+
40
+ # - +Length::SquareMillimeter+
41
+ # - +Length::SquareCentimeter+
42
+ # - +Length::SquareMeter+
43
+ # (Added in SketchUp 2020.0)
44
+ # - +Length::SquareYard+
45
+ #
46
+ # [Volume Unit]
47
+ # (Added in SketchUp 2019.2)
48
+ # - +Length::CubicInches+
49
+ # - +Length::CubicFeet+
50
+ # - +Length::CubicMillimeter+
51
+ # - +Length::CubicCentimeter+
52
+ # - +Length::CubicMeter+
53
+ # (Added in SketchUp 2020.0)
54
+ # - +Length::CubicYard+
55
+ # - +Length::Liter+
56
+ # - +Length::USGallon+
57
+ #
58
+ # @note Prior to SketchUp 2015, +Length+ used to be derived from +Float+. This
59
+ # is no longer the case.
60
+ #
61
+ # @note When serializing a Length object to a string to save for later use, e.g.
62
+ # in a config file, first convert them to Float objects. The string representation
63
+ # of a Length is rounded and uses the local decimal separator which can lead to
64
+ # data loss and portability issues. The string representation is intended for
65
+ # humans, not computers.
66
+ #
67
+ # @version SketchUp 6.0
68
+ class Length < Float
69
+
70
+ # Constants
71
+
72
+ Architectural = nil # Stub value.
73
+
74
+ Centimeter = nil # Stub value.
75
+
76
+ CubicCentimeter = nil # Stub value.
77
+ CubicFeet = nil # Stub value.
78
+ CubicInches = nil # Stub value.
79
+ CubicMeter = nil # Stub value.
80
+ CubicMillimeter = nil # Stub value.
81
+ CubicYard = nil # Stub value.
82
+
83
+ Decimal = nil # Stub value.
84
+
85
+ Engineering = nil # Stub value.
86
+
87
+ Fractional = nil # Stub value.
88
+
89
+ Feet = nil # Stub value.
90
+
91
+ Inches = nil # Stub value.
92
+
93
+ Liter = nil # Stub value.
94
+
95
+ Millimeter = nil # Stub value.
96
+
97
+ Meter = nil # Stub value.
98
+
99
+ SquareCentimeter = nil # Stub value.
100
+ SquareFeet = nil # Stub value.
101
+ SquareInches = nil # Stub value.
102
+ SquareMeter = nil # Stub value.
103
+ SquareMillimeter = nil # Stub value.
104
+ SquareYard = nil # Stub value.
105
+
106
+ USGallon = nil # Stub value.
107
+
108
+ Yard = nil # Stub value.
109
+
110
+ # Instance Methods
111
+
112
+ # The < method is used to see if one length is less than another length.
113
+ #
114
+ # For example, if l1 = 1.0.inch and l2 = 1.000001.inch then l1 == l2 so l1
115
+ # < l2 should return false.
116
+ #
117
+ # @example
118
+ # length1 = 12.to_l
119
+ # length2 = 11.to_l
120
+ # if length1 < length2
121
+ # puts "length1 is less than length2"
122
+ # else
123
+ # puts "length1 is not less than length2"
124
+ # end
125
+ #
126
+ # @param [Length] length2
127
+ # A length value.
128
+ #
129
+ # @return [Boolean] true if length1 is < length2; false if
130
+ # length1 is not < length2
131
+ #
132
+ # @version SketchUp 6.0
133
+ def <(length2)
134
+ end
135
+
136
+ # The <= method is used to see if one length is less than or equal to
137
+ # another length.
138
+ #
139
+ # @example
140
+ # length1 = 11.to_l
141
+ # length2 = 12.to_l
142
+ # if length1 <= length2
143
+ # puts "length1 is less than or equal length2"
144
+ # else
145
+ # puts "length1 is greater than length2"
146
+ # end
147
+ #
148
+ # @param [Length] length2
149
+ # A length value.
150
+ #
151
+ # @return [Boolean] true if length1 is <= length2; false if
152
+ # length1 is not <= length2
153
+ #
154
+ # @version SketchUp 6.0
155
+ def <=(length2)
156
+ end
157
+
158
+ # The <=> method is used to see if one length is less than equal or greater
159
+ # than another length. Because we change == for Length to do a test based on
160
+ # a tolerance, we also need to change <=> to also take tolerance into account.
161
+ #
162
+ # @example
163
+ # length1 = 20.to_l
164
+ # length2 = 30.to_l
165
+ # result = length1 <=> length2
166
+ #
167
+ # @param [Length] length2
168
+ # A length value.
169
+ #
170
+ # @return [Integer] the result of the comparison
171
+ #
172
+ # @version SketchUp 6.0
173
+ def <=>(length2)
174
+ end
175
+
176
+ # The == method is used to see if one length is equal to another length.
177
+ #
178
+ # The equality comparison on Length values uses the default tolerance that
179
+ # SketchUp uses for comparing lengths.
180
+ #
181
+ # @example
182
+ # length1 = 20.to_l
183
+ # length2 = 30.to_l
184
+ # is_equal = length1 == length2
185
+ #
186
+ # @param [Length] length2
187
+ # A length value.
188
+ #
189
+ # @return [Boolean] true if length1 is == length2; false if
190
+ # length1 is not == length2
191
+ #
192
+ # @version SketchUp 6.0
193
+ def ==(length2)
194
+ end
195
+
196
+ # The > method is used to see if one length is greater than another length.
197
+ #
198
+ # For example, if l1 = 1.0.inch and l2 = 1.000001.inch then l1 == l2 so l1 >
199
+ # l2 should return false.
200
+ #
201
+ # @example
202
+ # length1 = 11.to_l
203
+ # length2 = 12.to_l
204
+ # if length1 > length2
205
+ # puts "length1 is greater than length2"
206
+ # else
207
+ # puts "length1 is not greater than length2"
208
+ # end
209
+ #
210
+ # @param [Length] length2
211
+ # A length value.
212
+ #
213
+ # @return [Boolean] true if length1 is > length2; false if length1
214
+ # is not > length2
215
+ #
216
+ # @version SketchUp 6.0
217
+ def >(length2)
218
+ end
219
+
220
+ # The >= method is used to see if one length is greater than or equal to
221
+ # another length.
222
+ #
223
+ # For example, if l1 = 1.0.inch and l2 = 1.000001.inch then l1 == l2 so l1 >=
224
+ # l2 should return true. Also L1 <= l2 would return true.
225
+ #
226
+ # @example
227
+ # length1 = 11.to_l
228
+ # length2 = 12.to_l
229
+ # if length1 >= length2
230
+ # puts "length1 is greater than or equal length2"
231
+ # else
232
+ # puts "length1 is less than length2"
233
+ # end
234
+ #
235
+ # @param [Length] length2
236
+ # A length value.
237
+ #
238
+ # @return [Boolean] true if length1 is >= length2; false if
239
+ # length1 is not >= length2
240
+ #
241
+ # @version SketchUp 6.0
242
+ def >=(length2)
243
+ end
244
+
245
+ # The inspect method is used to retrieve an unformatted string for the length,
246
+ # which is the length in inches, regardless of the user's model unit settings.
247
+ # See Length.to_s for a way automatically format your Length to the user's
248
+ # model units.
249
+ #
250
+ # @example
251
+ # length = 55.to_l
252
+ # str = length.inspect
253
+ #
254
+ # @return [String] an unformatted length string
255
+ #
256
+ # @version SketchUp 6.0
257
+ def inspect
258
+ end
259
+
260
+ # The to_f method is used to convert a length to a normal float.
261
+ #
262
+ # @example
263
+ # length = 45.to_l
264
+ # f = length.to_f
265
+ #
266
+ # @return [Float] the float length value
267
+ #
268
+ # @version SketchUp 6.0
269
+ def to_f
270
+ end
271
+
272
+ # Format a length as a String using the current units formatting settings
273
+ # for the model. (So if the user's model is set to feet, this method will
274
+ # return a nicely formatted length in feet.)
275
+ #
276
+ # @example
277
+ # length = 55.to_l
278
+ # str = length.to_s
279
+ #
280
+ # @return [String] the float length value
281
+ #
282
+ # @version SketchUp 6.0
283
+ def to_s
284
+ end
285
+
286
+ end