sketchup-api-stubs 0.7.9 → 0.7.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +151 -151
  3. data/lib/sketchup-api-stubs/stubs/Array.rb +741 -741
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -322
  5. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +509 -509
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +476 -476
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +693 -693
  16. data/lib/sketchup-api-stubs/stubs/Geom.rb +351 -351
  17. data/lib/sketchup-api-stubs/stubs/LanguageHandler.rb +93 -93
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -595
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +747 -747
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -183
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +569 -517
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -148
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +356 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -354
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  30. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -370
  31. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  32. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  33. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -225
  34. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  37. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
  38. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +459 -387
  39. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -209
  40. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
  41. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  42. data/lib/sketchup-api-stubs/stubs/Layout/ReferenceEntity.rb +82 -82
  43. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +714 -692
  44. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  45. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  48. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  49. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  50. data/lib/sketchup-api-stubs/stubs/Length.rb +278 -278
  51. data/lib/sketchup-api-stubs/stubs/Numeric.rb +249 -249
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -144
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -169
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +226 -209
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +150 -150
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -281
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -302
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -478
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +121 -121
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +659 -659
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -201
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +449 -449
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -74
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -104
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -306
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -42
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +406 -406
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -397
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1242 -1239
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -261
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +519 -545
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -125
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -937
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -102
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -750
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +282 -282
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -468
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -266
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -189
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +406 -406
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -84
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -306
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -326
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -422
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -427
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -249
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +114 -114
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -414
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +317 -317
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -142
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -93
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1656 -1652
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -357
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +130 -130
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -271
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +490 -490
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +116 -116
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -797
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +361 -361
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +480 -478
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +373 -361
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -45
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +458 -458
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +255 -255
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -59
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -40
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -217
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -217
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +834 -834
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -156
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -75
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1329 -1311
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
  143. data/lib/sketchup-api-stubs/stubs/Sketchup.rb +1394 -1377
  144. data/lib/sketchup-api-stubs/stubs/SketchupExtension.rb +353 -353
  145. data/lib/sketchup-api-stubs/stubs/String.rb +24 -24
  146. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +387 -389
  147. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +505 -494
  148. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -269
  149. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +241 -241
  150. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -635
  151. data/lib/sketchup-api-stubs/stubs/UI.rb +728 -683
  152. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -303
  153. data/lib/sketchup-api-stubs.rb +1 -1
  154. metadata +3 -3
