sketchup-api-stubs 0.7.8 → 0.7.9

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 -148
  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 -523
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +476 -478
  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 -698
  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 +517 -516
  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 +353 -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 +387 -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 -0
  43. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +692 -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 +209 -209
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +150 -152
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -286
  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 -122
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +659 -619
  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 -426
  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 -396
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -502
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1239 -1205
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -272
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -545
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -126
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -937
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -104
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -750
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +282 -292
  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 -407
  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 -112
  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 -318
  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 +1652 -1651
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -357
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +130 -131
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -284
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +490 -0
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +116 -0
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -797
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +361 -363
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -477
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +361 -364
  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 -459
  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 -260
  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 -837
  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 +1311 -1317
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
  143. data/lib/sketchup-api-stubs/stubs/Sketchup.rb +1377 -1360
  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 +389 -389
  147. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +494 -496
  148. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -269
  149. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +241 -240
  150. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -635
  151. data/lib/sketchup-api-stubs/stubs/UI.rb +683 -683
  152. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -311
  153. data/lib/sketchup-api-stubs.rb +1 -1
  154. metadata +10 -7
@@ -1,502 +1,397 @@
1
- # Copyright:: Copyright 2022 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # The Edge class contains methods modifying and extracting information for
5
- # edges.
6
- #
7
- # @version SketchUp 6.0
8
- class Sketchup::Edge < Sketchup::Drawingelement
9
-
10
- # Instance Methods
11
-
12
- # The all_connected method retrieves all of the entities connected to an edge,
13
- # including the edge itself.
14
- #
15
- # @example
16
- # depth = 100
17
- # width = 100
18
- # model = Sketchup.active_model
19
- # entities = model.active_entities
20
- # pts = []
21
- # pts[0] = [0, 0, 0]
22
- # pts[1] = [width, 0, 0]
23
- # pts[2] = [width, depth, 0]
24
- # pts[3] = [0, depth, 0]
25
- # # Add the face to the entities in the model
26
- # face = entities.add_face pts
27
- # # I just happen to know that the second and third entities in the
28
- # # entities objects are edges.
29
- # entity1 = entities[1]
30
- # entity2 = entities[2]
31
- # edges = entity1.all_connected
32
- # if (edges)
33
- # UI.messagebox edges.to_s
34
- # else
35
- # UI.messagebox "Failure"
36
- # end
37
- #
38
- # @return [Array<Sketchup::Entity>] the edge and entities connected to that edge
39
- #
40
- # @version SketchUp 6.0
41
- def all_connected
42
- end
43
-
44
- # The common_face method is used to identify a face that is common to two
45
- # edges.
46
- #
47
- # @example
48
- # depth = 100
49
- # width = 100
50
- # model = Sketchup.active_model
51
- # entities = model.active_entities
52
- # pts = []
53
- # pts[0] = [0,0,0]
54
- # pts[1] = [width,0,0]
55
- # pts[2] = [width,depth,0]
56
- # pts[3] = [0,depth,0]
57
- # # Add the face to the entities in the model
58
- # face = entities.add_face pts
59
- # # I know that the second and third entity objects are edges
60
- # entity1 = entities[1]
61
- # entity2 = entities[2]
62
- # UI.messagebox entity1
63
- # UI.messagebox entity2
64
- # face = entity1.common_face entity2
65
- # if (face)
66
- # UI.messagebox face
67
- # else
68
- # UI.messagebox "Failure: No Common Face"
69
- # end
70
- #
71
- # @param [Sketchup::Edge] edge2
72
- # The face whose edge you are checking for commonality.
73
- #
74
- # @return [Sketchup::Face, nil] the Face object that is common to the two edges
75
- # if successful
76
- #
77
- # @version SketchUp 6.0
78
- def common_face(edge2)
79
- end
80
-
81
- # The curve method is used to get the Curve object that this edge belongs
82
- # to, if any. Note that if the edge is part of an arc instead of a random
83
- # curve, then this method will return an ArcCurve object.
84
- #
85
- # @example
86
- # edge = Sketchup.active_model.entities.add_line([0,0,0],[100,100,0])
87
- # curve = edge.curve
88
- # if (curve)
89
- # # If it is a curve, display a pointer to the curve
90
- # UI.messagebox curve
91
- # else
92
- # UI.messagebox "Failure: Not a Curve"
93
- # end
94
- #
95
- # @return [Sketchup::Curve, nil] returns a Curve object if it is a
96
- # curve, nil if it is not a curve
97
- #
98
- # @version SketchUp 6.0
99
- def curve
100
- end
101
-
102
- # The end method is used to retrieve the Vertex object at the end of the edge.
103
- #
104
- # @example
105
- # edge = Sketchup.active_model.entities.add_line([0,0,0],[100,100,0])
106
- # vertex = edge.end
107
- # if (vertex)
108
- # # display a pointer to the Vertex
109
- # UI.messagebox vertex
110
- # else
111
- # UI.messagebox "Failure"
112
- # end
113
- # point = vertex.position
114
- # # Let's get the Point3d of the vertex
115
- # if (point)
116
- # UI.messagebox point
117
- # else
118
- # UI.messagebox "Failure"
119
- # end
120
- #
121
- # @return [Sketchup::Vertex] a Vertex object if successful
122
- #
123
- # @version SketchUp 6.0
124
- def end
125
- end
126
-
127
- # The explode_curve method is used to explode an edge as though it were an
128
- # ArcCurve.
129
- #
130
- # @example
131
- # depth = 100
132
- # width = 100
133
- # model = Sketchup.active_model
134
- # entities = model.active_entities
135
- # pts = []
136
- # pts[0] = [0, 0, 0]
137
- # pts[1] = [width, 0, 0]
138
- # pts[2] = [width, depth, 0]
139
- # pts[3] = [0, depth, 0]
140
- # # Add the face to the entities in the model
141
- # face = entities.add_face pts
142
- # # I just happen to know that the second entity in the
143
- # # entities objects is an edge.
144
- # entity1 = entities[1]
145
- # curve = entity1.explode_curve
146
- # if (curve)
147
- # UI.messagebox curve
148
- # else
149
- # UI.messagebox "Failure"
150
- # end
151
- #
152
- # @return [Sketchup::Edge] an exploded edge object if successful
153
- #
154
- # @version SketchUp 6.0
155
- def explode_curve
156
- end
157
-
158
- # The {#faces} method is used to retrieve all of the faces common to the edge.
159
- #
160
- # @example
161
- # edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
162
- # faces = edge.faces
163
- #
164
- # @return [Array<Sketchup::Face>]
165
- #
166
- # @version SketchUp 6.0
167
- def faces
168
- end
169
-
170
- # The find_faces method is used to create all of the Faces that can be created
171
- # with this edge. For example, if you use the API to draw three edges that form
172
- # a triangle, the face between them will not show up because you've only drawn
173
- # the edges, but if you call find_faces on one of the edges, the triangle will
174
- # be filled in.
175
- #
176
- # @example
177
- # depth = 100
178
- # width = 100
179
- # model = Sketchup.active_model
180
- # entities = model.active_entities
181
- # pts = []
182
- # pts[0] = [0, 0, 0]
183
- # pts[1] = [width, 0, 0]
184
- # pts[2] = [width, depth, 0]
185
- # pts[3] = [0, depth, 0]
186
- # # Add the face to the entities in the model
187
- # face = entities.add_face pts
188
- # # I just happen to know that the second entity in the
189
- # # entities objects is an edge.
190
- # entity1 = entities[1]
191
- # # Getting zero.
192
- # number = entity1.find_faces
193
- # if (number)
194
- # UI.messagebox "I created " + number.to_s + " faces."
195
- # else
196
- # UI.messagebox "Failure"
197
- # end
198
- #
199
- # @return [Integer] the number of faces found
200
- #
201
- # @version SketchUp 6.0
202
- def find_faces
203
- end
204
-
205
- # The {#length} method is used to retrieve the length of an edge in current
206
- # units.
207
- #
208
- # You can pass in an optional {Geom::Transformation} (or an array that can
209
- # represent a transformation), to correct for a parent group's transformation.
210
- # For example, if an edge is inside of a group that is scaled to 200%, the
211
- # length method will return the unscaled length of the edge. So by passing a
212
- # 200% transformation object to this method, you can account for that to get
213
- # the "visual" length of the edge.
214
- #
215
- # @example
216
- # edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
217
- # puts "#{edge.length} (#{edge.length.inspect})"
218
- #
219
- # @overload length
220
- #
221
- # @return [Length] the length of the edge
222
- #
223
- # @overload length(transform)
224
- #
225
- # @param [Geom::Transformation] transform
226
- # A Transformation object or array that can be interpreted as a
227
- # Transformation object.
228
- # @return [Length] the length of the edge
229
- #
230
- # @version SketchUp 6.0
231
- def length(*args)
232
- end
233
-
234
- # The line method is used to retrieve the line defined by the edge. Lines in
235
- # SketchUp aren't visible entities but geometric constructs represented by
236
- # an Array with a Point3d and a Vector3d. See the Geom module and the Array
237
- # class for more information on lines.
238
- #
239
- # @example
240
- # edge = Sketchup.active_model.entities.add_line([0,0,0],[100,100,0])
241
- # # Returns a 3D ray
242
- # line = edge.line
243
- # if (line)
244
- # UI.messagebox line
245
- # else
246
- # UI.messagebox "Failure"
247
- # end
248
- #
249
- # @return [Array(Geom::Point3d, Geom::Vector3d)] an array with a Point3d object
250
- # and a Vector3d object.
251
- #
252
- # @version SketchUp 6.0
253
- def line
254
- end
255
-
256
- # The other_vertex method is used to find the opposite vertex given one vertex
257
- # of the edge.
258
- #
259
- # @example
260
- # edge = Sketchup.active_model.entities.add_line([0,0,0],[100,100,0])
261
- # # Get the end vertex of an edge
262
- # vertex = edge.end
263
- # # Should find the starting vertex
264
- # othervertex = edge.other_vertex vertex
265
- # if (othervertex)
266
- # UI.messagebox othervertex
267
- # else
268
- # UI.messagebox "Failure"
269
- # end
270
- # # The Point3d for the vertex
271
- # point = othervertex.position
272
- # if (point)
273
- # UI.messagebox point
274
- # else
275
- # UI.messagebox "Failure"
276
- # end
277
- #
278
- # @param [Sketchup::Vertex] vertex1
279
- # One of the Vertex objects associated with the edge.
280
- #
281
- # @return [Sketchup::Vertex] the other Vertex object associated with the edge
282
- #
283
- # @version SketchUp 6.0
284
- def other_vertex(vertex1)
285
- end
286
-
287
- # The {#reversed_in?} method is used to determine if the edge is reversed in
288
- # a face's bounding loop.
289
- #
290
- # @example
291
- # model = Sketchup.active_model
292
- # entities = model.active_entities
293
- # points = []
294
- # points[0] = [0, 0, 0]
295
- # points[1] = [9, 0, 0]
296
- # points[2] = [9, 9, 0]
297
- # points[3] = [0, 9, 0]
298
- # # Add the face to the entities in the model
299
- # face = entities.add_face(points)
300
- # edge = face.edges[0]
301
- # if edge.reversed_in?(face)
302
- # face.reverse!
303
- # end
304
- #
305
- # @param [Sketchup::Face] face
306
- # The face that is bounded by the edge.
307
- #
308
- # @return [Boolean] +true+ if the edge is reversed, +false+ if it is not
309
- # reversed. +nil+ if the edge and face is not connected.
310
- #
311
- # @see Sketchup::EdgeUse
312
- #
313
- # @see Sketchup::Loop
314
- #
315
- # @version SketchUp 6.0
316
- def reversed_in?(face)
317
- end
318
-
319
- # The {#smooth=} method is used to set the edge to be smooth.
320
- #
321
- # A smooth edge will cause the shading between connected faces to blend to a
322
- # smooth transition. The edge will still be visible.
323
- #
324
- # @example
325
- # edge = Sketchup.active_model.entities.add_line([0,0,0], [100,100,0])
326
- # # Soft and Smooth are normally set in pairs.
327
- # edge.soft = true
328
- # edge.smooth = true
329
- #
330
- # @note The soft and smooth properties are normally set in pairs. You can
331
- # observer this when the Soften/Smooth Edges feature or holding down Ctrl
332
- # when using the Eraser Tool.
333
- #
334
- # @param [Boolean] value
335
- #
336
- # @return [Boolean]
337
- #
338
- # @see https://help.sketchup.com/en/article/3000097
339
- #
340
- # @version SketchUp 6.0
341
- def smooth=(value)
342
- end
343
-
344
- # The {#smooth?} method is used to retrieve the current smooth setting for an
345
- # edge.
346
- #
347
- # A smooth edge will cause the shading between connected faces to blend to a
348
- # smooth transition. The edge will still be visible.
349
- #
350
- # @example
351
- # edge = Sketchup.active_model.entities.add_line([0,0,0], [100,100,0])
352
- # # Soft and Smooth are normally set in pairs.
353
- # edge.smooth = !edge.smooth?
354
- # edge.soft = edge.smooth?
355
- #
356
- # @return [Boolean]
357
- #
358
- # @see https://help.sketchup.com/en/article/3000097
359
- #
360
- # @version SketchUp 6.0
361
- def smooth?
362
- end
363
-
364
- # The {#soft=} method is used to set the edge to be soft.
365
- #
366
- # A soft edge will cause the connected faces to be treated as a surface. This
367
- # means that if you have Hidden Geometry off and select one face it will also
368
- # select all faces connected with soft edges. A soft edge will also appear
369
- # hidden.
370
- #
371
- # @example
372
- # edge = Sketchup.active_model.entities.add_line([0,0,0], [100,100,0])
373
- # # Soft and Smooth are normally set in pairs.
374
- # edge.soft = true
375
- # edge.smooth = true
376
- #
377
- # @note The soft and smooth properties are normally set in pairs. You can
378
- # observer this when the Soften/Smooth Edges feature or holding down Ctrl
379
- # when using the Eraser Tool.
380
- #
381
- # @param [Boolean] value
382
- #
383
- # @return [Boolean]
384
- #
385
- # @see https://help.sketchup.com/en/article/3000097
386
- #
387
- # @version SketchUp 6.0
388
- def soft=(value)
389
- end
390
-
391
- # The {#soft?} method is used to retrieve the current smooth setting for an
392
- # edge.
393
- #
394
- # A soft edge will cause the connected faces to be treated as a surface. This
395
- # means that if you have Hidden Geometry off and select one face it will also
396
- # select all faces connected with soft edges. A soft edge will also appear
397
- # hidden.
398
- #
399
- # @example
400
- # edge = Sketchup.active_model.entities.add_line([0,0,0], [100,100,0])
401
- # # Soft and Smooth are normally set in pairs.
402
- # edge.soft = !edge.soft?
403
- # edge.smooth = edge.soft?
404
- #
405
- # @return [Boolean]
406
- #
407
- # @see https://help.sketchup.com/en/article/3000097
408
- #
409
- # @version SketchUp 6.0
410
- def soft?
411
- end
412
-
413
- # The split method is used to to split an edge into two or more distinct
414
- # edges. If a Point3d is given, it must be a point that is on the Edge.
415
- #
416
- # If a Float is given, it is a number between 0 and 1 that gives the
417
- # relative position along the edge at which to split it. For example,
418
- # edge.split(0.5) will split the Edge at its midpoint. This split position
419
- # is measured from the Edge.start.
420
- #
421
- # Returns the new Edge that was created as a result of splitting this one.
422
- #
423
- # @example
424
- # # Split a line in half.
425
- # edge = Sketchup.active_model.entities.add_line([0,0,0],[100,100,0])
426
- # new_edge = edge.split 0.5
427
- #
428
- # @param [Geom::Point3d] position
429
- # A Point3d object whose location is along the edge, or
430
- # a Float between 0.0 and 1.0 defining how far along the
431
- # edge to split.
432
- #
433
- # @return [Sketchup::Edge] the new Edge object that was split off
434
- # the old one if successful
435
- #
436
- # @version SketchUp 6.0
437
- def split(position)
438
- end
439
-
440
- # The end method is used to retrieve the Vertex object at the start of the
441
- # edge.
442
- #
443
- # @example
444
- # edge = Sketchup.active_model.entities.add_line([0,0,0],[100,100,0])
445
- # vertex = edge.start
446
- # if (vertex)
447
- # # display a pointer to the Vertex
448
- # UI.messagebox vertex
449
- # else
450
- # UI.messagebox "Failure"
451
- # end
452
- # point = vertex.position
453
- # # Let's get the Point3d of the vertex
454
- # if (point)
455
- # UI.messagebox point
456
- # else
457
- # UI.messagebox "Failure"
458
- # end
459
- #
460
- # @return [Sketchup::Vertex] a Vertex object if successful
461
- #
462
- # @version SketchUp 6.0
463
- def start
464
- end
465
-
466
- # The used_by? method is used to see if an edge is used by a given Face or
467
- # Vertex.
468
- #
469
- # @example
470
- # edge = Sketchup.active_model.entities.add_line([0,0,0],[100,100,0])
471
- # # Returns a vertex
472
- # vertex = edge.start
473
- # # Check to see if the edge is used by the Vertex.
474
- # status = edge.used_by? vertex
475
- # if (status)
476
- # UI.messagebox status
477
- # else
478
- # UI.messagebox "Failure"
479
- # end
480
- #
481
- # @param [Sketchup::Vertex, Sketchup::Face] element
482
- # A Vertex or Face object.
483
- #
484
- # @return [Boolean]
485
- #
486
- # @version SketchUp 6.0
487
- def used_by?(element)
488
- end
489
-
490
- # The vertices method is used to retrieve the vertices on the edge.
491
- #
492
- # @example
493
- # edge = Sketchup.active_model.entities.add_line([0,0,0],[100,100,0])
494
- # vertices = edge.vertices
495
- #
496
- # @return [Array<Sketchup::Vertex>] an array of Vertex objects
497
- #
498
- # @version SketchUp 6.0
499
- def vertices
500
- end
501
-
502
- end
1
+ # Copyright:: Copyright 2023 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # The Edge class contains methods modifying and extracting information for
5
+ # edges.
6
+ #
7
+ # @version SketchUp 6.0
8
+ class Sketchup::Edge < Sketchup::Drawingelement
9
+
10
+ # Instance Methods
11
+
12
+ # The all_connected method retrieves all of the entities connected to an edge,
13
+ # including the edge itself.
14
+ #
15
+ # @example
16
+ # model = Sketchup.active_model
17
+ # entities = model.active_entities
18
+ # points = [
19
+ # Geom::Point3d.new(0, 0, 0),
20
+ # Geom::Point3d.new(100, 0, 0),
21
+ # Geom::Point3d.new(100, 100, 0),
22
+ # Geom::Point3d.new(200, 100, 0)
23
+ # ]
24
+ # # Add the edges to the model
25
+ # edges = entities.add_edges(points)
26
+ # connected_entities = edges.first.all_connected
27
+ #
28
+ # @return [Array<Sketchup::Entity>] the edge and entities connected to that edge
29
+ #
30
+ # @version SketchUp 6.0
31
+ def all_connected
32
+ end
33
+
34
+ # The common_face method is used to identify a face that is common to two
35
+ # edges.
36
+ #
37
+ # @example
38
+ # model = Sketchup.active_model
39
+ # entities = model.active_entities
40
+ # points = [
41
+ # Geom::Point3d.new(0, 0, 0),
42
+ # Geom::Point3d.new(100, 0, 0),
43
+ # Geom::Point3d.new(100, 100, 0),
44
+ # Geom::Point3d.new(0, 100, 0)
45
+ # ]
46
+ # # Add the face to the entities in the model
47
+ # face = entities.add_face(points)
48
+ # edge1 = face.edges[0]
49
+ # edge2 = face.edges[1]
50
+ # face = edge1.common_face(edge2)
51
+ #
52
+ # @param [Sketchup::Edge] edge2
53
+ # The face whose edge you are checking for commonality.
54
+ #
55
+ # @return [Sketchup::Face, nil] the Face object that is common to the two edges
56
+ # if successful
57
+ #
58
+ # @version SketchUp 6.0
59
+ def common_face(edge2)
60
+ end
61
+
62
+ # The curve method is used to get the Curve object that this edge belongs
63
+ # to, if any. Note that if the edge is part of an arc instead of a random
64
+ # curve, then this method will return an ArcCurve object.
65
+ #
66
+ # @example
67
+ # entities = Sketchup.active_model.entities
68
+ # edges = entities.add_curve([0, 0, 0], [100, 100, 0], [100, 200, 0])
69
+ # curve = edges[0].curve
70
+ #
71
+ # @return [Sketchup::Curve, nil] returns a Curve object if it is a
72
+ # curve, nil if it is not a curve
73
+ #
74
+ # @version SketchUp 6.0
75
+ def curve
76
+ end
77
+
78
+ # The end method is used to retrieve the Vertex object at the end of the edge.
79
+ #
80
+ # @example
81
+ # edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
82
+ # vertex = edge.end
83
+ #
84
+ # @return [Sketchup::Vertex] a Vertex object if successful
85
+ #
86
+ # @version SketchUp 6.0
87
+ def end
88
+ end
89
+
90
+ # The explode_curve method is used to explode the curve that the given edge
91
+ # is a part of.
92
+ #
93
+ # @example
94
+ # model = Sketchup.active_model
95
+ # entities = model.active_entities
96
+ # edges = entities.add_curve([0, 0, 0], [100, 0, 0], [100, 100, 0])
97
+ # edge = edges[0]
98
+ # exploded_edge = edge.explode_curve
99
+ #
100
+ # @return [Sketchup::Edge] an exploded edge object if successful
101
+ #
102
+ # @version SketchUp 6.0
103
+ def explode_curve
104
+ end
105
+
106
+ # The {#faces} method is used to retrieve all of the faces common to the edge.
107
+ #
108
+ # @example
109
+ # edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
110
+ # faces = edge.faces
111
+ #
112
+ # @return [Array<Sketchup::Face>]
113
+ #
114
+ # @version SketchUp 6.0
115
+ def faces
116
+ end
117
+
118
+ # The find_faces method is used to create all of the Faces that can be created
119
+ # with this edge. For example, if you use the API to draw three edges that form
120
+ # a triangle, the face between them will not show up because you've only drawn
121
+ # the edges, but if you call find_faces on one of the edges, the triangle will
122
+ # be filled in.
123
+ #
124
+ # @example
125
+ # model = Sketchup.active_model
126
+ # entities = model.active_entities
127
+ # points = [
128
+ # Geom::Point3d.new(0, 0, 0),
129
+ # Geom::Point3d.new(100, 0, 0),
130
+ # Geom::Point3d.new(100, 100, 0),
131
+ # Geom::Point3d.new(0, 100, 0),
132
+ # Geom::Point3d.new(0, 0, 0)
133
+ # ]
134
+ # edges = entities.add_curve(points)
135
+ # number_of_faces_found = edges[0].find_faces
136
+ #
137
+ # @return [Integer] the number of faces found
138
+ #
139
+ # @version SketchUp 6.0
140
+ def find_faces
141
+ end
142
+
143
+ # The {#length} method is used to retrieve the length of an edge in current
144
+ # units.
145
+ #
146
+ # You can pass in an optional {Geom::Transformation} (or an array that can
147
+ # represent a transformation), to correct for a parent group's transformation.
148
+ # For example, if an edge is inside of a group that is scaled to 200%, the
149
+ # length method will return the unscaled length of the edge. So by passing a
150
+ # 200% transformation object to this method, you can account for that to get
151
+ # the "visual" length of the edge.
152
+ #
153
+ # @example
154
+ # edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
155
+ # edge.length
156
+ #
157
+ # @overload length
158
+ #
159
+ # @return [Length] the length of the edge
160
+ #
161
+ # @overload length(transform)
162
+ #
163
+ # @param [Geom::Transformation] transform
164
+ # A Transformation object or array that can be interpreted as a
165
+ # Transformation object.
166
+ # @return [Length] the length of the edge
167
+ #
168
+ # @version SketchUp 6.0
169
+ def length(*args)
170
+ end
171
+
172
+ # The line method is used to retrieve the line defined by the edge. Lines in
173
+ # SketchUp aren't visible entities but geometric constructs represented by
174
+ # an Array with a Point3d and a Vector3d. See the Geom module and the Array
175
+ # class for more information on lines.
176
+ #
177
+ # @example
178
+ # edge = Sketchup.active_model.entities.add_line([0,0,0], [100, 100, 0])
179
+ # line = edge.line
180
+ #
181
+ # @return [Array(Geom::Point3d, Geom::Vector3d)] an array with a Point3d object
182
+ # and a Vector3d object.
183
+ #
184
+ # @version SketchUp 6.0
185
+ def line
186
+ end
187
+
188
+ # The other_vertex method is used to find the opposite vertex given one vertex
189
+ # of the edge.
190
+ #
191
+ # @example
192
+ # edge = Sketchup.active_model.entities.add_line([0, 0, 0],[100, 100, 0])
193
+ # # Get the end vertex of an edge
194
+ # vertex = edge.end
195
+ # # Should find the starting vertex
196
+ # other_vertex = edge.other_vertex(vertex)
197
+ #
198
+ # @param [Sketchup::Vertex] vertex1
199
+ # One of the Vertex objects associated with the edge.
200
+ #
201
+ # @return [Sketchup::Vertex] the other Vertex object associated with the edge
202
+ #
203
+ # @version SketchUp 6.0
204
+ def other_vertex(vertex1)
205
+ end
206
+
207
+ # The {#reversed_in?} method is used to determine if the edge is reversed in
208
+ # a face's bounding loop.
209
+ #
210
+ # @example
211
+ # model = Sketchup.active_model
212
+ # entities = model.active_entities
213
+ # points = []
214
+ # points[0] = [0, 0, 0]
215
+ # points[1] = [9, 0, 0]
216
+ # points[2] = [9, 9, 0]
217
+ # points[3] = [0, 9, 0]
218
+ # # Add the face to the entities in the model.
219
+ # face = entities.add_face(points)
220
+ # edge = face.edges[0]
221
+ # edge.reversed_in?(face)
222
+ #
223
+ # @param [Sketchup::Face] face
224
+ # The face that is bounded by the edge.
225
+ #
226
+ # @return [Boolean] +true+ if the edge is reversed, +false+ if it is not
227
+ # reversed. +nil+ if the edge and face is not connected.
228
+ #
229
+ # @see Sketchup::EdgeUse
230
+ #
231
+ # @see Sketchup::Loop
232
+ #
233
+ # @version SketchUp 6.0
234
+ def reversed_in?(face)
235
+ end
236
+
237
+ # The {#smooth=} method is used to set the edge to be smooth.
238
+ #
239
+ # A smooth edge will cause the shading between connected faces to blend to a
240
+ # smooth transition. The edge will still be visible.
241
+ #
242
+ # @example
243
+ # edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
244
+ # edge.soft = true
245
+ # edge.smooth = true
246
+ #
247
+ # @note The soft and smooth properties are normally set in pairs. You can
248
+ # observer this when the Soften/Smooth Edges feature or holding down Ctrl
249
+ # when using the Eraser Tool.
250
+ #
251
+ # @param [Boolean] value
252
+ #
253
+ # @return [Boolean]
254
+ #
255
+ # @see https://help.sketchup.com/en/article/3000097
256
+ #
257
+ # @version SketchUp 6.0
258
+ def smooth=(value)
259
+ end
260
+
261
+ # The {#smooth?} method is used to retrieve the current smooth setting for an
262
+ # edge.
263
+ #
264
+ # A smooth edge will cause the shading between connected faces to blend to a
265
+ # smooth transition. The edge will still be visible.
266
+ #
267
+ # @example
268
+ # edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
269
+ # edge.smooth = true
270
+ # edge.smooth?
271
+ #
272
+ # @return [Boolean]
273
+ #
274
+ # @see https://help.sketchup.com/en/article/3000097
275
+ #
276
+ # @version SketchUp 6.0
277
+ def smooth?
278
+ end
279
+
280
+ # The {#soft=} method is used to set the edge to be soft.
281
+ #
282
+ # A soft edge will cause the connected faces to be treated as a surface. This
283
+ # means that if you have Hidden Geometry off and select one face it will also
284
+ # select all faces connected with soft edges. A soft edge will also appear
285
+ # hidden.
286
+ #
287
+ # @example
288
+ # edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
289
+ # edge.smooth = true
290
+ # edge.soft = true
291
+ #
292
+ # @note The soft and smooth properties are normally set in pairs. You can
293
+ # observe this when the Soften/Smooth Edges feature or holding down Ctrl
294
+ # when using the Eraser Tool.
295
+ #
296
+ # @param [Boolean] value
297
+ #
298
+ # @return [Boolean]
299
+ #
300
+ # @see https://help.sketchup.com/en/article/3000097
301
+ #
302
+ # @version SketchUp 6.0
303
+ def soft=(value)
304
+ end
305
+
306
+ # The {#soft?} method is used to retrieve the current soft setting for an
307
+ # edge.
308
+ #
309
+ # A soft edge will cause the connected faces to be treated as a surface. This
310
+ # means that if you have Hidden Geometry off and select one face it will also
311
+ # select all faces connected with soft edges. A soft edge will also appear
312
+ # hidden.
313
+ #
314
+ # @example
315
+ # edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
316
+ # edge.soft = true
317
+ # edge.soft?
318
+ #
319
+ # @return [Boolean]
320
+ #
321
+ # @see https://help.sketchup.com/en/article/3000097
322
+ #
323
+ # @version SketchUp 6.0
324
+ def soft?
325
+ end
326
+
327
+ # The split method is used to to split an edge into two or more distinct
328
+ # edges. If a Point3d is given, it must be a point that is on the Edge.
329
+ #
330
+ # If a Float is given, it is a number between 0 and 1 that gives the
331
+ # relative position along the edge at which to split it. For example,
332
+ # edge.split(0.5) will split the Edge at its midpoint. This split position
333
+ # is measured from the Edge.start.
334
+ #
335
+ # Returns the new Edge that was created as a result of splitting this one.
336
+ #
337
+ # @example
338
+ # edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
339
+ # new_edge = edge.split(0.5)
340
+ #
341
+ # @param [Geom::Point3d] position
342
+ # A Point3d object whose location is along the edge, or
343
+ # a Float between 0.0 and 1.0 defining how far along the
344
+ # edge to split.
345
+ #
346
+ # @return [Sketchup::Edge] the new Edge object that was split off
347
+ # the old one if successful
348
+ #
349
+ # @version SketchUp 6.0
350
+ def split(position)
351
+ end
352
+
353
+ # The start method is used to retrieve the Vertex object at the start of the
354
+ # edge.
355
+ #
356
+ # @example
357
+ # edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
358
+ # vertex = edge.start
359
+ #
360
+ # @return [Sketchup::Vertex] a Vertex object if successful
361
+ #
362
+ # @version SketchUp 6.0
363
+ def start
364
+ end
365
+
366
+ # The used_by? method is used to see if an edge is used by a given Face or
367
+ # Vertex.
368
+ #
369
+ # @example
370
+ # edge = Sketchup.active_model.entities.add_line([0, 0, 0],[100, 100, 0])
371
+ # # Returns a vertex
372
+ # vertex = edge.start
373
+ # # Check to see if the edge is used by the Vertex.
374
+ # edge.used_by?(vertex)
375
+ #
376
+ # @param [Sketchup::Vertex, Sketchup::Face] element
377
+ # A Vertex or Face object.
378
+ #
379
+ # @return [Boolean]
380
+ #
381
+ # @version SketchUp 6.0
382
+ def used_by?(element)
383
+ end
384
+
385
+ # The vertices method is used to retrieve the vertices on the edge.
386
+ #
387
+ # @example
388
+ # edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
389
+ # vertices = edge.vertices
390
+ #
391
+ # @return [Array<Sketchup::Vertex>] an array of Vertex objects
392
+ #
393
+ # @version SketchUp 6.0
394
+ def vertices
395
+ end
396
+
397
+ end