sketchup-api-stubs 0.7.4 → 0.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +148 -145
  3. data/lib/sketchup-api-stubs/stubs/{array.rb → Array.rb} +741 -741
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -318
  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 +523 -492
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -478
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +693 -691
  16. data/lib/sketchup-api-stubs/stubs/{geom.rb → Geom.rb} +351 -348
  17. data/lib/sketchup-api-stubs/stubs/{languagehandler.rb → LanguageHandler.rb} +93 -92
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -573
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +698 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -174
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +516 -514
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -143
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -349
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  30. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -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 +225 -220
  34. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  37. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
  38. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
  39. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -204
  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 +692 -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/Layout.rb +25 -25
  49. data/lib/sketchup-api-stubs/stubs/{length.rb → Length.rb} +278 -278
  50. data/lib/sketchup-api-stubs/stubs/{numeric.rb → Numeric.rb} +249 -249
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -140
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -157
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +286 -281
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -328
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -577
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -281
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +619 -562
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -194
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +426 -329
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -72
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -102
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -312
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -38
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +396 -390
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +502 -508
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1205 -1119
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +272 -0
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -125
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -544
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -59
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +126 -125
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -750
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -697
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +292 -285
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -409
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -226
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -190
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +407 -393
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -82
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -303
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -285
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -244
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -136
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -112
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -416
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +318 -311
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -141
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -95
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1651 -1638
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -356
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +131 -132
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -770
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +363 -353
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -76
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +477 -456
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -44
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +459 -454
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +260 -257
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -57
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -211
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -225
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +837 -829
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -154
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -61
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1317 -1301
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -43
  140. data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1360 -1310
  141. data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
  142. data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
  143. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -310
  144. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +496 -356
  145. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -229
  146. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
  147. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
  148. data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -667
  149. data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
  150. data/lib/sketchup-api-stubs.rb +1 -1
  151. metadata +15 -12
