sketchup-api-stubs 0.7.7 → 0.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +151 -147
  3. data/lib/sketchup-api-stubs/stubs/{array.rb → Array.rb} +741 -741
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -322
  5. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +509 -509
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +476 -478
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +693 -691
  16. data/lib/sketchup-api-stubs/stubs/{geom.rb → Geom.rb} +351 -351
  17. data/lib/sketchup-api-stubs/stubs/{languagehandler.rb → LanguageHandler.rb} +93 -92
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -573
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +747 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -179
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +517 -515
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -148
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -349
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  30. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -370
  31. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  32. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  33. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -225
  34. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  37. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
  38. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
  39. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -209
  40. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
  41. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  42. data/lib/sketchup-api-stubs/stubs/Layout/ReferenceEntity.rb +82 -0
  43. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +692 -694
  44. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  45. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  48. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  49. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  50. data/lib/sketchup-api-stubs/stubs/{length.rb → Length.rb} +278 -278
  51. data/lib/sketchup-api-stubs/stubs/{numeric.rb → Numeric.rb} +249 -249
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -144
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -157
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +150 -152
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -286
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -302
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -478
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +121 -122
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +659 -577
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -594
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -201
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +449 -425
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -74
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -104
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -306
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -42
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +406 -396
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -502
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1239 -1126
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -0
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -545
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -126
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -917
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -104
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -750
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +282 -292
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -468
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -266
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -189
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +406 -405
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -84
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -306
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -327
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -422
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -427
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -249
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +114 -112
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -414
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +317 -318
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -142
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -93
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1652 -1654
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -357
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +130 -131
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -284
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +490 -0
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +116 -0
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -797
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +361 -363
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -478
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +361 -364
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -45
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +458 -459
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +255 -257
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -59
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -40
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -217
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -217
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +834 -835
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -156
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -71
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1311 -1307
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
  143. data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1377 -1353
  144. data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
  145. data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
  146. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -317
  147. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +494 -478
  148. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -269
  149. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +241 -240
  150. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
  151. data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -672
  152. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -311
  153. data/lib/sketchup-api-stubs.rb +1 -1
  154. metadata +20 -16
@@ -1,302 +1,302 @@
1
- # Copyright:: Copyright 2021 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
1
+ # Copyright:: Copyright 2023 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