sketchup-api-stubs 0.7.7 → 0.7.9

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 (154) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +151 -147
  3. data/lib/sketchup-api-stubs/stubs/{array.rb → 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 -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 -351
  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 +747 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -179
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +517 -515
  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 +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 -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 +387 -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 -0
  43. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +692 -694
  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 → Length.rb} +278 -278
  51. data/lib/sketchup-api-stubs/stubs/{numeric.rb → 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 -157
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +150 -152
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -286
  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 -122
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +659 -577
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -594
  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 -425
  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 -396
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -502
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1239 -1126
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -0
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -545
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -126
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -917
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -104
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -750
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +282 -292
  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 -405
  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 -327
  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 -112
  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 -318
  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 +1652 -1654
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -357
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +130 -131
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -284
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +490 -0
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +116 -0
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -797
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +361 -363
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -478
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +361 -364
  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 -459
  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 -257
  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 -835
  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 -71
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1311 -1307
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
  143. data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1377 -1353
  144. data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
  145. data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
  146. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -317
  147. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +494 -478
  148. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -269
  149. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +241 -240
  150. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
  151. data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -672
  152. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -311
  153. data/lib/sketchup-api-stubs.rb +1 -1
  154. metadata +20 -16
@@ -1,694 +1,692 @@
1
- # Copyright:: Copyright 2021 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # A SketchUp Model entity. This is an instance of a SketchUp Model that is
5
- # inserted into a .layout file. You can change the render mode, line weight,
6
- # and set the current scene for the SketchUp Model with this interface.
7
- #
8
- # @example
9
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
10
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
11
- # model.current_scene = 2
12
- # model.view = Layout::SketchUpModel::FRONT_VIEW
13
- # model.render_mode = Layout::SketchUpModel::VECTOR_RENDER
14
- # model.render if model.render_needed?
15
- #
16
- # @version LayOut 2018
17
- class Layout::SketchUpModel < Layout::Entity
18
-
19
- # Constants
20
-
21
- BOTTOM_RELATIVE_VIEW = nil # Stub value.
22
- BOTTOM_VIEW = nil # Stub value.
23
-
24
- BACK_VIEW = nil # Stub value.
25
-
26
- CUSTOM_VIEW = nil # Stub value.
27
-
28
- FRONT_VIEW = nil # Stub value.
29
-
30
- HYBRID_RENDER = nil # Stub value.
31
-
32
- ISO_VIEW = nil # Stub value.
33
-
34
- LEFT_VIEW = nil # Stub value.
35
-
36
- RASTER_RENDER = nil # Stub value.
37
-
38
- RIGHT_VIEW = nil # Stub value.
39
-
40
- TOP_RELATIVE_VIEW = nil # Stub value.
41
- TOP_VIEW = nil # Stub value.
42
-
43
- VECTOR_RENDER = nil # Stub value.
44
-
45
- # Instance Methods
46
-
47
- # The {#camera_modified?} method returns whether the camera of the
48
- # {Layout::SketchUpModel} has been modified.
49
- #
50
- # @example
51
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
52
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
53
- # modified = model.camera_modified?
54
- #
55
- # @return [Boolean]
56
- #
57
- # @version LayOut 2020.1
58
- def camera_modified?
59
- end
60
-
61
- # The {#clip_mask} method returns the clip mask entity for the
62
- # {Layout::SketchUpModel}, or +nil+ if it does not have one. clip_mask can be a
63
- # {Layout::Rectangle}, {Layout::Ellipse}, or {Layout::Path}.
64
- #
65
- # @example
66
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
67
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
68
- # clip_mask = model.clip_mask
69
- #
70
- # @return [Layout::Entity]
71
- #
72
- # @version LayOut 2018
73
- def clip_mask
74
- end
75
-
76
- # The {#clip_mask=} method sets a clip mask for the {Layout::SketchUpModel}.
77
- # clip_mask can be a {Layout::Rectangle}, {Layout::Ellipse}, or {Layout::Path},
78
- # or +nil+, and it must not currently exist in a {Layout::Document},
79
- # or {Layout::Group}.
80
- #
81
- # @example
82
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
83
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
84
- # rect = Layout::Rectangle.new([[2, 2], [3, 3]]);
85
- # model.clip_mask = rect
86
- #
87
- # @note +clip_mask+ may be +nil+ as of LayOut 2020.1.
88
- #
89
- # @param [Layout::Entity, nil] clip_mask
90
- # The clip mask can be a {Layout::Path},
91
- # {Layout::Rectangle}, {Layout::Ellipse}, or +nil+.
92
- #
93
- # @raise [ArgumentError] if clip_mask is already in a {Layout::Document} or
94
- # {Layout::Group}
95
- #
96
- # @raise [ArgumentError] if clip_mask is not a {Layout::Rectangle},
97
- # {Layout::Ellipse}, or {Layout::Path}
98
- #
99
- # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
100
- # {Layout::Layer}
101
- #
102
- # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
103
- #
104
- # @version LayOut 2018
105
- def clip_mask=(clip_mask)
106
- end
107
-
108
- # The {#current_scene} method returns the index of the most recently
109
- # selected scene of the {Layout::SketchUpModel}.
110
- #
111
- # @example
112
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
113
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
114
- # scene_index = model.current_scene
115
- #
116
- # @raise [ArgumentError] if the most recently selected scene no longer exists
117
- #
118
- # @return [Integer]
119
- #
120
- # @version LayOut 2018
121
- def current_scene
122
- end
123
-
124
- # The {#current_scene=} method sets the scene of the {Layout::SketchUpModel}.
125
- #
126
- # @example
127
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
128
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
129
- # model.current_scene = 1
130
- #
131
- # @note LayOut automatically adds the scene "Last Saved SketchUp View" to each
132
- # {Layout::SketchUpModel}. This means that the {Sketchup::Model}'s scenes
133
- # start with index 1.
134
- #
135
- # @param [Integer] index
136
- # The index into the list of available scenes.
137
- #
138
- # @raise [IndexError] if index is out of range
139
- #
140
- # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
141
- # {Layout::Layer}
142
- #
143
- # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
144
- #
145
- # @version LayOut 2018
146
- def current_scene=(index)
147
- end
148
-
149
- # The {#current_scene_modified?} method returns whether the most recently
150
- # selected scene of the {Layout::SketchUpModel} has been modified.
151
- #
152
- # @example
153
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
154
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
155
- # modified = model.current_scene_modified?
156
- #
157
- # @raise [ArgumentError] if the most recently selected scene no longer exists
158
- #
159
- # @return [Boolean]
160
- #
161
- # @version LayOut 2018
162
- def current_scene_modified?
163
- end
164
-
165
- # The {#dash_scale} method returns the dash scale for the
166
- # {Layout::SketchUpModel}. A scale value of 0.0 means the dashes are scaled
167
- # based on the line weight.
168
- #
169
- # @example
170
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
171
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
172
- # dash_scale = model.dash_scale
173
- #
174
- # @return [Float]
175
- #
176
- # @version LayOut 2019
177
- def dash_scale
178
- end
179
-
180
- # The {#dash_scale=} method sets the dash scale for the {Layout::SketchUpModel}.
181
- # A scale value of 0.0 or lower will "auto" scale the dashes based on the line
182
- # weight.
183
- #
184
- # @example
185
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
186
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
187
- # model.dash_scale = 2.5
188
- #
189
- # @param [Float] dash_scale
190
- #
191
- # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
192
- # {Layout::Layer}
193
- #
194
- # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
195
- #
196
- # @version LayOut 2018
197
- def dash_scale=(dash_scale)
198
- end
199
-
200
- # The {#display_background=} method sets whether the background is displayed
201
- # for the {Layout::SketchUpModel}.
202
- #
203
- # @example
204
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
205
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
206
- # model.display_background = false
207
- #
208
- # @param [Boolean] display
209
- #
210
- # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
211
- # {Layout::Layer}
212
- #
213
- # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
214
- #
215
- # @version LayOut 2018
216
- def display_background=(display)
217
- end
218
-
219
- # The {#display_background?} method returns whether the background is displayed
220
- # for the {Layout::SketchUpModel}.
221
- #
222
- # @example
223
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
224
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
225
- # displayed = model.display_background?
226
- #
227
- # @return [Boolean]
228
- #
229
- # @version LayOut 2018
230
- def display_background?
231
- end
232
-
233
- # The {#effects_modified?} method returns whether the shadow or fog settings
234
- # of the {Layout::SketchUpModel} have been modified.
235
- #
236
- # @example
237
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
238
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
239
- # modified = model.effects_modified?
240
- #
241
- # @return [Boolean]
242
- #
243
- # @version LayOut 2020.1
244
- def effects_modified?
245
- end
246
-
247
- # The {#entities} method returns the {Layout::Group} that represents the
248
- # {Layout::SketchUpModel} in its exploded form. The {Layout::Group} will
249
- # contain a {Layout::Image} for raster and hybrid-rendered models, and
250
- # will contain a {Layout::Group} of LayOut entities for
251
- # vector and hybrid-rendered models.
252
- #
253
- # @example
254
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
255
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
256
- # entities = model.entities
257
- #
258
- # @return [Layout::Entity]
259
- #
260
- # @version LayOut 2018
261
- def entities
262
- end
263
-
264
- # The {#initialize} method creates a new {Layout::SketchUpModel}.
265
- #
266
- # @example
267
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
268
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
269
- #
270
- # @param [String] path
271
- # The path to a .skp file
272
- #
273
- # @param [Geom::Bounds2d] bounds
274
- #
275
- # @raise [ArgumentError] if path does not point to a valid SketchUp Model file
276
- #
277
- # @raise [ArgumentError] if bounds is zero size
278
- #
279
- # @return [Layout::SketchUpModel]
280
- #
281
- # @version LayOut 2018
282
- def initialize(path, bounds)
283
- end
284
-
285
- # The {#layers_modified?} method returns whether the layers of the
286
- # {Layout::SketchUpModel} has been modified.
287
- #
288
- #
289
- # @note: In SketchUp 2020, SketchUp "layers" were renamed to "tags". For
290
- # consistency with the SketchUp API, this will continue to refer to
291
- # "tags" as "layers".
292
- #
293
- # @example
294
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
295
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
296
- # modified = model.layers_modified?
297
- #
298
- # @return [Boolean]
299
- #
300
- # @version LayOut 2020.1
301
- def layers_modified?
302
- end
303
-
304
- # The {#line_weight} method returns the line weight for the
305
- # {Layout::SketchUpModel}.
306
- #
307
- # @example
308
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
309
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
310
- # line_weight = model.line_weight
311
- #
312
- # @return [Float]
313
- #
314
- # @version LayOut 2018
315
- def line_weight
316
- end
317
-
318
- # The {#line_weight=} method sets the line weight for the
319
- # {Layout::SketchUpModel}. Line weight must be at least 0.01.
320
- #
321
- # @example
322
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
323
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
324
- # model.line_weight = 2.5
325
- #
326
- # @param [Float] line_weight
327
- #
328
- # @raise [ArgumentError] if line_weight is less than 0.01
329
- #
330
- # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
331
- # {Layout::Layer}
332
- #
333
- # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
334
- #
335
- # @version LayOut 2018
336
- def line_weight=(line_weight)
337
- end
338
-
339
- # The {#model_to_paper_point} method converts the {Geom::Point3d} in the
340
- # {Layout::SketchUpModel} to a {Geom::Point2d} in paper space.
341
- #
342
- # @example
343
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
344
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
345
- # point_3d = [200, 100, 100]
346
- # point_2d = model.model_to_paper_point(point_3d)
347
- #
348
- # @param [Geom::Point3d] model_point
349
- #
350
- # @return [Geom::Point2d]
351
- #
352
- # @version LayOut 2018
353
- def model_to_paper_point(model_point)
354
- end
355
-
356
- # The {#perspective=} method sets whether the {Layout::SketchUpModel}'s view
357
- # is perspective or orthographic.
358
- #
359
- # @example
360
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
361
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
362
- # model.perspective = false
363
- #
364
- # @param [Boolean] perspective
365
- #
366
- # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
367
- # {Layout::Layer}
368
- #
369
- # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
370
- #
371
- # @version LayOut 2018
372
- def perspective=(perspective)
373
- end
374
-
375
- # The {#perspective?} method returns whether the {Layout::SketchUpModel}'s view
376
- # is perspective or orthographic.
377
- #
378
- # @example
379
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
380
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
381
- # perspective = model.perspective?
382
- #
383
- # @return [Boolean]
384
- #
385
- # @version LayOut 2018
386
- def perspective?
387
- end
388
-
389
- # The {#preserve_scale_on_resize=} method sets whether the scale is preserved
390
- # when the {Layout::SketchUpModel} is resized.
391
- #
392
- # @example
393
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
394
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
395
- # model.preserve_scale_on_resize = true
396
- #
397
- # @param [Boolean] preserve_scale
398
- #
399
- # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
400
- # {Layout::Layer}
401
- #
402
- # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
403
- #
404
- # @version LayOut 2018
405
- def preserve_scale_on_resize=(preserve_scale)
406
- end
407
-
408
- # The {#preserve_scale_on_resize?} method returns whether the scale is
409
- # preserved when the {Layout::SketchUpModel} is resized.
410
- #
411
- # @example
412
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
413
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
414
- # will_scale = model.preserve_scale_on_resize?
415
- #
416
- # @return [Boolean]
417
- #
418
- # @version LayOut 2018
419
- def preserve_scale_on_resize?
420
- end
421
-
422
- # The {#render} method renders the {Layout::SketchUpModel}. If the model
423
- # belongs to a {Layout::Document}, then the render will be performed at the
424
- # quality set in document.page_info (see {Layout::Document} and
425
- # {Layout::PageInfo}). Otherwise, the render will be performed at Low quality.
426
- #
427
- # @example
428
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
429
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
430
- # model.render if model.render_needed?
431
- #
432
- # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
433
- # {Layout::Layer}
434
- #
435
- # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
436
- #
437
- # @version LayOut 2018
438
- def render
439
- end
440
-
441
- # The {#render_mode} method returns the render mode of the
442
- # {Layout::SketchUpModel}.
443
- #
444
- # The render mode can be one of the following:
445
- # [+Layout::SketchUpModel::RASTER_RENDER+]
446
- # [+Layout::SketchUpModel::HYBRID_RENDER+]
447
- # [+Layout::SketchUpModel::VECTOR_RENDER+]
448
- #
449
- # @example
450
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
451
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
452
- # render_mode = model.render_mode
453
- #
454
- # @return [Integer]
455
- #
456
- # @version LayOut 2018
457
- def render_mode
458
- end
459
-
460
- # The {#render_mode=} method sets the render mode of the
461
- # {Layout::SketchUpModel}.
462
- #
463
- # The render mode can be one of the following:
464
- # [+Layout::SketchUpModel::RASTER_RENDER+]
465
- # [+Layout::SketchUpModel::HYBRID_RENDER+]
466
- # [+Layout::SketchUpModel::VECTOR_RENDER+]
467
- #
468
- # @example
469
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
470
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
471
- # model.render_mode = Layout::SketchUpModel::RASTER_RENDER
472
- #
473
- # @param [Integer] render_mode
474
- #
475
- # @raise [ArgumentError] if render_mode is not a valid render mode
476
- #
477
- # @raise [LockedLayertError] if the {Layout::SketchUpModel} is on a locked
478
- # {Layout::Layer}
479
- #
480
- # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
481
- #
482
- # @version LayOut 2018
483
- def render_mode=(render_mode)
484
- end
485
-
486
- # The {#render_needed?} method returns whether the {Layout::SketchUpModel}
487
- # needs to be rendered.
488
- #
489
- # @example
490
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
491
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
492
- # model.render if model.render_needed?
493
- #
494
- # @return [Boolean]
495
- #
496
- # @version LayOut 2018
497
- def render_needed?
498
- end
499
-
500
- # The {#reset_camera} method resets the {Layout::SketchUpModel}'s camera to
501
- # the scene's setting.
502
- #
503
- # @example
504
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
505
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
506
- # model.reset_camera if model.camera_modified?
507
- #
508
- # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
509
- # {Layout::Layer}
510
- #
511
- # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
512
- #
513
- # @version LayOut 2020.1
514
- def reset_camera
515
- end
516
-
517
- # The {#reset_effects} method resets the {Layout::SketchUpModel}'s shadow and
518
- # fog settings to the scene's settings.
519
- #
520
- # @example
521
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
522
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
523
- # model.reset_effects if model.effects_modified?
524
- #
525
- # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
526
- # {Layout::Layer}
527
- #
528
- # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
529
- #
530
- # @version LayOut 2020.1
531
- def reset_effects
532
- end
533
-
534
- # The {#reset_layers} method resets the {Layout::SketchUpModel}'s layers to
535
- # the scene's setting.
536
- #
537
- #
538
- # @note: In SketchUp 2020, SketchUp "layers" were renamed to "tags". For
539
- # consistency with the SketchUp API, this will continue to refer to
540
- # "tags" as "layers".
541
- #
542
- # @example
543
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
544
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
545
- # model.reset_layers if model.layers_modified?
546
- #
547
- # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
548
- # {Layout::Layer}
549
- #
550
- # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
551
- #
552
- # @version LayOut 2020.1
553
- def reset_layers
554
- end
555
-
556
- # The {#reset_style} method resets the {Layout::SketchUpModel}'s style to
557
- # the scene's setting.
558
- #
559
- # @example
560
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
561
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
562
- # model.reset_style if model.style_modified?
563
- #
564
- # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
565
- # {Layout::Layer}
566
- #
567
- # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
568
- #
569
- # @version LayOut 2020.1
570
- def reset_style
571
- end
572
-
573
- # The {#scale} method returns the scale of the {Layout::SketchUpModel}.
574
- #
575
- # @example
576
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
577
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
578
- # scale = model.scale
579
- #
580
- # @return [Float]
581
- #
582
- # @version LayOut 2018
583
- def scale
584
- end
585
-
586
- # The {#scale=} method sets the scale of the {Layout::SketchUpModel}. Scale
587
- # must be at least 0.0000001, and the view must be orthographic.
588
- #
589
- # @example
590
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
591
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
592
- # model.scale = 2.0
593
- #
594
- # @param [Float] scale
595
- #
596
- # @raise [ArgumentError] if the {Layout::SketchUpModel} view is not orthographic
597
- #
598
- # @raise [ArgumentError] if scale is less than 0.0000001
599
- #
600
- # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
601
- # {Layout::Layer}
602
- #
603
- # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
604
- #
605
- # @version LayOut 2018
606
- def scale=(scale)
607
- end
608
-
609
- # The {#scenes} method returns an array of scene names that are available
610
- # for the {Layout::SketchUpModel}. The first scene will always be the default
611
- # scene, called "Last saved SketchUp View".
612
- #
613
- # @example
614
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
615
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
616
- # scene_names = model.scenes
617
- #
618
- # @return [Array<String>]
619
- #
620
- # @version LayOut 2018
621
- def scenes
622
- end
623
-
624
- # The {#style_modified?} method returns whether the style of the
625
- # {Layout::SketchUpModel} has been modified.
626
- #
627
- # @example
628
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
629
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
630
- # modified = model.style_modified?
631
- #
632
- # @return [Boolean]
633
- #
634
- # @version LayOut 2020.1
635
- def style_modified?
636
- end
637
-
638
- # The {#view} method returns the standard view of the {Layout::SketchUpModel}.
639
- #
640
- # The standard view can be one of the following values:
641
- # [+Layout::SketchUpModel::CUSTOM_VIEW+]
642
- # [+Layout::SketchUpModel::TOP_VIEW+]
643
- # [+Layout::SketchUpModel::TOP_RELATIVE_VIEW+]
644
- # [+Layout::SketchUpModel::BOTTOM_VIEW+]
645
- # [+Layout::SketchUpModel::BOTTOM_RELATIVE_VIEW+]
646
- # [+Layout::SketchUpModel::FRONT_VIEW+]
647
- # [+Layout::SketchUpModel::BACK_VIEW+]
648
- # [+Layout::SketchUpModel::LEFT_VIEW+]
649
- # [+Layout::SketchUpModel::RIGHT_VIEW+]
650
- # [+Layout::SketchUpModel::ISO_VIEW+]
651
- #
652
- # @example
653
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
654
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
655
- # view = model.view
656
- #
657
- # @return [Integer]
658
- #
659
- # @version LayOut 2018
660
- def view
661
- end
662
-
663
- # The {#view=} method sets the standard view of the {Layout::SketchUpModel}.
664
- #
665
- # The standard view can be one of the following values:
666
- # [+Layout::SketchUpModel::TOP_VIEW+]
667
- # [+Layout::SketchUpModel::TOP_RELATIVE_VIEW+]
668
- # [+Layout::SketchUpModel::BOTTOM_VIEW+]
669
- # [+Layout::SketchUpModel::BOTTOM_RELATIVE_VIEW+]
670
- # [+Layout::SketchUpModel::FRONT_VIEW+]
671
- # [+Layout::SketchUpModel::BACK_VIEW+]
672
- # [+Layout::SketchUpModel::LEFT_VIEW+]
673
- # [+Layout::SketchUpModel::RIGHT_VIEW+]
674
- # [+Layout::SketchUpModel::ISO_VIEW+]
675
- #
676
- # @example
677
- # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
678
- # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
679
- # model.view = Layout::SketchUpModel::FRONT_VIEW
680
- #
681
- # @param [Integer] view
682
- #
683
- # @raise [ArgumentError] if view is not a valid standard view
684
- #
685
- # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
686
- # {Layout::Layer}
687
- #
688
- # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
689
- #
690
- # @version LayOut 2018
691
- def view=(view)
692
- end
693
-
694
- end
1
+ # Copyright:: Copyright 2023 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # A SketchUp Model entity. This is an instance of a SketchUp Model that is
5
+ # inserted into a .layout file. You can change the render mode, line weight,
6
+ # and set the current scene for the SketchUp Model with this interface.
7
+ #
8
+ # @example
9
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
10
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
11
+ # model.current_scene = 2
12
+ # model.view = Layout::SketchUpModel::FRONT_VIEW
13
+ # model.render_mode = Layout::SketchUpModel::VECTOR_RENDER
14
+ # model.render if model.render_needed?
15
+ #
16
+ # @version LayOut 2018
17
+ class Layout::SketchUpModel < Layout::Entity
18
+
19
+ # Constants
20
+
21
+ BOTTOM_RELATIVE_VIEW = nil # Stub value.
22
+ BOTTOM_VIEW = nil # Stub value.
23
+
24
+ BACK_VIEW = nil # Stub value.
25
+
26
+ CUSTOM_VIEW = nil # Stub value.
27
+
28
+ FRONT_VIEW = nil # Stub value.
29
+
30
+ HYBRID_RENDER = nil # Stub value.
31
+
32
+ ISO_VIEW = nil # Stub value.
33
+
34
+ LEFT_VIEW = nil # Stub value.
35
+
36
+ RASTER_RENDER = nil # Stub value.
37
+
38
+ RIGHT_VIEW = nil # Stub value.
39
+
40
+ TOP_RELATIVE_VIEW = nil # Stub value.
41
+ TOP_VIEW = nil # Stub value.
42
+
43
+ VECTOR_RENDER = nil # Stub value.
44
+
45
+ # Instance Methods
46
+
47
+ # The {#camera_modified?} method returns whether the camera of the
48
+ # {Layout::SketchUpModel} has been modified.
49
+ #
50
+ # @example
51
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
52
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
53
+ # modified = model.camera_modified?
54
+ #
55
+ # @return [Boolean]
56
+ #
57
+ # @version LayOut 2020.1
58
+ def camera_modified?
59
+ end
60
+
61
+ # The {#clip_mask} method returns the clip mask entity for the
62
+ # {Layout::SketchUpModel}, or +nil+ if it does not have one. clip_mask can be a
63
+ # {Layout::Rectangle}, {Layout::Ellipse}, or {Layout::Path}.
64
+ #
65
+ # @example
66
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
67
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
68
+ # clip_mask = model.clip_mask
69
+ #
70
+ # @return [Layout::Entity]
71
+ #
72
+ # @version LayOut 2018
73
+ def clip_mask
74
+ end
75
+
76
+ # The {#clip_mask=} method sets a clip mask for the {Layout::SketchUpModel}.
77
+ # clip_mask can be a {Layout::Rectangle}, {Layout::Ellipse}, or {Layout::Path},
78
+ # or +nil+, and it must not currently exist in a {Layout::Document},
79
+ # or {Layout::Group}.
80
+ #
81
+ # @example
82
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
83
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
84
+ # rect = Layout::Rectangle.new([[2, 2], [3, 3]]);
85
+ # model.clip_mask = rect
86
+ #
87
+ # @note +clip_mask+ may be +nil+ as of LayOut 2020.1.
88
+ #
89
+ # @param [Layout::Entity, nil] clip_mask
90
+ # The clip mask can be a {Layout::Path},
91
+ # {Layout::Rectangle}, {Layout::Ellipse}, or +nil+.
92
+ #
93
+ # @raise [ArgumentError] if clip_mask is already in a {Layout::Document} or
94
+ # {Layout::Group}
95
+ #
96
+ # @raise [ArgumentError] if clip_mask is not a {Layout::Rectangle},
97
+ # {Layout::Ellipse}, or {Layout::Path}
98
+ #
99
+ # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
100
+ # {Layout::Layer}
101
+ #
102
+ # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
103
+ #
104
+ # @version LayOut 2018
105
+ def clip_mask=(clip_mask)
106
+ end
107
+
108
+ # The {#current_scene} method returns the index of the most recently
109
+ # selected scene of the {Layout::SketchUpModel}.
110
+ #
111
+ # @example
112
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
113
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
114
+ # scene_index = model.current_scene
115
+ #
116
+ # @raise [ArgumentError] if the most recently selected scene no longer exists
117
+ #
118
+ # @return [Integer]
119
+ #
120
+ # @version LayOut 2018
121
+ def current_scene
122
+ end
123
+
124
+ # The {#current_scene=} method sets the scene of the {Layout::SketchUpModel}.
125
+ #
126
+ # @example
127
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
128
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
129
+ # model.current_scene = 1
130
+ #
131
+ # @note LayOut automatically adds the scene "Last Saved SketchUp View" to each
132
+ # {Layout::SketchUpModel}. This means that the {Sketchup::Model}'s scenes
133
+ # start with index 1.
134
+ #
135
+ # @param [Integer] index
136
+ # The index into the list of available scenes.
137
+ #
138
+ # @raise [IndexError] if index is out of range
139
+ #
140
+ # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
141
+ # {Layout::Layer}
142
+ #
143
+ # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
144
+ #
145
+ # @version LayOut 2018
146
+ def current_scene=(index)
147
+ end
148
+
149
+ # The {#current_scene_modified?} method returns whether the most recently
150
+ # selected scene of the {Layout::SketchUpModel} has been modified.
151
+ #
152
+ # @example
153
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
154
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
155
+ # modified = model.current_scene_modified?
156
+ #
157
+ # @raise [ArgumentError] if the most recently selected scene no longer exists
158
+ #
159
+ # @return [Boolean]
160
+ #
161
+ # @version LayOut 2018
162
+ def current_scene_modified?
163
+ end
164
+
165
+ # The {#dash_scale} method returns the dash scale for the
166
+ # {Layout::SketchUpModel}. A scale value of 0.0 means the dashes are scaled
167
+ # based on the line weight.
168
+ #
169
+ # @example
170
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
171
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
172
+ # dash_scale = model.dash_scale
173
+ #
174
+ # @return [Float]
175
+ #
176
+ # @version LayOut 2019
177
+ def dash_scale
178
+ end
179
+
180
+ # The {#dash_scale=} method sets the dash scale for the {Layout::SketchUpModel}.
181
+ # A scale value of 0.0 or lower will "auto" scale the dashes based on the line
182
+ # weight.
183
+ #
184
+ # @example
185
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
186
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
187
+ # model.dash_scale = 2.5
188
+ #
189
+ # @param [Float] dash_scale
190
+ #
191
+ # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
192
+ # {Layout::Layer}
193
+ #
194
+ # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
195
+ #
196
+ # @version LayOut 2018
197
+ def dash_scale=(dash_scale)
198
+ end
199
+
200
+ # The {#display_background=} method sets whether the background is displayed
201
+ # for the {Layout::SketchUpModel}.
202
+ #
203
+ # @example
204
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
205
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
206
+ # model.display_background = false
207
+ #
208
+ # @param [Boolean] display
209
+ #
210
+ # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
211
+ # {Layout::Layer}
212
+ #
213
+ # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
214
+ #
215
+ # @version LayOut 2018
216
+ def display_background=(display)
217
+ end
218
+
219
+ # The {#display_background?} method returns whether the background is displayed
220
+ # for the {Layout::SketchUpModel}.
221
+ #
222
+ # @example
223
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
224
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
225
+ # displayed = model.display_background?
226
+ #
227
+ # @return [Boolean]
228
+ #
229
+ # @version LayOut 2018
230
+ def display_background?
231
+ end
232
+
233
+ # The {#effects_modified?} method returns whether the shadow or fog settings
234
+ # of the {Layout::SketchUpModel} have been modified.
235
+ #
236
+ # @example
237
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
238
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
239
+ # modified = model.effects_modified?
240
+ #
241
+ # @return [Boolean]
242
+ #
243
+ # @version LayOut 2020.1
244
+ def effects_modified?
245
+ end
246
+
247
+ # The {#entities} method returns the {Layout::Group} that represents the
248
+ # {Layout::SketchUpModel} in its exploded form. The {Layout::Group} will
249
+ # contain a {Layout::Image} for raster and hybrid-rendered models, and
250
+ # will contain a {Layout::Group} of LayOut entities for
251
+ # vector and hybrid-rendered models.
252
+ #
253
+ # @example
254
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
255
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
256
+ # entities = model.entities
257
+ #
258
+ # @return [Layout::Entity]
259
+ #
260
+ # @version LayOut 2018
261
+ def entities
262
+ end
263
+
264
+ # The {#initialize} method creates a new {Layout::SketchUpModel}.
265
+ #
266
+ # @example
267
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
268
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
269
+ #
270
+ # @param [String] path
271
+ # The path to a .skp file
272
+ #
273
+ # @param [Geom::Bounds2d] bounds
274
+ #
275
+ # @raise [ArgumentError] if path does not point to a valid SketchUp Model file
276
+ #
277
+ # @raise [ArgumentError] if bounds is zero size
278
+ #
279
+ # @return [Layout::SketchUpModel]
280
+ #
281
+ # @version LayOut 2018
282
+ def initialize(path, bounds)
283
+ end
284
+
285
+ # The {#layers_modified?} method returns whether the layers of the
286
+ # {Layout::SketchUpModel} has been modified.
287
+ #
288
+ # @example
289
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
290
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
291
+ # modified = model.layers_modified?
292
+ #
293
+ # @note In SketchUp 2020, SketchUp "layers" were renamed to "tags". For
294
+ # consistency with the SketchUp API, this will continue to refer to
295
+ # "tags" as "layers".
296
+ #
297
+ # @return [Boolean]
298
+ #
299
+ # @version LayOut 2020.1
300
+ def layers_modified?
301
+ end
302
+
303
+ # The {#line_weight} method returns the line weight for the
304
+ # {Layout::SketchUpModel}.
305
+ #
306
+ # @example
307
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
308
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
309
+ # line_weight = model.line_weight
310
+ #
311
+ # @return [Float]
312
+ #
313
+ # @version LayOut 2018
314
+ def line_weight
315
+ end
316
+
317
+ # The {#line_weight=} method sets the line weight for the
318
+ # {Layout::SketchUpModel}. Line weight must be at least 0.01.
319
+ #
320
+ # @example
321
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
322
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
323
+ # model.line_weight = 2.5
324
+ #
325
+ # @param [Float] line_weight
326
+ #
327
+ # @raise [ArgumentError] if line_weight is less than 0.01
328
+ #
329
+ # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
330
+ # {Layout::Layer}
331
+ #
332
+ # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
333
+ #
334
+ # @version LayOut 2018
335
+ def line_weight=(line_weight)
336
+ end
337
+
338
+ # The {#model_to_paper_point} method converts the {Geom::Point3d} in the
339
+ # {Layout::SketchUpModel} to a {Geom::Point2d} in paper space.
340
+ #
341
+ # @example
342
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
343
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
344
+ # point_3d = [200, 100, 100]
345
+ # point_2d = model.model_to_paper_point(point_3d)
346
+ #
347
+ # @param [Geom::Point3d] model_point
348
+ #
349
+ # @return [Geom::Point2d]
350
+ #
351
+ # @version LayOut 2018
352
+ def model_to_paper_point(model_point)
353
+ end
354
+
355
+ # The {#perspective=} method sets whether the {Layout::SketchUpModel}'s view
356
+ # is perspective or orthographic.
357
+ #
358
+ # @example
359
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
360
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
361
+ # model.perspective = false
362
+ #
363
+ # @param [Boolean] perspective
364
+ #
365
+ # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
366
+ # {Layout::Layer}
367
+ #
368
+ # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
369
+ #
370
+ # @version LayOut 2018
371
+ def perspective=(perspective)
372
+ end
373
+
374
+ # The {#perspective?} method returns whether the {Layout::SketchUpModel}'s view
375
+ # is perspective or orthographic.
376
+ #
377
+ # @example
378
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
379
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
380
+ # perspective = model.perspective?
381
+ #
382
+ # @return [Boolean]
383
+ #
384
+ # @version LayOut 2018
385
+ def perspective?
386
+ end
387
+
388
+ # The {#preserve_scale_on_resize=} method sets whether the scale is preserved
389
+ # when the {Layout::SketchUpModel} is resized.
390
+ #
391
+ # @example
392
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
393
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
394
+ # model.preserve_scale_on_resize = true
395
+ #
396
+ # @param [Boolean] preserve_scale
397
+ #
398
+ # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
399
+ # {Layout::Layer}
400
+ #
401
+ # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
402
+ #
403
+ # @version LayOut 2018
404
+ def preserve_scale_on_resize=(preserve_scale)
405
+ end
406
+
407
+ # The {#preserve_scale_on_resize?} method returns whether the scale is
408
+ # preserved when the {Layout::SketchUpModel} is resized.
409
+ #
410
+ # @example
411
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
412
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
413
+ # will_scale = model.preserve_scale_on_resize?
414
+ #
415
+ # @return [Boolean]
416
+ #
417
+ # @version LayOut 2018
418
+ def preserve_scale_on_resize?
419
+ end
420
+
421
+ # The {#render} method renders the {Layout::SketchUpModel}. If the model
422
+ # belongs to a {Layout::Document}, then the render will be performed at the
423
+ # quality set in document.page_info (see {Layout::Document} and
424
+ # {Layout::PageInfo}). Otherwise, the render will be performed at Low quality.
425
+ #
426
+ # @example
427
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
428
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
429
+ # model.render if model.render_needed?
430
+ #
431
+ # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
432
+ # {Layout::Layer}
433
+ #
434
+ # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
435
+ #
436
+ # @version LayOut 2018
437
+ def render
438
+ end
439
+
440
+ # The {#render_mode} method returns the render mode of the
441
+ # {Layout::SketchUpModel}.
442
+ #
443
+ # The render mode can be one of the following:
444
+ # [+Layout::SketchUpModel::RASTER_RENDER+]
445
+ # [+Layout::SketchUpModel::HYBRID_RENDER+]
446
+ # [+Layout::SketchUpModel::VECTOR_RENDER+]
447
+ #
448
+ # @example
449
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
450
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
451
+ # render_mode = model.render_mode
452
+ #
453
+ # @return [Integer]
454
+ #
455
+ # @version LayOut 2018
456
+ def render_mode
457
+ end
458
+
459
+ # The {#render_mode=} method sets the render mode of the
460
+ # {Layout::SketchUpModel}.
461
+ #
462
+ # The render mode can be one of the following:
463
+ # [+Layout::SketchUpModel::RASTER_RENDER+]
464
+ # [+Layout::SketchUpModel::HYBRID_RENDER+]
465
+ # [+Layout::SketchUpModel::VECTOR_RENDER+]
466
+ #
467
+ # @example
468
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
469
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
470
+ # model.render_mode = Layout::SketchUpModel::RASTER_RENDER
471
+ #
472
+ # @param [Integer] render_mode
473
+ #
474
+ # @raise [ArgumentError] if render_mode is not a valid render mode
475
+ #
476
+ # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
477
+ # {Layout::Layer}
478
+ #
479
+ # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
480
+ #
481
+ # @version LayOut 2018
482
+ def render_mode=(render_mode)
483
+ end
484
+
485
+ # The {#render_needed?} method returns whether the {Layout::SketchUpModel}
486
+ # needs to be rendered.
487
+ #
488
+ # @example
489
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
490
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
491
+ # model.render if model.render_needed?
492
+ #
493
+ # @return [Boolean]
494
+ #
495
+ # @version LayOut 2018
496
+ def render_needed?
497
+ end
498
+
499
+ # The {#reset_camera} method resets the {Layout::SketchUpModel}'s camera to
500
+ # the scene's setting.
501
+ #
502
+ # @example
503
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
504
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
505
+ # model.reset_camera if model.camera_modified?
506
+ #
507
+ # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
508
+ # {Layout::Layer}
509
+ #
510
+ # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
511
+ #
512
+ # @version LayOut 2020.1
513
+ def reset_camera
514
+ end
515
+
516
+ # The {#reset_effects} method resets the {Layout::SketchUpModel}'s shadow and
517
+ # fog settings to the scene's settings.
518
+ #
519
+ # @example
520
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
521
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
522
+ # model.reset_effects if model.effects_modified?
523
+ #
524
+ # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
525
+ # {Layout::Layer}
526
+ #
527
+ # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
528
+ #
529
+ # @version LayOut 2020.1
530
+ def reset_effects
531
+ end
532
+
533
+ # The {#reset_layers} method resets the {Layout::SketchUpModel}'s layers to
534
+ # the scene's setting.
535
+ #
536
+ # @example
537
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
538
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
539
+ # model.reset_layers if model.layers_modified?
540
+ #
541
+ # @note In SketchUp 2020, SketchUp "layers" were renamed to "tags". For
542
+ # consistency with the SketchUp API, this will continue to refer to
543
+ # "tags" as "layers".
544
+ #
545
+ # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
546
+ # {Layout::Layer}
547
+ #
548
+ # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
549
+ #
550
+ # @version LayOut 2020.1
551
+ def reset_layers
552
+ end
553
+
554
+ # The {#reset_style} method resets the {Layout::SketchUpModel}'s style to
555
+ # the scene's setting.
556
+ #
557
+ # @example
558
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
559
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
560
+ # model.reset_style if model.style_modified?
561
+ #
562
+ # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
563
+ # {Layout::Layer}
564
+ #
565
+ # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
566
+ #
567
+ # @version LayOut 2020.1
568
+ def reset_style
569
+ end
570
+
571
+ # The {#scale} method returns the scale of the {Layout::SketchUpModel}.
572
+ #
573
+ # @example
574
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
575
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
576
+ # scale = model.scale
577
+ #
578
+ # @return [Float]
579
+ #
580
+ # @version LayOut 2018
581
+ def scale
582
+ end
583
+
584
+ # The {#scale=} method sets the scale of the {Layout::SketchUpModel}. Scale
585
+ # must be at least 0.0000001, and the view must be orthographic.
586
+ #
587
+ # @example
588
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
589
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
590
+ # model.scale = 2.0
591
+ #
592
+ # @param [Float] scale
593
+ #
594
+ # @raise [ArgumentError] if the {Layout::SketchUpModel} view is not orthographic
595
+ #
596
+ # @raise [ArgumentError] if scale is less than 0.0000001
597
+ #
598
+ # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
599
+ # {Layout::Layer}
600
+ #
601
+ # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
602
+ #
603
+ # @version LayOut 2018
604
+ def scale=(scale)
605
+ end
606
+
607
+ # The {#scenes} method returns an array of scene names that are available
608
+ # for the {Layout::SketchUpModel}. The first scene will always be the default
609
+ # scene, called "Last saved SketchUp View".
610
+ #
611
+ # @example
612
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
613
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
614
+ # scene_names = model.scenes
615
+ #
616
+ # @return [Array<String>]
617
+ #
618
+ # @version LayOut 2018
619
+ def scenes
620
+ end
621
+
622
+ # The {#style_modified?} method returns whether the style of the
623
+ # {Layout::SketchUpModel} has been modified.
624
+ #
625
+ # @example
626
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
627
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
628
+ # modified = model.style_modified?
629
+ #
630
+ # @return [Boolean]
631
+ #
632
+ # @version LayOut 2020.1
633
+ def style_modified?
634
+ end
635
+
636
+ # The {#view} method returns the standard view of the {Layout::SketchUpModel}.
637
+ #
638
+ # The standard view can be one of the following values:
639
+ # [+Layout::SketchUpModel::CUSTOM_VIEW+]
640
+ # [+Layout::SketchUpModel::TOP_VIEW+]
641
+ # [+Layout::SketchUpModel::TOP_RELATIVE_VIEW+]
642
+ # [+Layout::SketchUpModel::BOTTOM_VIEW+]
643
+ # [+Layout::SketchUpModel::BOTTOM_RELATIVE_VIEW+]
644
+ # [+Layout::SketchUpModel::FRONT_VIEW+]
645
+ # [+Layout::SketchUpModel::BACK_VIEW+]
646
+ # [+Layout::SketchUpModel::LEFT_VIEW+]
647
+ # [+Layout::SketchUpModel::RIGHT_VIEW+]
648
+ # [+Layout::SketchUpModel::ISO_VIEW+]
649
+ #
650
+ # @example
651
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
652
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
653
+ # view = model.view
654
+ #
655
+ # @return [Integer]
656
+ #
657
+ # @version LayOut 2018
658
+ def view
659
+ end
660
+
661
+ # The {#view=} method sets the standard view of the {Layout::SketchUpModel}.
662
+ #
663
+ # The standard view can be one of the following values:
664
+ # [+Layout::SketchUpModel::TOP_VIEW+]
665
+ # [+Layout::SketchUpModel::TOP_RELATIVE_VIEW+]
666
+ # [+Layout::SketchUpModel::BOTTOM_VIEW+]
667
+ # [+Layout::SketchUpModel::BOTTOM_RELATIVE_VIEW+]
668
+ # [+Layout::SketchUpModel::FRONT_VIEW+]
669
+ # [+Layout::SketchUpModel::BACK_VIEW+]
670
+ # [+Layout::SketchUpModel::LEFT_VIEW+]
671
+ # [+Layout::SketchUpModel::RIGHT_VIEW+]
672
+ # [+Layout::SketchUpModel::ISO_VIEW+]
673
+ #
674
+ # @example
675
+ # bounds = Geom::Bounds2d.new(1, 1, 3, 3)
676
+ # model = Layout::SketchUpModel.new("C:/Path/to/model.skp", bounds)
677
+ # model.view = Layout::SketchUpModel::FRONT_VIEW
678
+ #
679
+ # @param [Integer] view
680
+ #
681
+ # @raise [ArgumentError] if view is not a valid standard view
682
+ #
683
+ # @raise [LockedLayerError] if the {Layout::SketchUpModel} is on a locked
684
+ # {Layout::Layer}
685
+ #
686
+ # @raise [LockedEntityError] if the {Layout::SketchUpModel} is locked
687
+ #
688
+ # @version LayOut 2018
689
+ def view=(view)
690
+ end
691
+
692
+ end