@@ -1,261 +1,261 @@
1
- # Copyright:: Copyright 2023 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # A group is a special type of {Layout::Entity} that does not belong to a
5
- # {Layout::Layer} and contains other {Layout::Entity}s as children. A
6
- # {Layout::Group}'s children may include other {Layout::Group}s, allowing for a
7
- # hierarchical tree structure of {Layout::Entity}s. A {Layout::Group} must
8
- # contain at least one child and will be automatically collapsed if an
9
- # operation is performed that results in the {Layout::Group} being empty.
10
- #
11
- # @version LayOut 2018
12
- class Layout::Group < Layout::Entity
13
-
14
- # Constants
15
-
16
- RESIZE_BEHAVIOR_BOUNDS = nil # Stub value.
17
- RESIZE_BEHAVIOR_BOUNDS_AND_FONTS = nil # Stub value.
18
- RESIZE_BEHAVIOR_NONE = nil # Stub value.
19
-
20
- # Instance Methods
21
-
22
- # The {#entities} method returns the {Layout::Entities} that belong to the
23
- # {Layout::Group}.
24
- #
25
- # @example
26
- # doc = Layout::Document.open("C:/path/to/document.layout")
27
- # group = doc.shared_entities.first
28
- # entities = group.entities
29
- #
30
- # @return [Layout::Entities]
31
- #
32
- # @version LayOut 2018
33
- def entities
34
- end
35
-
36
- # The {#initialize} method creates a new {Layout::Group}.
37
- #
38
- # @example
39
- # doc = Layout::Document.open("C:/path/to/document.layout")
40
- # entities = doc.shared_entities
41
- # entities.each { |entity|
42
- # entity_array.push(entity)
43
- # }
44
- # group = Layout::Group.new(entity_array)
45
- #
46
- # @param [Array<Layout::Entity>] entities
47
- #
48
- # @raise [ArgumentError] if entities is empty.
49
- #
50
- # @raise [ArgumentError] if entities contains {Layout::Entity}s that belong to
51
- # different {Layout::Document}s
52
- #
53
- # @raise [ArgumentError] if entities contains a mix of {Layout::Entity}s that
54
- # belong to a {Layout::Document} and {Layout::Entity}s that don't belong to a
55
- # {Layout::Document}
56
- #
57
- # @raise [ArgumentError] if entities contains {Layout::Entity}s on both shared
58
- # and non-shared {Layout::Layer}s, or on non-shared {Layout::Layer}s
59
- # belonging to different {Layout::Page}s
60
- #
61
- # @raise [ArgumentError] if entities contains the same {Layout::Entity} more
62
- # than once
63
- #
64
- # @return [Layout::Group]
65
- #
66
- # @version LayOut 2018
67
- def initialize(entities)
68
- end
69
-
70
- # The {#remove_scale_factor} method removes the scale factor from the
71
- # {Layout::Group}.
72
- #
73
- # The resize behavior can be one of the following values:
74
- # [+Layout::Group::RESIZE_BEHAVIOR_NONE+]
75
- # [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS+]
76
- # [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS_AND_FONTS+]
77
- #
78
- # @example
79
- # doc = Layout::Document.open("C:/path/to/document.layout")
80
- # group = doc.shared_entities.first
81
- # group.remove_scale_factor(true)
82
- #
83
- # @param [Integer] resize_behavior
84
- #
85
- # @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
86
- #
87
- # @raise [Layout::LockedEntityError] if the {Layout::Group} is locked
88
- #
89
- # @raise [Layout::LockedLayerError] if the {Layout::Group} is on a locked layer
90
- #
91
- # @version LayOut 2018
92
- def remove_scale_factor(resize_behavior)
93
- end
94
-
95
- # The {#scale_factor} method returns the the scale factor associated with the
96
- # {Layout::Group}.
97
- #
98
- # @example
99
- # doc = Layout::Document.open("C:/path/to/document.layout")
100
- # group = doc.shared_entities.first
101
- # scale = group.scale_factor
102
- #
103
- # @return [Float, nil]
104
- #
105
- # @version LayOut 2018
106
- def scale_factor
107
- end
108
-
109
- # The {#scale_precision} method returns the precision used for the scale of the
110
- # {Layout::Group}.
111
- #
112
- # @example
113
- # doc = Layout::Document.open("C:/path/to/document.layout")
114
- # group = doc.shared_entities.first
115
- # precision = group.scale_precision
116
- #
117
- # @return [Float] the number specifying the precision for the {Layout::Group}
118
- #
119
- # @version LayOut 2018
120
- def scale_precision
121
- end
122
-
123
- # The {#scale_precision=} method sets the precision for the scale of the
124
- # {Layout::Group}.
125
- #
126
- # @example
127
- # doc = Layout::Document.open("C:/path/to/document.layout")
128
- # group = doc.shared_entities.first
129
- # group.scale_precision = 0.0001
130
- #
131
- # @note LayOut only allows for a finite set of precision values for each units
132
- # setting, so it will set the precision to the closest valid setting for the
133
- # specified units. See the "Units" section of LayOut's "Document Setup"
134
- # dialog for a reference of the available precisions for each units setting.
135
- #
136
- # @param [Float] precision
137
- # The double specifying the precision for the
138
- # {Layout::Group}
139
- #
140
- # @version LayOut 2018
141
- def scale_precision=(precision)
142
- end
143
-
144
- # The {#scale_units} method returns the units format used in the scale for the
145
- # {Layout::Group}.
146
- #
147
- # The units format can be any of the following values:
148
- # [Layout::Document::FRACTIONAL_INCHES]
149
- # [Layout::Document::DECIMAL_INCHES]
150
- # [Layout::Document::DECIMAL_FEET]
151
- # [Layout::Document::DECIMAL_MILLIMETERS]
152
- # [Layout::Document::DECIMAL_CENTIMETERS]
153
- # [Layout::Document::DECIMAL_METERS]
154
- # [Layout::Document::DECIMAL_POINTS]
155
- #
156
- # @example
157
- # doc = Layout::Document.open("C:/path/to/document.layout")
158
- # group = doc.shared_entities.first
159
- # units = group.scale_units
160
- #
161
- # @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
162
- #
163
- # @return [Integer] units The units format of the scale factor
164
- #
165
- # @version LayOut 2018
166
- def scale_units
167
- end
168
-
169
- # The {#scale_units=} method sets the the units format for the scale of the
170
- # {Layout::Group}.
171
- #
172
- # The units format can be any of the following values:
173
- # [Layout::Document::FRACTIONAL_INCHES]
174
- # [Layout::Document::DECIMAL_INCHES]
175
- # [Layout::Document::DECIMAL_FEET]
176
- # [Layout::Document::DECIMAL_MILLIMETERS]
177
- # [Layout::Document::DECIMAL_CENTIMETERS]
178
- # [Layout::Document::DECIMAL_METERS]
179
- # [Layout::Document::DECIMAL_POINTS]
180
- #
181
- # @example
182
- # doc = Layout::Document.open("C:/path/to/document.layout")
183
- # group = doc.shared_entities.first
184
- # group.scale_units = Layout::Document::DECIMAL_FEET
185
- #
186
- # @param [Integer] units_format
187
- #
188
- # @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
189
- #
190
- # @raise [Layout::LockedEntityError] if the {Layout::Group} is locked
191
- #
192
- # @raise [Layout::LockedLayerError] if the {Layout::Group} is on a locked layer
193
- #
194
- # @raise [ArgumentError] if scale_units is not a valid value
195
- #
196
- # @version LayOut 2018
197
- def scale_units=(units_format)
198
- end
199
-
200
- # The {#set_scale_factor} method sets the the scale factor for the
201
- # {Layout::Group}.
202
- #
203
- # The units format can be any of the following values:
204
- # [Layout::Document::FRACTIONAL_INCHES]
205
- # [Layout::Document::DECIMAL_INCHES]
206
- # [Layout::Document::DECIMAL_FEET]
207
- # [Layout::Document::DECIMAL_MILLIMETERS]
208
- # [Layout::Document::DECIMAL_CENTIMETERS]
209
- # [Layout::Document::DECIMAL_METERS]
210
- # [Layout::Document::DECIMAL_POINTS]
211
- #
212
- # The resize behavior can be one of the following values:
213
- # [+Layout::Group::RESIZE_BEHAVIOR_NONE+]
214
- # [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS+]
215
- # [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS_AND_FONTS+]
216
- #
217
- # @example
218
- # doc = Layout::Document.open("C:/path/to/document.layout")
219
- # group = doc.shared_entities.first
220
- # group.set_scale_factor(2.0, Layout::Group::RESIZE_BEHAVIOR_BOUNDS)
221
- #
222
- # @param [Float] scale_factor
223
- #
224
- # @param [Integer] units_format
225
- #
226
- # @param [Integer] resize_behavior
227
- #
228
- # @raise [LockedLayerError] if the {Layout::Group} is on a locked
229
- # {Layout::Layer}
230
- #
231
- # @raise [LockedEntityError] if the {Layout::Group} is locked
232
- #
233
- # @raise [ArgumentError] if scale_factor is an invalid value
234
- #
235
- # @raise [ArgumentError] if the {Layout::Group} cannot be assigned a scale
236
- # factor because it is already inheriting a scale factor from its parent
237
- #
238
- # @raise [ArgumentError] if a scale factor cannot be set for the
239
- # {Layout::Group}
240
- #
241
- # @version LayOut 2018
242
- def set_scale_factor(scale_factor, units_format, resize_behavior)
243
- end
244
-
245
- # The {#ungroup} method removes all {Layout::Entity}s from the {Layout::Group}
246
- # and deletes the {Layout::Group}.
247
- #
248
- # @example
249
- # doc = Layout::Document.open("C:/path/to/document.layout")
250
- # group = doc.shared_entities.first
251
- # group.ungroup
252
- #
253
- # @raise [LockedEntityError] if the {Layout::Group} is locked
254
- #
255
- # @return [Boolean]
256
- #
257
- # @version LayOut 2018
258
- def ungroup
259
- end
260
-
261
- end
1
+ # Copyright:: Copyright 2024 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # A group is a special type of {Layout::Entity} that does not belong to a
5
+ # {Layout::Layer} and contains other {Layout::Entity}s as children. A
6
+ # {Layout::Group}'s children may include other {Layout::Group}s, allowing for a
7
+ # hierarchical tree structure of {Layout::Entity}s. A {Layout::Group} must
8
+ # contain at least one child and will be automatically collapsed if an
9
+ # operation is performed that results in the {Layout::Group} being empty.
10
+ #
11
+ # @version LayOut 2018
12
+ class Layout::Group < Layout::Entity
13
+
14
+ # Constants
15
+
16
+ RESIZE_BEHAVIOR_BOUNDS = nil # Stub value.
17
+ RESIZE_BEHAVIOR_BOUNDS_AND_FONTS = nil # Stub value.
18
+ RESIZE_BEHAVIOR_NONE = nil # Stub value.
19
+
20
+ # Instance Methods
21
+
22
+ # The {#entities} method returns the {Layout::Entities} that belong to the
23
+ # {Layout::Group}.
24
+ #
25
+ # @example
26
+ # doc = Layout::Document.open("C:/path/to/document.layout")
27
+ # group = doc.shared_entities.first
28
+ # entities = group.entities
29
+ #
30
+ # @return [Layout::Entities]
31
+ #
32
+ # @version LayOut 2018
33
+ def entities
34
+ end
35
+
36
+ # The {#initialize} method creates a new {Layout::Group}.
37
+ #
38
+ # @example
39
+ # doc = Layout::Document.open("C:/path/to/document.layout")
40
+ # entities = doc.shared_entities
41
+ # entities.each { |entity|
42
+ # entity_array.push(entity)
43
+ # }
44
+ # group = Layout::Group.new(entity_array)
45
+ #
46
+ # @param [Array<Layout::Entity>] entities
47
+ #
48
+ # @raise [ArgumentError] if entities is empty.
49
+ #
50
+ # @raise [ArgumentError] if entities contains {Layout::Entity}s that belong to
51
+ # different {Layout::Document}s
52
+ #
53
+ # @raise [ArgumentError] if entities contains a mix of {Layout::Entity}s that
54
+ # belong to a {Layout::Document} and {Layout::Entity}s that don't belong to a
55
+ # {Layout::Document}
56
+ #
57
+ # @raise [ArgumentError] if entities contains {Layout::Entity}s on both shared
58
+ # and non-shared {Layout::Layer}s, or on non-shared {Layout::Layer}s
59
+ # belonging to different {Layout::Page}s
60
+ #
61
+ # @raise [ArgumentError] if entities contains the same {Layout::Entity} more
62
+ # than once
63
+ #
64
+ # @return [Layout::Group]
65
+ #
66
+ # @version LayOut 2018
67
+ def initialize(entities)
68
+ end
69
+
70
+ # The {#remove_scale_factor} method removes the scale factor from the
71
+ # {Layout::Group}.
72
+ #
73
+ # The resize behavior can be one of the following values:
74
+ # [+Layout::Group::RESIZE_BEHAVIOR_NONE+]
75
+ # [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS+]
76
+ # [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS_AND_FONTS+]
77
+ #
78
+ # @example
79
+ # doc = Layout::Document.open("C:/path/to/document.layout")
80
+ # group = doc.shared_entities.first
81
+ # group.remove_scale_factor(true)
82
+ #
83
+ # @param [Integer] resize_behavior
84
+ #
85
+ # @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
86
+ #
87
+ # @raise [Layout::LockedEntityError] if the {Layout::Group} is locked
88
+ #
89
+ # @raise [Layout::LockedLayerError] if the {Layout::Group} is on a locked layer
90
+ #
91
+ # @version LayOut 2018
92
+ def remove_scale_factor(resize_behavior)
93
+ end
94
+
95
+ # The {#scale_factor} method returns the the scale factor associated with the
96
+ # {Layout::Group}.
97
+ #
98
+ # @example
99
+ # doc = Layout::Document.open("C:/path/to/document.layout")
100
+ # group = doc.shared_entities.first
101
+ # scale = group.scale_factor
102
+ #
103
+ # @return [Float, nil]
104
+ #
105
+ # @version LayOut 2018
106
+ def scale_factor
107
+ end
108
+
109
+ # The {#scale_precision} method returns the precision used for the scale of the
110
+ # {Layout::Group}.
111
+ #
112
+ # @example
113
+ # doc = Layout::Document.open("C:/path/to/document.layout")
114
+ # group = doc.shared_entities.first
115
+ # precision = group.scale_precision
116
+ #
117
+ # @return [Float] the number specifying the precision for the {Layout::Group}
118
+ #
119
+ # @version LayOut 2018
120
+ def scale_precision
121
+ end
122
+
123
+ # The {#scale_precision=} method sets the precision for the scale of the
124
+ # {Layout::Group}.
125
+ #
126
+ # @example
127
+ # doc = Layout::Document.open("C:/path/to/document.layout")
128
+ # group = doc.shared_entities.first
129
+ # group.scale_precision = 0.0001
130
+ #
131
+ # @note LayOut only allows for a finite set of precision values for each units
132
+ # setting, so it will set the precision to the closest valid setting for the
133
+ # specified units. See the "Units" section of LayOut's "Document Setup"
134
+ # dialog for a reference of the available precisions for each units setting.
135
+ #
136
+ # @param [Float] precision
137
+ # The double specifying the precision for the
138
+ # {Layout::Group}
139
+ #
140
+ # @version LayOut 2018
141
+ def scale_precision=(precision)
142
+ end
143
+
144
+ # The {#scale_units} method returns the units format used in the scale for the
145
+ # {Layout::Group}.
146
+ #
147
+ # The units format can be any of the following values:
148
+ # [Layout::Document::FRACTIONAL_INCHES]
149
+ # [Layout::Document::DECIMAL_INCHES]
150
+ # [Layout::Document::DECIMAL_FEET]
151
+ # [Layout::Document::DECIMAL_MILLIMETERS]
152
+ # [Layout::Document::DECIMAL_CENTIMETERS]
153
+ # [Layout::Document::DECIMAL_METERS]
154
+ # [Layout::Document::DECIMAL_POINTS]
155
+ #
156
+ # @example
157
+ # doc = Layout::Document.open("C:/path/to/document.layout")
158
+ # group = doc.shared_entities.first
159
+ # units = group.scale_units
160
+ #
161
+ # @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
162
+ #
163
+ # @return [Integer] units The units format of the scale factor
164
+ #
165
+ # @version LayOut 2018
166
+ def scale_units
167
+ end
168
+
169
+ # The {#scale_units=} method sets the the units format for the scale of the
170
+ # {Layout::Group}.
171
+ #
172
+ # The units format can be any of the following values:
173
+ # [Layout::Document::FRACTIONAL_INCHES]
174
+ # [Layout::Document::DECIMAL_INCHES]
175
+ # [Layout::Document::DECIMAL_FEET]
176
+ # [Layout::Document::DECIMAL_MILLIMETERS]
177
+ # [Layout::Document::DECIMAL_CENTIMETERS]
178
+ # [Layout::Document::DECIMAL_METERS]
179
+ # [Layout::Document::DECIMAL_POINTS]
180
+ #
181
+ # @example
182
+ # doc = Layout::Document.open("C:/path/to/document.layout")
183
+ # group = doc.shared_entities.first
184
+ # group.scale_units = Layout::Document::DECIMAL_FEET
185
+ #
186
+ # @param [Integer] units_format
187
+ #
188
+ # @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
189
+ #
190
+ # @raise [Layout::LockedEntityError] if the {Layout::Group} is locked
191
+ #
192
+ # @raise [Layout::LockedLayerError] if the {Layout::Group} is on a locked layer
193
+ #
194
+ # @raise [ArgumentError] if scale_units is not a valid value
195
+ #
196
+ # @version LayOut 2018
197
+ def scale_units=(units_format)
198
+ end
199
+
200
+ # The {#set_scale_factor} method sets the the scale factor for the
201
+ # {Layout::Group}.
202
+ #
203
+ # The units format can be any of the following values:
204
+ # [Layout::Document::FRACTIONAL_INCHES]
205
+ # [Layout::Document::DECIMAL_INCHES]
206
+ # [Layout::Document::DECIMAL_FEET]
207
+ # [Layout::Document::DECIMAL_MILLIMETERS]
208
+ # [Layout::Document::DECIMAL_CENTIMETERS]
209
+ # [Layout::Document::DECIMAL_METERS]
210
+ # [Layout::Document::DECIMAL_POINTS]
211
+ #
212
+ # The resize behavior can be one of the following values:
213
+ # [+Layout::Group::RESIZE_BEHAVIOR_NONE+]
214
+ # [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS+]
215
+ # [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS_AND_FONTS+]
216
+ #
217
+ # @example
218
+ # doc = Layout::Document.open("C:/path/to/document.layout")
219
+ # group = doc.shared_entities.first
220
+ # group.set_scale_factor(2.0, Layout::Group::RESIZE_BEHAVIOR_BOUNDS)
221
+ #
222
+ # @param [Float] scale_factor
223
+ #
224
+ # @param [Integer] units_format
225
+ #
226
+ # @param [Integer] resize_behavior
227
+ #
228
+ # @raise [LockedLayerError] if the {Layout::Group} is on a locked
229
+ # {Layout::Layer}
230
+ #
231
+ # @raise [LockedEntityError] if the {Layout::Group} is locked
232
+ #
233
+ # @raise [ArgumentError] if scale_factor is an invalid value
234
+ #
235
+ # @raise [ArgumentError] if the {Layout::Group} cannot be assigned a scale
236
+ # factor because it is already inheriting a scale factor from its parent
237
+ #
238
+ # @raise [ArgumentError] if a scale factor cannot be set for the
239
+ # {Layout::Group}
240
+ #
241
+ # @version LayOut 2018
242
+ def set_scale_factor(scale_factor, units_format, resize_behavior)
243
+ end
244
+
245
+ # The {#ungroup} method removes all {Layout::Entity}s from the {Layout::Group}
246
+ # and deletes the {Layout::Group}.
247
+ #
248
+ # @example
249
+ # doc = Layout::Document.open("C:/path/to/document.layout")
250
+ # group = doc.shared_entities.first
251
+ # group.ungroup
252
+ #
253
+ # @raise [LockedEntityError] if the {Layout::Group} is locked
254
+ #
255
+ # @return [Boolean]
256
+ #
257
+ # @version LayOut 2018
258
+ def ungroup
259
+ end
260
+
261
+ end