sketchup-api-stubs 0.7.9 → 0.7.11

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 (160) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +157 -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 +182 -172
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +111 -126
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +423 -400
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +693 -661
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +535 -509
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +500 -476
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +267 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +133 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +547 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +678 -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 +751 -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/Dictionary.rb +234 -0
  23. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +683 -517
  24. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -148
  26. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +464 -353
  27. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -354
  28. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  29. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  30. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  31. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -370
  32. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  33. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  34. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -225
  35. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +614 -567
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  37. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  38. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +282 -183
  39. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +458 -387
  40. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -209
  41. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +346 -344
  42. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  43. data/lib/sketchup-api-stubs/stubs/Layout/ReferenceEntity.rb +82 -82
  44. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +714 -692
  45. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1565 -1519
  46. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  48. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  49. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  50. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  51. data/lib/sketchup-api-stubs/stubs/Length.rb +286 -278
  52. data/lib/sketchup-api-stubs/stubs/Numeric.rb +249 -249
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +196 -144
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -169
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +226 -209
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +145 -150
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +294 -281
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +296 -302
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +473 -478
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +121 -121
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +673 -659
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +600 -593
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +252 -257
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -201
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +443 -449
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -74
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -104
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +167 -165
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -306
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -42
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +403 -406
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -397
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1282 -1239
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -261
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +519 -545
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Environment.rb +406 -0
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Environments.rb +185 -0
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/EnvironmentsObserver.rb +113 -0
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +122 -125
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +1006 -937
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -102
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +740 -750
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +289 -282
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +64 -62
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +405 -468
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -266
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -189
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +432 -406
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -84
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +307 -306
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +332 -326
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +380 -422
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +409 -427
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +241 -249
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +55 -48
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +114 -114
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/LoadHandler.rb +70 -0
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +1115 -414
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +330 -317
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -142
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -93
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1714 -1652
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +372 -357
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +133 -130
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -271
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +463 -490
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +104 -116
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +939 -797
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +388 -361
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +501 -478
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +385 -361
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -45
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +451 -458
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +211 -212
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +259 -255
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -59
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -40
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/Snap.rb +125 -0
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +88 -69
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +263 -217
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +283 -262
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +199 -217
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +924 -834
  143. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  144. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -156
  145. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -75
  146. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +143 -142
  147. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1566 -1311
  148. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +71 -45
  149. data/lib/sketchup-api-stubs/stubs/Sketchup.rb +1429 -1377
  150. data/lib/sketchup-api-stubs/stubs/SketchupExtension.rb +353 -353
  151. data/lib/sketchup-api-stubs/stubs/String.rb +24 -24
  152. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +399 -389
  153. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +580 -494
  154. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +280 -269
  155. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +258 -241
  156. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +636 -635
  157. data/lib/sketchup-api-stubs/stubs/UI.rb +791 -683
  158. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -303
  159. data/lib/sketchup-api-stubs.rb +1 -1
  160. metadata +10 -24
