sketchup-api-stubs 0.7.4 → 0.7.5
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.
- checksums.yaml +4 -4
- data/lib/sketchup-api-stubs.rb +1 -1
- data/lib/sketchup-api-stubs/sketchup.rb +147 -145
- data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -318
- data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
- data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
- data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
- data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
- data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
- data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +498 -492
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -478
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
- data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
- data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
- data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +691 -691
- data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
- data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +573 -573
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +411 -411
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +179 -174
- data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
- data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +515 -514
- data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
- data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -143
- data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
- data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -349
- data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
- data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
- data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
- data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -371
- data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
- data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
- data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -220
- data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
- data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
- data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
- data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
- data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
- data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -204
- data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
- data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
- data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +694 -694
- data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
- data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
- data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
- data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
- data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -140
- data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +157 -157
- data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +286 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -328
- data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -577
- data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
- data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
- data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +577 -562
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +604 -593
- data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
- data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -194
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +362 -329
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -72
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -102
- data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -312
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -38
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
- data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +396 -390
- data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +502 -508
- data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1126 -1119
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -544
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -59
- data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +126 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +751 -750
- data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
- data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +699 -697
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +285 -285
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
- data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +417 -409
- data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -226
- data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -190
- data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +405 -393
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -82
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -303
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +327 -285
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -244
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -136
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -112
- data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
- data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -416
- data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +318 -311
- data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -141
- data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -95
- data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1651 -1638
- data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -356
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +131 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
- data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -770
- data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +363 -353
- data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -76
- data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -456
- data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -44
- data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
- data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +459 -454
- data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
- data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +257 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -57
- data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
- data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
- data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -225
- data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +835 -829
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -154
- data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +71 -61
- data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
- data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1307 -1301
- data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -43
- data/lib/sketchup-api-stubs/stubs/UI/Command.rb +317 -310
- data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +387 -356
- data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +255 -229
- data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
- data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -633
- data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
- data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
- data/lib/sketchup-api-stubs/stubs/geom.rb +351 -348
- data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
- data/lib/sketchup-api-stubs/stubs/length.rb +278 -278
- data/lib/sketchup-api-stubs/stubs/numeric.rb +249 -249
- data/lib/sketchup-api-stubs/stubs/sketchup.rb +1342 -1310
- data/lib/sketchup-api-stubs/stubs/sketchupextension.rb +353 -353
- data/lib/sketchup-api-stubs/stubs/string.rb +24 -24
- data/lib/sketchup-api-stubs/stubs/ui.rb +668 -667
- metadata +4 -2
@@ -1,102 +1,102 @@
|
|
1
|
-
# Copyright:: Copyright 2020 Trimble Inc.
|
2
|
-
# License:: The MIT License (MIT)
|
3
|
-
|
4
|
-
# The OrientedBounds2d class is a bounding box represented by four
|
5
|
-
# {Geom::Point2d} objects, upper left, upper right, lower left and lower right
|
6
|
-
# positions.
|
7
|
-
#
|
8
|
-
# @version LayOut 2018
|
9
|
-
class Geom::OrientedBounds2d
|
10
|
-
|
11
|
-
# Instance Methods
|
12
|
-
|
13
|
-
# The {#==} method checks to see if the two {Geom::OrientedBounds2d}s are
|
14
|
-
# equal. This checks whether the point values are the same.
|
15
|
-
#
|
16
|
-
# @example
|
17
|
-
# entity.bounds == entity.untransformed_bounds
|
18
|
-
#
|
19
|
-
# @param [Geom::OrientedBounds2d] other
|
20
|
-
#
|
21
|
-
# @return [Boolean]
|
22
|
-
#
|
23
|
-
# @version LayOut 2018
|
24
|
-
def ==(other)
|
25
|
-
end
|
26
|
-
|
27
|
-
# The {#lower_left} method returns the {Geom::Point2d} of the lower left
|
28
|
-
# corner of the {Geom::OrientedBounds2d}.
|
29
|
-
#
|
30
|
-
# @example
|
31
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
32
|
-
# entity = doc.shared_enities.first
|
33
|
-
# bounds = entity.drawing_bounds
|
34
|
-
# l_l = bounds.lower_left
|
35
|
-
#
|
36
|
-
# @return [Geom::Point2d]
|
37
|
-
#
|
38
|
-
# @version LayOut 2018
|
39
|
-
def lower_left
|
40
|
-
end
|
41
|
-
|
42
|
-
# The {#lower_right} method returns the {Geom::Point2d} of the lower right
|
43
|
-
# corner of the {Geom::OrientedBounds2d}.
|
44
|
-
#
|
45
|
-
# @example
|
46
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
47
|
-
# entity = doc.shared_enities.first
|
48
|
-
# bounds = entity.drawing_bounds
|
49
|
-
# l_r = bounds.lower_right
|
50
|
-
#
|
51
|
-
# @return [Geom::Point2d]
|
52
|
-
#
|
53
|
-
# @version LayOut 2018
|
54
|
-
def lower_right
|
55
|
-
end
|
56
|
-
|
57
|
-
# The {#to_a} method returns an array which contains the {Geom::Point2d} that
|
58
|
-
# define the {Geom::OrientedBounds2d}.
|
59
|
-
#
|
60
|
-
# @example
|
61
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
62
|
-
# entity = doc.shared_enities.first
|
63
|
-
# bounds = entity.drawing_bounds
|
64
|
-
# bounds.to_a.each { |point| p point.to_s }
|
65
|
-
#
|
66
|
-
# @return [Array(Geom::Point2d, Geom::Point2d, Geom::Point2d, Geom::Point2d)]
|
67
|
-
#
|
68
|
-
# @version LayOut 2018
|
69
|
-
def to_a
|
70
|
-
end
|
71
|
-
|
72
|
-
# The {#upper_left} method returns the {Geom::Point2d} of the upper left corner
|
73
|
-
# of the {Geom::OrientedBounds2d}.
|
74
|
-
#
|
75
|
-
# @example
|
76
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
77
|
-
# entity = doc.shared_enities.first
|
78
|
-
# bounds = entity.drawing_bounds
|
79
|
-
# u_l = bounds.upper_left
|
80
|
-
#
|
81
|
-
# @return [Geom::Point2d]
|
82
|
-
#
|
83
|
-
# @version LayOut 2018
|
84
|
-
def upper_left
|
85
|
-
end
|
86
|
-
|
87
|
-
# The {#upper_right} method returns the {Geom::Point2d} of the upper right
|
88
|
-
# corner of the {Geom::OrientedBounds2d}.
|
89
|
-
#
|
90
|
-
# @example
|
91
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
92
|
-
# entity = doc.shared_enities.first
|
93
|
-
# bounds = entity.drawing_bounds
|
94
|
-
# u_r = bounds.upper_right
|
95
|
-
#
|
96
|
-
# @return [Geom::Point2d]
|
97
|
-
#
|
98
|
-
# @version LayOut 2018
|
99
|
-
def upper_right
|
100
|
-
end
|
101
|
-
|
102
|
-
end
|
1
|
+
# Copyright:: Copyright 2020 Trimble Inc.
|
2
|
+
# License:: The MIT License (MIT)
|
3
|
+
|
4
|
+
# The OrientedBounds2d class is a bounding box represented by four
|
5
|
+
# {Geom::Point2d} objects, upper left, upper right, lower left and lower right
|
6
|
+
# positions.
|
7
|
+
#
|
8
|
+
# @version LayOut 2018
|
9
|
+
class Geom::OrientedBounds2d
|
10
|
+
|
11
|
+
# Instance Methods
|
12
|
+
|
13
|
+
# The {#==} method checks to see if the two {Geom::OrientedBounds2d}s are
|
14
|
+
# equal. This checks whether the point values are the same.
|
15
|
+
#
|
16
|
+
# @example
|
17
|
+
# entity.bounds == entity.untransformed_bounds
|
18
|
+
#
|
19
|
+
# @param [Geom::OrientedBounds2d] other
|
20
|
+
#
|
21
|
+
# @return [Boolean]
|
22
|
+
#
|
23
|
+
# @version LayOut 2018
|
24
|
+
def ==(other)
|
25
|
+
end
|
26
|
+
|
27
|
+
# The {#lower_left} method returns the {Geom::Point2d} of the lower left
|
28
|
+
# corner of the {Geom::OrientedBounds2d}.
|
29
|
+
#
|
30
|
+
# @example
|
31
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
32
|
+
# entity = doc.shared_enities.first
|
33
|
+
# bounds = entity.drawing_bounds
|
34
|
+
# l_l = bounds.lower_left
|
35
|
+
#
|
36
|
+
# @return [Geom::Point2d]
|
37
|
+
#
|
38
|
+
# @version LayOut 2018
|
39
|
+
def lower_left
|
40
|
+
end
|
41
|
+
|
42
|
+
# The {#lower_right} method returns the {Geom::Point2d} of the lower right
|
43
|
+
# corner of the {Geom::OrientedBounds2d}.
|
44
|
+
#
|
45
|
+
# @example
|
46
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
47
|
+
# entity = doc.shared_enities.first
|
48
|
+
# bounds = entity.drawing_bounds
|
49
|
+
# l_r = bounds.lower_right
|
50
|
+
#
|
51
|
+
# @return [Geom::Point2d]
|
52
|
+
#
|
53
|
+
# @version LayOut 2018
|
54
|
+
def lower_right
|
55
|
+
end
|
56
|
+
|
57
|
+
# The {#to_a} method returns an array which contains the {Geom::Point2d} that
|
58
|
+
# define the {Geom::OrientedBounds2d}.
|
59
|
+
#
|
60
|
+
# @example
|
61
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
62
|
+
# entity = doc.shared_enities.first
|
63
|
+
# bounds = entity.drawing_bounds
|
64
|
+
# bounds.to_a.each { |point| p point.to_s }
|
65
|
+
#
|
66
|
+
# @return [Array(Geom::Point2d, Geom::Point2d, Geom::Point2d, Geom::Point2d)]
|
67
|
+
#
|
68
|
+
# @version LayOut 2018
|
69
|
+
def to_a
|
70
|
+
end
|
71
|
+
|
72
|
+
# The {#upper_left} method returns the {Geom::Point2d} of the upper left corner
|
73
|
+
# of the {Geom::OrientedBounds2d}.
|
74
|
+
#
|
75
|
+
# @example
|
76
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
77
|
+
# entity = doc.shared_enities.first
|
78
|
+
# bounds = entity.drawing_bounds
|
79
|
+
# u_l = bounds.upper_left
|
80
|
+
#
|
81
|
+
# @return [Geom::Point2d]
|
82
|
+
#
|
83
|
+
# @version LayOut 2018
|
84
|
+
def upper_left
|
85
|
+
end
|
86
|
+
|
87
|
+
# The {#upper_right} method returns the {Geom::Point2d} of the upper right
|
88
|
+
# corner of the {Geom::OrientedBounds2d}.
|
89
|
+
#
|
90
|
+
# @example
|
91
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
92
|
+
# entity = doc.shared_enities.first
|
93
|
+
# bounds = entity.drawing_bounds
|
94
|
+
# u_r = bounds.upper_right
|
95
|
+
#
|
96
|
+
# @return [Geom::Point2d]
|
97
|
+
#
|
98
|
+
# @version LayOut 2018
|
99
|
+
def upper_right
|
100
|
+
end
|
101
|
+
|
102
|
+
end
|
@@ -1,400 +1,400 @@
|
|
1
|
-
# Copyright:: Copyright 2020 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 2020 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
|