sketchup-api-stubs 0.7.4 → 0.7.5

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 (150) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs.rb +1 -1
  3. data/lib/sketchup-api-stubs/sketchup.rb +147 -145
  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 +498 -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 +691 -691
  16. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  17. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +573 -573
  18. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +411 -411
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +179 -174
  20. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  21. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +515 -514
  22. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  23. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -143
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
  25. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -349
  26. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  27. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  28. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  29. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -371
  30. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  31. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  32. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -220
  33. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
  34. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  36. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
  37. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
  38. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -204
  39. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
  40. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  41. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +694 -694
  42. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  43. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  44. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  45. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  47. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -140
  48. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +157 -157
  49. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  50. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +286 -281
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -328
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -577
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -281
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +577 -562
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +604 -593
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -194
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +362 -329
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -72
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -102
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -312
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -38
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +396 -390
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +502 -508
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1126 -1119
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -125
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -544
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -59
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +126 -125
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +751 -750
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +699 -697
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +285 -285
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +417 -409
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -226
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -190
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +405 -393
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -82
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -303
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +327 -285
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -244
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -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 -112
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -416
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +318 -311
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -141
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -95
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1651 -1638
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -356
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +131 -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 +797 -770
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +363 -353
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -76
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -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 +45 -44
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +459 -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 +59 -57
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -211
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -225
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +835 -829
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -154
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +71 -61
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1307 -1301
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -43
  135. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +317 -310
  136. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +387 -356
  137. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +255 -229
  138. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
  139. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -633
  140. data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
  141. data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
  142. data/lib/sketchup-api-stubs/stubs/geom.rb +351 -348
  143. data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
  144. data/lib/sketchup-api-stubs/stubs/length.rb +278 -278
  145. data/lib/sketchup-api-stubs/stubs/numeric.rb +249 -249
  146. data/lib/sketchup-api-stubs/stubs/sketchup.rb +1342 -1310
  147. data/lib/sketchup-api-stubs/stubs/sketchupextension.rb +353 -353
  148. data/lib/sketchup-api-stubs/stubs/string.rb +24 -24
  149. data/lib/sketchup-api-stubs/stubs/ui.rb +668 -667
  150. metadata +4 -2
