sketchup-api-stubs 0.7.9 → 0.7.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +151 -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 +172 -172
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +509 -509
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +476 -476
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +693 -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 +747 -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/Document.rb +569 -517
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -148
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +356 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -354
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  30. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -370
  31. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  32. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  33. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -225
  34. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  37. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
  38. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +459 -387
  39. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -209
  40. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
  41. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  42. data/lib/sketchup-api-stubs/stubs/Layout/ReferenceEntity.rb +82 -82
  43. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +714 -692
  44. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  45. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  48. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  49. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  50. data/lib/sketchup-api-stubs/stubs/Length.rb +278 -278
  51. data/lib/sketchup-api-stubs/stubs/Numeric.rb +249 -249
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -144
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -169
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +226 -209
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +150 -150
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -281
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -302
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -478
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +121 -121
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +659 -659
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -201
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +449 -449
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -74
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -104
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -306
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -42
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +406 -406
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -397
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1242 -1239
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -261
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +519 -545
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -125
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -937
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -102
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -750
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +282 -282
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -468
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -266
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -189
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +406 -406
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -84
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -306
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -326
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -422
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -427
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -249
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +114 -114
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -414
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +317 -317
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -142
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -93
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1656 -1652
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -357
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +130 -130
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -271
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +490 -490
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +116 -116
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -797
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +361 -361
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +480 -478
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +373 -361
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -45
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +458 -458
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +255 -255
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -59
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -40
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -217
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -217
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +834 -834
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -156
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -75
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1329 -1311
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
  143. data/lib/sketchup-api-stubs/stubs/Sketchup.rb +1394 -1377
  144. data/lib/sketchup-api-stubs/stubs/SketchupExtension.rb +353 -353
  145. data/lib/sketchup-api-stubs/stubs/String.rb +24 -24
  146. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +387 -389
  147. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +505 -494
  148. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -269
  149. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +241 -241
  150. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -635
  151. data/lib/sketchup-api-stubs/stubs/UI.rb +728 -683
  152. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -303
  153. data/lib/sketchup-api-stubs.rb +1 -1
  154. metadata +3 -3
