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,400 +1,423 @@
1
- # Copyright:: Copyright 2023 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # The {Geom::Point2d} class allows you to work with a point in 2D space.
5
- # {Geom::Point2d} is a series of values representing x and y coordinates.
6
- #
7
- # The values are specified as +[x, y]+. For example [1, 1].
8
- # To create a point call +Geom::Point2d.new+, where the creation method
9
- # can take a variety of arguments:
10
- #
11
- # @example
12
- # # No arguments, creates a point at the origin [0, 0]
13
- # pt1 = Geom::Point2d.new
14
- #
15
- # # Creates a point at x of 1, y of 2.
16
- # pt2 = Geom::Point2d.new(1, 2)
17
- #
18
- # # You can also create a point directly by simply assigning the x, and y
19
- # # values to a variable as an array:
20
- # pt3 = [1, 2]
21
- #
22
- # @version LayOut 2018
23
- class Geom::Point2d
24
-
25
- # Instance Methods
26
-
27
- # The {#+} operator is a simple way to add to the current x and y values of the
28
- # {Geom::Point2d}, or to set the values of the {Geom::Point2d} by adding a
29
- # {Geom::Vector2d} to the {Geom::Point2d}.
30
- #
31
- # @example
32
- # pt = [1, 1]
33
- # # the result is a Point2d(2, 3)
34
- # pt2 = pt + [1, 2]
35
- #
36
- # @param [Geom::Vector2d, Array(Numeric, Numeric)] vector
37
- #
38
- # @return [Geom::Point2d]
39
- #
40
- # @version LayOut 2018
41
- def +(vector)
42
- end
43
-
44
- # The {#-} operator is a simple way to subtract from the current x and y values
45
- # of the {Geom::Point2d}.
46
- #
47
- # @example
48
- # vec = Geom::Vector2d.new(1, 2)
49
- # # result is a Point2d(3, 0)
50
- # pt = [4, 2] - vec
51
- # # result is a Vector2d(1, 2)
52
- # vec2 = [4, 2] - pt
53
- #
54
- # @overload -(vector)
55
- #
56
- # @param [Geom::Vector2d, Array(Numeric, Numeric)] vector
57
- # @return [Geom::Point2d]
58
- #
59
- # @overload -(point)
60
- #
61
- # @param [Geom::Point2d] point2d
62
- # @return [Geom::Vector2d] a vector indicating the difference between the two
63
- # points
64
- #
65
- # @version LayOut 2018
66
- def -(arg)
67
- end
68
-
69
- # The {#==} method compares two points for equality. This uses the standard
70
- # SketchUp tolerance to determine if two points are the same.
71
- #
72
- # @example
73
- # point1 = Geom::Point2d.new(1, 1)
74
- # point2 = Geom::Point2d.new(0, 1)
75
- # status = point1 == point2
76
- #
77
- # @param [Geom::Point2d, Array(Numeric, Numeric)] point
78
- #
79
- # @return [Boolean]
80
- #
81
- # @version LayOut 2018
82
- def ==(point)
83
- end
84
-
85
- # The {#[]} method returns the value of the {Geom::Point2d} at the specified
86
- # index.
87
- #
88
- # @example
89
- # point = Geom::Point2d.new(1, 2)
90
- #
91
- # # returns the y value of 2
92
- # yvalue = point[1]
93
- #
94
- # @param [Integer] index
95
- # The index for a specific x or y value in the
96
- # {Geom::Point2d}
97
- #
98
- # @return [Length] The new x or y value if successful
99
- #
100
- # @version LayOut 2018
101
- def [](index)
102
- end
103
-
104
- # The {#[]=} method sets the x or y value of the {Geom::Point2d} based on the
105
- # specific index of the value.
106
- #
107
- # @example
108
- # point = Geom::Point2d.new(1,2)
109
- # point[1] = 4
110
- #
111
- # @param [Integer] index
112
- # The index for a specific x or y value in the
113
- # {Geom::Point2d} to set
114
- #
115
- # @param [Numeric] value
116
- # The value to set for x or y
117
- #
118
- # @return [Numeric] The new x or y value if successful
119
- #
120
- # @version LayOut 2018
121
- def []=(index, value)
122
- end
123
-
124
- # The {#clone} method creates another point identical to the {Geom::Point2d}
125
- # being cloned.
126
- #
127
- # @example
128
- # point = Geom::Point2d.new(1, 2)
129
- # newpoint = point.clone
130
- #
131
- # @return [Geom::Point2d] the cloned {Geom::Point2d} object
132
- #
133
- # @version LayOut 2018
134
- def clone
135
- end
136
-
137
- # The {#distance} method computes the distance from the {Geom::Point2d} to
138
- # another {Geom::Point2d}.
139
- #
140
- # @example
141
- # point1 = Geom::Point2d.new(1, 1)
142
- # point2 = Geom::Point2d.new(1, 4)
143
- # # result is a value of 3
144
- # distance = point1.distance(point2)
145
- #
146
- # @param [Geom::Point2d, Array(Numeric, Numeric)] point
147
- #
148
- # @return [Numeric] the distance between the points in the current units
149
- #
150
- # @version LayOut 2018
151
- def distance(point)
152
- end
153
-
154
- # The {.new} method creates a new {Geom::Point2d}.
155
- #
156
- # @example
157
- # # No arguments, creates a point at the origin [0, 0]
158
- # pt1 = Geom::Point2d.new
159
- #
160
- # # Creates a point at x of 1 and y of 2.
161
- # pt2 = Geom::Point2d.new(1, 2)
162
- #
163
- # # You can also create a point directly by simply assigning the x and y
164
- # # values to a variable as an array:
165
- # pt3 = [1, 2]
166
- #
167
- # @overload initialize
168
- #
169
- # @return [Geom::Point2d]
170
- #
171
- # @overload initialize(x, y)
172
- #
173
- # @param [Numeric] x The location along the x axis
174
- # @param [Numeric] y The location along the y axis
175
- # @return [Geom::Point2d]
176
- #
177
- # @overload initialize(point)
178
- #
179
- # @param [Geom::Point2d, Array(Numeric, Numeric)] point
180
- # @return [Geom::Point2d]
181
- #
182
- # @version LayOut 2018
183
- def initialize(*args)
184
- end
185
-
186
- # The {#inspect} method formats the {Geom::Point2d} as a string.
187
- #
188
- # @example
189
- # point = Geom::Point2d.new(1, 2)
190
- # string = point.inspect
191
- #
192
- # @return [String]
193
- #
194
- # @version LayOut 2018
195
- def inspect
196
- end
197
-
198
- # The {#offset} method offsets the {Geom::Point2d} by a {Geom::Vector2d} and
199
- # returns a new {Geom::Point2d}. If distance is provided, it must be non-zero.
200
- #
201
- # @example
202
- # point = Geom::Point2d.new
203
- # vector = Geom::Vector2d.new(0, 2)
204
- # # result is a Point2d(0, 1)
205
- # point2 = point1.offset(vector, 1)
206
- #
207
- # @overload offset(vector)
208
- #
209
- # @param [Geom::Vector2d, Array(Numeric, Numeric)] vector
210
- # @return [Geom::Point2d]
211
- #
212
- # @overload offset(vector, distance)
213
- #
214
- # @param [Geom::Vector2d, Array(Numeric, Numeric)] vector
215
- # @param [Numeric] distance The how far along the vector to offset
216
- # @return [Geom::Point2d]
217
- #
218
- # @version LayOut 2018
219
- def offset(*args)
220
- end
221
-
222
- # The {#offset!} method offsets the {Geom::Point2d} by a {Geom::Vector2d}.
223
- # The {Geom::Point2d} itself is modified. The length of the vector must not be
224
- # zero.
225
- #
226
- # @example
227
- # point = Geom::Point2d.new
228
- # vector = Geom::Vector2d.new(0, 2)
229
- # # result is a Point2d(0, 1)
230
- # point1.offset!(vector, 1)
231
- #
232
- # @overload offset!(vector)
233
- #
234
- # @param [Geom::Vector2d, Array(Numeric, Numeric)] vector
235
- # @return [Geom::Point2d]
236
- #
237
- # @overload offset!(vector, distance)
238
- #
239
- # @param [Geom::Vector2d, Array(Numeric, Numeric)] vector
240
- # @param [Numeric] distance The distance along the vector to offset
241
- # @return [Geom::Point2d]
242
- #
243
- # @version LayOut 2018
244
- def offset!(*args)
245
- end
246
-
247
- # The {#set!} method sets the values of the {Geom::Point2d}.
248
- #
249
- # @example
250
- # point = Geom::Point2d.new(1, 2)
251
- # point = point.set!([4, 5])
252
- #
253
- # @overload set!(point)
254
- #
255
- # @param [Geom::Point2d, Array(Numeric, Numeric)] point
256
- # @return [Geom::Point2d]
257
- #
258
- # @overload set!(x, y)
259
- #
260
- # @param [Numeric] x
261
- # @param [Numeric] y
262
- # @return [Geom::Point2d]
263
- #
264
- # @version LayOut 2018
265
- def set!(*args)
266
- end
267
-
268
- # The {#to_a} method converts the {Geom::Point2d} to an array of 2 numbers.
269
- #
270
- # @example
271
- # point = Geom::Point2d.new(1, 2)
272
- # array = point.to_a
273
- #
274
- # @return [Array(Numeric, Numeric)] an array of two numbers representing x, y
275
- # of the {Geom::Point2d}
276
- #
277
- # @version LayOut 2018
278
- def to_a
279
- end
280
-
281
- # The {#to_s} method returns a string representation of the {Geom::Point2d}.
282
- #
283
- # @example
284
- # point = Geom::Point2d.new(1, 2)
285
- # str = point.to_s
286
- #
287
- # @return [String]
288
- #
289
- # @version LayOut 2018
290
- def to_s
291
- end
292
-
293
- # The {#transform} method applies a transformation to a point, returning a new
294
- # point. The original point is unchanged by this method.
295
- #
296
- # @example
297
- # point = Geom::Point2d.new(4, 5)
298
- # transformation = Geom::Transformation2d.new([1, 0, 0, 1, 2, 3])
299
- # # pt will be (6, 8)
300
- # pt = point.transform(transformation)
301
- #
302
- # @param [Geom::Transformation2d] transform
303
- # A Transformation object to apply to the point.
304
- #
305
- # @return [Geom::Point2d] the transformed point
306
- #
307
- # @version LayOut 2019
308
- def transform(transform)
309
- end
310
-
311
- # The {#transform!} method applies a transformation to a point. The point
312
- # itself is modified.
313
- #
314
- # @example
315
- # point = Geom::Point2d.new(4, 5)
316
- # transformation = Geom::Transformation2d.new([1, 0, 0, 1, 2, 3])
317
- # # point will be (6, 8)
318
- # point.transform!(transformation)
319
- #
320
- # @param [Geom::Transformation2d] transform
321
- # A Transformation object to apply to the point.
322
- #
323
- # @return [Geom::Point2d] the transformed point
324
- #
325
- # @version LayOut 2019
326
- def transform!(transform)
327
- end
328
-
329
- # The {#vector_to} method returns the vector between points.
330
- #
331
- # @example
332
- # pt1 = Geom::Point2d.new(1, 1)
333
- # pt2 = Geom::Point2d.new(3, 1)
334
- #
335
- # # result is a Vector2d(2, 0)
336
- # vec = pt1.vector_to(pt2) # is equivalent to (pt2 - pt1)
337
- #
338
- # @param [Geom::Point2d] point
339
- #
340
- # @return [Geom::Vector2d]
341
- #
342
- # @version LayOut 2018
343
- def vector_to(point)
344
- end
345
-
346
- # The {#x} method returns the x value of the {Geom::Point2d}.
347
- #
348
- # @example
349
- # point = Geom::Point2d.new(1, 2)
350
- # x = point.x
351
- #
352
- # @return [Length] the x value of the {Geom::Point2d}
353
- #
354
- # @version LayOut 2018
355
- def x
356
- end
357
-
358
- # The {#x=} method sets the x value of the {Geom::Point2d}.
359
- #
360
- # @example
361
- # point = Geom::Point2d.new(1, 2)
362
- # point.x = 7
363
- #
364
- # @param [Numeric] x
365
- # The desired x value of the {Geom::Point2d}
366
- #
367
- # @return [Numeric] The new x value of the {Geom::Point2d}
368
- #
369
- # @version LayOut 2018
370
- def x=(x)
371
- end
372
-
373
- # The {#y} method returns the y value of the {Geom::Point2d}.
374
- #
375
- # @example
376
- # point = Geom::Point2d.new(1, 2)
377
- # y = point.y
378
- #
379
- # @return [Length] The y value of the {Geom::Point2d}
380
- #
381
- # @version LayOut 2018
382
- def y
383
- end
384
-
385
- # The {#y=} method sets the y value of the {Geom::Point2d}.
386
- #
387
- # @example
388
- # point = Geom::Point2d.new(1, 2)
389
- # point.y = 7
390
- #
391
- # @param [Numeric] y
392
- # The desired y value of the {Geom::Point2d}
393
- #
394
- # @return [Numeric] The new y value of the {Geom::Point2d}
395
- #
396
- # @version LayOut 2018
397
- def y=(y)
398
- end
399
-
400
- end
1
+ # Copyright:: Copyright 2026 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # The {Geom::Point2d} class allows you to work with a point in 2D space.
5
+ # {Geom::Point2d} is a series of values representing x and y coordinates.
6
+ #
7
+ # The values are specified as +[x, y]+. For example [1, 1].
8
+ # To create a point call +Geom::Point2d.new+, where the creation method
9
+ # can take a variety of arguments:
10
+ #
11
+ # @example
12
+ # # No arguments, creates a point at the origin [0, 0]
13
+ # point1 = Geom::Point2d.new
14
+ #
15
+ # # Creates a point at x of 1, y of 2.
16
+ # point2 = Geom::Point2d.new(1, 2)
17
+ #
18
+ # # You can also create a point directly by simply assigning the x, and y
19
+ # # values to a variable as an array:
20
+ # point3 = [1, 2]
21
+ #
22
+ # @version LayOut 2018
23
+ class Geom::Point2d
24
+
25
+ # Instance Methods
26
+
27
+ # The {#+} operator is a simple way to add to the current x and y values of the
28
+ # {Geom::Point2d}, or to set the values of the {Geom::Point2d} by adding a
29
+ # {Geom::Vector2d} to the {Geom::Point2d}.
30
+ #
31
+ # @example Translate Point2d with Vector2d
32
+ # point = Geom::Point2d.new(1, 1)
33
+ # vector = Geom::Vector2d.new(1, 2)
34
+ # # The result is a Point2d(2, 3)
35
+ # new_point = point + vector
36
+ #
37
+ # @example Translate Point2d with vector in Array form
38
+ # point = Geom::Point2d.new(1, 1)
39
+ # # The result is a Point2d(2, 3)
40
+ # new_point = point + [1, 2]
41
+ #
42
+ # @param [Geom::Vector2d, Array(Numeric, Numeric)] vector
43
+ #
44
+ # @return [Geom::Point2d]
45
+ #
46
+ # @version LayOut 2018
47
+ def +(vector)
48
+ end
49
+
50
+ # The {#-} operator is a simple way to subtract from the current x and y values
51
+ # of the {Geom::Point2d}.
52
+ #
53
+ # @example Translate Point2d by vector in Array form
54
+ # point = Geom::Point2d.new(4, 2)
55
+ # # The result is a Vector2d(3, 0)
56
+ # vector = point - [1, 2]
57
+ #
58
+ # @example Calculate the Vector2d between two Point2d
59
+ # point1 = Geom::Point2d.new(4, 2)
60
+ # point2 = Geom::Point2d.new(1, 2)
61
+ # # The result is a Vector2d(3, 0)
62
+ # vector = point1 - point2
63
+ #
64
+ # @example Translate Point2d with Vector2d
65
+ # point = Geom::Point2d.new(4, 2)
66
+ # vector = Geom::Vector2d.new(3, 0)
67
+ # # The result is a Point2d(1, 2)
68
+ # new_point = point - vector
69
+ #
70
+ # @overload -(array2d)
71
+ #
72
+ # @param [Array(Numeric, Numeric)] array2d
73
+ # @return [Geom::Vector2d]
74
+ #
75
+ # @overload -(point2d)
76
+ #
77
+ # @param [Geom::Point2d] point2d
78
+ # @return [Geom::Vector2d]
79
+ #
80
+ # @overload -(vector2d)
81
+ #
82
+ # @param [Geom::Vector2d] vector2d
83
+ # @return [Geom::Point2d]
84
+ #
85
+ # @version LayOut 2018
86
+ def -(arg)
87
+ end
88
+
89
+ # The {#==} method compares two points for equality. This uses the standard
90
+ # SketchUp tolerance to determine if two points are the same.
91
+ #
92
+ # @example
93
+ # point1 = Geom::Point2d.new(1, 1)
94
+ # point2 = Geom::Point2d.new(0, 1)
95
+ # # Return false
96
+ # status = point1 == point2
97
+ #
98
+ # @param [Geom::Point2d, Array(Numeric, Numeric)] point
99
+ #
100
+ # @return [Boolean]
101
+ #
102
+ # @version LayOut 2018
103
+ def ==(point)
104
+ end
105
+
106
+ # The {#[]} method returns the value of the {Geom::Point2d} at the specified
107
+ # index.
108
+ #
109
+ # @example
110
+ # point = Geom::Point2d.new(1, 2)
111
+ #
112
+ # # Returns the y value of 2
113
+ # yvalue = point[1]
114
+ #
115
+ # @param [Integer] index
116
+ # The index for a specific x or y value in the
117
+ # {Geom::Point2d}
118
+ #
119
+ # @return [Length] The new x or y value if successful
120
+ #
121
+ # @version LayOut 2018
122
+ def [](index)
123
+ end
124
+
125
+ # The {#[]=} method sets the x or y value of the {Geom::Point2d} based on the
126
+ # specific index of the value.
127
+ #
128
+ # @example
129
+ # point = Geom::Point2d.new(1,2)
130
+ # point[1] = 4
131
+ #
132
+ # @param [Integer] index
133
+ # The index for a specific x or y value in the
134
+ # {Geom::Point2d} to set
135
+ #
136
+ # @param [Numeric] value
137
+ # The value to set for x or y
138
+ #
139
+ # @return [Numeric] The new x or y value if successful
140
+ #
141
+ # @version LayOut 2018
142
+ def []=(index, value)
143
+ end
144
+
145
+ # The {#clone} method creates another point identical to the {Geom::Point2d}
146
+ # being cloned.
147
+ #
148
+ # @example
149
+ # point = Geom::Point2d.new(1, 2)
150
+ # new_point = point.clone
151
+ #
152
+ # @return [Geom::Point2d] the cloned {Geom::Point2d} object
153
+ #
154
+ # @version LayOut 2018
155
+ def clone
156
+ end
157
+
158
+ # The {#distance} method computes the distance from the {Geom::Point2d} to
159
+ # another {Geom::Point2d}.
160
+ #
161
+ # @example
162
+ # point1 = Geom::Point2d.new(1, 1)
163
+ # point2 = Geom::Point2d.new(1, 4)
164
+ # # The result is 3
165
+ # distance = point1.distance(point2)
166
+ #
167
+ # @param [Geom::Point2d, Array(Numeric, Numeric)] point
168
+ #
169
+ # @return [Numeric] the distance between the points in the current units
170
+ #
171
+ # @version LayOut 2018
172
+ def distance(point)
173
+ end
174
+
175
+ # The {.new} method creates a new {Geom::Point2d}.
176
+ #
177
+ # @example
178
+ # # No arguments, creates a point at the origin [0, 0]
179
+ # point1 = Geom::Point2d.new
180
+ #
181
+ # # Creates a point at x of 1 and y of 2.
182
+ # point2 = Geom::Point2d.new(1, 2)
183
+ #
184
+ # # You can also create a point directly by simply assigning the x and y
185
+ # # values to a variable as an array:
186
+ # point3 = [1, 2]
187
+ #
188
+ # @overload initialize
189
+ #
190
+ # @return [Geom::Point2d]
191
+ #
192
+ # @overload initialize(x, y)
193
+ #
194
+ # @param [Numeric] x The location along the x axis
195
+ # @param [Numeric] y The location along the y axis
196
+ # @return [Geom::Point2d]
197
+ #
198
+ # @overload initialize(point)
199
+ #
200
+ # @param [Geom::Point2d, Array(Numeric, Numeric)] point
201
+ # @return [Geom::Point2d]
202
+ #
203
+ # @version LayOut 2018
204
+ def initialize(*args)
205
+ end
206
+
207
+ # The {#inspect} method formats the {Geom::Point2d} as a string.
208
+ #
209
+ # @example
210
+ # point = Geom::Point2d.new(1, 2)
211
+ # string = point.inspect
212
+ #
213
+ # @return [String]
214
+ #
215
+ # @version LayOut 2018
216
+ def inspect
217
+ end
218
+
219
+ # The {#offset} method offsets the {Geom::Point2d} by a {Geom::Vector2d} and
220
+ # returns a new {Geom::Point2d}. If distance is provided, it must be non-zero.
221
+ #
222
+ # @example
223
+ # point = Geom::Point2d.new
224
+ # vector = Geom::Vector2d.new(0, 2)
225
+ # # The result is a Point2d(0, 1)
226
+ # new_point = point.offset(vector, 1)
227
+ #
228
+ # @overload offset(vector)
229
+ #
230
+ # @param [Geom::Vector2d, Array(Numeric, Numeric)] vector
231
+ # @return [Geom::Point2d]
232
+ #
233
+ # @overload offset(vector, distance)
234
+ #
235
+ # @param [Geom::Vector2d, Array(Numeric, Numeric)] vector
236
+ # @param [Numeric] distance The how far along the vector to offset
237
+ # @return [Geom::Point2d]
238
+ #
239
+ # @version LayOut 2018
240
+ def offset(*args)
241
+ end
242
+
243
+ # The {#offset!} method offsets the {Geom::Point2d} by a {Geom::Vector2d}.
244
+ # The {Geom::Point2d} itself is modified. The length of the vector must not be
245
+ # zero.
246
+ #
247
+ # @example
248
+ # point = Geom::Point2d.new
249
+ # vector = Geom::Vector2d.new(0, 2)
250
+ # # The result is a Point2d(0, 1)
251
+ # point.offset!(vector, 1)
252
+ #
253
+ # @overload offset!(vector)
254
+ #
255
+ # @param [Geom::Vector2d, Array(Numeric, Numeric)] vector
256
+ # @return [Geom::Point2d]
257
+ #
258
+ # @overload offset!(vector, distance)
259
+ #
260
+ # @param [Geom::Vector2d, Array(Numeric, Numeric)] vector
261
+ # @param [Numeric] distance The distance along the vector to offset
262
+ # @return [Geom::Point2d]
263
+ #
264
+ # @version LayOut 2018
265
+ def offset!(*args)
266
+ end
267
+
268
+ # The {#set!} method sets the values of the {Geom::Point2d}.
269
+ #
270
+ # @example
271
+ # point = Geom::Point2d.new(1, 2)
272
+ # point = point.set!([4, 5])
273
+ #
274
+ # @overload set!(point)
275
+ #
276
+ # @param [Geom::Point2d, Array(Numeric, Numeric)] point
277
+ # @return [Geom::Point2d]
278
+ #
279
+ # @overload set!(x, y)
280
+ #
281
+ # @param [Numeric] x
282
+ # @param [Numeric] y
283
+ # @return [Geom::Point2d]
284
+ #
285
+ # @version LayOut 2018
286
+ def set!(*args)
287
+ end
288
+
289
+ # The {#to_a} method converts the {Geom::Point2d} to an array of 2 numbers.
290
+ #
291
+ # @example
292
+ # point = Geom::Point2d.new(1, 2)
293
+ # array = point.to_a
294
+ # # The result is [1, 2]
295
+ # p array
296
+ #
297
+ # @return [Array(Numeric, Numeric)] an array of two numbers representing x, y
298
+ # of the {Geom::Point2d}
299
+ #
300
+ # @version LayOut 2018
301
+ def to_a
302
+ end
303
+
304
+ # The {#to_s} method returns a string representation of the {Geom::Point2d}.
305
+ #
306
+ # @example
307
+ # point = Geom::Point2d.new(1, 2)
308
+ # string = point.to_s
309
+ #
310
+ # @return [String]
311
+ #
312
+ # @version LayOut 2018
313
+ def to_s
314
+ end
315
+
316
+ # The {#transform} method applies a transformation to a point, returning a new
317
+ # point. The original point is unchanged by this method.
318
+ #
319
+ # @example
320
+ # point = Geom::Point2d.new(4, 5)
321
+ # transformation = Geom::Transformation2d.new([1, 0, 0, 1, 2, 3])
322
+ # # The result is a Point2d(6, 8)
323
+ # transformed_point = point.transform(transformation)
324
+ #
325
+ # @param [Geom::Transformation2d] transform
326
+ # A Transformation object to apply to the point.
327
+ #
328
+ # @return [Geom::Point2d] the transformed point
329
+ #
330
+ # @version LayOut 2019
331
+ def transform(transform)
332
+ end
333
+
334
+ # The {#transform!} method applies a transformation to a point. The point
335
+ # itself is modified.
336
+ #
337
+ # @example
338
+ # point = Geom::Point2d.new(4, 5)
339
+ # transformation = Geom::Transformation2d.new([1, 0, 0, 1, 2, 3])
340
+ # # The result is a Point2d(6, 8)
341
+ # point.transform!(transformation)
342
+ #
343
+ # @param [Geom::Transformation2d] transform
344
+ # A Transformation object to apply to the point.
345
+ #
346
+ # @return [Geom::Point2d] the transformed point
347
+ #
348
+ # @version LayOut 2019
349
+ def transform!(transform)
350
+ end
351
+
352
+ # The {#vector_to} method returns the vector between points.
353
+ #
354
+ # @example
355
+ # point1 = Geom::Point2d.new(1, 1)
356
+ # point2 = Geom::Point2d.new(3, 1)
357
+ #
358
+ # # The result is a Vector2d(2, 0)
359
+ # vector = point1.vector_to(point2) # is equivalent to (point2 - point1)
360
+ #
361
+ # @param [Geom::Point2d, Array(Numeric, Numeric)] point
362
+ #
363
+ # @return [Geom::Vector2d]
364
+ #
365
+ # @version LayOut 2018
366
+ def vector_to(point)
367
+ end
368
+
369
+ # The {#x} method returns the x value of the {Geom::Point2d}.
370
+ #
371
+ # @example
372
+ # point = Geom::Point2d.new(1, 2)
373
+ # x = point.x
374
+ #
375
+ # @return [Length] the x value of the {Geom::Point2d}
376
+ #
377
+ # @version LayOut 2018
378
+ def x
379
+ end
380
+
381
+ # The {#x=} method sets the x value of the {Geom::Point2d}.
382
+ #
383
+ # @example
384
+ # point = Geom::Point2d.new(1, 2)
385
+ # point.x = 7
386
+ #
387
+ # @param [Numeric] x
388
+ # The desired x value of the {Geom::Point2d}
389
+ #
390
+ # @return [Numeric] The new x value of the {Geom::Point2d}
391
+ #
392
+ # @version LayOut 2018
393
+ def x=(x)
394
+ end
395
+
396
+ # The {#y} method returns the y value of the {Geom::Point2d}.
397
+ #
398
+ # @example
399
+ # point = Geom::Point2d.new(1, 2)
400
+ # y = point.y
401
+ #
402
+ # @return [Length] The y value of the {Geom::Point2d}
403
+ #
404
+ # @version LayOut 2018
405
+ def y
406
+ end
407
+
408
+ # The {#y=} method sets the y value of the {Geom::Point2d}.
409
+ #
410
+ # @example
411
+ # point = Geom::Point2d.new(1, 2)
412
+ # point.y = 7
413
+ #
414
+ # @param [Numeric] y
415
+ # The desired y value of the {Geom::Point2d}
416
+ #
417
+ # @return [Numeric] The new y value of the {Geom::Point2d}
418
+ #
419
+ # @version LayOut 2018
420
+ def y=(y)
421
+ end
422
+
423
+ end