sketchup-api-stubs 0.7.7 → 0.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +151 -147
  3. data/lib/sketchup-api-stubs/stubs/{array.rb → 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 -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 -691
  16. data/lib/sketchup-api-stubs/stubs/{geom.rb → Geom.rb} +351 -351
  17. data/lib/sketchup-api-stubs/stubs/{languagehandler.rb → LanguageHandler.rb} +93 -92
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -573
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +747 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -179
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +517 -515
  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 -349
  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 -694
  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 → Length.rb} +278 -278
  51. data/lib/sketchup-api-stubs/stubs/{numeric.rb → 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 -157
  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 -577
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -594
  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 -425
  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 -1126
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -0
  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 -917
  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 -405
  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 -327
  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 -1654
  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 -478
  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 -257
  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 -835
  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 -71
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1311 -1307
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
  143. data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1377 -1353
  144. data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
  145. data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
  146. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -317
  147. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +494 -478
  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 -633
  151. data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -672
  152. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -311
  153. data/lib/sketchup-api-stubs.rb +1 -1
  154. metadata +20 -16
@@ -1,502 +1,397 @@
1
- # Copyright:: Copyright 2021 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