sketchup-api-stubs 0.7.9 → 0.7.10

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