sketchup-api-stubs 0.6.1 → 0.7.4
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/.yardopts +2 -0
- data/lib/sketchup-api-stubs.rb +1 -1
- data/lib/sketchup-api-stubs/sketchup.rb +145 -145
- data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +318 -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 -401
- data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
- data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +492 -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 -523
- 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 -569
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +411 -411
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +174 -186
- data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
- data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +514 -455
- data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
- data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +143 -155
- data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -359
- data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -349
- data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -123
- data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
- data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -86
- data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +371 -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 +220 -232
- data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -563
- 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 +204 -216
- 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 -547
- 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 +140 -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 +281 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +328 -328
- data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +577 -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 +281 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +562 -554
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -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 +194 -194
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +329 -329
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +72 -72
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +102 -102
- data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +312 -312
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +38 -38
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
- data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +390 -390
- data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +508 -508
- data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1119 -1097
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +125 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +544 -537
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +59 -59
- data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +750 -750
- data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
- data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +697 -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 +409 -409
- data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +226 -226
- data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +190 -190
- data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +393 -393
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +82 -82
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +303 -303
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +285 -262
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +244 -231
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +136 -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 -123
- data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
- data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +416 -416
- data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +311 -311
- data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +141 -141
- data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +95 -95
- data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1638 -1483
- data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +356 -356
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +132 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -282
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
- data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +770 -650
- data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +353 -353
- data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +76 -76
- data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +456 -456
- data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -356
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +44 -44
- data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
- data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +454 -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 +57 -57
- data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
- data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +211 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
- data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +225 -225
- data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +829 -829
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +154 -154
- data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +61 -61
- data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
- data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1301 -995
- data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +43 -43
- data/lib/sketchup-api-stubs/stubs/UI/Command.rb +310 -310
- data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +356 -356
- data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +229 -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 -303
- data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
- data/lib/sketchup-api-stubs/stubs/geom.rb +348 -233
- data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
- data/lib/sketchup-api-stubs/stubs/length.rb +278 -262
- data/lib/sketchup-api-stubs/stubs/numeric.rb +249 -249
- data/lib/sketchup-api-stubs/stubs/sketchup.rb +1310 -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 +667 -660
- metadata +2 -16
@@ -1,263 +1,263 @@
|
|
1
|
-
# Copyright:: Copyright
|
2
|
-
# License:: The MIT License (MIT)
|
3
|
-
|
4
|
-
#
|
5
|
-
# @version LayOut 2018
|
6
|
-
class Geom::Transformation2d
|
7
|
-
|
8
|
-
# Class Methods
|
9
|
-
|
10
|
-
# The {.rotation} method is used to create a transformation that does rotation
|
11
|
-
# about a point.
|
12
|
-
#
|
13
|
-
# @example
|
14
|
-
# point = Geom::Point2d.new(10, 5)
|
15
|
-
# angle = 45.degrees # Return 45 degrees in radians.
|
16
|
-
# transformation = Geom::Transformation2d.rotation(point, angle)
|
17
|
-
#
|
18
|
-
# @param [Geom::Point2d] point
|
19
|
-
#
|
20
|
-
# @param [Float] angle
|
21
|
-
# The angle in radians.
|
22
|
-
#
|
23
|
-
# @return [Geom::Transformation2d]
|
24
|
-
#
|
25
|
-
# @version LayOut 2019
|
26
|
-
def self.rotation(point, angle)
|
27
|
-
end
|
28
|
-
|
29
|
-
# The {.scaling} method is used to create a transformation that does scaling.
|
30
|
-
#
|
31
|
-
# @example
|
32
|
-
# point = Geom::Point3d.new(20, 30, 0)
|
33
|
-
# scale = 10
|
34
|
-
# tr = Geom::Transformation2d.scaling(point, scale)
|
35
|
-
#
|
36
|
-
# @overload scaling(scale)
|
37
|
-
#
|
38
|
-
# With one argument, it does a uniform scale about the origin.
|
39
|
-
# @param [Float] scale The global scale factor for the transform.
|
40
|
-
# @return [Geom::Transformation2d]
|
41
|
-
#
|
42
|
-
# @overload scaling(xscale, yscale)
|
43
|
-
#
|
44
|
-
# With two arguments, it does a non-uniform scale about the origin.
|
45
|
-
# @param [Float] xscale The scale factor in the x direction for the transform.
|
46
|
-
# @param [Float] yscale The scale factor in the y direction for the transform.
|
47
|
-
# @return [Geom::Transformation2d]
|
48
|
-
#
|
49
|
-
# @overload scaling(point, scale)
|
50
|
-
#
|
51
|
-
# With two arguments, it does a uniform scale about an arbitrary point.
|
52
|
-
# @param [Geom::Point2d] point
|
53
|
-
# @param [Float] scale The global scale factor for the transform.
|
54
|
-
# @return [Geom::Transformation2d]
|
55
|
-
#
|
56
|
-
# @overload scaling(point, xscale, yscale)
|
57
|
-
#
|
58
|
-
# With three arguments it does a non-uniform scale about an arbitrary point.
|
59
|
-
# @param [Geom::Point2d] point
|
60
|
-
# @param [Float] xscale The scale factor in the x direction for the transform.
|
61
|
-
# @param [Float] yscale The scale factor in the y direction for the transform.
|
62
|
-
# @return [Geom::Transformation2d]
|
63
|
-
#
|
64
|
-
# @version LayOut 2019
|
65
|
-
def self.scaling(*args)
|
66
|
-
end
|
67
|
-
|
68
|
-
# The {.translation} method is used to create a transformation that does
|
69
|
-
# translation.
|
70
|
-
#
|
71
|
-
# @example
|
72
|
-
# vector = Geom::Vector2d.new(0, 1)
|
73
|
-
# tr = Geom::Transformation2d.translation(vector)
|
74
|
-
#
|
75
|
-
# @overload translation(vector)
|
76
|
-
#
|
77
|
-
# @param [Geom::Vector2d] vector
|
78
|
-
# @return [Geom::Transformation2d]
|
79
|
-
#
|
80
|
-
# @overload translation(point)
|
81
|
-
#
|
82
|
-
# @param [Geom::Point2d] point
|
83
|
-
# @return [Geom::Transformation2d]
|
84
|
-
#
|
85
|
-
# @version LayOut 2019
|
86
|
-
def self.translation(vector)
|
87
|
-
end
|
88
|
-
|
89
|
-
# Instance Methods
|
90
|
-
|
91
|
-
# The {#*} method is used to do matrix multiplication using the transform.
|
92
|
-
#
|
93
|
-
# @example
|
94
|
-
# point1 = Geom::Point2d.new(5, 10)
|
95
|
-
# point2 = Geom::Point2d.new(2, 2)
|
96
|
-
# tr = Geom::Transformation2d.new(point1)
|
97
|
-
# # Returns Point2d(7, 12)
|
98
|
-
# point3 = tr * point2
|
99
|
-
#
|
100
|
-
# @overload *(point)
|
101
|
-
#
|
102
|
-
# @param [Geom::Point2d] point
|
103
|
-
# @return [Geom::Point2d]
|
104
|
-
#
|
105
|
-
# @overload *(vector)
|
106
|
-
#
|
107
|
-
# @param [Geom::Vector2d] vector
|
108
|
-
# @return [Geom::Vector2d]
|
109
|
-
#
|
110
|
-
# @overload *(transformation)
|
111
|
-
#
|
112
|
-
# @param [Geom::Transformation2d] transformation
|
113
|
-
# @return [Geom::Transformation2d]
|
114
|
-
#
|
115
|
-
# @overload *(point)
|
116
|
-
#
|
117
|
-
# @param [Array<Float, Float>] point
|
118
|
-
# @return [Array<Float, Float>]
|
119
|
-
#
|
120
|
-
# @version LayOut 2019
|
121
|
-
def *(arg)
|
122
|
-
end
|
123
|
-
|
124
|
-
# The {#==} method checks to see if the two {Geom::Transformation2d}s are equal.
|
125
|
-
# This checks whether the values of the transformations are the same.
|
126
|
-
#
|
127
|
-
# @example
|
128
|
-
# tr = Geom::Transformation2d.new({1.0, 0.0, 0.0, 1.0, 1.0, 1.0})
|
129
|
-
# tr == tr.clone
|
130
|
-
#
|
131
|
-
# @param [Geom::Transformation2d] other
|
132
|
-
#
|
133
|
-
# @return [Boolean]
|
134
|
-
#
|
135
|
-
# @version LayOut 2018
|
136
|
-
def ==(other)
|
137
|
-
end
|
138
|
-
|
139
|
-
# The {#clone} method creates a copy of the {Geom::Transformation2d}.
|
140
|
-
#
|
141
|
-
# @example
|
142
|
-
# tr1 = Geom::Transformation2d.new
|
143
|
-
# tr2 = tr1.clone
|
144
|
-
#
|
145
|
-
# @return [Geom::Transformation2d]
|
146
|
-
#
|
147
|
-
# @version LayOut 2018
|
148
|
-
def clone
|
149
|
-
end
|
150
|
-
|
151
|
-
# The {#identity?} method determines if the {Geom::Transformation2d} is the
|
152
|
-
# {IDENTITY_2D} transform.
|
153
|
-
#
|
154
|
-
# @example
|
155
|
-
# array = {1.0, 0.0, 0.0, 1.0, 1.0, 0.0}
|
156
|
-
# tr = Geom::Transformation2d.new(array)
|
157
|
-
# # Returns false.
|
158
|
-
# status = tr.identity?
|
159
|
-
#
|
160
|
-
# @example
|
161
|
-
# tr = Geom::Transformation2d.new
|
162
|
-
# # Returns true.
|
163
|
-
# status = tr.identity?
|
164
|
-
#
|
165
|
-
# @example
|
166
|
-
# # Returns true.
|
167
|
-
# status = IDENTITY_2D.identity?
|
168
|
-
#
|
169
|
-
# @return [Boolean] +true+ if the transform is the identity
|
170
|
-
#
|
171
|
-
# @version LayOut 2018
|
172
|
-
def identity?
|
173
|
-
end
|
174
|
-
|
175
|
-
# The {#initialize} method creates a new {Geom::Transformation2d}. You can use
|
176
|
-
# this method or one of the more specific methods for creating specific kinds
|
177
|
-
# of {Geom::Transformation2d}.
|
178
|
-
#
|
179
|
-
# @example
|
180
|
-
# tr = Geom::Transformation2d.new({1.0, 0.0, 0.0, 1.0, 1.0, 1.0})
|
181
|
-
#
|
182
|
-
# @overload initialize
|
183
|
-
#
|
184
|
-
# @return [Geom::Transformation2d] identity Transformation2d.
|
185
|
-
#
|
186
|
-
# @overload initialize(transformation)
|
187
|
-
#
|
188
|
-
# Creates a Transformation2d that is a copy of another Transformation2d.
|
189
|
-
# This is equivalent to {#clone}.
|
190
|
-
# @param [Geom::Transformation2d] transform
|
191
|
-
# @return [Geom::Transformation2d]
|
192
|
-
#
|
193
|
-
# @overload initialize(array)
|
194
|
-
#
|
195
|
-
# @param [Array<Float>] array A 6 element Array.
|
196
|
-
# @return [Geom::Transformation2d]
|
197
|
-
#
|
198
|
-
# @version LayOut 2018
|
199
|
-
def initialize(*args)
|
200
|
-
end
|
201
|
-
|
202
|
-
# The {#inverse} method is used to retrieve the inverse of a transformation.
|
203
|
-
#
|
204
|
-
# @example
|
205
|
-
# point = Geom::Point2d.new(5, 10)
|
206
|
-
# tr1 = Geom::Transformation2d.new(point)
|
207
|
-
# tr2 = tr1.inverse
|
208
|
-
#
|
209
|
-
# @return [Geom::Transformation2d]
|
210
|
-
#
|
211
|
-
# @version LayOut 2019
|
212
|
-
def inverse
|
213
|
-
end
|
214
|
-
|
215
|
-
# The {#invert!} method sets the transformation to its inverse.
|
216
|
-
#
|
217
|
-
# @example
|
218
|
-
# point = Geom::Point2d.new(5, 10)
|
219
|
-
# tr = Geom::Transformation2d.new(point)
|
220
|
-
# tr.invert!
|
221
|
-
#
|
222
|
-
# @return [Geom::Transformation2d]
|
223
|
-
#
|
224
|
-
# @version LayOut 2019
|
225
|
-
def invert!
|
226
|
-
end
|
227
|
-
|
228
|
-
# The {#set!} method sets the {Geom::Transformation2d} to match another one.
|
229
|
-
# The argument is anything that can be converted into a {Geom::Transformation2d}.
|
230
|
-
#
|
231
|
-
# @example
|
232
|
-
# tr1 = Geom::Transformation2d.new
|
233
|
-
# array = {2.0, 0.0, 0.0, 2.0, 0.0, 0.0}
|
234
|
-
# tr1.set!(array)
|
235
|
-
#
|
236
|
-
# @overload set!(transformation)
|
237
|
-
#
|
238
|
-
# @param [Geom::Transformation2d] transformation
|
239
|
-
# @return [Geom::Transformation2d]
|
240
|
-
#
|
241
|
-
# @overload set!(matrix)
|
242
|
-
#
|
243
|
-
# @param [Array<Float>] matrix An array of 6 floats.
|
244
|
-
# @return [Geom::Transformation2d]
|
245
|
-
#
|
246
|
-
# @version LayOut 2018
|
247
|
-
def set!(arg)
|
248
|
-
end
|
249
|
-
|
250
|
-
# The {#to_a} method returns a 6 element array which contains the values that
|
251
|
-
# define the Transformation2d.
|
252
|
-
#
|
253
|
-
# @example
|
254
|
-
# tr = Geom::Transformation2d.new
|
255
|
-
# tr.to_a.each_slice(2) {|a| p a}
|
256
|
-
#
|
257
|
-
# @return [Array<Float>] an array of 6 elements
|
258
|
-
#
|
259
|
-
# @version LayOut 2018
|
260
|
-
def to_a
|
261
|
-
end
|
262
|
-
|
263
|
-
end
|
1
|
+
# Copyright:: Copyright 2020 Trimble Inc.
|
2
|
+
# License:: The MIT License (MIT)
|
3
|
+
|
4
|
+
#
|
5
|
+
# @version LayOut 2018
|
6
|
+
class Geom::Transformation2d
|
7
|
+
|
8
|
+
# Class Methods
|
9
|
+
|
10
|
+
# The {.rotation} method is used to create a transformation that does rotation
|
11
|
+
# about a point.
|
12
|
+
#
|
13
|
+
# @example
|
14
|
+
# point = Geom::Point2d.new(10, 5)
|
15
|
+
# angle = 45.degrees # Return 45 degrees in radians.
|
16
|
+
# transformation = Geom::Transformation2d.rotation(point, angle)
|
17
|
+
#
|
18
|
+
# @param [Geom::Point2d] point
|
19
|
+
#
|
20
|
+
# @param [Float] angle
|
21
|
+
# The angle in radians.
|
22
|
+
#
|
23
|
+
# @return [Geom::Transformation2d]
|
24
|
+
#
|
25
|
+
# @version LayOut 2019
|
26
|
+
def self.rotation(point, angle)
|
27
|
+
end
|
28
|
+
|
29
|
+
# The {.scaling} method is used to create a transformation that does scaling.
|
30
|
+
#
|
31
|
+
# @example
|
32
|
+
# point = Geom::Point3d.new(20, 30, 0)
|
33
|
+
# scale = 10
|
34
|
+
# tr = Geom::Transformation2d.scaling(point, scale)
|
35
|
+
#
|
36
|
+
# @overload scaling(scale)
|
37
|
+
#
|
38
|
+
# With one argument, it does a uniform scale about the origin.
|
39
|
+
# @param [Float] scale The global scale factor for the transform.
|
40
|
+
# @return [Geom::Transformation2d]
|
41
|
+
#
|
42
|
+
# @overload scaling(xscale, yscale)
|
43
|
+
#
|
44
|
+
# With two arguments, it does a non-uniform scale about the origin.
|
45
|
+
# @param [Float] xscale The scale factor in the x direction for the transform.
|
46
|
+
# @param [Float] yscale The scale factor in the y direction for the transform.
|
47
|
+
# @return [Geom::Transformation2d]
|
48
|
+
#
|
49
|
+
# @overload scaling(point, scale)
|
50
|
+
#
|
51
|
+
# With two arguments, it does a uniform scale about an arbitrary point.
|
52
|
+
# @param [Geom::Point2d] point
|
53
|
+
# @param [Float] scale The global scale factor for the transform.
|
54
|
+
# @return [Geom::Transformation2d]
|
55
|
+
#
|
56
|
+
# @overload scaling(point, xscale, yscale)
|
57
|
+
#
|
58
|
+
# With three arguments it does a non-uniform scale about an arbitrary point.
|
59
|
+
# @param [Geom::Point2d] point
|
60
|
+
# @param [Float] xscale The scale factor in the x direction for the transform.
|
61
|
+
# @param [Float] yscale The scale factor in the y direction for the transform.
|
62
|
+
# @return [Geom::Transformation2d]
|
63
|
+
#
|
64
|
+
# @version LayOut 2019
|
65
|
+
def self.scaling(*args)
|
66
|
+
end
|
67
|
+
|
68
|
+
# The {.translation} method is used to create a transformation that does
|
69
|
+
# translation.
|
70
|
+
#
|
71
|
+
# @example
|
72
|
+
# vector = Geom::Vector2d.new(0, 1)
|
73
|
+
# tr = Geom::Transformation2d.translation(vector)
|
74
|
+
#
|
75
|
+
# @overload translation(vector)
|
76
|
+
#
|
77
|
+
# @param [Geom::Vector2d] vector
|
78
|
+
# @return [Geom::Transformation2d]
|
79
|
+
#
|
80
|
+
# @overload translation(point)
|
81
|
+
#
|
82
|
+
# @param [Geom::Point2d] point
|
83
|
+
# @return [Geom::Transformation2d]
|
84
|
+
#
|
85
|
+
# @version LayOut 2019
|
86
|
+
def self.translation(vector)
|
87
|
+
end
|
88
|
+
|
89
|
+
# Instance Methods
|
90
|
+
|
91
|
+
# The {#*} method is used to do matrix multiplication using the transform.
|
92
|
+
#
|
93
|
+
# @example
|
94
|
+
# point1 = Geom::Point2d.new(5, 10)
|
95
|
+
# point2 = Geom::Point2d.new(2, 2)
|
96
|
+
# tr = Geom::Transformation2d.new(point1)
|
97
|
+
# # Returns Point2d(7, 12)
|
98
|
+
# point3 = tr * point2
|
99
|
+
#
|
100
|
+
# @overload *(point)
|
101
|
+
#
|
102
|
+
# @param [Geom::Point2d] point
|
103
|
+
# @return [Geom::Point2d]
|
104
|
+
#
|
105
|
+
# @overload *(vector)
|
106
|
+
#
|
107
|
+
# @param [Geom::Vector2d] vector
|
108
|
+
# @return [Geom::Vector2d]
|
109
|
+
#
|
110
|
+
# @overload *(transformation)
|
111
|
+
#
|
112
|
+
# @param [Geom::Transformation2d] transformation
|
113
|
+
# @return [Geom::Transformation2d]
|
114
|
+
#
|
115
|
+
# @overload *(point)
|
116
|
+
#
|
117
|
+
# @param [Array<Float, Float>] point
|
118
|
+
# @return [Array<Float, Float>]
|
119
|
+
#
|
120
|
+
# @version LayOut 2019
|
121
|
+
def *(arg)
|
122
|
+
end
|
123
|
+
|
124
|
+
# The {#==} method checks to see if the two {Geom::Transformation2d}s are equal.
|
125
|
+
# This checks whether the values of the transformations are the same.
|
126
|
+
#
|
127
|
+
# @example
|
128
|
+
# tr = Geom::Transformation2d.new({1.0, 0.0, 0.0, 1.0, 1.0, 1.0})
|
129
|
+
# tr == tr.clone
|
130
|
+
#
|
131
|
+
# @param [Geom::Transformation2d] other
|
132
|
+
#
|
133
|
+
# @return [Boolean]
|
134
|
+
#
|
135
|
+
# @version LayOut 2018
|
136
|
+
def ==(other)
|
137
|
+
end
|
138
|
+
|
139
|
+
# The {#clone} method creates a copy of the {Geom::Transformation2d}.
|
140
|
+
#
|
141
|
+
# @example
|
142
|
+
# tr1 = Geom::Transformation2d.new
|
143
|
+
# tr2 = tr1.clone
|
144
|
+
#
|
145
|
+
# @return [Geom::Transformation2d]
|
146
|
+
#
|
147
|
+
# @version LayOut 2018
|
148
|
+
def clone
|
149
|
+
end
|
150
|
+
|
151
|
+
# The {#identity?} method determines if the {Geom::Transformation2d} is the
|
152
|
+
# {IDENTITY_2D} transform.
|
153
|
+
#
|
154
|
+
# @example
|
155
|
+
# array = {1.0, 0.0, 0.0, 1.0, 1.0, 0.0}
|
156
|
+
# tr = Geom::Transformation2d.new(array)
|
157
|
+
# # Returns false.
|
158
|
+
# status = tr.identity?
|
159
|
+
#
|
160
|
+
# @example
|
161
|
+
# tr = Geom::Transformation2d.new
|
162
|
+
# # Returns true.
|
163
|
+
# status = tr.identity?
|
164
|
+
#
|
165
|
+
# @example
|
166
|
+
# # Returns true.
|
167
|
+
# status = IDENTITY_2D.identity?
|
168
|
+
#
|
169
|
+
# @return [Boolean] +true+ if the transform is the identity
|
170
|
+
#
|
171
|
+
# @version LayOut 2018
|
172
|
+
def identity?
|
173
|
+
end
|
174
|
+
|
175
|
+
# The {#initialize} method creates a new {Geom::Transformation2d}. You can use
|
176
|
+
# this method or one of the more specific methods for creating specific kinds
|
177
|
+
# of {Geom::Transformation2d}.
|
178
|
+
#
|
179
|
+
# @example
|
180
|
+
# tr = Geom::Transformation2d.new({1.0, 0.0, 0.0, 1.0, 1.0, 1.0})
|
181
|
+
#
|
182
|
+
# @overload initialize
|
183
|
+
#
|
184
|
+
# @return [Geom::Transformation2d] identity Transformation2d.
|
185
|
+
#
|
186
|
+
# @overload initialize(transformation)
|
187
|
+
#
|
188
|
+
# Creates a Transformation2d that is a copy of another Transformation2d.
|
189
|
+
# This is equivalent to {#clone}.
|
190
|
+
# @param [Geom::Transformation2d] transform
|
191
|
+
# @return [Geom::Transformation2d]
|
192
|
+
#
|
193
|
+
# @overload initialize(array)
|
194
|
+
#
|
195
|
+
# @param [Array<Float>] array A 6 element Array.
|
196
|
+
# @return [Geom::Transformation2d]
|
197
|
+
#
|
198
|
+
# @version LayOut 2018
|
199
|
+
def initialize(*args)
|
200
|
+
end
|
201
|
+
|
202
|
+
# The {#inverse} method is used to retrieve the inverse of a transformation.
|
203
|
+
#
|
204
|
+
# @example
|
205
|
+
# point = Geom::Point2d.new(5, 10)
|
206
|
+
# tr1 = Geom::Transformation2d.new(point)
|
207
|
+
# tr2 = tr1.inverse
|
208
|
+
#
|
209
|
+
# @return [Geom::Transformation2d]
|
210
|
+
#
|
211
|
+
# @version LayOut 2019
|
212
|
+
def inverse
|
213
|
+
end
|
214
|
+
|
215
|
+
# The {#invert!} method sets the transformation to its inverse.
|
216
|
+
#
|
217
|
+
# @example
|
218
|
+
# point = Geom::Point2d.new(5, 10)
|
219
|
+
# tr = Geom::Transformation2d.new(point)
|
220
|
+
# tr.invert!
|
221
|
+
#
|
222
|
+
# @return [Geom::Transformation2d]
|
223
|
+
#
|
224
|
+
# @version LayOut 2019
|
225
|
+
def invert!
|
226
|
+
end
|
227
|
+
|
228
|
+
# The {#set!} method sets the {Geom::Transformation2d} to match another one.
|
229
|
+
# The argument is anything that can be converted into a {Geom::Transformation2d}.
|
230
|
+
#
|
231
|
+
# @example
|
232
|
+
# tr1 = Geom::Transformation2d.new
|
233
|
+
# array = {2.0, 0.0, 0.0, 2.0, 0.0, 0.0}
|
234
|
+
# tr1.set!(array)
|
235
|
+
#
|
236
|
+
# @overload set!(transformation)
|
237
|
+
#
|
238
|
+
# @param [Geom::Transformation2d] transformation
|
239
|
+
# @return [Geom::Transformation2d]
|
240
|
+
#
|
241
|
+
# @overload set!(matrix)
|
242
|
+
#
|
243
|
+
# @param [Array<Float>] matrix An array of 6 floats.
|
244
|
+
# @return [Geom::Transformation2d]
|
245
|
+
#
|
246
|
+
# @version LayOut 2018
|
247
|
+
def set!(arg)
|
248
|
+
end
|
249
|
+
|
250
|
+
# The {#to_a} method returns a 6 element array which contains the values that
|
251
|
+
# define the Transformation2d.
|
252
|
+
#
|
253
|
+
# @example
|
254
|
+
# tr = Geom::Transformation2d.new
|
255
|
+
# tr.to_a.each_slice(2) {|a| p a}
|
256
|
+
#
|
257
|
+
# @return [Array<Float>] an array of 6 elements
|
258
|
+
#
|
259
|
+
# @version LayOut 2018
|
260
|
+
def to_a
|
261
|
+
end
|
262
|
+
|
263
|
+
end
|