sketchup-api-stubs 0.7.4 → 0.7.8

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