sketchup-api-stubs 0.7.3 → 0.7.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +5 -5
  2. data/.yardopts +9 -9
  3. data/lib/sketchup-api-stubs.rb +1 -1
  4. data/lib/sketchup-api-stubs/sketchup.rb +145 -145
  5. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +318 -318
  6. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
  7. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
  8. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
  10. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
  11. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +492 -492
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -478
  13. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  14. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
  16. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +691 -691
  17. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +573 -573
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +411 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +174 -186
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +514 -514
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +143 -155
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -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 +371 -371
  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 +220 -232
  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 +204 -216
  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/SketchUpModel.rb +694 -694
  43. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  44. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  45. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  48. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +140 -140
  49. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +157 -157
  50. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -281
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +328 -328
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +577 -577
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +281 -281
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +562 -562
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +194 -194
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +329 -329
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +72 -72
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +102 -102
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +312 -312
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +38 -38
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +390 -390
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +508 -508
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1119 -1119
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +125 -125
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +544 -544
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +59 -59
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -125
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +750 -750
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +697 -697
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +285 -285
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +409 -409
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +226 -226
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +190 -190
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +393 -393
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +82 -82
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +303 -303
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +285 -280
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +244 -231
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +136 -136
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -123
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +416 -416
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +311 -311
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +141 -141
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +95 -95
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1638 -1601
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +356 -356
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +132 -132
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +770 -770
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +353 -353
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +76 -76
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +456 -456
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +44 -44
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +454 -454
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +257 -257
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +57 -57
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +211 -211
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +225 -225
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +829 -829
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +154 -154
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +61 -61
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1301 -1301
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +43 -43
  134. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +310 -310
  135. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +356 -356
  136. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +229 -229
  137. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
  138. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -633
  139. data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
  140. data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
  141. data/lib/sketchup-api-stubs/stubs/geom.rb +348 -348
  142. data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
  143. data/lib/sketchup-api-stubs/stubs/length.rb +278 -278
  144. data/lib/sketchup-api-stubs/stubs/numeric.rb +249 -249
  145. data/lib/sketchup-api-stubs/stubs/sketchup.rb +1310 -1310
  146. data/lib/sketchup-api-stubs/stubs/sketchupextension.rb +353 -353
  147. data/lib/sketchup-api-stubs/stubs/string.rb +24 -24
  148. data/lib/sketchup-api-stubs/stubs/ui.rb +667 -667
  149. metadata +3 -4
