sketchup-api-stubs 0.7.8 → 0.7.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +151 -148
  3. data/lib/sketchup-api-stubs/stubs/Array.rb +741 -741
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -322
  5. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +509 -523
  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 -693
  16. data/lib/sketchup-api-stubs/stubs/Geom.rb +351 -351
  17. data/lib/sketchup-api-stubs/stubs/LanguageHandler.rb +93 -93
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -595
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +747 -698
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -183
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +517 -516
  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 -354
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  30. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -370
  31. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  32. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  33. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -225
  34. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  37. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
  38. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +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 -692
  44. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  45. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  48. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  49. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  50. data/lib/sketchup-api-stubs/stubs/Length.rb +278 -278
  51. data/lib/sketchup-api-stubs/stubs/Numeric.rb +249 -249
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -144
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -169
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +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 -619
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -201
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +449 -426
  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 -1205
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -272
  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 -937
  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 -407
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -84
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -306
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -326
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -422
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -427
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -249
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +114 -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 -1651
  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 -477
  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 -260
  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 -837
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -156
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -75
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1311 -1317
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
  143. data/lib/sketchup-api-stubs/stubs/Sketchup.rb +1377 -1360
  144. data/lib/sketchup-api-stubs/stubs/SketchupExtension.rb +353 -353
  145. data/lib/sketchup-api-stubs/stubs/String.rb +24 -24
  146. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -389
  147. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +494 -496
  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 -635
  151. data/lib/sketchup-api-stubs/stubs/UI.rb +683 -683
  152. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -311
  153. data/lib/sketchup-api-stubs.rb +1 -1
  154. metadata +10 -7
@@ -1,692 +1,692 @@
1
- # Copyright:: Copyright 2022 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 [LockedLayertError] 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
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