@@ -1,353 +1,363 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # The Pages class contains methods for manipulating a collection of Pages
5
- # (scenes) in a model.
6
- #
7
- # You get a handle to this collection by calling Model.pages.
8
- #
9
- # @example
10
- # model = Sketchup.active_model
11
- # pages = model.pages
12
- #
13
- # @version SketchUp 6.0
14
- class Sketchup::Pages < Sketchup::Entity
15
-
16
- # Includes
17
-
18
- include Enumerable
19
-
20
- # Class Methods
21
-
22
- # The {.add_frame_change_observer} method is used to add a new frame change
23
- # observer that is called with each frame of an animation, meaning the
24
- # end user has clicked on a Scene tab (aka Page) inside SketchUp and
25
- # the camera is animating to that scene.
26
- #
27
- # The method returns an integer id that can be stored and later used to remove
28
- # the observer with the {Sketchup::Pages.remove_frame_change_observer} method.
29
- #
30
- # @example
31
- # class MyFrameChangeObserver
32
- # def frameChange(from_page, to_page, percent_done)
33
- # puts "From page #{from_page.name} to #{to_page.name} (#{percent_done * 100}%)"
34
- # end
35
- # end
36
- # id = Sketchup::Pages.add_frame_change_observer(MyFrameChangeObserver.new)
37
- #
38
- # @param [#frameChange] object
39
- # An object that implements the
40
- # {Sketchup::FrameChangeObserver#frameChange} method.
41
- #
42
- # @return [Integer] A unique id of the observer
43
- #
44
- # @see Sketchup::FrameChangeObserver#frameChange
45
- #
46
- # @version SketchUp 6.0
47
- def self.add_frame_change_observer(object)
48
- end
49
-
50
- # The #{remove_frame_change_observer} method is used to remove a frame change
51
- # observer
52
- #
53
- # @example
54
- # Sketchup::Pages.remove_frame_change_observer(id)
55
- #
56
- # @param [Integer] observer_id
57
- # The unique id returned by {.add_frame_change_observer}
58
- #
59
- # @return [Boolean]
60
- #
61
- # @version SketchUp 6.0
62
- def self.remove_frame_change_observer(observer_id)
63
- end
64
-
65
- # Instance Methods
66
-
67
- # The [] method retrieves a page by either name or index.
68
- #
69
- # @example
70
- # model = Sketchup.active_model
71
- # pages = model.pages
72
- # status = pages.add "Page 1"
73
- # status = pages.add "Page 2"
74
- # page = pages["Page 2"]
75
- # if (page)
76
- # UI.messagebox page
77
- # else
78
- # UI.messagebox "Failure"
79
- # end
80
- #
81
- # @param index_or_name
82
- # The index or the string name of the specific page.
83
- #
84
- # @return page - a Page object if successful
85
- #
86
- # @version SketchUp 6.0
87
- def [](index_or_name)
88
- end
89
-
90
- # The add method is used to add an empty Page object to the collection.
91
- #
92
- # If no name is given, then a new name is generated using the default name for
93
- # new Pages. If a name is given, then a new Page with that name is
94
- # added.
95
- #
96
- # If the flags parameter is given, it controls which properties are saved with
97
- # the Page. See the Page.update method for a description of the flags that can
98
- # be set.
99
- #
100
- # If index is given, it specifies the position in the page list that the new
101
- # page is added. Otherwise the new page is added to the end.
102
- #
103
- # @example
104
- # model = Sketchup.active_model
105
- # pages = model.pages
106
- # status = pages.add "Page 1"
107
- # status = pages.add "Page 2"
108
- # if (status)
109
- # UI.messagebox status
110
- # else
111
- # UI.messagebox "Failure"
112
- # end
113
- #
114
- # @param name
115
- # The name of the specific page.
116
- #
117
- # @param [optional] flags
118
- # Bit flags in integer form.
119
- #
120
- # @param [optional] index
121
- # Index of where to inset.
122
- #
123
- # @return nil
124
- #
125
- # @version SketchUp 6.0
126
- def add(name, flags, index)
127
- end
128
-
129
- # The add_matchphoto_page method is used to add a photomatch page to the
130
- # model. This is an advanced feature that was added to support internal
131
- # SketchUp work, so it is unlikely to be useful to you.
132
- #
133
- # @example
134
- # pages = Sketchup.active_model.pages
135
- # page = pages.add_matchphoto_page "Test"
136
- #
137
- # @param image_name
138
- # String image name.
139
- #
140
- # @param [optional] camera
141
- # Camera object.
142
- #
143
- # @param [optional] page_name
144
- # String page name.
145
- #
146
- # @return page - the new photomatch page.
147
- #
148
- # @version SketchUp 7.0
149
- def add_matchphoto_page(image_name, camera, page_name)
150
- end
151
-
152
- # The add_observer method is used to add an observer to the Pages object.
153
- # See the PagesObserver interface for more details.
154
- #
155
- # @example
156
- # pages = Sketchup.active_model.pages
157
- # status = pages.add_observer observer
158
- #
159
- # @param observer
160
- # An observer.
161
- #
162
- # @return true if successful, false if unsuccessful.
163
- #
164
- # @version SketchUp 6.0
165
- def add_observer(observer)
166
- end
167
-
168
- #
169
- # @example
170
- # pages = Sketchup.active_model.pages
171
- # pages.add('Page 1')
172
- # pages.add('Page 2')
173
- # number = pages.count
174
- #
175
- # @note Since SketchUp 2014 the count method is inherited from Ruby's
176
- # +Enumable+ mix-in module. Prior to that the {#count} method is an alias
177
- # for {#length}.
178
- #
179
- # @return [Integer]
180
- #
181
- # @see #length
182
- #
183
- # @version SketchUp 6.0
184
- def count
185
- end
186
-
187
- # The each method is used to iterate through pages.
188
- #
189
- # @example
190
- # model = Sketchup.active_model
191
- # pages = model.pages
192
- # status = pages.add "Page 1"
193
- # status = pages.add "Page 2"
194
- # pages.each {|page| UI.messagebox page}
195
- #
196
- # @return nil
197
- #
198
- # @version SketchUp 6.0
199
- #
200
- # @yield [page] Variables that will hold each page as it is found.
201
- def each
202
- end
203
-
204
- # The {#erase} method is used to remove a page from the collection.
205
- #
206
- # @example
207
- # page = Sketchup.active_model.pages.add('Hello World')
208
- # Sketchup.active_model.pages.erase(page)
209
- #
210
- # @param [Sketchup::Page] page
211
- #
212
- # @return [Boolean]
213
- #
214
- # @version SketchUp 6.0
215
- def erase(page)
216
- end
217
-
218
- # The {#length} method is an alias for {#size}.
219
- #
220
- # @example
221
- # pages = Sketchup.active_model.pages
222
- # pages.add('Page 1')
223
- # pages.add('Page 2')
224
- # number = pages.length
225
- #
226
- # @return [Integer]
227
- #
228
- # @see #size
229
- #
230
- # @version SketchUp 2014
231
- def length
232
- end
233
-
234
- # The parent method is used to determine the model for the Pages collection.
235
- #
236
- # @example
237
- # model = Sketchup.active_model
238
- # pages = model.pages
239
- # status = pages.add "Page 1"
240
- # status = pages.add "Page 2"
241
- # model = pages.parent
242
- #
243
- # @return model - the model that contains the pages if successful
244
- #
245
- # @version SketchUp 6.0
246
- def parent
247
- end
248
-
249
- # The remove_observer method is used to remove an observer from the current
250
- # object. See the PagesObserver interface for more details.
251
- #
252
- # @example
253
- # pages = Sketchup.active_model.pages
254
- # status = pages.remove_observer observer
255
- #
256
- # @param observer
257
- # An observer.
258
- #
259
- # @return true if successful, false if unsuccessful.
260
- #
261
- # @version SketchUp 6.0
262
- def remove_observer(observer)
263
- end
264
-
265
- # The selected_page method is used to retrieve the currently selected page.
266
- #
267
- # @example
268
- # model = Sketchup.active_model
269
- # pages = model.pages
270
- # status = pages.add "Page 1"
271
- # status = pages.add "Page 2"
272
- # page = pages.selected_page
273
- #
274
- # @return page - the currently selected Page object if successful
275
- #
276
- # @version SketchUp 6.0
277
- def selected_page
278
- end
279
-
280
- # The selected_page method is used to set the currently selected page. Once
281
- # you set this, SketchUp will animate to that page as if the user had clicked
282
- # on its scene tab.
283
- #
284
- # @example
285
- # model = Sketchup.active_model
286
- # pages = model.pages
287
- # status = pages.add "Page 1"
288
- # status = pages.add "Page 2"
289
- # pages.selected_page = model.pages[1]
290
- #
291
- # @param [Sketchup::Page] page
292
- #
293
- # @return status - true if successful
294
- #
295
- # @version SketchUp 6.0
296
- def selected_page=(page)
297
- end
298
-
299
- # The {#show_frame_at} method is used to show a frame in animation (of the
300
- # slide show) at a given time in seconds.
301
- #
302
- # @example
303
- # model = Sketchup.active_model
304
- # pages = model.pages
305
- # pages.add("Page 1")
306
- # pages.add("Page 2")
307
- # page, ratio = pages.show_frame_at(1.8)
308
- #
309
- # @note In versions prior to SketchUp 2019 this method will crash if called
310
- # when there are no pages in the model.
311
- #
312
- # @param [Float] seconds
313
- # The time in seconds.
314
- #
315
- # @return [Array(Sketchup::Page, Float), nil] Upon success it returns the
316
- # page that is displayed and a parameter between +0.0+ and +1.0+ that is
317
- # tells how far along the transition to next page you are at.
318
- #
319
- # @version SketchUp 6.0
320
- def show_frame_at(seconds)
321
- end
322
-
323
- # The {#size} method is used to retrieve the number of pages.
324
- #
325
- # @example
326
- # pages = Sketchup.active_model.pages
327
- # pages.add('Page 1')
328
- # pages.add('Page 2')
329
- # number = pages.size
330
- #
331
- # @return [Integer]
332
- #
333
- # @see #length
334
- #
335
- # @version SketchUp 6.0
336
- def size
337
- end
338
-
339
- # The slideshow_time method is used to get the amount of time that a slideshow
340
- # of all of the pages will take. This takes into account the transition time
341
- # for each Page and the amount of time that each Page is displayed.
342
- #
343
- # @example
344
- # pages = Sketchup.active_model.pages
345
- # time = pages.slideshow_time
346
- #
347
- # @return status - true if successful
348
- #
349
- # @version SketchUp 6.0
350
- def slideshow_time
351
- end
352
-
353
- end
1
+ # Copyright:: Copyright 2020 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # The Pages class contains methods for manipulating a collection of Pages
5
+ # (Named "scenes" in the UI.) in a model.
6
+ #
7
+ # You get a handle to this collection by calling Model.pages.
8
+ #
9
+ # @example
10
+ # model = Sketchup.active_model
11
+ # pages = model.pages
12
+ #
13
+ # @version SketchUp 6.0
14
+ class Sketchup::Pages < Sketchup::Entity
15
+
16
+ # Includes
17
+
18
+ include Enumerable
19
+
20
+ # Constants
21
+
22
+ ImageEmbedded = nil # Stub value.
23
+ ImageEmbeddedAndLinked = nil # Stub value.
24
+ ImageLinked = nil # Stub value.
25
+
26
+ UnitsNormalizedX = nil # Stub value.
27
+ UnitsNormalizedY = nil # Stub value.
28
+ UnitsPixels = nil # Stub value.
29
+
30
+ # Class Methods
31
+
32
+ # The {.add_frame_change_observer} method is used to add a new frame change
33
+ # observer that is called with each frame of an animation, meaning the
34
+ # end user has clicked on a Scene tab (aka Page) inside SketchUp and
35
+ # the camera is animating to that scene.
36
+ #
37
+ # The method returns an integer id that can be stored and later used to remove
38
+ # the observer with the {Sketchup::Pages.remove_frame_change_observer} method.
39
+ #
40
+ # @example
41
+ # class MyFrameChangeObserver
42
+ # def frameChange(from_page, to_page, percent_done)
43
+ # puts "From page #{from_page.name} to #{to_page.name} (#{percent_done * 100}%)"
44
+ # end
45
+ # end
46
+ # id = Sketchup::Pages.add_frame_change_observer(MyFrameChangeObserver.new)
47
+ #
48
+ # @param [#frameChange] object
49
+ # An object that implements the
50
+ # {Sketchup::FrameChangeObserver#frameChange} method.
51
+ #
52
+ # @return [Integer] A unique id of the observer
53
+ #
54
+ # @see Sketchup::FrameChangeObserver#frameChange
55
+ #
56
+ # @version SketchUp 6.0
57
+ def self.add_frame_change_observer(object)
58
+ end
59
+
60
+ # The {.remove_frame_change_observer} method is used to remove a frame change
61
+ # observer
62
+ #
63
+ # @example
64
+ # Sketchup::Pages.remove_frame_change_observer(id)
65
+ #
66
+ # @param [Integer] observer_id
67
+ # The unique id returned by {.add_frame_change_observer}
68
+ #
69
+ # @return [Boolean]
70
+ #
71
+ # @version SketchUp 6.0
72
+ def self.remove_frame_change_observer(observer_id)
73
+ end
74
+
75
+ # Instance Methods
76
+
77
+ # The [] method retrieves a page by either name or index.
78
+ #
79
+ # @example
80
+ # model = Sketchup.active_model
81
+ # pages = model.pages
82
+ # status = pages.add "Page 1"
83
+ # status = pages.add "Page 2"
84
+ # page = pages["Page 2"]
85
+ # if (page)
86
+ # UI.messagebox page
87
+ # else
88
+ # UI.messagebox "Failure"
89
+ # end
90
+ #
91
+ # @param index_or_name
92
+ # The index or the string name of the specific page.
93
+ #
94
+ # @return page - a Page object if successful
95
+ #
96
+ # @version SketchUp 6.0
97
+ def [](index_or_name)
98
+ end
99
+
100
+ # The {#add} method is used to add a new Page object to the collection.
101
+ #
102
+ # If no name is given, then a new name is generated using the default name for
103
+ # new Pages. If a name is given, then a new Page with that name is
104
+ # added.
105
+ #
106
+ # If the flags parameter is given, it controls which properties are saved with
107
+ # the Page. See the {Page#update} method for a description of the flags that
108
+ # can be set.
109
+ #
110
+ # If index is given, it specifies the position in the page list that the new
111
+ # page is added. Otherwise the new page is added to the end.
112
+ #
113
+ # @example
114
+ # model = Sketchup.active_model
115
+ # pages = model.pages
116
+ # status = pages.add "Page 1"
117
+ # status = pages.add "Page 2"
118
+ # if (status)
119
+ # UI.messagebox status
120
+ # else
121
+ # UI.messagebox "Failure"
122
+ # end
123
+ #
124
+ # @param [String] name
125
+ # The name of the specific page.
126
+ #
127
+ # @param [Integer] flags
128
+ # Bit flags in integer form.
129
+ #
130
+ # @param [Integer] index
131
+ # Index of where to inset.
132
+ #
133
+ # @return [Sketchup::Page]
134
+ #
135
+ # @version SketchUp 6.0
136
+ def add(name = nil, flags = PAGE_USE_ALL, index = self.size)
137
+ end
138
+
139
+ # The add_matchphoto_page method is used to add a photomatch page to the
140
+ # model. This is an advanced feature that was added to support internal
141
+ # SketchUp work, so it is unlikely to be useful to you.
142
+ #
143
+ # @example
144
+ # pages = Sketchup.active_model.pages
145
+ # page = pages.add_matchphoto_page "Test"
146
+ #
147
+ # @param image_name
148
+ # String image name.
149
+ #
150
+ # @param [optional] camera
151
+ # Camera object.
152
+ #
153
+ # @param [optional] page_name
154
+ # String page name.
155
+ #
156
+ # @return page - the new photomatch page.
157
+ #
158
+ # @version SketchUp 7.0
159
+ def add_matchphoto_page(image_name, camera, page_name)
160
+ end
161
+
162
+ # The add_observer method is used to add an observer to the Pages object.
163
+ # See the PagesObserver interface for more details.
164
+ #
165
+ # @example
166
+ # pages = Sketchup.active_model.pages
167
+ # status = pages.add_observer observer
168
+ #
169
+ # @param observer
170
+ # An observer.
171
+ #
172
+ # @return true if successful, false if unsuccessful.
173
+ #
174
+ # @version SketchUp 6.0
175
+ def add_observer(observer)
176
+ end
177
+
178
+ #
179
+ # @example
180
+ # pages = Sketchup.active_model.pages
181
+ # pages.add('Page 1')
182
+ # pages.add('Page 2')
183
+ # number = pages.count
184
+ #
185
+ # @note Since SketchUp 2014 the count method is inherited from Ruby's
186
+ # +Enumable+ mix-in module. Prior to that the {#count} method is an alias
187
+ # for {#length}.
188
+ #
189
+ # @return [Integer]
190
+ #
191
+ # @see #length
192
+ #
193
+ # @version SketchUp 6.0
194
+ def count
195
+ end
196
+
197
+ # The each method is used to iterate through pages.
198
+ #
199
+ # @example
200
+ # model = Sketchup.active_model
201
+ # pages = model.pages
202
+ # status = pages.add "Page 1"
203
+ # status = pages.add "Page 2"
204
+ # pages.each {|page| puts page}
205
+ #
206
+ # @return nil
207
+ #
208
+ # @version SketchUp 6.0
209
+ #
210
+ # @yield [page] Variables that will hold each page as it is found.
211
+ def each
212
+ end
213
+
214
+ # The {#erase} method is used to remove a page from the collection.
215
+ #
216
+ # @example
217
+ # page = Sketchup.active_model.pages.add('Hello World')
218
+ # Sketchup.active_model.pages.erase(page)
219
+ #
220
+ # @param [Sketchup::Page] page
221
+ #
222
+ # @return [Boolean]
223
+ #
224
+ # @version SketchUp 6.0
225
+ def erase(page)
226
+ end
227
+
228
+ # The {#length} method is an alias for {#size}.
229
+ #
230
+ # @example
231
+ # pages = Sketchup.active_model.pages
232
+ # pages.add('Page 1')
233
+ # pages.add('Page 2')
234
+ # number = pages.length
235
+ #
236
+ # @return [Integer]
237
+ #
238
+ # @see #size
239
+ #
240
+ # @version SketchUp 2014
241
+ def length
242
+ end
243
+
244
+ # The parent method is used to determine the model for the Pages collection.
245
+ #
246
+ # @example
247
+ # model = Sketchup.active_model
248
+ # pages = model.pages
249
+ # status = pages.add "Page 1"
250
+ # status = pages.add "Page 2"
251
+ # model = pages.parent
252
+ #
253
+ # @return model - the model that contains the pages if successful
254
+ #
255
+ # @version SketchUp 6.0
256
+ def parent
257
+ end
258
+
259
+ # The remove_observer method is used to remove an observer from the current
260
+ # object. See the PagesObserver interface for more details.
261
+ #
262
+ # @example
263
+ # pages = Sketchup.active_model.pages
264
+ # status = pages.remove_observer observer
265
+ #
266
+ # @param observer
267
+ # An observer.
268
+ #
269
+ # @return true if successful, false if unsuccessful.
270
+ #
271
+ # @version SketchUp 6.0
272
+ def remove_observer(observer)
273
+ end
274
+
275
+ # The selected_page method is used to retrieve the currently selected page.
276
+ #
277
+ # @example
278
+ # model = Sketchup.active_model
279
+ # pages = model.pages
280
+ # status = pages.add "Page 1"
281
+ # status = pages.add "Page 2"
282
+ # page = pages.selected_page
283
+ #
284
+ # @return page - the currently selected Page object if successful
285
+ #
286
+ # @version SketchUp 6.0
287
+ def selected_page
288
+ end
289
+
290
+ # The selected_page method is used to set the currently selected page. Once
291
+ # you set this, SketchUp will animate to that page as if the user had clicked
292
+ # on its scene tab.
293
+ #
294
+ # @example
295
+ # model = Sketchup.active_model
296
+ # pages = model.pages
297
+ # status = pages.add "Page 1"
298
+ # status = pages.add "Page 2"
299
+ # pages.selected_page = model.pages[1]
300
+ #
301
+ # @param [Sketchup::Page] page
302
+ #
303
+ # @return status - true if successful
304
+ #
305
+ # @version SketchUp 6.0
306
+ def selected_page=(page)
307
+ end
308
+
309
+ # The {#show_frame_at} method is used to show a frame in animation (of the
310
+ # slide show) at a given time in seconds.
311
+ #
312
+ # @example
313
+ # model = Sketchup.active_model
314
+ # pages = model.pages
315
+ # pages.add("Page 1")
316
+ # pages.add("Page 2")
317
+ # page, ratio = pages.show_frame_at(1.8)
318
+ #
319
+ # @note In versions prior to SketchUp 2019 this method will crash if called
320
+ # when there are no pages in the model.
321
+ #
322
+ # @param [Float] seconds
323
+ # The time in seconds.
324
+ #
325
+ # @return [Array(Sketchup::Page, Float), nil] Upon success it returns the
326
+ # page that is displayed and a parameter between +0.0+ and +1.0+ that is
327
+ # tells how far along the transition to next page you are at.
328
+ #
329
+ # @version SketchUp 6.0
330
+ def show_frame_at(seconds)
331
+ end
332
+
333
+ # The {#size} method is used to retrieve the number of pages.
334
+ #
335
+ # @example
336
+ # pages = Sketchup.active_model.pages
337
+ # pages.add('Page 1')
338
+ # pages.add('Page 2')
339
+ # number = pages.size
340
+ #
341
+ # @return [Integer]
342
+ #
343
+ # @see #length
344
+ #
345
+ # @version SketchUp 6.0
346
+ def size
347
+ end
348
+
349
+ # The slideshow_time method is used to get the amount of time that a slideshow
350
+ # of all of the pages will take. This takes into account the transition time
351
+ # for each Page and the amount of time that each Page is displayed.
352
+ #
353
+ # @example
354
+ # pages = Sketchup.active_model.pages
355
+ # time = pages.slideshow_time
356
+ #
357
+ # @return status - true if successful
358
+ #
359
+ # @version SketchUp 6.0
360
+ def slideshow_time
361
+ end
362
+
363
+ end