@@ -1,232 +1,220 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # The Layers class is a container class for all layers in a {Layout::Document}.
5
- #
6
- # @example
7
- # # Grab a handle to the currently active document's layers
8
- # doc = Layout::Document.open("C:/path/to/document.layout")
9
- # layers = doc.layers
10
- #
11
- # # From here, we can add layers to or remove them from the document
12
- # layers.add("New Layer")
13
- # layers.remove(layers[0])
14
- #
15
- # @version LayOut 2018
16
- class Layout::Layers
17
-
18
- # Includes
19
-
20
- include Enumerable
21
-
22
- # Instance Methods
23
-
24
- # The {#[]} method returns a value from the array of {Layout::Layer}s.
25
- #
26
- # @example
27
- # doc = Layout::Document.open("C:/path/to/document.layout")
28
- # layers = doc.layers
29
- # layer = layers[2]
30
- #
31
- # @param [Integer] index
32
- # The index of the {Layout::Layer} to return.
33
- #
34
- # @raise [IndexError] if index is out of range
35
- #
36
- # @return [Layout::Layer]
37
- #
38
- # @version LayOut 2018
39
- def [](index)
40
- end
41
-
42
- # The {#active} method returns the active {Layout::Layer} in the
43
- # {Layout::Document}.
44
- #
45
- # @example
46
- # doc = Layout::Document.open("C:/path/to/document.layout")
47
- # layer = doc.layers.active
48
- #
49
- # @return [Layout::Layer]
50
- #
51
- # @version LayOut 2018
52
- def active
53
- end
54
-
55
- # The {#active=} method sets the active {Layout::Layer} that will be
56
- # displayed the next time the {Layout::Document} is opened. This value will
57
- # change whenever the {Layout::Layer} is changed in the {Layout::Document} in
58
- # LayOut.
59
- #
60
- # @example
61
- # doc = Layout::Document.open("C:/path/to/document.layout")
62
- # layers = doc.layers
63
- # layers.active = layers[0]
64
- #
65
- # @overload active=(layer)
66
- #
67
- # @param [Layout::Layer] layer The {Layout::Layer} to set as the initial one
68
- # @return [Layout::Layer]
69
- #
70
- # @raise [ArgumentError] if layer does not belong to the {Layout::Document}
71
- # @raise [ArgumentError] if layer is locked or hidden on the current
72
- # {Layout::Page}
73
- #
74
- # @overload active=(index)
75
- #
76
- # @param [Integer] index The index of {Layout::Layer} the to set as the
77
- # initial one
78
- # @return [Layout::Layer]
79
- #
80
- # @raise [ArgumentError] if index is out of range
81
- # @raise [ArgumentError] if the {Layout::Layer} is locked or hidden on the
82
- # current {Layout::Page}
83
- #
84
- # @version LayOut 2018
85
- def active=(layer)
86
- end
87
-
88
- # The {#add} method adds a new {Layout::Layer} to the {Layout::Document}.
89
- # The newly added {Layout::Layer} will be the last one in the
90
- # {Layout::Document}.
91
- #
92
- # @example
93
- # doc = Layout::Document.open("C:/path/to/document.layout")
94
- # new_layer = doc.layers.add
95
- #
96
- # @overload add(shared = false)
97
- #
98
- # @param [Boolean] shared +true+ to make the {Layout::Layer} shared, +false+
99
- # for non-shared.
100
- # @return [Layout::Layer] The newly added {Layout::Layer}.
101
- #
102
- # @overload add(name, shared = false)
103
- #
104
- # @param [String] name The name for the new layer.
105
- # @param [Boolean] shared +true+ to make the {Layout::Layer} shared, +false+
106
- # for non-shared.
107
- # @return [Layout::Layer] The newly added {Layout::Layer}.
108
- #
109
- # @version LayOut 2018
110
- def add(*args)
111
- end
112
-
113
- # The {#each} method iterates through all of the {Layout::Layer}s.
114
- #
115
- # @example
116
- # doc = Layout::Document.open("C:/path/to/document.layout")
117
- # layers = doc.layers
118
- # layers.each { |layer|
119
- # puts layer.name
120
- # }
121
- #
122
- # @version LayOut 2018
123
- #
124
- # @yieldparam [Layout::Layer] layer
125
- def each
126
- end
127
-
128
- # The {#index} method returns the index of the {Layout::Layer}, or +nil+ if
129
- # it doesn't exist in the {Layout::Document}.
130
- #
131
- # @example
132
- # doc = Layout::Document.open("C:/path/to/document.layout")
133
- # layers = doc.layers
134
- # layer_index = layers.index(layers.first) # Returns 0
135
- #
136
- # @param [Layout::Layer] layer
137
- #
138
- # @return [Integer, nil]
139
- #
140
- # @version LayOut 2018
141
- def index(layer)
142
- end
143
-
144
- # The {#length} method returns the number of {Layout::Layer}s.
145
- #
146
- # @example
147
- # doc = Layout::Document.open("C:/path/to/document.layout")
148
- # layers = doc.layers
149
- # num_layers = layers.length
150
- #
151
- # @return [Integer]
152
- #
153
- # @version LayOut 2018
154
- def length
155
- end
156
-
157
- # The {#remove} method deletes the given {Layout::Layer} from the
158
- # {Layout::Document}.
159
- #
160
- # @example
161
- # doc = Layout::Document.open("C:/path/to/document.layout")
162
- # layers = doc.layers
163
- # layers.remove(layers[0])
164
- #
165
- # @overload remove(layer, delete_entities = false)
166
- #
167
- # @param [Layout::Layer] layer The {Layout::Layer} to be removed
168
- # @param [Boolean] delete_entities Whether the {Layout::Entity}s on the
169
- # deleted {Layout::Layer} should be deleted as well
170
- #
171
- # @raise [ArgumentError] if the {Layout::Layer} is not in the
172
- # {Layout::Document}
173
- # @raise [ArgumentError] if the {Layout::Layer} is the only one in the
174
- # {Layout::Document}
175
- #
176
- # @overload remove(index, delete_entities = false)
177
- #
178
- # @param [Integer] index The index of the {Layout::Layer} to be removed
179
- # @param [Boolean] delete_entities Whether the {Layout::Entity}s on the
180
- # deleted {Layout::Layer} should be deleted as well
181
- #
182
- # @raise [IndexError] if index is out of range
183
- # @raise [ArgumentError] if the {Layout::Layer} is the only one in the
184
- # {Layout::Document}
185
- #
186
- # @version LayOut 2018
187
- def remove(*args)
188
- end
189
-
190
- # The {#reorder} method moves a {Layout::Layer} to a different index
191
- # within the {Layout::Document}'s list of layers. This will move the
192
- # {Layout::Layer} such that its new index becomes new_index.
193
- #
194
- # @example
195
- # doc = Layout::Document.open("C:/path/to/document.layout")
196
- # layers = doc.layers
197
- # layers.reorder(layers[1], 3)
198
- #
199
- # @overload reorder(layer, new_index)
200
- #
201
- # @param [Layout::Layer] layer The {Layout::Layer} to be reordered
202
- # @param [Integer] new_index The index to put the {Layout::Layer} at
203
- #
204
- # @raise [ArgumentError] if the {Layout::Layer} is not in the
205
- # {Layout::Document}
206
- # @raise [IndexError] if new_index is out of range
207
- #
208
- # @overload reorder(index, new_index)
209
- #
210
- # @param [Integer] index The index of the {Layout::Layer} to be reordered
211
- # @param [Integer] new_index The index to put the {Layout::Layer} at
212
- #
213
- # @raise [IndexError] if index or new_index are out of range
214
- #
215
- # @version LayOut 2018
216
- def reorder(layer, new_index)
217
- end
218
-
219
- # The {#length} method returns the number of {Layout::Layer}s.
220
- #
221
- # @example
222
- # doc = Layout::Document.open("C:/path/to/document.layout")
223
- # layers = doc.layers
224
- # num_layers = layers.length
225
- #
226
- # @return [Integer]
227
- #
228
- # @version LayOut 2018
229
- def size
230
- end
231
-
232
- end
1
+ # Copyright:: Copyright 2020 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # The Layers class is a container class for all layers in a {Layout::Document}.
5
+ #
6
+ # @example
7
+ # # Grab a handle to the currently active document's layers
8
+ # doc = Layout::Document.open("C:/path/to/document.layout")
9
+ # layers = doc.layers
10
+ #
11
+ # # From here, we can add layers to or remove them from the document
12
+ # layers.add("New Layer")
13
+ # layers.remove(layers[0])
14
+ #
15
+ # @version LayOut 2018
16
+ class Layout::Layers
17
+
18
+ # Includes
19
+
20
+ include Enumerable
21
+
22
+ # Instance Methods
23
+
24
+ # The {#[]} method returns a value from the array of {Layout::Layer}s.
25
+ #
26
+ # @example
27
+ # doc = Layout::Document.open("C:/path/to/document.layout")
28
+ # layers = doc.layers
29
+ # layer = layers[2]
30
+ #
31
+ # @param [Integer] index
32
+ # The index of the {Layout::Layer} to return.
33
+ #
34
+ # @raise [IndexError] if index is out of range
35
+ #
36
+ # @return [Layout::Layer]
37
+ #
38
+ # @version LayOut 2018
39
+ def [](index)
40
+ end
41
+
42
+ # The {#active} method returns the active {Layout::Layer} in the
43
+ # {Layout::Document}.
44
+ #
45
+ # @example
46
+ # doc = Layout::Document.open("C:/path/to/document.layout")
47
+ # layer = doc.layers.active
48
+ #
49
+ # @return [Layout::Layer]
50
+ #
51
+ # @version LayOut 2018
52
+ def active
53
+ end
54
+
55
+ # The {#active=} method sets the active {Layout::Layer} that will be
56
+ # displayed the next time the {Layout::Document} is opened. This value will
57
+ # change whenever the {Layout::Layer} is changed in the {Layout::Document} in
58
+ # LayOut.
59
+ #
60
+ # @example
61
+ # doc = Layout::Document.open("C:/path/to/document.layout")
62
+ # layers = doc.layers
63
+ # layers.active = layers[0]
64
+ #
65
+ # @overload active=(layer)
66
+ #
67
+ # @param [Layout::Layer] layer The {Layout::Layer} to set as the initial one
68
+ # @return [Layout::Layer]
69
+ #
70
+ # @raise [ArgumentError] if layer does not belong to the {Layout::Document}
71
+ # @raise [ArgumentError] if layer is locked or hidden on the current
72
+ # {Layout::Page}
73
+ #
74
+ # @overload active=(index)
75
+ #
76
+ # @param [Integer] index The index of {Layout::Layer} the to set as the
77
+ # initial one
78
+ # @return [Layout::Layer]
79
+ #
80
+ # @raise [ArgumentError] if index is out of range
81
+ # @raise [ArgumentError] if the {Layout::Layer} is locked or hidden on the
82
+ # current {Layout::Page}
83
+ #
84
+ # @version LayOut 2018
85
+ def active=(layer)
86
+ end
87
+
88
+ # The {#add} method adds a new {Layout::Layer} to the {Layout::Document}.
89
+ # The newly added {Layout::Layer} will be the last one in the
90
+ # {Layout::Document}.
91
+ #
92
+ # @example
93
+ # doc = Layout::Document.open("C:/path/to/document.layout")
94
+ # new_layer = doc.layers.add
95
+ #
96
+ # @overload add(shared = false)
97
+ #
98
+ # @param [Boolean] shared +true+ to make the {Layout::Layer} shared, +false+
99
+ # for non-shared.
100
+ # @return [Layout::Layer] The newly added {Layout::Layer}.
101
+ #
102
+ # @overload add(name, shared = false)
103
+ #
104
+ # @param [String] name The name for the new layer.
105
+ # @param [Boolean] shared +true+ to make the {Layout::Layer} shared, +false+
106
+ # for non-shared.
107
+ # @return [Layout::Layer] The newly added {Layout::Layer}.
108
+ #
109
+ # @version LayOut 2018
110
+ def add(*args)
111
+ end
112
+
113
+ # The {#each} method iterates through all of the {Layout::Layer}s.
114
+ #
115
+ # @example
116
+ # doc = Layout::Document.open("C:/path/to/document.layout")
117
+ # layers = doc.layers
118
+ # layers.each { |layer|
119
+ # puts layer.name
120
+ # }
121
+ #
122
+ # @version LayOut 2018
123
+ #
124
+ # @yieldparam [Layout::Layer] layer
125
+ def each
126
+ end
127
+
128
+ # The {#index} method returns the index of the {Layout::Layer}, or +nil+ if
129
+ # it doesn't exist in the {Layout::Document}.
130
+ #
131
+ # @example
132
+ # doc = Layout::Document.open("C:/path/to/document.layout")
133
+ # layers = doc.layers
134
+ # layer_index = layers.index(layers.first) # Returns 0
135
+ #
136
+ # @param [Layout::Layer] layer
137
+ #
138
+ # @return [Integer, nil]
139
+ #
140
+ # @version LayOut 2018
141
+ def index(layer)
142
+ end
143
+
144
+ # The {#length} method returns the number of {Layout::Layer}s.
145
+ #
146
+ # @example
147
+ # doc = Layout::Document.open("C:/path/to/document.layout")
148
+ # layers = doc.layers
149
+ # num_layers = layers.length
150
+ #
151
+ # @return [Integer]
152
+ #
153
+ # @version LayOut 2018
154
+ def length
155
+ end
156
+ alias_method :size, :length
157
+
158
+ # The {#remove} method deletes the given {Layout::Layer} from the
159
+ # {Layout::Document}.
160
+ #
161
+ # @example
162
+ # doc = Layout::Document.open("C:/path/to/document.layout")
163
+ # layers = doc.layers
164
+ # layers.remove(layers[0])
165
+ #
166
+ # @overload remove(layer, delete_entities = false)
167
+ #
168
+ # @param [Layout::Layer] layer The {Layout::Layer} to be removed
169
+ # @param [Boolean] delete_entities Whether the {Layout::Entity}s on the
170
+ # deleted {Layout::Layer} should be deleted as well
171
+ #
172
+ # @raise [ArgumentError] if the {Layout::Layer} is not in the
173
+ # {Layout::Document}
174
+ # @raise [ArgumentError] if the {Layout::Layer} is the only one in the
175
+ # {Layout::Document}
176
+ #
177
+ # @overload remove(index, delete_entities = false)
178
+ #
179
+ # @param [Integer] index The index of the {Layout::Layer} to be removed
180
+ # @param [Boolean] delete_entities Whether the {Layout::Entity}s on the
181
+ # deleted {Layout::Layer} should be deleted as well
182
+ #
183
+ # @raise [IndexError] if index is out of range
184
+ # @raise [ArgumentError] if the {Layout::Layer} is the only one in the
185
+ # {Layout::Document}
186
+ #
187
+ # @version LayOut 2018
188
+ def remove(*args)
189
+ end
190
+
191
+ # The {#reorder} method moves a {Layout::Layer} to a different index
192
+ # within the {Layout::Document}'s list of layers. This will move the
193
+ # {Layout::Layer} such that its new index becomes new_index.
194
+ #
195
+ # @example
196
+ # doc = Layout::Document.open("C:/path/to/document.layout")
197
+ # layers = doc.layers
198
+ # layers.reorder(layers[1], 3)
199
+ #
200
+ # @overload reorder(layer, new_index)
201
+ #
202
+ # @param [Layout::Layer] layer The {Layout::Layer} to be reordered
203
+ # @param [Integer] new_index The index to put the {Layout::Layer} at
204
+ #
205
+ # @raise [ArgumentError] if the {Layout::Layer} is not in the
206
+ # {Layout::Document}
207
+ # @raise [IndexError] if new_index is out of range
208
+ #
209
+ # @overload reorder(index, new_index)
210
+ #
211
+ # @param [Integer] index The index of the {Layout::Layer} to be reordered
212
+ # @param [Integer] new_index The index to put the {Layout::Layer} at
213
+ #
214
+ # @raise [IndexError] if index or new_index are out of range
215
+ #
216
+ # @version LayOut 2018
217
+ def reorder(layer, new_index)
218
+ end
219
+
220
+ end
@@ -1,567 +1,567 @@
1
- # Copyright:: Copyright 2020 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 2020 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