@@ -1,567 +1,614 @@
1
- # Copyright:: Copyright 2023 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # References a linear dimension entity. A {Layout::LinearDimension} is composed
5
- # of the following sub-entities:
6
- # - two 'extension lines' that connect to the {Layout::Entity} being
7
- # dimensioned.
8
- # - a 'dimension line' connecting the ends of the leaders. This may be
9
- # represented by one or two {Layout::Path}s depending on appearance.
10
- # - an optional 'leader line' that is used for small {Layout::LinearDimension}s.
11
- # - a 'dimension text' that displays the {Layout::LinearDimension}'s text.
12
- #
13
- # There are six points that may be modified for a {Layout::LinearDimension}:
14
- # - two 'connection points' that define the start and end of the
15
- # {Layout::LinearDimension}.
16
- # - two 'extent points' that define the start and end of the dimension line and
17
- # are the ends of the two extension lines.
18
- # - two 'offset points' that define the starting points of the extension lines.
19
- #
20
- # @version LayOut 2018
21
- class Layout::LinearDimension < Layout::Entity
22
-
23
- # Constants
24
-
25
- LEADER_LINE_TYPE_BEZIER = nil # Stub value.
26
- LEADER_LINE_TYPE_HIDDEN = nil # Stub value.
27
- LEADER_LINE_TYPE_SINGLE_SEGMENT = nil # Stub value.
28
- LEADER_LINE_TYPE_TWO_SEGMENT = nil # Stub value.
29
-
30
- # Instance Methods
31
-
32
- # The {#auto_scale=} method sets whether the scale for the
33
- # {Layout::LinearDimension} is set automatically.
34
- #
35
- # @example
36
- # start_point = Geom::Point2d.new(1, 1)
37
- # end_point = Geom::Point2d.new(5, 5)
38
- # height = 1.0
39
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
40
- # dim.auto_scale = true
41
- #
42
- # @param [Boolean] uses_auto_scale
43
- #
44
- # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
45
- # {Layout::Layer}
46
- #
47
- # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
48
- #
49
- # @version LayOut 2018
50
- def auto_scale=(uses_auto_scale)
51
- end
52
-
53
- # The {#auto_scale?} method returns whether the scale for the
54
- # {Layout::LinearDimension} is set automatically.
55
- #
56
- # @example
57
- # start_point = Geom::Point2d.new(1, 1)
58
- # end_point = Geom::Point2d.new(5, 5)
59
- # height = 1.0
60
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
61
- # uses_auto_scale = dim.auto_scale?
62
- #
63
- # @return [Boolean]
64
- #
65
- # @version LayOut 2018
66
- def auto_scale?
67
- end
68
-
69
- # The {#connect} method connects the {Layout::LinearDimension} to one or two
70
- # {Layout::Entity}s using the provided {Layout::ConnectionPoint}s. The
71
- # {Layout::LinearDimension} must be in the same {Layout::Document} as the
72
- # {Layout::Entity}s, and on the same {Layout::Page} if the {Layout::Entity}s
73
- # are on non-shared {Layout::Layer}s.
74
- #
75
- # @example
76
- # doc = Layout::Document.open("C:/path/to/document.layout")
77
- # point_1 = Geom::Point2d.new(5, 7.5)
78
- # point_2 = Geom::Point2d.new(8.5, 9)
79
- # table = Layout::Rectangle.new([point_1, point_2])
80
- # doc.add_entity(table, doc.layers.first, doc.pages.first)
81
- # start_point = Layout::ConnectionPoint.new(table, point_1)
82
- # end_point = Layout::ConnectionPoint.new(table, point_2)
83
- # height = 1.0
84
- # dim = Layout::LinearDimension.new(Geom::Point2d.new(1, 1),
85
- # Geom::Point2d.new(5, 5), height)
86
- # dim.connect(start_point, end_point)
87
- #
88
- # @param [Layout::ConnectionPoint] start_connection
89
- #
90
- # @param [Layout::ConnectionPoint] end_connection
91
- #
92
- # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
93
- # {Layout::Layer}
94
- #
95
- # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
96
- #
97
- # @version LayOut 2018
98
- def connect(start_connection, end_connection)
99
- end
100
-
101
- # The {#custom_text=} method sets whether the {Layout::LinearDimension} uses
102
- # custom text. When +true+, the {Layout::LinearDimension} will display a custom
103
- # string that doesn't change. When +false+, it will display the length
104
- # measurement and will update automatically.
105
- #
106
- # @example
107
- # start_point = Geom::Point2d.new(1, 1)
108
- # end_point = Geom::Point2d.new(5, 5)
109
- # height = 1.0
110
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
111
- # dim.custom_text = true
112
- #
113
- # @param [Boolean] uses_custom_text
114
- #
115
- # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
116
- # {Layout::Layer}
117
- #
118
- # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
119
- #
120
- # @version LayOut 2018
121
- def custom_text=(uses_custom_text)
122
- end
123
-
124
- # The {#custom_text?} method returns whether the {Layout::LinearDimension}
125
- # uses custom text. When +true+, the {Layout::LinearDimension} will display a
126
- # custom string that doesn't change. When +false+, it will display the length
127
- # measurement and will update automatically.
128
- #
129
- # @example
130
- # start_point = Geom::Point2d.new(1, 1)
131
- # end_point = Geom::Point2d.new(5, 5)
132
- # height = 1.0
133
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
134
- # # returns false
135
- # uses_custom_text = dim.custom_text?
136
- #
137
- # @return [Boolean]
138
- #
139
- # @version LayOut 2018
140
- def custom_text?
141
- end
142
-
143
- # The {#disconnect} method disconnects the {Layout::LinearDimension} from its
144
- # {Layout::ConnectionPoint}s. The dimension will not be adjusted by
145
- # disconnecting from its {Layout::ConnectionPoint}s.
146
- #
147
- # @example
148
- # start_point = Geom::Point2d.new(1, 1)
149
- # end_point = Geom::Point2d.new(5, 5)
150
- # height = 1.0
151
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
152
- # dim.disconnect
153
- #
154
- # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
155
- # {Layout::Layer}
156
- #
157
- # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
158
- #
159
- # @version LayOut 2018
160
- def disconnect
161
- end
162
-
163
- # The {#end_connection_point} method returns the paper space location for the
164
- # second connection.
165
- #
166
- # @example
167
- # start_point = Geom::Point2d.new(1, 1)
168
- # end_point = Geom::Point2d.new(5, 5)
169
- # height = 1.0
170
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
171
- # end_connection = dim.end_connection_point
172
- #
173
- # @return [Geom::Point2d]
174
- #
175
- # @version LayOut 2018
176
- def end_connection_point
177
- end
178
-
179
- # The {#end_connection_point=} method sets the paper space location for the
180
- # second connection.
181
- #
182
- # @example
183
- # start_point = Geom::Point2d.new(1, 1)
184
- # end_point = Geom::Point2d.new(5, 5)
185
- # height = 1.0
186
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
187
- # dim.end_connection_point = Geom::Point2d.new(6, 6)
188
- #
189
- # @param [Geom::Point2d] end_point
190
- #
191
- # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
192
- # {Layout::Layer}
193
- #
194
- # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
195
- #
196
- # @version LayOut 2018
197
- def end_connection_point=(end_point)
198
- end
199
-
200
- # The {#end_extent_point} method returns the paper space location for the
201
- # end of the dimension line.
202
- #
203
- # @example
204
- # start_point = Geom::Point2d.new(1, 1)
205
- # end_point = Geom::Point2d.new(5, 5)
206
- # height = 1.0
207
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
208
- # end_ext_point = dim.end_extent_point
209
- #
210
- # @return [Geom::Point2d] end_extent
211
- #
212
- # @version LayOut 2018
213
- def end_extent_point
214
- end
215
-
216
- # The {#end_extent_point=} method sets the paper space location for the
217
- # end of the dimension line.
218
- #
219
- # @example
220
- # start_point = Geom::Point2d.new(1, 1)
221
- # end_point = Geom::Point2d.new(5, 5)
222
- # height = 1.0
223
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
224
- # end_ext_point = Geom::Point2d.new(5, 6)
225
- # dim.end_extent_point = end_ext_point
226
- #
227
- # @param [Geom::Point2d] end_extent
228
- #
229
- # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
230
- # {Layout::Layer}
231
- #
232
- # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
233
- #
234
- # @version LayOut 2018
235
- def end_extent_point=(end_extent)
236
- end
237
-
238
- # The {#end_offset_length=} method sets the length of the offset from the
239
- # second {Layout::ConnectionPoint} to the start of the second extension line.
240
- # The {Layout::ConnectionPoint} and extent point will not move.
241
- #
242
- # @example
243
- # start_point = Geom::Point2d.new(1, 1)
244
- # end_point = Geom::Point2d.new(5, 5)
245
- # height = 1.0
246
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
247
- # end_ext_point = Geom::Point2d.new(5, 6)
248
- # dim.end_offset_length = 0.5
249
- #
250
- # @param [Numeric] offset_length
251
- #
252
- # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
253
- # {Layout::Layer}
254
- #
255
- # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
256
- #
257
- # @version LayOut 2018
258
- def end_offset_length=(offset_length)
259
- end
260
-
261
- # The {#end_offset_point} method returns the paper space location for the
262
- # end of the first extension line. The first extension line runs from this
263
- # offset point to the end extent point.
264
- #
265
- # @example
266
- # start_point = Geom::Point2d.new(1, 1)
267
- # end_point = Geom::Point2d.new(5, 5)
268
- # height = 1.0
269
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
270
- # end_offset = dim.end_offset_point
271
- #
272
- # @return [Geom::Point2d] end_offset
273
- #
274
- # @version LayOut 2018
275
- def end_offset_point
276
- end
277
-
278
- # The {#entities} method returns the {Layout::Entities} that represent the
279
- # {Layout::LinearDimension} in its exploded form. Depending on the appearance
280
- # of the {Layout::LinearDimension}, this may return anywhere from four to six
281
- # {Layout::Entity}s: start extension line, end extension line, one or two
282
- # dimension lines, dimension text, and optionally the leader line.
283
- #
284
- # @example
285
- # start_point = Geom::Point2d.new(1, 1)
286
- # end_point = Geom::Point2d.new(5, 5)
287
- # height = 1.0
288
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
289
- # entites = dim.entities
290
- #
291
- # @return [Layout::Entities]
292
- #
293
- # @version LayOut 2018
294
- def entities
295
- end
296
-
297
- # The {#initialize} method creates a new disconnected {Layout::LinearDimension}.
298
- #
299
- # @example
300
- # start_point = Geom::Point2d.new(1, 1)
301
- # end_point = Geom::Point2d.new(5, 5)
302
- # height = 1.0
303
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
304
- #
305
- # @param [Geom::Point2d] start_point
306
- #
307
- # @param [Geom::Point2d] end_point
308
- #
309
- # @param [Numeric] height
310
- # Distance from the start and end points to the
311
- # dimension line
312
- #
313
- # @return [Layout::LinearDimension]
314
- #
315
- # @version LayOut 2018
316
- def initialize(start_point, end_point, height)
317
- end
318
-
319
- # The {#leader_line_type} method returns the type of leader line the
320
- # {Layout::LinearDimension} is using.
321
- #
322
- # The leader line type can be one of the following:
323
- # [+Layout::LinearDimension::LEADER_LINE_TYPE_SINGLE_SEGMENT+]
324
- # [+Layout::LinearDimension::LEADER_LINE_TYPE_TWO_SEGMENT+]
325
- # [+Layout::LinearDimension::LEADER_LINE_TYPE_BEZIER+]
326
- # [+Layout::LinearDimension::LEADER_LINE_TYPE_HIDDEN+]
327
- #
328
- # @example
329
- # start_point = Geom::Point2d.new(1, 1)
330
- # end_point = Geom::Point2d.new(5, 5)
331
- # height = 1.0
332
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
333
- # type = dim.leader_line_type
334
- #
335
- # @return [Integer]
336
- #
337
- # @version LayOut 2018
338
- def leader_line_type
339
- end
340
-
341
- # The {#leader_line_type=} method sets the type of leader line the
342
- # {Layout::LinearDimension} is using.
343
- #
344
- # The leader line type can be one of the following:
345
- # [+Layout::LinearDimension::LEADER_LINE_TYPE_SINGLE_SEGMENT+]
346
- # [+Layout::LinearDimension::LEADER_LINE_TYPE_TWO_SEGMENT+]
347
- # [+Layout::LinearDimension::LEADER_LINE_TYPE_BEZIER+]
348
- # [+Layout::LinearDimension::LEADER_LINE_TYPE_HIDDEN+]
349
- #
350
- # @example
351
- # start_point = Geom::Point2d.new(1, 1)
352
- # end_point = Geom::Point2d.new(5, 5)
353
- # height = 1.0
354
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
355
- # dim.leader_line_type = Layout::LinearDimension::LEADER_LINE_TYPE_BEZIER
356
- #
357
- # @param [Integer] type
358
- # The leader line type
359
- #
360
- # @raise [ArgumentError] if leader_line_type is not a valid leader line type
361
- #
362
- # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
363
- # {Layout::Layer}
364
- #
365
- # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
366
- #
367
- # @version LayOut 2018
368
- def leader_line_type=(type)
369
- end
370
-
371
- # The {#scale} method returns the scale being used for the
372
- # {Layout::LinearDimension}.
373
- #
374
- # @example
375
- # start_point = Geom::Point2d.new(1, 1)
376
- # end_point = Geom::Point2d.new(5, 5)
377
- # height = 1.0
378
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
379
- # scale = dim.scale
380
- #
381
- # @return [Numeric] scale
382
- #
383
- # @version LayOut 2018
384
- def scale
385
- end
386
-
387
- # The {#scale=} method sets the scale being used for the
388
- # {Layout::LinearDimension}.
389
- #
390
- # @example
391
- # start_point = Geom::Point2d.new(1, 1)
392
- # end_point = Geom::Point2d.new(5, 5)
393
- # height = 1.0
394
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
395
- # dim.scale = 1.5
396
- #
397
- # @param [Numeric] scale
398
- #
399
- # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
400
- # {Layout::Layer}
401
- #
402
- # @raise [ArgumentError] if scale is negative, or greater than 1.0
403
- #
404
- # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
405
- #
406
- # @version LayOut 2018
407
- def scale=(scale)
408
- end
409
-
410
- # The {#start_connection_point} method returns the paper space location for the
411
- # first connection.
412
- #
413
- # @example
414
- # start_point = Geom::Point2d.new(1, 1)
415
- # end_point = Geom::Point2d.new(5, 5)
416
- # height = 1.0
417
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
418
- # start_connection = dim.start_connection_point
419
- #
420
- # @return [Geom::Point2d]
421
- #
422
- # @version LayOut 2018
423
- def start_connection_point
424
- end
425
-
426
- # The {#start_connection_point=} method sets the paper space location for the
427
- # first connection.
428
- #
429
- # @example
430
- # start_point = Geom::Point2d.new(1, 1)
431
- # end_point = Geom::Point2d.new(5, 5)
432
- # height = 1.0
433
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
434
- # dim.start_connection_point = Geom::Point2d.new(2, 2)
435
- #
436
- # @param [Geom::Point2d] start_point
437
- #
438
- # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
439
- # {Layout::Layer}
440
- #
441
- # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
442
- #
443
- # @version LayOut 2018
444
- def start_connection_point=(start_point)
445
- end
446
-
447
- # The {#start_extent_point} method returns the paper space location for the
448
- # start of the dimension line.
449
- #
450
- # @example
451
- # start_point = Geom::Point2d.new(1, 1)
452
- # end_point = Geom::Point2d.new(5, 5)
453
- # height = 1.0
454
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
455
- # start_ext_point = dim.start_extent_point
456
- #
457
- # @return [Geom::Point2d] start_extent
458
- #
459
- # @version LayOut 2018
460
- def start_extent_point
461
- end
462
-
463
- # The {#start_extent_point=} method sets the paper space location for the
464
- # start of the dimension line.
465
- #
466
- # @example
467
- # start_point = Geom::Point2d.new(1, 1)
468
- # end_point = Geom::Point2d.new(5, 5)
469
- # height = 1.0
470
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
471
- # start_ext_point = Geom::Point2d.new(2, 3)
472
- # dim.start_extent_point = start_ext_point
473
- #
474
- # @param [Geom::Point2d] start_extent
475
- #
476
- # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
477
- # {Layout::Layer}
478
- #
479
- # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
480
- #
481
- # @version LayOut 2018
482
- def start_extent_point=(start_extent)
483
- end
484
-
485
- # The {#start_offset_length=} method sets the length of the offset from the
486
- # first {Layout::ConnectionPoint} to the start of the first extension line. The
487
- # {Layout::ConnectionPoint} and extent point will not move.
488
- #
489
- # @example
490
- # start_point = Geom::Point2d.new(1, 1)
491
- # end_point = Geom::Point2d.new(5, 5)
492
- # height = 1.0
493
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
494
- # end_ext_point = Geom::Point2d.new(5, 6)
495
- # dim.start_offset_length = 0.5
496
- #
497
- # @param [Numeric] offset_length
498
- #
499
- # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
500
- # {Layout::Layer}
501
- #
502
- # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
503
- #
504
- # @version LayOut 2018
505
- def start_offset_length=(offset_length)
506
- end
507
-
508
- # The {#start_offset_point} method returns the paper space location for the
509
- # start of the first extension line. The first extension line runs from this
510
- # offset point to the start extent point.
511
- #
512
- # @example
513
- # start_point = Geom::Point2d.new(1, 1)
514
- # end_point = Geom::Point2d.new(5, 5)
515
- # height = 1.0
516
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
517
- # start_offset = dim.start_offset_point
518
- #
519
- # @return [Geom::Point2d] start_offset
520
- #
521
- # @version LayOut 2018
522
- def start_offset_point
523
- end
524
-
525
- # The {#text} method returns a copy of the {Layout::LinearDimension}'s
526
- # {Layout::FormattedText}.
527
- #
528
- # @example
529
- # start_point = Geom::Point2d.new(1, 1)
530
- # end_point = Geom::Point2d.new(5, 5)
531
- # height = 1.0
532
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
533
- # text = dim.text
534
- #
535
- # @note With the addition of auto-text in dimensions for LayOut 2019.2, the
536
- # copy of the dimension text incorrectly provided the plain text when
537
- # requesting the display text. This has been fixed for LayOut 2020.1.
538
- #
539
- # @return [Layout::FormattedText]
540
- #
541
- # @version LayOut 2018
542
- def text
543
- end
544
-
545
- # The {#text=} method sets the {Layout::LinearDimension}'s
546
- # {Layout::FormattedText}.
547
- #
548
- # @example
549
- # start_point = Geom::Point2d.new(1, 1)
550
- # end_point = Geom::Point2d.new(5, 5)
551
- # height = 1.0
552
- # dim = Layout::LinearDimension.new(start_point, end_point, height)
553
- # anchor_type = Layout::FormattedText::ANCHOR_TYPE_TOP_LEFT
554
- # dim.text = Layout::FormattedText.new("Hello LayOut", start_point, anchor_type)
555
- #
556
- # @param [Layout::FormattedText] formatted_text
557
- #
558
- # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
559
- # {Layout::Layer}
560
- #
561
- # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
562
- #
563
- # @version LayOut 2018
564
- def text=(formatted_text)
565
- end
566
-
567
- end
1
+ # Copyright:: Copyright 2026 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # References a linear dimension entity. A {Layout::LinearDimension} is composed
5
+ # of the following sub-entities:
6
+ # - two 'extension lines' that connect to the {Layout::Entity} being
7
+ # dimensioned.
8
+ # - a 'dimension line' connecting the ends of the leaders. This may be
9
+ # represented by one or two {Layout::Path}s depending on appearance.
10
+ # - an optional 'leader line' that is used for small {Layout::LinearDimension}s.
11
+ # - a 'dimension text' that displays the {Layout::LinearDimension}'s text.
12
+ #
13
+ # There are six points that may be modified for a {Layout::LinearDimension}:
14
+ # - two 'connection points' that define the start and end of the
15
+ # {Layout::LinearDimension}.
16
+ # - two 'extent points' that define the start and end of the dimension line and
17
+ # are the ends of the two extension lines.
18
+ # - two 'offset points' that define the starting points of the extension lines.
19
+ #
20
+ # @version LayOut 2018
21
+ class Layout::LinearDimension < Layout::Entity
22
+
23
+ # Constants
24
+
25
+ DIMENSION_LINE_ALIGNED = nil # Stub value.
26
+ DIMENSION_LINE_HORIZONTAL = nil # Stub value.
27
+ DIMENSION_LINE_VERTICAL = nil # Stub value.
28
+
29
+ LEADER_LINE_TYPE_BEZIER = nil # Stub value.
30
+ LEADER_LINE_TYPE_HIDDEN = nil # Stub value.
31
+ LEADER_LINE_TYPE_SINGLE_SEGMENT = nil # Stub value.
32
+ LEADER_LINE_TYPE_TWO_SEGMENT = nil # Stub value.
33
+
34
+ # Instance Methods
35
+
36
+ # The {#auto_scale=} method sets whether the scale for the
37
+ # {Layout::LinearDimension} is set automatically.
38
+ #
39
+ # @example
40
+ # start_point = Geom::Point2d.new(1, 1)
41
+ # end_point = Geom::Point2d.new(5, 5)
42
+ # height = 1.0
43
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
44
+ # dim.auto_scale = true
45
+ #
46
+ # @param [Boolean] uses_auto_scale
47
+ #
48
+ # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
49
+ # {Layout::Layer}
50
+ #
51
+ # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
52
+ #
53
+ # @version LayOut 2018
54
+ def auto_scale=(uses_auto_scale)
55
+ end
56
+
57
+ # The {#auto_scale?} method returns whether the scale for the
58
+ # {Layout::LinearDimension} is set automatically.
59
+ #
60
+ # @example
61
+ # start_point = Geom::Point2d.new(1, 1)
62
+ # end_point = Geom::Point2d.new(5, 5)
63
+ # height = 1.0
64
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
65
+ # uses_auto_scale = dim.auto_scale?
66
+ #
67
+ # @return [Boolean]
68
+ #
69
+ # @version LayOut 2018
70
+ def auto_scale?
71
+ end
72
+
73
+ # The {#connect} method connects the {Layout::LinearDimension} to one or two
74
+ # {Layout::Entity}s using the provided {Layout::ConnectionPoint}s. The
75
+ # {Layout::LinearDimension} must be in the same {Layout::Document} as the
76
+ # {Layout::Entity}s, and on the same {Layout::Page} if the {Layout::Entity}s
77
+ # are on non-shared {Layout::Layer}s.
78
+ #
79
+ # @example
80
+ # doc = Layout::Document.open("C:/path/to/document.layout")
81
+ # point_1 = Geom::Point2d.new(5, 7.5)
82
+ # point_2 = Geom::Point2d.new(8.5, 9)
83
+ # table = Layout::Rectangle.new([point_1, point_2])
84
+ # doc.add_entity(table, doc.layers.first, doc.pages.first)
85
+ # start_point = Layout::ConnectionPoint.new(table, point_1)
86
+ # end_point = Layout::ConnectionPoint.new(table, point_2)
87
+ # height = 1.0
88
+ # dim = Layout::LinearDimension.new(Geom::Point2d.new(1, 1),
89
+ # Geom::Point2d.new(5, 5), height)
90
+ # dim.connect(start_point, end_point)
91
+ #
92
+ # @param [Layout::ConnectionPoint] start_connection
93
+ #
94
+ # @param [Layout::ConnectionPoint] end_connection
95
+ #
96
+ # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
97
+ # {Layout::Layer}
98
+ #
99
+ # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
100
+ #
101
+ # @version LayOut 2018
102
+ def connect(start_connection, end_connection)
103
+ end
104
+
105
+ # The {#custom_text=} method sets whether the {Layout::LinearDimension} uses
106
+ # custom text. When +true+, the {Layout::LinearDimension} will display a custom
107
+ # string that doesn't change. When +false+, it will display the length
108
+ # measurement and will update automatically.
109
+ #
110
+ # @example
111
+ # start_point = Geom::Point2d.new(1, 1)
112
+ # end_point = Geom::Point2d.new(5, 5)
113
+ # height = 1.0
114
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
115
+ # dim.custom_text = true
116
+ #
117
+ # @param [Boolean] uses_custom_text
118
+ #
119
+ # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
120
+ # {Layout::Layer}
121
+ #
122
+ # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
123
+ #
124
+ # @version LayOut 2018
125
+ def custom_text=(uses_custom_text)
126
+ end
127
+
128
+ # The {#custom_text?} method returns whether the {Layout::LinearDimension}
129
+ # uses custom text. When +true+, the {Layout::LinearDimension} will display a
130
+ # custom string that doesn't change. When +false+, it will display the length
131
+ # measurement and will update automatically.
132
+ #
133
+ # @example
134
+ # start_point = Geom::Point2d.new(1, 1)
135
+ # end_point = Geom::Point2d.new(5, 5)
136
+ # height = 1.0
137
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
138
+ # # returns false
139
+ # uses_custom_text = dim.custom_text?
140
+ #
141
+ # @return [Boolean]
142
+ #
143
+ # @version LayOut 2018
144
+ def custom_text?
145
+ end
146
+
147
+ # The {#disconnect} method disconnects the {Layout::LinearDimension} from its
148
+ # {Layout::ConnectionPoint}s. The dimension will not be adjusted by
149
+ # disconnecting from its {Layout::ConnectionPoint}s.
150
+ #
151
+ # @example
152
+ # start_point = Geom::Point2d.new(1, 1)
153
+ # end_point = Geom::Point2d.new(5, 5)
154
+ # height = 1.0
155
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
156
+ # dim.disconnect
157
+ #
158
+ # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
159
+ # {Layout::Layer}
160
+ #
161
+ # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
162
+ #
163
+ # @version LayOut 2018
164
+ def disconnect
165
+ end
166
+
167
+ # The {#end_connection_point} method returns the paper space location for the
168
+ # second connection.
169
+ #
170
+ # @example
171
+ # start_point = Geom::Point2d.new(1, 1)
172
+ # end_point = Geom::Point2d.new(5, 5)
173
+ # height = 1.0
174
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
175
+ # end_connection = dim.end_connection_point
176
+ #
177
+ # @return [Geom::Point2d]
178
+ #
179
+ # @version LayOut 2018
180
+ def end_connection_point
181
+ end
182
+
183
+ # The {#end_connection_point=} method sets the paper space location for the
184
+ # second connection.
185
+ #
186
+ # @example
187
+ # start_point = Geom::Point2d.new(1, 1)
188
+ # end_point = Geom::Point2d.new(5, 5)
189
+ # height = 1.0
190
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
191
+ # dim.end_connection_point = Geom::Point2d.new(6, 6)
192
+ #
193
+ # @param [Geom::Point2d] end_point
194
+ #
195
+ # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
196
+ # {Layout::Layer}
197
+ #
198
+ # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
199
+ #
200
+ # @version LayOut 2018
201
+ def end_connection_point=(end_point)
202
+ end
203
+
204
+ # The {#end_extent_point} method returns the paper space location for the
205
+ # end of the dimension line.
206
+ #
207
+ # @example
208
+ # start_point = Geom::Point2d.new(1, 1)
209
+ # end_point = Geom::Point2d.new(5, 5)
210
+ # height = 1.0
211
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
212
+ # end_ext_point = dim.end_extent_point
213
+ #
214
+ # @return [Geom::Point2d] end_extent
215
+ #
216
+ # @version LayOut 2018
217
+ def end_extent_point
218
+ end
219
+
220
+ # The {#end_extent_point=} method sets the paper space location for the
221
+ # end of the dimension line.
222
+ #
223
+ # @example
224
+ # start_point = Geom::Point2d.new(1, 1)
225
+ # end_point = Geom::Point2d.new(5, 5)
226
+ # height = 1.0
227
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
228
+ # end_ext_point = Geom::Point2d.new(5, 6)
229
+ # dim.end_extent_point = end_ext_point
230
+ #
231
+ # @param [Geom::Point2d] end_extent
232
+ #
233
+ # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
234
+ # {Layout::Layer}
235
+ #
236
+ # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
237
+ #
238
+ # @version LayOut 2018
239
+ def end_extent_point=(end_extent)
240
+ end
241
+
242
+ # The {#end_offset_length=} method sets the length of the offset from the
243
+ # second {Layout::ConnectionPoint} to the start of the second extension line.
244
+ # The {Layout::ConnectionPoint} and extent point will not move.
245
+ #
246
+ # @example
247
+ # start_point = Geom::Point2d.new(1, 1)
248
+ # end_point = Geom::Point2d.new(5, 5)
249
+ # height = 1.0
250
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
251
+ # end_ext_point = Geom::Point2d.new(5, 6)
252
+ # dim.end_offset_length = 0.5
253
+ #
254
+ # @param [Numeric] offset_length
255
+ #
256
+ # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
257
+ # {Layout::Layer}
258
+ #
259
+ # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
260
+ #
261
+ # @version LayOut 2018
262
+ def end_offset_length=(offset_length)
263
+ end
264
+
265
+ # The {#end_offset_point} method returns the paper space location for the
266
+ # end of the first extension line. The first extension line runs from this
267
+ # offset point to the end extent point.
268
+ #
269
+ # @example
270
+ # start_point = Geom::Point2d.new(1, 1)
271
+ # end_point = Geom::Point2d.new(5, 5)
272
+ # height = 1.0
273
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
274
+ # end_offset = dim.end_offset_point
275
+ #
276
+ # @return [Geom::Point2d] end_offset
277
+ #
278
+ # @version LayOut 2018
279
+ def end_offset_point
280
+ end
281
+
282
+ # The {#entities} method returns the {Layout::Entities} that represent the
283
+ # {Layout::LinearDimension} in its exploded form. Depending on the appearance
284
+ # of the {Layout::LinearDimension}, this may return anywhere from four to six
285
+ # {Layout::Entity}s: start extension line, end extension line, one or two
286
+ # dimension lines, dimension text, and optionally the leader line.
287
+ #
288
+ # @example
289
+ # start_point = Geom::Point2d.new(1, 1)
290
+ # end_point = Geom::Point2d.new(5, 5)
291
+ # height = 1.0
292
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
293
+ # entites = dim.entities
294
+ #
295
+ # @return [Layout::Entities]
296
+ #
297
+ # @version LayOut 2018
298
+ def entities
299
+ end
300
+
301
+ # The {#initialize} method creates a new disconnected {Layout::LinearDimension}.
302
+ #
303
+ # @example
304
+ # start_point = Geom::Point2d.new(1, 1)
305
+ # end_point = Geom::Point2d.new(5, 5)
306
+ # height = 1.0
307
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
308
+ #
309
+ # @overload initialize(start_point, end_point, height)
310
+ #
311
+ # @version LayOut 2018
312
+ # @param [Geom::Point2d] start_point
313
+ # @param [Geom::Point2d] end_point
314
+ # @param [Numeric] height Distance from the start and end points to the
315
+ # dimension line
316
+ #
317
+ # @overload initialize(start_point, end_point, height, alignment)
318
+ #
319
+ # @version LayOut 2026.0
320
+ # @param [Geom::Point2d] start_point
321
+ # @param [Geom::Point2d] end_point
322
+ # @param [Numeric] height Distance from the start and end points to the
323
+ # dimension line
324
+ # @param [Integer] alignment The alignment type for the dimension line
325
+ #
326
+ # alignment can be one of the following:
327
+ # [+Layout::LinearDimension::DIMENSION_LINE_ALIGNED+]
328
+ # [+Layout::LinearDimension::DIMENSION_LINE_VERTICAL+]
329
+ # [+Layout::LinearDimension::DIMENSION_LINE_HORIZONTAL+]
330
+ #
331
+ # @raise [RangeError] if alignment is not a valid alignment type
332
+ # @raise [ArgumentError] if a dimension couldn't be created with the provided arguments
333
+ #
334
+ # @return [Layout::LinearDimension]
335
+ def initialize(*args)
336
+ end
337
+
338
+ # The {#leader_line_type} method returns the type of leader line the
339
+ # {Layout::LinearDimension} is using.
340
+ #
341
+ # The leader line type can be one of the following:
342
+ # [+Layout::LinearDimension::LEADER_LINE_TYPE_SINGLE_SEGMENT+]
343
+ # [+Layout::LinearDimension::LEADER_LINE_TYPE_TWO_SEGMENT+]
344
+ # [+Layout::LinearDimension::LEADER_LINE_TYPE_BEZIER+]
345
+ # [+Layout::LinearDimension::LEADER_LINE_TYPE_HIDDEN+]
346
+ #
347
+ # @example
348
+ # start_point = Geom::Point2d.new(1, 1)
349
+ # end_point = Geom::Point2d.new(5, 5)
350
+ # height = 1.0
351
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
352
+ # type = dim.leader_line_type
353
+ #
354
+ # @return [Integer]
355
+ #
356
+ # @version LayOut 2018
357
+ def leader_line_type
358
+ end
359
+
360
+ # The {#leader_line_type=} method sets the type of leader line the
361
+ # {Layout::LinearDimension} is using.
362
+ #
363
+ # The leader line type can be one of the following:
364
+ # [+Layout::LinearDimension::LEADER_LINE_TYPE_SINGLE_SEGMENT+]
365
+ # [+Layout::LinearDimension::LEADER_LINE_TYPE_TWO_SEGMENT+]
366
+ # [+Layout::LinearDimension::LEADER_LINE_TYPE_BEZIER+]
367
+ # [+Layout::LinearDimension::LEADER_LINE_TYPE_HIDDEN+]
368
+ #
369
+ # @example
370
+ # start_point = Geom::Point2d.new(1, 1)
371
+ # end_point = Geom::Point2d.new(5, 5)
372
+ # height = 1.0
373
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
374
+ # dim.leader_line_type = Layout::LinearDimension::LEADER_LINE_TYPE_BEZIER
375
+ #
376
+ # @param [Integer] type
377
+ # The leader line type
378
+ #
379
+ # @raise [ArgumentError] if leader_line_type is not a valid leader line type
380
+ #
381
+ # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
382
+ # {Layout::Layer}
383
+ #
384
+ # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
385
+ #
386
+ # @version LayOut 2018
387
+ def leader_line_type=(type)
388
+ end
389
+
390
+ # The {#leader_line_visible?} method returns whether the leader line is currently visible.
391
+ #
392
+ # @example
393
+ # start_point = Geom::Point2d.new(1, 1)
394
+ # end_point = Geom::Point2d.new(1, 1.2)
395
+ # height = 1.0
396
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
397
+ # dim.leader_line_type = Layout::LinearDimension::LEADER_LINE_TYPE_TWO_SEGMENT
398
+ # # Will be false since the text is not automatically positioned away from the dimension line
399
+ # visible = dim.leader_line_visible?
400
+ #
401
+ # # Position the text away from the dimension line.
402
+ # text_pos = Geom::Point2d.new(1, 1.5)
403
+ # anchor_type = Layout::FormattedText::ANCHOR_TYPE_TOP_LEFT
404
+ # dim.text = Layout::FormattedText.new("<>", text_pos, anchor_type)
405
+ # # Will be true since the text is positioned away from the dimension line
406
+ # visible = dim.leader_line_visible?
407
+ #
408
+ # dim.leader_line_type = Layout::LinearDimension::LEADER_LINE_TYPE_HIDDEN
409
+ # # Will be false, even though the text is positioned away from the dimension line
410
+ # visible = dim.leader_line_visible?
411
+ #
412
+ # @return [Boolean]
413
+ #
414
+ # @version LayOut 2026.0
415
+ def leader_line_visible?
416
+ end
417
+
418
+ # The {#scale} method returns the scale being used for the
419
+ # {Layout::LinearDimension}.
420
+ #
421
+ # @example
422
+ # start_point = Geom::Point2d.new(1, 1)
423
+ # end_point = Geom::Point2d.new(5, 5)
424
+ # height = 1.0
425
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
426
+ # scale = dim.scale
427
+ #
428
+ # @return [Numeric] scale
429
+ #
430
+ # @version LayOut 2018
431
+ def scale
432
+ end
433
+
434
+ # The {#scale=} method sets the scale being used for the
435
+ # {Layout::LinearDimension}.
436
+ #
437
+ # @example
438
+ # start_point = Geom::Point2d.new(1, 1)
439
+ # end_point = Geom::Point2d.new(5, 5)
440
+ # height = 1.0
441
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
442
+ # dim.scale = 1.5
443
+ #
444
+ # @param [Numeric] scale
445
+ #
446
+ # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
447
+ # {Layout::Layer}
448
+ #
449
+ # @raise [ArgumentError] if scale is negative, or greater than 1.0
450
+ #
451
+ # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
452
+ #
453
+ # @version LayOut 2018
454
+ def scale=(scale)
455
+ end
456
+
457
+ # The {#start_connection_point} method returns the paper space location for the
458
+ # first connection.
459
+ #
460
+ # @example
461
+ # start_point = Geom::Point2d.new(1, 1)
462
+ # end_point = Geom::Point2d.new(5, 5)
463
+ # height = 1.0
464
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
465
+ # start_connection = dim.start_connection_point
466
+ #
467
+ # @return [Geom::Point2d]
468
+ #
469
+ # @version LayOut 2018
470
+ def start_connection_point
471
+ end
472
+
473
+ # The {#start_connection_point=} method sets the paper space location for the
474
+ # first connection.
475
+ #
476
+ # @example
477
+ # start_point = Geom::Point2d.new(1, 1)
478
+ # end_point = Geom::Point2d.new(5, 5)
479
+ # height = 1.0
480
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
481
+ # dim.start_connection_point = Geom::Point2d.new(2, 2)
482
+ #
483
+ # @param [Geom::Point2d] start_point
484
+ #
485
+ # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
486
+ # {Layout::Layer}
487
+ #
488
+ # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
489
+ #
490
+ # @version LayOut 2018
491
+ def start_connection_point=(start_point)
492
+ end
493
+
494
+ # The {#start_extent_point} method returns the paper space location for the
495
+ # start of the dimension line.
496
+ #
497
+ # @example
498
+ # start_point = Geom::Point2d.new(1, 1)
499
+ # end_point = Geom::Point2d.new(5, 5)
500
+ # height = 1.0
501
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
502
+ # start_ext_point = dim.start_extent_point
503
+ #
504
+ # @return [Geom::Point2d] start_extent
505
+ #
506
+ # @version LayOut 2018
507
+ def start_extent_point
508
+ end
509
+
510
+ # The {#start_extent_point=} method sets the paper space location for the
511
+ # start of the dimension line.
512
+ #
513
+ # @example
514
+ # start_point = Geom::Point2d.new(1, 1)
515
+ # end_point = Geom::Point2d.new(5, 5)
516
+ # height = 1.0
517
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
518
+ # start_ext_point = Geom::Point2d.new(2, 3)
519
+ # dim.start_extent_point = start_ext_point
520
+ #
521
+ # @param [Geom::Point2d] start_extent
522
+ #
523
+ # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
524
+ # {Layout::Layer}
525
+ #
526
+ # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
527
+ #
528
+ # @version LayOut 2018
529
+ def start_extent_point=(start_extent)
530
+ end
531
+
532
+ # The {#start_offset_length=} method sets the length of the offset from the
533
+ # first {Layout::ConnectionPoint} to the start of the first extension line. The
534
+ # {Layout::ConnectionPoint} and extent point will not move.
535
+ #
536
+ # @example
537
+ # start_point = Geom::Point2d.new(1, 1)
538
+ # end_point = Geom::Point2d.new(5, 5)
539
+ # height = 1.0
540
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
541
+ # end_ext_point = Geom::Point2d.new(5, 6)
542
+ # dim.start_offset_length = 0.5
543
+ #
544
+ # @param [Numeric] offset_length
545
+ #
546
+ # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
547
+ # {Layout::Layer}
548
+ #
549
+ # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
550
+ #
551
+ # @version LayOut 2018
552
+ def start_offset_length=(offset_length)
553
+ end
554
+
555
+ # The {#start_offset_point} method returns the paper space location for the
556
+ # start of the first extension line. The first extension line runs from this
557
+ # offset point to the start extent point.
558
+ #
559
+ # @example
560
+ # start_point = Geom::Point2d.new(1, 1)
561
+ # end_point = Geom::Point2d.new(5, 5)
562
+ # height = 1.0
563
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
564
+ # start_offset = dim.start_offset_point
565
+ #
566
+ # @return [Geom::Point2d] start_offset
567
+ #
568
+ # @version LayOut 2018
569
+ def start_offset_point
570
+ end
571
+
572
+ # The {#text} method returns a copy of the {Layout::LinearDimension}'s
573
+ # {Layout::FormattedText}.
574
+ #
575
+ # @example
576
+ # start_point = Geom::Point2d.new(1, 1)
577
+ # end_point = Geom::Point2d.new(5, 5)
578
+ # height = 1.0
579
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
580
+ # text = dim.text
581
+ #
582
+ # @note With the addition of auto-text in dimensions for LayOut 2019.2, the
583
+ # copy of the dimension text incorrectly provided the plain text when
584
+ # requesting the display text. This has been fixed for LayOut 2020.1.
585
+ #
586
+ # @return [Layout::FormattedText]
587
+ #
588
+ # @version LayOut 2018
589
+ def text
590
+ end
591
+
592
+ # The {#text=} method sets the {Layout::LinearDimension}'s
593
+ # {Layout::FormattedText}.
594
+ #
595
+ # @example
596
+ # start_point = Geom::Point2d.new(1, 1)
597
+ # end_point = Geom::Point2d.new(5, 5)
598
+ # height = 1.0
599
+ # dim = Layout::LinearDimension.new(start_point, end_point, height)
600
+ # anchor_type = Layout::FormattedText::ANCHOR_TYPE_TOP_LEFT
601
+ # dim.text = Layout::FormattedText.new("Hello LayOut", start_point, anchor_type)
602
+ #
603
+ # @param [Layout::FormattedText] formatted_text
604
+ #
605
+ # @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
606
+ # {Layout::Layer}
607
+ #
608
+ # @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
609
+ #
610
+ # @version LayOut 2018
611
+ def text=(formatted_text)
612
+ end
613
+
614
+ end