@@ -1,29 +1,29 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # A simple elliptical shape entity.
5
- #
6
- # @version LayOut 2018
7
- class Layout::Ellipse < Layout::Entity
8
-
9
- # Instance Methods
10
-
11
- # The {#initialize} method creates a new {Layout::Ellipse}.
12
- #
13
- # @example
14
- # upper_left = Geom::Point2d.new(1, 1)
15
- # lower_right = Geom::Point2d.new(2, 2)
16
- # bounds = Geom::Bounds2d.new(upper_left, lower_right)
17
- # ellipse = Layout::Ellipse.new(bounds)
18
- #
19
- # @param [Geom::Bounds2d] bounds
20
- #
21
- # @raise ArgumentError if bounds is zero size
22
- #
23
- # @return [Layout::Ellipse]
24
- #
25
- # @version LayOut 2018
26
- def initialize(bounds)
27
- end
28
-
29
- end
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # A simple elliptical shape entity.
5
+ #
6
+ # @version LayOut 2018
7
+ class Layout::Ellipse < Layout::Entity
8
+
9
+ # Instance Methods
10
+
11
+ # The {#initialize} method creates a new {Layout::Ellipse}.
12
+ #
13
+ # @example
14
+ # upper_left = Geom::Point2d.new(1, 1)
15
+ # lower_right = Geom::Point2d.new(2, 2)
16
+ # bounds = Geom::Bounds2d.new(upper_left, lower_right)
17
+ # ellipse = Layout::Ellipse.new(bounds)
18
+ #
19
+ # @param [Geom::Bounds2d] bounds
20
+ #
21
+ # @raise ArgumentError if bounds is zero size
22
+ #
23
+ # @return [Layout::Ellipse]
24
+ #
25
+ # @version LayOut 2018
26
+ def initialize(bounds)
27
+ end
28
+
29
+ end
@@ -1,143 +1,148 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # The Entities class is a container class for {Layout::Entity}s. A
5
- # {Layout::Entities} object is different from a SketchUp::Entities object in
6
- # that it is read-only. Adding or removing {Layout::Entity}s from a
7
- # {Layout::Document} happens with the {Layout::Document#add_entity} and
8
- # {Layout::Document#remove_entity} methods.
9
- #
10
- # The {Layout::Entities} from {Layout::AngularDimension#entities},
11
- # {Layout::Label#entities}, {Layout::LinearDimension#entities}, or
12
- # {Layout::Table#entities} contains the {Layout::Entity}s that represent the
13
- # {Layout::Entity} in its exploded form.
14
- #
15
- # The {Layout::Entities} from {Layout::Group#entities} contains all the
16
- # {Layout::Entity}s that belong to the {Layout::Group}.
17
- #
18
- # The {Layout::Entities} from {Layout::Page#entities} contains all of the
19
- # {Layout::Entity}s on both shared and non-shared {Layout::Layer}s. This class
20
- # is used to iterate through the {Layout::Entity}s in draw order or pick order
21
- # (reverse draw order) using the {#each} and {#reverse_each} methods.
22
- #
23
- # The {Layout::Entities} from {Layout::Document#shared_entities} contains all
24
- # of the {Layout::Entity}s that belong on all shared {Layout::Layer}s.
25
- #
26
- # The {Layout::Entities} from {Layout::Page#nonshared_entities} contains all of
27
- # the {Layout::Entity}s that belong to that {Layout::Page}.
28
- #
29
- # The {Layout::Entities} from {Layout::LayerInstance#entities} contains all of
30
- # the {Layout::Entity}s that belong on that {Layout::LayerInstance}.
31
- #
32
- # @example
33
- # # Grab a handle to a pages entities
34
- # doc = Layout::Document.open("C:/path/to/document.layout")
35
- # entities = doc.pages.first.entities
36
- #
37
- # # From here, we can iterate over the entities in draw order or pick order
38
- # entities.each { |entity|
39
- # puts entity
40
- # }
41
- # entities.reverse_each(skip_locked: true) { |entity|
42
- # puts entity
43
- # }
44
- #
45
- # @version LayOut 2018
46
- class Layout::Entities
47
-
48
- # Includes
49
-
50
- include Enumerable
51
-
52
- # Instance Methods
53
-
54
- # The {#[]} method returns the {Layout::Entity} at the given index. This method
55
- # is not valid for use when the {Layout::Entities} object came from a
56
- # {Layout::Page}.
57
- #
58
- # @example
59
- # table = Layout::Table.new([1, 1, 4, 4], 4, 4)
60
- # entities = table.entities
61
- # entity = entities[10]
62
- #
63
- # @param [Integer] index
64
- #
65
- # @raise [ArgumentError] if this came from a {Layout::Page}
66
- #
67
- # @return [Layout::Entity]
68
- #
69
- # @version LayOut 2018
70
- def [](index)
71
- end
72
-
73
- # The {#each} method iterates through all of the {Layout::Entity}s. When
74
- # iterating over a {Layout::LayerInstance}'s {Layout::Entities}, it is not
75
- # necessary to provide a flags Hash. When iterating over a {Layout::Page}'s
76
- # {Layout::Entities}, the flags Hash is optional; providing no Hash will
77
- # result in iterating over all {Layout::Entity}s, including those on hidden or
78
- # locked {Layout::Layer}s. Valid symbols for the Hash are +:skip_hidden+ and
79
- # +:skip_locked+.
80
- #
81
- # @example
82
- # doc = Layout::Document.open("C:/path/to/document.layout")
83
- # flags = { :skip_hidden => true }
84
- # entities = doc.pages.first.entities
85
- # entities.each(flags) { |entity|
86
- # puts entity
87
- # }
88
- #
89
- # @param [Hash{Symbol => Boolean}] flags
90
- # A hash that allows skipping of
91
- # {Layout::Entity}s on hidden or locked {Layout::Layers}
92
- #
93
- # @version LayOut 2018
94
- #
95
- # @yieldparam [Layout::Entity] entity
96
- def each(flags = {})
97
- end
98
-
99
- # The {#length} method returns the number of {Layout::Entity}s.
100
- #
101
- # @example
102
- # doc = Layout::Document.open("C:/path/to/document.layout")
103
- # entities = doc.shared_entities
104
- # num_entities = entities.length
105
- #
106
- # @return [Integer]
107
- #
108
- # @version LayOut 2018
109
- def length
110
- end
111
- alias_method :size, :length
112
-
113
- # The {#reverse_each} method iterates through all of the {Layout::Entity}s in
114
- # reverse order. When iterating over a {Layout::LayerInstance}'s
115
- # {Layout::Entities}, it is not necessary to provide a flags Hash. When
116
- # iterating over a {Layout::Page}'s {Layout::Entities}, the flags Hash is
117
- # optional; providing no Hash will result in iterating over all
118
- # {Layout::Entity}s, including those on hidden or locked {Layout::Layer}s.
119
- # Valid symbols for the Hash are +:skip_hidden+ and +:skip_locked+.
120
- #
121
- # @example
122
- # doc = Layout::Document.open("C:/path/to/document.layout")
123
- # flags = { :skip_hidden => true, :skip_locked => true }
124
- # entities = doc.pages.first.entities
125
- # entities.reverse_each(flags) { |entity|
126
- # puts entity
127
- # }
128
- #
129
- # @overload reverse_each
130
- #
131
- # @yieldparam [Layout::Entity] entity
132
- #
133
- # @overload reverse_each(flags)
134
- #
135
- # @param [Hash{Symbol => Boolean}] flags A hash that allows skipping of
136
- # {Layout::Entity}s on hidden or locked {Layout::Layers}.
137
- # @yieldparam [Layout::Entity] entity
138
- #
139
- # @version LayOut 2018
140
- def reverse_each(*args)
141
- end
142
-
143
- end
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # The Entities class is a container class for {Layout::Entity}s. A
5
+ # {Layout::Entities} object is different from a SketchUp::Entities object in
6
+ # that it is read-only. Adding or removing {Layout::Entity}s from a
7
+ # {Layout::Document} happens with the {Layout::Document#add_entity} and
8
+ # {Layout::Document#remove_entity} methods.
9
+ #
10
+ # The {Layout::Entities} from {Layout::AngularDimension#entities},
11
+ # {Layout::Label#entities}, {Layout::LinearDimension#entities}, or
12
+ # {Layout::Table#entities} contains the {Layout::Entity}s that represent the
13
+ # {Layout::Entity} in its exploded form.
14
+ #
15
+ # The {Layout::Entities} from {Layout::Group#entities} contains all the
16
+ # {Layout::Entity}s that belong to the {Layout::Group}.
17
+ #
18
+ # The {Layout::Entities} from {Layout::Page#entities} contains all of the
19
+ # {Layout::Entity}s on both shared and non-shared {Layout::Layer}s. This class
20
+ # is used to iterate through the {Layout::Entity}s in draw order or pick order
21
+ # (reverse draw order) using the {#each} and {#reverse_each} methods.
22
+ #
23
+ # The {Layout::Entities} from {Layout::Document#shared_entities} contains all
24
+ # of the {Layout::Entity}s that belong on all shared {Layout::Layer}s.
25
+ #
26
+ # The {Layout::Entities} from {Layout::Page#nonshared_entities} contains all of
27
+ # the {Layout::Entity}s that belong to that {Layout::Page}.
28
+ #
29
+ # The {Layout::Entities} from {Layout::LayerInstance#entities} contains all of
30
+ # the {Layout::Entity}s that belong on that {Layout::LayerInstance}.
31
+ #
32
+ # @example
33
+ # # Grab a handle to a pages entities
34
+ # doc = Layout::Document.open("C:/path/to/document.layout")
35
+ # entities = doc.pages.first.entities
36
+ #
37
+ # # From here, we can iterate over the entities in draw order or pick order
38
+ # entities.each { |entity|
39
+ # puts entity
40
+ # }
41
+ # entities.reverse_each(skip_locked: true) { |entity|
42
+ # puts entity
43
+ # }
44
+ #
45
+ # @version LayOut 2018
46
+ class Layout::Entities
47
+
48
+ # Includes
49
+
50
+ include Enumerable
51
+
52
+ # Instance Methods
53
+
54
+ # The {#[]} method returns the {Layout::Entity} at the given index. This method
55
+ # is not valid for use when the {Layout::Entities} object came from a
56
+ # {Layout::Page}.
57
+ #
58
+ # @example
59
+ # table = Layout::Table.new([1, 1, 4, 4], 4, 4)
60
+ # entities = table.entities
61
+ # entity = entities[10]
62
+ #
63
+ # @param [Integer] index
64
+ #
65
+ # @raise [ArgumentError] if this came from a {Layout::Page}
66
+ #
67
+ # @return [Layout::Entity]
68
+ #
69
+ # @version LayOut 2018
70
+ def [](index)
71
+ end
72
+
73
+ # The {#each} method iterates through all of the {Layout::Entity}s. When
74
+ # iterating over a {Layout::LayerInstance}'s {Layout::Entities}, it is not
75
+ # necessary to provide a flags Hash. When iterating over a {Layout::Page}'s
76
+ # {Layout::Entities}, the flags Hash is optional; providing no Hash will
77
+ # result in iterating over all {Layout::Entity}s, including those on hidden or
78
+ # locked {Layout::Layer}s. Valid symbols for the Hash are +:skip_hidden+ and
79
+ # +:skip_locked+.
80
+ #
81
+ # @example
82
+ # doc = Layout::Document.open("C:/path/to/document.layout")
83
+ # flags = { :skip_hidden => true }
84
+ # entities = doc.pages.first.entities
85
+ # entities.each(flags) { |entity|
86
+ # puts entity
87
+ # }
88
+ #
89
+ # @note Don't remove content from this collection while iterating over it with
90
+ # {#each}. This would change the size of the collection and cause elements to
91
+ # be skipped as the indices change. Instead copy the current collection to an
92
+ # array using +to_a+ and then use +each+ on the array, when removing content.
93
+ #
94
+ # @param [Hash{Symbol => Boolean}] flags
95
+ # A hash that allows skipping of
96
+ # {Layout::Entity}s on hidden or locked {Layout::Layers}
97
+ #
98
+ # @version LayOut 2018
99
+ #
100
+ # @yieldparam [Layout::Entity] entity
101
+ def each(flags = {})
102
+ end
103
+
104
+ # The {#length} method returns the number of {Layout::Entity}s.
105
+ #
106
+ # @example
107
+ # doc = Layout::Document.open("C:/path/to/document.layout")
108
+ # entities = doc.shared_entities
109
+ # num_entities = entities.length
110
+ #
111
+ # @return [Integer]
112
+ #
113
+ # @version LayOut 2018
114
+ def length
115
+ end
116
+ alias_method :size, :length
117
+
118
+ # The {#reverse_each} method iterates through all of the {Layout::Entity}s in
119
+ # reverse order. When iterating over a {Layout::LayerInstance}'s
120
+ # {Layout::Entities}, it is not necessary to provide a flags Hash. When
121
+ # iterating over a {Layout::Page}'s {Layout::Entities}, the flags Hash is
122
+ # optional; providing no Hash will result in iterating over all
123
+ # {Layout::Entity}s, including those on hidden or locked {Layout::Layer}s.
124
+ # Valid symbols for the Hash are +:skip_hidden+ and +:skip_locked+.
125
+ #
126
+ # @example
127
+ # doc = Layout::Document.open("C:/path/to/document.layout")
128
+ # flags = { :skip_hidden => true, :skip_locked => true }
129
+ # entities = doc.pages.first.entities
130
+ # entities.reverse_each(flags) { |entity|
131
+ # puts entity
132
+ # }
133
+ #
134
+ # @overload reverse_each
135
+ #
136
+ # @yieldparam [Layout::Entity] entity
137
+ #
138
+ # @overload reverse_each(flags)
139
+ #
140
+ # @param [Hash{Symbol => Boolean}] flags A hash that allows skipping of
141
+ # {Layout::Entity}s on hidden or locked {Layout::Layers}.
142
+ # @yieldparam [Layout::Entity] entity
143
+ #
144
+ # @version LayOut 2018
145
+ def reverse_each(*args)
146
+ end
147
+
148
+ end