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,328 +1,302 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # The Behavior class is used to control the "behavior" of components, which
5
- # roughly correlates to the series of options that you see in the
6
- # Components dialog under the "edit" tab, such as whether it casts shadows,
7
- # glues to walls, etc.
8
- #
9
- # A Behavior object is accessed from a ComponentDefinition object, not created
10
- # with a Behavior.new call.
11
- #
12
- # @example
13
- # # Grab the Behavior object from the first component definition.
14
- # model = Sketchup.active_model
15
- # definition = model.definitions[0]
16
- # behavior = definition.behavior
17
- #
18
- # @version SketchUp 6.0
19
- class Sketchup::Behavior < Sketchup::Entity
20
-
21
- # Instance Methods
22
-
23
- # The always_face_camera= method is used to set the always_face_camera
24
- # behavior for a component.
25
- #
26
- # If the always_face_camera behavior is true, a component will always try to
27
- # orient itself so that the Y axis of the component is facing the camera.
28
- #
29
- # @example
30
- # model = Sketchup.active_model
31
- # behavior = model.definitions[0].behavior
32
- # status = behavior.always_face_camera = false
33
- #
34
- # @param setting
35
- # Sets the always_face_camera behavior to true or false.
36
- #
37
- # @return status - the status of the always_face_camera behavior.
38
- #
39
- # @version SketchUp 6.0
40
- def always_face_camera=(setting)
41
- end
42
-
43
- # The always_face_camera? method is used to retrieve the always_face_camera
44
- # behavior for a component.
45
- #
46
- # If the always_face_camera behavior is true, then a component will always try
47
- # to orient itself so that the -Y axis of the component is facing the camera.
48
- #
49
- # @example
50
- # model = Sketchup.active_model
51
- # # Returns a DefinitionList
52
- # definitions = model.definitions
53
- # path = Sketchup.find_support_file "Bed.skp",
54
- # "Components/Components Sampler/"
55
- #
56
- # begin
57
- # definition = definitions.load path
58
- # rescue
59
- # UI.messagebox $!.message
60
- # end
61
- #
62
- # behavior = definition.behavior
63
- # b = behavior.always_face_camera?
64
- # if (b)
65
- # UI.messagebox b
66
- # else
67
- # UI.messagebox "Always Face Camera is equal to false"
68
- # end
69
- # status = behavior.always_face_camera = true
70
- # b = behavior.always_face_camera?
71
- # if (b)
72
- # UI.messagebox b
73
- # else
74
- # UI.messagebox "Failure"
75
- # end
76
- #
77
- # @return [Boolean] behavior - true if the component is set to always face
78
- # the camera, false if the component is not set to always
79
- # face camera.
80
- #
81
- # @version SketchUp 6.0
82
- def always_face_camera?
83
- end
84
-
85
- # The cuts_opening= method is used to set the cut opening behavior for a
86
- # component.
87
- #
88
- # @example
89
- # model = Sketchup.active_model
90
- # behavior = model.definitions[0].behavior
91
- # status = behavior.cuts_opening = false
92
- # if (status)
93
- # # if status is true, print the status
94
- # UI.messagebox status
95
- # else
96
- # # code to respond cuts_opening being false
97
- # end
98
- #
99
- # @param setting
100
- # Sets the cuts_opening behavior to true or false.
101
- #
102
- # @return status - the status of the cuts_opening behavior
103
- # (either true or false)
104
- #
105
- # @version SketchUp 6.0
106
- def cuts_opening=(setting)
107
- end
108
-
109
- # The cuts_opening? method is used to get the status of a component's cut
110
- # opening behavior.
111
- #
112
- # @example
113
- # model = Sketchup.active_model
114
- # behavior = model.definitions[0].behavior
115
- # status = behavior.cuts_opening?
116
- # if (status)
117
- # # if status is true, do something
118
- # else
119
- # # if status is false, do something else
120
- # end
121
- #
122
- # @return [Boolean] status - the status of the cuts_opening behavior
123
- # (either true or false)
124
- #
125
- # @version SketchUp 6.0
126
- def cuts_opening?
127
- end
128
-
129
- # The is2d= method is used to set the 2D behavior for a component: whether it
130
- # can be glued or aligned to a face.
131
- #
132
- # @example
133
- # model = Sketchup.active_model
134
- # behavior = model.definitions[0].behavior
135
- # status = behavior.is2d = false
136
- # if (status)
137
- # # if status is true, print the status
138
- # UI.messagebox status
139
- # else
140
- # # code to respond is2d behavior being false
141
- # end
142
- #
143
- # @param setting
144
- # Sets the 2D behavior to true or false.
145
- #
146
- # @return status - the new setting
147
- #
148
- # @version SketchUp 6.0
149
- def is2d=(setting)
150
- end
151
-
152
- # The is2d? method is used to get the 2D behavior for a component: whether it
153
- # can be glued or aligned to a face.
154
- #
155
- # @example
156
- # model = Sketchup.active_model
157
- # behavior = model.definitions[0].behavior
158
- # status = behavior.is2d?
159
- # if (status)
160
- # # if status is true, do something
161
- # else
162
- # # if status is false, do something else
163
- # end
164
- #
165
- # @return [Boolean] status - the status of the 2D behavior (either true or
166
- # false)
167
- #
168
- # @version SketchUp 6.0
169
- def is2d?
170
- end
171
-
172
- # Sets an integer that is really a bit-by-bit description of which scale
173
- # tool handles are hidden on a given component. This is useful for creating
174
- # definitions that can only be scaled in particular ways. If a bit contains a
175
- # a 1, then a certain handle set will be hidden when the user selects the
176
- # component and activates the Scale tool. Here is the map of which bits
177
- # control which handles.
178
- #
179
- # - Bit0: disable scale along red (X),
180
- # - Bit1: disable scale along green (Y),
181
- # - Bit2: disable scale along blue (Z),
182
- # - Bit3: disable scale in red/blue plane (X+Z),
183
- # - Bit4: disable scale in green/blue plane (Y+Z),
184
- # - Bit5: disable scale in red/green plane (X+Y),
185
- # - Bit6: disable scale uniform (from corners) (XYZ).
186
- #
187
- # Note that for 2-dimensional components (such as face-me components), not all
188
- # of the handles in the list above are even used. Also, if the component you
189
- # are modifying is already selected with the scale tool, then you or your user
190
- # must deactivate and reactivate the scale tool for your new behavior to take
191
- # effect.
192
- #
193
- # @example
194
- # # Disable the green and red-axes handles by setting bits 1 and 2 to 1.
195
- # definition = Sketchup.active_model.definitions[0]
196
- # behavior = definition.behavior
197
- # behavior.no_scale_mask = (1 << 1) + (1 << 2)
198
- #
199
- # @param scale_mask
200
- # An integer describing which scale tool
201
- # handles are hidden.
202
- #
203
- # @return behavior - the Behavior object
204
- #
205
- # @version SketchUp 7.0
206
- def no_scale_mask=(scale_mask)
207
- end
208
-
209
- # The no_scale_mask? method returns an integer that is a bit-by-bit
210
- # description of which scale tool handles are hidden when the user selects
211
- # this single component with the scale tool. See the no_scale_mask=
212
- # method for details on the bit encodings used.
213
- #
214
- # @example
215
- # definition = Sketchup.active_model.definitions[0]
216
- # behavior = definition.behavior
217
- # no_scale_mask = behavior.no_scale_mask?
218
- #
219
- # @return [Boolean] scale_mask - an integer describing which scale tool
220
- # handles are hidden.
221
- #
222
- # @version SketchUp 7.0
223
- def no_scale_mask?
224
- end
225
-
226
- # The shadows_face_sun= method is used to identify whether the component's
227
- # shadow will be cast from the component's current position as though the
228
- # component were facing the sun. See the Component entity within the SketchUp
229
- # User's guide for more information on this feature.
230
- #
231
- # @example
232
- # model = Sketchup.active_model
233
- # behavior = model.definitions[0].behavior
234
- # behavior = behavior.shadows_face_sun = true
235
- #
236
- # @param status
237
- # true if the component's is to be cast from the
238
- # component's current position as though the component
239
- # were facing the sun. False to cause the shadow to be
240
- # cast from the component's current position.
241
- #
242
- # @return behavior - the Behavior object
243
- #
244
- # @version SketchUp 6.0
245
- def shadows_face_sun=(status)
246
- end
247
-
248
- # The shadows_face_sun? method is used to determine whether the component's
249
- # shadow is being cast from the component's current position (as though the
250
- # component were facing the sun). See the Component entity within the SketchUp
251
- # User's guide for more information on this feature.
252
- #
253
- # @example
254
- # model = Sketchup.active_model
255
- # # Returns a DefinitionList
256
- # definitions = model.definitions
257
- # path = Sketchup.find_support_file "Bed.skp",
258
- # "Components/Components Sampler/"
259
- # begin
260
- # definition = definitions.load path
261
- # rescue
262
- # UI.messagebox $!.message
263
- # end
264
- #
265
- # @return [Boolean] status - true if the component's is to be cast from the
266
- # component's current position as though the component
267
- # were facing the sun. False to cause the shadow to be
268
- # cast from the component's current position.
269
- #
270
- # @version SketchUp 6.0
271
- def shadows_face_sun?
272
- end
273
-
274
- # The snapto method is used to verify the status of a component's "snap to"
275
- # behavior.
276
- #
277
- # Returns a constant indicating the snapping behavior of the component
278
- # described by behavior. Snapping behavior is how the x-y plane of a component
279
- # instance will be snapped against a face. Possible values are:
280
- #
281
- # - +SnapTo_Arbitrary+ => Snap to any aribrary face,
282
- # - +SnapTo_Horizontal+ => Snap to horizontal face like floors,
283
- # - +SnapTo_Vertical+ => Snap to vertical face like walls,
284
- # - +SnapTo_Sloped+ => Snap to sloped face like sloping roofs.
285
- #
286
- # @example
287
- # model = Sketchup.active_model
288
- # behavior = model.definitions[0].behavior
289
- # status = behavior.snapto
290
- # if (status)
291
- # # if status is true, do something
292
- # else
293
- # # if status is false, do something else
294
- # end
295
- #
296
- # @return status - the status of the snapto behavior (either true
297
- # or false)
298
- #
299
- # @version SketchUp 6.0
300
- def snapto
301
- end
302
-
303
- # The snapto= method sets a component's "snap to" behavior.
304
- #
305
- # Snapping behavior is how the x-y plane of a component instance will be
306
- # snapped against a face. Possible constant values are:
307
- #
308
- # - +SnapTo_Arbitrary+ => Snap to any aribrary face,
309
- # - +SnapTo_Horizontal+ => Snap to horizontal face like floors,
310
- # - +SnapTo_Vertical+ => Snap to vertical face like walls,
311
- # - +SnapTo_Sloped+ => Snap to sloped face like sloping roofs.
312
- #
313
- # @example
314
- # model = Sketchup.active_model
315
- # behavior = model.definitions[0].behavior
316
- # behavior.snapto = SnapTo_Horizontal
317
- #
318
- # @param snapto
319
- # A numeric constant identifying one of the snapto
320
- # types.
321
- #
322
- # @return behavior - the Behavior object
323
- #
324
- # @version SketchUp 6.0
325
- def snapto=(snapto)
326
- end
327
-
328
- end
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # The Behavior class is used to control the "behavior" of components, which
5
+ # roughly correlates to the series of options that you see in the
6
+ # Components dialog under the "edit" tab, such as whether it casts shadows,
7
+ # glues to walls, etc.
8
+ #
9
+ # A Behavior object is accessed from a ComponentDefinition object, not created
10
+ # with a Behavior.new call.
11
+ #
12
+ # @example
13
+ # # Grab the Behavior object from the first component definition.
14
+ # model = Sketchup.active_model
15
+ # definition = model.definitions[0]
16
+ # behavior = definition.behavior
17
+ #
18
+ # @version SketchUp 6.0
19
+ class Sketchup::Behavior < Sketchup::Entity
20
+
21
+ # Instance Methods
22
+
23
+ # The always_face_camera= method is used to set the always_face_camera
24
+ # behavior for a component.
25
+ #
26
+ # If the always_face_camera behavior is true, a component will always try to
27
+ # orient itself so that the Y axis of the component is facing the camera.
28
+ #
29
+ # @example
30
+ # model = Sketchup.active_model
31
+ # behavior = model.definitions[0].behavior
32
+ # status = behavior.always_face_camera = false
33
+ #
34
+ # @param setting
35
+ # Sets the always_face_camera behavior to true or false.
36
+ #
37
+ # @return status - the status of the always_face_camera behavior.
38
+ #
39
+ # @version SketchUp 6.0
40
+ def always_face_camera=(setting)
41
+ end
42
+
43
+ # The always_face_camera? method is used to retrieve the always_face_camera
44
+ # behavior for a component.
45
+ #
46
+ # If the always_face_camera behavior is true, then a component will always try
47
+ # to orient itself so that the -Y axis of the component is facing the camera.
48
+ #
49
+ # @example
50
+ # model = Sketchup.active_model
51
+ # # Returns a DefinitionList
52
+ # definitions = model.definitions
53
+ # path = Sketchup.find_support_file "Bed.skp",
54
+ # "Components/Components Sampler/"
55
+ #
56
+ # begin
57
+ # definition = definitions.load path
58
+ # rescue
59
+ # UI.messagebox $!.message
60
+ # end
61
+ #
62
+ # behavior = definition.behavior
63
+ # b = behavior.always_face_camera?
64
+ # if (b)
65
+ # UI.messagebox b
66
+ # else
67
+ # UI.messagebox "Always Face Camera is equal to false"
68
+ # end
69
+ # status = behavior.always_face_camera = true
70
+ # b = behavior.always_face_camera?
71
+ # if (b)
72
+ # UI.messagebox b
73
+ # else
74
+ # UI.messagebox "Failure"
75
+ # end
76
+ #
77
+ # @return [Boolean] behavior - true if the component is set to always face
78
+ # the camera, false if the component is not set to always
79
+ # face camera.
80
+ #
81
+ # @version SketchUp 6.0
82
+ def always_face_camera?
83
+ end
84
+
85
+ # The cuts_opening= method is used to set the cut opening behavior for a
86
+ # component.
87
+ #
88
+ # @example
89
+ # model = Sketchup.active_model
90
+ # behavior = model.definitions[0].behavior
91
+ # behavior.cuts_opening = false
92
+ #
93
+ # @note To enable cut opening, also set {#is2d=} to true.
94
+ #
95
+ # @param setting
96
+ # Sets the cuts_opening behavior to true or false.
97
+ #
98
+ # @return status - the status of the cuts_opening behavior
99
+ # (either true or false)
100
+ #
101
+ # @version SketchUp 6.0
102
+ def cuts_opening=(setting)
103
+ end
104
+
105
+ # The cuts_opening? method is used to get the status of a component's cut
106
+ # opening behavior.
107
+ #
108
+ # @example
109
+ # model = Sketchup.active_model
110
+ # behavior = model.definitions[0].behavior
111
+ # status = behavior.cuts_opening?
112
+ #
113
+ # @return [Boolean]
114
+ #
115
+ # @version SketchUp 6.0
116
+ def cuts_opening?
117
+ end
118
+
119
+ # The {#is2d=} method is used to set whether the component can glue to other
120
+ # entities or not.
121
+ #
122
+ # @example
123
+ # model = Sketchup.active_model
124
+ # behavior = model.definitions[0].behavior
125
+ # behavior.is2d = false
126
+ #
127
+ # @param [Boolean] is2d
128
+ #
129
+ # @version SketchUp 6.0
130
+ def is2d=(is2d)
131
+ end
132
+
133
+ # The {#is2d?} method is used to get whether the component can glue to other
134
+ # entities or not.
135
+ #
136
+ # @example
137
+ # model = Sketchup.active_model
138
+ # behavior = model.definitions[0].behavior
139
+ # if behavior.is2d?
140
+ # # We can also set what planes component can glue to.
141
+ # behavior.snapto = SnapTo_Arbitrary
142
+ # end
143
+ #
144
+ # @return [Boolean]
145
+ #
146
+ # @version SketchUp 6.0
147
+ def is2d?
148
+ end
149
+
150
+ # Sets an integer that is really a bit-by-bit description of which scale
151
+ # tool handles are hidden on a given component. This is useful for creating
152
+ # definitions that can only be scaled in particular ways. If a bit contains a
153
+ # a 1, then a certain handle set will be hidden when the user selects the
154
+ # component and activates the Scale tool. Here is the map of which bits
155
+ # control which handles.
156
+ #
157
+ # - Bit0: disable scale along red (X),
158
+ # - Bit1: disable scale along green (Y),
159
+ # - Bit2: disable scale along blue (Z),
160
+ # - Bit3: disable scale in red/blue plane (X+Z),
161
+ # - Bit4: disable scale in green/blue plane (Y+Z),
162
+ # - Bit5: disable scale in red/green plane (X+Y),
163
+ # - Bit6: disable scale uniform (from corners) (XYZ).
164
+ #
165
+ # Note that for 2-dimensional components (such as face-me components), not all
166
+ # of the handles in the list above are even used. Also, if the component you
167
+ # are modifying is already selected with the scale tool, then you or your user
168
+ # must deactivate and reactivate the scale tool for your new behavior to take
169
+ # effect.
170
+ #
171
+ # @example
172
+ # # Disable the green and red-axes handles by setting bits 1 and 2 to 1.
173
+ # definition = Sketchup.active_model.definitions[0]
174
+ # behavior = definition.behavior
175
+ # behavior.no_scale_mask = (1 << 1) + (1 << 2)
176
+ #
177
+ # @param scale_mask
178
+ # An integer describing which scale tool
179
+ # handles are hidden.
180
+ #
181
+ # @return behavior - the Behavior object
182
+ #
183
+ # @version SketchUp 7.0
184
+ def no_scale_mask=(scale_mask)
185
+ end
186
+
187
+ # The no_scale_mask? method returns an integer that is a bit-by-bit
188
+ # description of which scale tool handles are hidden when the user selects
189
+ # this single component with the scale tool. See the no_scale_mask=
190
+ # method for details on the bit encodings used.
191
+ #
192
+ # @example
193
+ # definition = Sketchup.active_model.definitions[0]
194
+ # behavior = definition.behavior
195
+ # no_scale_mask = behavior.no_scale_mask?
196
+ #
197
+ # @return [Boolean] scale_mask - an integer describing which scale tool
198
+ # handles are hidden.
199
+ #
200
+ # @version SketchUp 7.0
201
+ def no_scale_mask?
202
+ end
203
+
204
+ # The shadows_face_sun= method is used to identify whether the component's
205
+ # shadow will be cast from the component's current position as though the
206
+ # component were facing the sun. See the Component entity within the SketchUp
207
+ # User's guide for more information on this feature.
208
+ #
209
+ # @example
210
+ # model = Sketchup.active_model
211
+ # behavior = model.definitions[0].behavior
212
+ # behavior = behavior.shadows_face_sun = true
213
+ #
214
+ # @param status
215
+ # true if the component's is to be cast from the
216
+ # component's current position as though the component
217
+ # were facing the sun. False to cause the shadow to be
218
+ # cast from the component's current position.
219
+ #
220
+ # @return behavior - the Behavior object
221
+ #
222
+ # @version SketchUp 6.0
223
+ def shadows_face_sun=(status)
224
+ end
225
+
226
+ # The shadows_face_sun? method is used to determine whether the component's
227
+ # shadow is being cast from the component's current position (as though the
228
+ # component were facing the sun). See the Component entity within the SketchUp
229
+ # User's guide for more information on this feature.
230
+ #
231
+ # @example
232
+ # model = Sketchup.active_model
233
+ # # Returns a DefinitionList
234
+ # definitions = model.definitions
235
+ # path = Sketchup.find_support_file "Bed.skp",
236
+ # "Components/Components Sampler/"
237
+ # begin
238
+ # definition = definitions.load path
239
+ # rescue
240
+ # UI.messagebox $!.message
241
+ # end
242
+ #
243
+ # @return [Boolean] status - true if the component's is to be cast from the
244
+ # component's current position as though the component
245
+ # were facing the sun. False to cause the shadow to be
246
+ # cast from the component's current position.
247
+ #
248
+ # @version SketchUp 6.0
249
+ def shadows_face_sun?
250
+ end
251
+
252
+ # The {#snapto} method is used to see how a component can glue to other
253
+ # entities.
254
+ #
255
+ # Returns a value indicating the snapping behavior of the component. Snapping
256
+ # behavior is how the x-y plane of a component instance will be snapped against
257
+ # a face. Possible values are:
258
+ #
259
+ # - +SnapTo_Arbitrary+ => Snap to any arbitrary face,
260
+ # - +SnapTo_Horizontal+ => Snap to horizontal face like floors,
261
+ # - +SnapTo_Vertical+ => Snap to vertical face like walls,
262
+ # - +SnapTo_Sloped+ => Snap to sloped face like sloping roofs.
263
+ #
264
+ # @example
265
+ # model = Sketchup.active_model
266
+ # behavior = model.definitions[0].behavior
267
+ # snapto = behavior.snapto
268
+ #
269
+ # @return [Integer]
270
+ #
271
+ # @version SketchUp 6.0
272
+ def snapto
273
+ end
274
+
275
+ # The {#snapto=} method is used to set how a component can glue to other
276
+ # entities.
277
+ #
278
+ # Snapping behavior is how the x-y plane of a component instance will be
279
+ # snapped against a face. Possible constant values are:
280
+ #
281
+ # - +SnapTo_Arbitrary+ => Snap to any arbitrary face,
282
+ # - +SnapTo_Horizontal+ => Snap to horizontal face like floors,
283
+ # - +SnapTo_Vertical+ => Snap to vertical face like walls,
284
+ # - +SnapTo_Sloped+ => Snap to sloped face like sloping roofs.
285
+ #
286
+ # @example
287
+ # model = Sketchup.active_model
288
+ # behavior = model.definitions[0].behavior
289
+ # behavior.is2d = true
290
+ # behavior.snapto = SnapTo_Horizontal
291
+ #
292
+ # @note To enable gluing, also set {#is2d=} to true.
293
+ #
294
+ # @note To disable gluing, set {#is2d=} to false.
295
+ #
296
+ # @param [Integer] snapto
297
+ #
298
+ # @version SketchUp 6.0
299
+ def snapto=(snapto)
300
+ end
301
+
302
+ end