@@ -1,476 +1,476 @@
1
- # Copyright:: Copyright 2023 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # Transformations are a standard construct in the 3D world for representing
5
- # the position, rotation, and sizing of a given entity. In the SketchUp
6
- # world, {Sketchup::ComponentInstance} and {Sketchup::Group} have a
7
- # +.transformation+ method that reports their current state and various methods
8
- # (+.move!+, +transformation=+, etc.) that allow them to be manipulated.
9
- #
10
- # Use of the transformation class requires a knowledge of geometrical
11
- # transformations in 3 dimensions which is covered extensively on
12
- # the internet.
13
- #
14
- # @version SketchUp 6.0
15
- class Geom::Transformation
16
-
17
- # Class Methods
18
-
19
- # The {.axes} method creates a transformation that goes from world coordinates
20
- # to an arbitrary coordinate system defined by an origin and three axis
21
- # vectors.
22
- #
23
- # @example
24
- # # Creates a transformation that "flips" the axes from XYZ to XZY. Something
25
- # # one often need for importers/exporters when dealing with applications
26
- # # that threat Y as "up".
27
- # tr = Geom::Transformation.axes(ORIGIN, X_AXIS, Z_AXIS, Y_AXIS.reverse)
28
- #
29
- # @overload axes(origin, xaxis, yaxis, zaxis)
30
- #
31
- # @param [Geom::Point3d] origin
32
- # @param [Geom::Vector3d] xaxis
33
- # @param [Geom::Vector3d] yaxis
34
- # @param [Geom::Vector3d] zaxis
35
- # @return [Geom::Transformation]
36
- #
37
- # @overload axes(origin, xaxis, yaxis)
38
- #
39
- # When the Z axis is omitted and arbitrary axis is computed from the X and Y
40
- # axes.
41
- # @param [Geom::Point3d] origin
42
- # @param [Geom::Vector3d] xaxis
43
- # @param [Geom::Vector3d] yaxis
44
- # @return [Geom::Transformation]
45
- #
46
- # @raise [ArgumentError] if any of the vectors are zero length.
47
- #
48
- # @version SketchUp 6.0
49
- def self.axes(*args)
50
- end
51
-
52
- # The {.interpolate} method is used to create a new transformation that is the
53
- # result of interpolating between two other transformations.
54
- #
55
- # Parameter is a weight (between `0.0` and `1.0`) that identifies whether to favor
56
- # `transformation1` or `transformation2`.
57
- #
58
- # @example
59
- # origin = Geom::Point3d.new(0, 0, 0)
60
- # x = Geom::Vector3d.new(0, 1, 0)
61
- # y = Geom::Vector3d.new(1, 0, 0)
62
- # z = Geom::Vector3d.new(0, 0, 1)
63
- # point = Geom::Point3d.new(10, 20, 30)
64
- # t1 = Geom::Transformation.new(point)
65
- # t2 = Geom::Transformation.axes(origin, x, y, z)
66
- # # This produce a transformation that is a mix of 75% t1 and 25% t2.
67
- # t3 = Geom::Transformation.interpolate(t1, t2, 0.25)
68
- #
69
- # @param [Geom::Transformation] transform1
70
- #
71
- # @param [Geom::Transformation] transform2
72
- #
73
- # @param [Float] weight
74
- # A value between 0.0 and 1.0 (see comments).
75
- #
76
- # @return [Geom::Transformation]
77
- #
78
- # @version SketchUp 6.0
79
- def self.interpolate(transform1, transform2, weight)
80
- end
81
-
82
- # The {.rotation} method is used to create a transformation that does rotation
83
- # about an axis.
84
- #
85
- # The axis is defined by a point and a vector. The angle is given in radians.
86
- #
87
- # @example
88
- # point = Geom::Point3d.new(10, 20, 0)
89
- # vector = Geom::Vector3d.new(0, 0, 1)
90
- # angle = 45.degrees # Return 45 degrees in radians.
91
- # transformation = Geom::Transformation.rotation(point, vector, angle)
92
- #
93
- # @param [Geom::Point3d] point
94
- #
95
- # @param [Geom::Vector3d] vector
96
- #
97
- # @param [Float] angle
98
- # The angle in radians.
99
- #
100
- # @return [Geom::Transformation]
101
- #
102
- # @version SketchUp 6.0
103
- def self.rotation(point, vector, angle)
104
- end
105
-
106
- # The {.scaling} method is used to create a transformation that does scaling.
107
- #
108
- # @example
109
- # point = Geom::Point3d.new(20, 30, 0)
110
- # scale = 10
111
- # tr = Geom::Transformation.scaling(point, scale)
112
- #
113
- # @overload scaling(scale)
114
- #
115
- # @note This has been fixed in SketchUp 2018 but in previous versions it
116
- # might yield an unexpected transformation. It sets the 16th value
117
- # to the scaling factor. Something not all extensions reading the
118
- # transformation expects. Consider using +scaling(xscale, yscale, zscale)+
119
- # instead.
120
- # With one argument, it does a uniform scale about the origin.
121
- # @param [Float] scale The global scale factor for the transform.
122
- # @return [Geom::Transformation]
123
- #
124
- # @overload scaling(xscale, yscale, zscale)
125
- #
126
- # With three arguments, it does a non-uniform scale about the origin.
127
- # @param [Float] xscale The scale factor in the x direction for the transform.
128
- # @param [Float] yscale The scale factor in the y direction for the transform.
129
- # @param [Float] zscale The scale factor in the z direction for the transform.
130
- # @return [Geom::Transformation]
131
- #
132
- # @overload scaling(point, scale)
133
- #
134
- # With two arguments, it does a uniform scale about an arbitrary point.
135
- # @param [Geom::Point3d] point
136
- # @param [Float] scale The global scale factor for the transform.
137
- # @return [Geom::Transformation]
138
- #
139
- # @overload scaling(point, xscale, yscale, zscale)
140
- #
141
- # With four arguments it does a non-uniform scale about an arbitrary point.
142
- # @param [Geom::Point3d] point
143
- # @param [Float] xscale The scale factor in the x direction for the transform.
144
- # @param [Float] yscale The scale factor in the y direction for the transform.
145
- # @param [Float] zscale The scale factor in the z direction for the transform.
146
- # @return [Geom::Transformation]
147
- #
148
- # @version SketchUp 6.0
149
- def self.scaling(*args)
150
- end
151
-
152
- # The {.translation} method is used to create a transformation that does
153
- # translation.
154
- #
155
- # @example
156
- # vector = Geom::Vector3d.new(0, 1, 0)
157
- # tr = Geom::Transformation.translation(vector)
158
- #
159
- # @overload translation(vector)
160
- #
161
- # @param [Geom::Vector3d] vector
162
- # @return [Geom::Transformation]
163
- #
164
- # @overload translation(point)
165
- #
166
- # @param [Geom::Point3d] point
167
- # @return [Geom::Transformation]
168
- #
169
- # @version SketchUp 6.0
170
- def self.translation(arg)
171
- end
172
-
173
- # Instance Methods
174
-
175
- # The {#*} method is used to do matrix multiplication using the transform.
176
- #
177
- # @example
178
- # point1 = Geom::Point3d.new(10, 20, 30)
179
- # point2 = Geom::Point3d.new(2, 2, 2)
180
- # tr = Geom::Transformation.new(point1)
181
- # # Returns Point3d(12, 22, 32)
182
- # point3 = tr * point2
183
- #
184
- # @overload *(point)
185
- #
186
- # @param [Geom::Point3d] point
187
- # @return [Geom::Point3d]
188
- #
189
- # @overload *(vector)
190
- #
191
- # @param [Geom::Vector3d] vector
192
- # @return [Geom::Vector3d]
193
- #
194
- # @overload *(transformation)
195
- #
196
- # @param [Geom::Transformation] transformation
197
- # @return [Geom::Transformation]
198
- #
199
- # @overload *(point)
200
- #
201
- # @param [Array(Float, Float, Float)] point
202
- # @return [Array(Float, Float, Float)]
203
- #
204
- # @overload *(plane)
205
- #
206
- # @param [Array(Geom::Point3d, Geom::Vector3d)] plane
207
- # @return [Array(Float, Float, Float, Float)] transformed plane
208
- #
209
- # @overload *(plane)
210
- #
211
- # @param [Array(Float, Float, Float, Float)] plane
212
- # @return [Array(Float, Float, Float, Float)] transformed plane
213
- #
214
- # @version SketchUp 6.0
215
- def *(arg)
216
- end
217
-
218
- # The {#clone} method is used to create a copy of a transformation.
219
- #
220
- # @example
221
- # point = Geom::Point3d.new(10, 20, 30)
222
- # tr1 = Geom::Transformation.new(point)
223
- # tr2 = tr1.clone
224
- #
225
- # @return [Geom::Transformation]
226
- #
227
- # @version SketchUp 6.0
228
- def clone
229
- end
230
-
231
- # The {#identity?} method is used to determine if a transformation is the
232
- # {IDENTITY} transform.
233
- #
234
- # @example
235
- # point = Geom::Point3d.new(10, 20, 30)
236
- # tr = Geom::Transformation.new(point)
237
- # # Returns false.
238
- # status = tr.identity?
239
- #
240
- # @example
241
- # tr = Geom::Transformation.new(ORIGIN)
242
- # # Returns false.
243
- # status = tr.identity?
244
- #
245
- # @example
246
- # tr = Geom::Transformation.new
247
- # # Returns true.
248
- # status = tr.identity?
249
- #
250
- # @example
251
- # # Returns true.
252
- # status = IDENTITY.identity?
253
- #
254
- # @note As of SketchUp 2018, this now looks at the data to determine if the
255
- # transformation is identity. Prior to SU2018, this only looks at the flag to
256
- # see if the transform has not been modified. If the transform has been
257
- # changed, this will return false even if it is really the identity.
258
- #
259
- # @return [Boolean] +true+ if the transformation is the identity
260
- #
261
- # @version SketchUp 6.0
262
- def identity?
263
- end
264
-
265
- # You can use this method or one of the more specific methods for creating
266
- # specific kinds of Transformations.
267
- #
268
- # @example
269
- # point = Geom::Point3d.new(10, 20, 30)
270
- # tr = Geom::Transformation.new(point)
271
- #
272
- # @overload initialize
273
- #
274
- # @return [Geom::Transformation] identity transformation.
275
- #
276
- # @overload initialize(point)
277
- #
278
- # Translates the origin to point.
279
- # @param [Geom::Point3d] point
280
- # @return [Geom::Transformation]
281
- #
282
- # @overload initialize(vector)
283
- #
284
- # @param [Geom::Vector3d] vector
285
- # @return [Geom::Transformation]
286
- #
287
- # @overload initialize(transform)
288
- #
289
- # Creates a transformation that is a copy of another transformation. This is
290
- # equivalent to {#clone}.
291
- # @param [Geom::Transformation] transform
292
- # @return [Geom::Transformation]
293
- #
294
- # @overload initialize(array)
295
- #
296
- # @param [Array<Float>] Creates a Transformation from a 16 element Array.
297
- # @return [Geom::Transformation]
298
- #
299
- # @overload initialize(scale)
300
- #
301
- # Creates a transformation that does uniform scaling.
302
- # @note Versions prior to SU2018 would produce transformations which
303
- # didn't always work right in SketchUp. See {.scaling} for more info.
304
- # @param [Float] scale
305
- # @return [Geom::Transformation]
306
- #
307
- # @overload initialize(origin, zaxis)
308
- #
309
- # Creates a Transformation where origin is the new origin, and zaxis is the
310
- # z axis. The x and y axes are determined using an arbitrary axis rule.
311
- # @param [Geom::Point3d] origin
312
- # @param [Geom::Vector3d] zaxis
313
- # @return [Geom::Transformation]
314
- #
315
- # @overload initialize(origin, xaxis, yaxis)
316
- #
317
- # Creates a Transformation given a new origin, x axis and y axis.
318
- # @param [Geom::Point3d] origin
319
- # @param [Geom::Vector3d] xaxis
320
- # @param [Geom::Vector3d] yaxis
321
- # @return [Geom::Transformation]
322
- #
323
- # @overload initialize(pt, axis, angle)
324
- #
325
- # Creates a Transformation that rotates by angle (given in radians) about a
326
- # line defined by pt and axis.
327
- # @param [Geom::Point3d] origin
328
- # @param [Geom::Vector3d] axis
329
- # @param [Float] angle
330
- # @return [Geom::Transformation]
331
- #
332
- # @overload initialize(xaxis, yaxis, zaxis, origin)
333
- #
334
- # @param [Geom::Vector3d] xaxis
335
- # @param [Geom::Vector3d] yaxis
336
- # @param [Geom::Vector3d] zaxis
337
- # @param [Geom::Point3d] origin
338
- # @return [Geom::Transformation]
339
- #
340
- # @version SketchUp 6.0
341
- def initialize(*args)
342
- end
343
-
344
- # The {#inverse} method is used to retrieve the inverse of a transformation.
345
- #
346
- # @example
347
- # point = Geom::Point3d.new(10, 20, 30)
348
- # tr1 = Geom::Transformation.new(point)
349
- # tr2 = tr1.inverse
350
- #
351
- # @return [Geom::Transformation]
352
- #
353
- # @version SketchUp 6.0
354
- def inverse
355
- end
356
-
357
- # The {#invert!} method sets the transformation to its inverse.
358
- #
359
- # @example
360
- # point = Geom::Point3d.new(10, 20, 30)
361
- # tr = Geom::Transformation.new(point)
362
- # tr.invert!
363
- #
364
- # @return [Geom::Transformation]
365
- #
366
- # @version SketchUp 6.0
367
- def invert!
368
- end
369
-
370
- # The {#origin} method retrieves the origin of a rigid transformation.
371
- #
372
- # @example
373
- # point1 = Geom::Point3d.new(10, 20, 30)
374
- # tr = Geom::Transformation.new(point1)
375
- # point2 = tr.origin
376
- #
377
- # @return [Geom::Point3d] the origin of the transformation.
378
- #
379
- # @version SketchUp 6.0
380
- def origin
381
- end
382
-
383
- # The {#set!} method is used to set this transformation to match another one.
384
- #
385
- # The argument is anything that can be converted into a transformation.
386
- #
387
- # @example
388
- # point1 = Geom::Point3d.new(10, 20, 30)
389
- # tr1 = Geom::Transformation.new(point)
390
- # point2 = Geom::Point3d.new(60, 40, 70)
391
- # tr1.set!(point2)
392
- #
393
- # @overload set!(transformation)
394
- #
395
- # @param [Geom::Transformation] transformation
396
- # @return [Geom::Transformation]
397
- #
398
- # @overload set!(point)
399
- #
400
- # @param [Geom::Point3d] point
401
- # @return [Geom::Transformation]
402
- #
403
- # @overload set!(vector)
404
- #
405
- # @param [Geom::Vector3d] vector
406
- # @return [Geom::Transformation]
407
- #
408
- # @overload set!(matrix)
409
- #
410
- # @param [Array<Float>] matrix Array of 16 floats.
411
- # @return [Geom::Transformation]
412
- #
413
- # @overload set!(scale)
414
- #
415
- # @param [Float] scale
416
- # @return [Geom::Transformation]
417
- #
418
- # @version SketchUp 6.0
419
- def set!(arg)
420
- end
421
-
422
- # The {#to_a} method retrieves a 16 element array which contains the values that
423
- # define the transformation.
424
- #
425
- # @example
426
- # point = Geom::Point3d.new(10, 20, 30)
427
- # tr = Geom::Transformation.new(point)
428
- # # This splits the 16 items into a string of 4x4 elements for easier reading.
429
- # str4x4 = tr.to_a.each_slice(4).inject { |str, row| "#{str}\r\n#{row}" }
430
- #
431
- # @return [Array<Float>]
432
- #
433
- # @version SketchUp 6.0
434
- def to_a
435
- end
436
-
437
- # The {#xaxis} method retrieves the x axis of a rigid transformation.
438
- #
439
- # @example
440
- # point = Geom::Point3d.new(10, 20, 30)
441
- # tr = Geom::Transformation.new(point)
442
- # x = tr.xaxis
443
- #
444
- # @return [Geom::Vector3d]
445
- #
446
- # @version SketchUp 6.0
447
- def xaxis
448
- end
449
-
450
- # The {#yaxis} method retrieves the y axis of a rigid transformation.
451
- #
452
- # @example
453
- # point = Geom::Point3d.new(10, 20, 30)
454
- # tr = Geom::Transformation.new(point)
455
- # x = tr.yaxis
456
- #
457
- # @return [Geom::Vector3d]
458
- #
459
- # @version SketchUp 6.0
460
- def yaxis
461
- end
462
-
463
- # The {#zaxis} method retrieves the z axis of a rigid transformation.
464
- #
465
- # @example
466
- # point = Geom::Point3d.new(10, 20, 30)
467
- # tr = Geom::Transformation.new(point)
468
- # x = tr.zaxis
469
- #
470
- # @return [Geom::Vector3d]
471
- #
472
- # @version SketchUp 6.0
473
- def zaxis
474
- end
475
-
476
- end
1
+ # Copyright:: Copyright 2024 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # Transformations are a standard construct in the 3D world for representing
5
+ # the position, rotation, and sizing of a given entity. In the SketchUp
6
+ # world, {Sketchup::ComponentInstance} and {Sketchup::Group} have a
7
+ # +.transformation+ method that reports their current state and various methods
8
+ # (+.move!+, +transformation=+, etc.) that allow them to be manipulated.
9
+ #
10
+ # Use of the transformation class requires a knowledge of geometrical
11
+ # transformations in 3 dimensions which is covered extensively on
12
+ # the internet.
13
+ #
14
+ # @version SketchUp 6.0
15
+ class Geom::Transformation
16
+
17
+ # Class Methods
18
+
19
+ # The {.axes} method creates a transformation that goes from world coordinates
20
+ # to an arbitrary coordinate system defined by an origin and three axis
21
+ # vectors.
22
+ #
23
+ # @example
24
+ # # Creates a transformation that "flips" the axes from XYZ to XZY. Something
25
+ # # one often need for importers/exporters when dealing with applications
26
+ # # that threat Y as "up".
27
+ # tr = Geom::Transformation.axes(ORIGIN, X_AXIS, Z_AXIS, Y_AXIS.reverse)
28
+ #
29
+ # @overload axes(origin, xaxis, yaxis, zaxis)
30
+ #
31
+ # @param [Geom::Point3d] origin
32
+ # @param [Geom::Vector3d] xaxis
33
+ # @param [Geom::Vector3d] yaxis
34
+ # @param [Geom::Vector3d] zaxis
35
+ # @return [Geom::Transformation]
36
+ #
37
+ # @overload axes(origin, xaxis, yaxis)
38
+ #
39
+ # When the Z axis is omitted and arbitrary axis is computed from the X and Y
40
+ # axes.
41
+ # @param [Geom::Point3d] origin
42
+ # @param [Geom::Vector3d] xaxis
43
+ # @param [Geom::Vector3d] yaxis
44
+ # @return [Geom::Transformation]
45
+ #
46
+ # @raise [ArgumentError] if any of the vectors are zero length.
47
+ #
48
+ # @version SketchUp 6.0
49
+ def self.axes(*args)
50
+ end
51
+
52
+ # The {.interpolate} method is used to create a new transformation that is the
53
+ # result of interpolating between two other transformations.
54
+ #
55
+ # Parameter is a weight (between `0.0` and `1.0`) that identifies whether to favor
56
+ # `transformation1` or `transformation2`.
57
+ #
58
+ # @example
59
+ # origin = Geom::Point3d.new(0, 0, 0)
60
+ # x = Geom::Vector3d.new(0, 1, 0)
61
+ # y = Geom::Vector3d.new(1, 0, 0)
62
+ # z = Geom::Vector3d.new(0, 0, 1)
63
+ # point = Geom::Point3d.new(10, 20, 30)
64
+ # t1 = Geom::Transformation.new(point)
65
+ # t2 = Geom::Transformation.axes(origin, x, y, z)
66
+ # # This produce a transformation that is a mix of 75% t1 and 25% t2.
67
+ # t3 = Geom::Transformation.interpolate(t1, t2, 0.25)
68
+ #
69
+ # @param [Geom::Transformation] transform1
70
+ #
71
+ # @param [Geom::Transformation] transform2
72
+ #
73
+ # @param [Float] weight
74
+ # A value between 0.0 and 1.0 (see comments).
75
+ #
76
+ # @return [Geom::Transformation]
77
+ #
78
+ # @version SketchUp 6.0
79
+ def self.interpolate(transform1, transform2, weight)
80
+ end
81
+
82
+ # The {.rotation} method is used to create a transformation that does rotation
83
+ # about an axis.
84
+ #
85
+ # The axis is defined by a point and a vector. The angle is given in radians.
86
+ #
87
+ # @example
88
+ # point = Geom::Point3d.new(10, 20, 0)
89
+ # vector = Geom::Vector3d.new(0, 0, 1)
90
+ # angle = 45.degrees # Return 45 degrees in radians.
91
+ # transformation = Geom::Transformation.rotation(point, vector, angle)
92
+ #
93
+ # @param [Geom::Point3d] point
94
+ #
95
+ # @param [Geom::Vector3d] vector
96
+ #
97
+ # @param [Float] angle
98
+ # The angle in radians.
99
+ #
100
+ # @return [Geom::Transformation]
101
+ #
102
+ # @version SketchUp 6.0
103
+ def self.rotation(point, vector, angle)
104
+ end
105
+
106
+ # The {.scaling} method is used to create a transformation that does scaling.
107
+ #
108
+ # @example
109
+ # point = Geom::Point3d.new(20, 30, 0)
110
+ # scale = 10
111
+ # tr = Geom::Transformation.scaling(point, scale)
112
+ #
113
+ # @overload scaling(scale)
114
+ #
115
+ # @note This has been fixed in SketchUp 2018 but in previous versions it
116
+ # might yield an unexpected transformation. It sets the 16th value
117
+ # to the scaling factor. Something not all extensions reading the
118
+ # transformation expects. Consider using +scaling(xscale, yscale, zscale)+
119
+ # instead.
120
+ # With one argument, it does a uniform scale about the origin.
121
+ # @param [Float] scale The global scale factor for the transform.
122
+ # @return [Geom::Transformation]
123
+ #
124
+ # @overload scaling(xscale, yscale, zscale)
125
+ #
126
+ # With three arguments, it does a non-uniform scale about the origin.
127
+ # @param [Float] xscale The scale factor in the x direction for the transform.
128
+ # @param [Float] yscale The scale factor in the y direction for the transform.
129
+ # @param [Float] zscale The scale factor in the z direction for the transform.
130
+ # @return [Geom::Transformation]
131
+ #
132
+ # @overload scaling(point, scale)
133
+ #
134
+ # With two arguments, it does a uniform scale about an arbitrary point.
135
+ # @param [Geom::Point3d] point
136
+ # @param [Float] scale The global scale factor for the transform.
137
+ # @return [Geom::Transformation]
138
+ #
139
+ # @overload scaling(point, xscale, yscale, zscale)
140
+ #
141
+ # With four arguments it does a non-uniform scale about an arbitrary point.
142
+ # @param [Geom::Point3d] point
143
+ # @param [Float] xscale The scale factor in the x direction for the transform.
144
+ # @param [Float] yscale The scale factor in the y direction for the transform.
145
+ # @param [Float] zscale The scale factor in the z direction for the transform.
146
+ # @return [Geom::Transformation]
147
+ #
148
+ # @version SketchUp 6.0
149
+ def self.scaling(*args)
150
+ end
151
+
152
+ # The {.translation} method is used to create a transformation that does
153
+ # translation.
154
+ #
155
+ # @example
156
+ # vector = Geom::Vector3d.new(0, 1, 0)
157
+ # tr = Geom::Transformation.translation(vector)
158
+ #
159
+ # @overload translation(vector)
160
+ #
161
+ # @param [Geom::Vector3d] vector
162
+ # @return [Geom::Transformation]
163
+ #
164
+ # @overload translation(point)
165
+ #
166
+ # @param [Geom::Point3d] point
167
+ # @return [Geom::Transformation]
168
+ #
169
+ # @version SketchUp 6.0
170
+ def self.translation(arg)
171
+ end
172
+
173
+ # Instance Methods
174
+
175
+ # The {#*} method is used to do matrix multiplication using the transform.
176
+ #
177
+ # @example
178
+ # point1 = Geom::Point3d.new(10, 20, 30)
179
+ # point2 = Geom::Point3d.new(2, 2, 2)
180
+ # tr = Geom::Transformation.new(point1)
181
+ # # Returns Point3d(12, 22, 32)
182
+ # point3 = tr * point2
183
+ #
184
+ # @overload *(point)
185
+ #
186
+ # @param [Geom::Point3d] point
187
+ # @return [Geom::Point3d]
188
+ #
189
+ # @overload *(vector)
190
+ #
191
+ # @param [Geom::Vector3d] vector
192
+ # @return [Geom::Vector3d]
193
+ #
194
+ # @overload *(transformation)
195
+ #
196
+ # @param [Geom::Transformation] transformation
197
+ # @return [Geom::Transformation]
198
+ #
199
+ # @overload *(point)
200
+ #
201
+ # @param [Array(Float, Float, Float)] point
202
+ # @return [Array(Float, Float, Float)]
203
+ #
204
+ # @overload *(plane)
205
+ #
206
+ # @param [Array(Geom::Point3d, Geom::Vector3d)] plane
207
+ # @return [Array(Float, Float, Float, Float)] transformed plane
208
+ #
209
+ # @overload *(plane)
210
+ #
211
+ # @param [Array(Float, Float, Float, Float)] plane
212
+ # @return [Array(Float, Float, Float, Float)] transformed plane
213
+ #
214
+ # @version SketchUp 6.0
215
+ def *(arg)
216
+ end
217
+
218
+ # The {#clone} method is used to create a copy of a transformation.
219
+ #
220
+ # @example
221
+ # point = Geom::Point3d.new(10, 20, 30)
222
+ # tr1 = Geom::Transformation.new(point)
223
+ # tr2 = tr1.clone
224
+ #
225
+ # @return [Geom::Transformation]
226
+ #
227
+ # @version SketchUp 6.0
228
+ def clone
229
+ end
230
+
231
+ # The {#identity?} method is used to determine if a transformation is the
232
+ # {IDENTITY} transform.
233
+ #
234
+ # @example
235
+ # point = Geom::Point3d.new(10, 20, 30)
236
+ # tr = Geom::Transformation.new(point)
237
+ # # Returns false.
238
+ # status = tr.identity?
239
+ #
240
+ # @example
241
+ # tr = Geom::Transformation.new(ORIGIN)
242
+ # # Returns false.
243
+ # status = tr.identity?
244
+ #
245
+ # @example
246
+ # tr = Geom::Transformation.new
247
+ # # Returns true.
248
+ # status = tr.identity?
249
+ #
250
+ # @example
251
+ # # Returns true.
252
+ # status = IDENTITY.identity?
253
+ #
254
+ # @note As of SketchUp 2018, this now looks at the data to determine if the
255
+ # transformation is identity. Prior to SU2018, this only looks at the flag to
256
+ # see if the transform has not been modified. If the transform has been
257
+ # changed, this will return false even if it is really the identity.
258
+ #
259
+ # @return [Boolean] +true+ if the transformation is the identity
260
+ #
261
+ # @version SketchUp 6.0
262
+ def identity?
263
+ end
264
+
265
+ # You can use this method or one of the more specific methods for creating
266
+ # specific kinds of Transformations.
267
+ #
268
+ # @example
269
+ # point = Geom::Point3d.new(10, 20, 30)
270
+ # tr = Geom::Transformation.new(point)
271
+ #
272
+ # @overload initialize
273
+ #
274
+ # @return [Geom::Transformation] identity transformation.
275
+ #
276
+ # @overload initialize(point)
277
+ #
278
+ # Translates the origin to point.
279
+ # @param [Geom::Point3d] point
280
+ # @return [Geom::Transformation]
281
+ #
282
+ # @overload initialize(vector)
283
+ #
284
+ # @param [Geom::Vector3d] vector
285
+ # @return [Geom::Transformation]
286
+ #
287
+ # @overload initialize(transform)
288
+ #
289
+ # Creates a transformation that is a copy of another transformation. This is
290
+ # equivalent to {#clone}.
291
+ # @param [Geom::Transformation] transform
292
+ # @return [Geom::Transformation]
293
+ #
294
+ # @overload initialize(array)
295
+ #
296
+ # @param [Array<Float>] Creates a Transformation from a 16 element Array.
297
+ # @return [Geom::Transformation]
298
+ #
299
+ # @overload initialize(scale)
300
+ #
301
+ # Creates a transformation that does uniform scaling.
302
+ # @note Versions prior to SU2018 would produce transformations which
303
+ # didn't always work right in SketchUp. See {.scaling} for more info.
304
+ # @param [Float] scale
305
+ # @return [Geom::Transformation]
306
+ #
307
+ # @overload initialize(origin, zaxis)
308
+ #
309
+ # Creates a Transformation where origin is the new origin, and zaxis is the
310
+ # z axis. The x and y axes are determined using an arbitrary axis rule.
311
+ # @param [Geom::Point3d] origin
312
+ # @param [Geom::Vector3d] zaxis
313
+ # @return [Geom::Transformation]
314
+ #
315
+ # @overload initialize(origin, xaxis, yaxis)
316
+ #
317
+ # Creates a Transformation given a new origin, x axis and y axis.
318
+ # @param [Geom::Point3d] origin
319
+ # @param [Geom::Vector3d] xaxis
320
+ # @param [Geom::Vector3d] yaxis
321
+ # @return [Geom::Transformation]
322
+ #
323
+ # @overload initialize(pt, axis, angle)
324
+ #
325
+ # Creates a Transformation that rotates by angle (given in radians) about a
326
+ # line defined by pt and axis.
327
+ # @param [Geom::Point3d] origin
328
+ # @param [Geom::Vector3d] axis
329
+ # @param [Float] angle
330
+ # @return [Geom::Transformation]
331
+ #
332
+ # @overload initialize(xaxis, yaxis, zaxis, origin)
333
+ #
334
+ # @param [Geom::Vector3d] xaxis
335
+ # @param [Geom::Vector3d] yaxis
336
+ # @param [Geom::Vector3d] zaxis
337
+ # @param [Geom::Point3d] origin
338
+ # @return [Geom::Transformation]
339
+ #
340
+ # @version SketchUp 6.0
341
+ def initialize(*args)
342
+ end
343
+
344
+ # The {#inverse} method is used to retrieve the inverse of a transformation.
345
+ #
346
+ # @example
347
+ # point = Geom::Point3d.new(10, 20, 30)
348
+ # tr1 = Geom::Transformation.new(point)
349
+ # tr2 = tr1.inverse
350
+ #
351
+ # @return [Geom::Transformation]
352
+ #
353
+ # @version SketchUp 6.0
354
+ def inverse
355
+ end
356
+
357
+ # The {#invert!} method sets the transformation to its inverse.
358
+ #
359
+ # @example
360
+ # point = Geom::Point3d.new(10, 20, 30)
361
+ # tr = Geom::Transformation.new(point)
362
+ # tr.invert!
363
+ #
364
+ # @return [Geom::Transformation]
365
+ #
366
+ # @version SketchUp 6.0
367
+ def invert!
368
+ end
369
+
370
+ # The {#origin} method retrieves the origin of a rigid transformation.
371
+ #
372
+ # @example
373
+ # point1 = Geom::Point3d.new(10, 20, 30)
374
+ # tr = Geom::Transformation.new(point1)
375
+ # point2 = tr.origin
376
+ #
377
+ # @return [Geom::Point3d] the origin of the transformation.
378
+ #
379
+ # @version SketchUp 6.0
380
+ def origin
381
+ end
382
+
383
+ # The {#set!} method is used to set this transformation to match another one.
384
+ #
385
+ # The argument is anything that can be converted into a transformation.
386
+ #
387
+ # @example
388
+ # point1 = Geom::Point3d.new(10, 20, 30)
389
+ # tr1 = Geom::Transformation.new(point)
390
+ # point2 = Geom::Point3d.new(60, 40, 70)
391
+ # tr1.set!(point2)
392
+ #
393
+ # @overload set!(transformation)
394
+ #
395
+ # @param [Geom::Transformation] transformation
396
+ # @return [Geom::Transformation]
397
+ #
398
+ # @overload set!(point)
399
+ #
400
+ # @param [Geom::Point3d] point
401
+ # @return [Geom::Transformation]
402
+ #
403
+ # @overload set!(vector)
404
+ #
405
+ # @param [Geom::Vector3d] vector
406
+ # @return [Geom::Transformation]
407
+ #
408
+ # @overload set!(matrix)
409
+ #
410
+ # @param [Array<Float>] matrix Array of 16 floats.
411
+ # @return [Geom::Transformation]
412
+ #
413
+ # @overload set!(scale)
414
+ #
415
+ # @param [Float] scale
416
+ # @return [Geom::Transformation]
417
+ #
418
+ # @version SketchUp 6.0
419
+ def set!(arg)
420
+ end
421
+
422
+ # The {#to_a} method retrieves a 16 element array which contains the values that
423
+ # define the transformation.
424
+ #
425
+ # @example
426
+ # point = Geom::Point3d.new(10, 20, 30)
427
+ # tr = Geom::Transformation.new(point)
428
+ # # This splits the 16 items into a string of 4x4 elements for easier reading.
429
+ # str4x4 = tr.to_a.each_slice(4).inject { |str, row| "#{str}\r\n#{row}" }
430
+ #
431
+ # @return [Array<Float>]
432
+ #
433
+ # @version SketchUp 6.0
434
+ def to_a
435
+ end
436
+
437
+ # The {#xaxis} method retrieves the x axis of a rigid transformation.
438
+ #
439
+ # @example
440
+ # point = Geom::Point3d.new(10, 20, 30)
441
+ # tr = Geom::Transformation.new(point)
442
+ # x = tr.xaxis
443
+ #
444
+ # @return [Geom::Vector3d]
445
+ #
446
+ # @version SketchUp 6.0
447
+ def xaxis
448
+ end
449
+
450
+ # The {#yaxis} method retrieves the y axis of a rigid transformation.
451
+ #
452
+ # @example
453
+ # point = Geom::Point3d.new(10, 20, 30)
454
+ # tr = Geom::Transformation.new(point)
455
+ # x = tr.yaxis
456
+ #
457
+ # @return [Geom::Vector3d]
458
+ #
459
+ # @version SketchUp 6.0
460
+ def yaxis
461
+ end
462
+
463
+ # The {#zaxis} method retrieves the z axis of a rigid transformation.
464
+ #
465
+ # @example
466
+ # point = Geom::Point3d.new(10, 20, 30)
467
+ # tr = Geom::Transformation.new(point)
468
+ # x = tr.zaxis
469
+ #
470
+ # @return [Geom::Vector3d]
471
+ #
472
+ # @version SketchUp 6.0
473
+ def zaxis
474
+ end
475
+
476
+ end