sketchup-api-stubs 0.7.9 → 0.7.11

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 (160) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +157 -151
  3. data/lib/sketchup-api-stubs/stubs/Array.rb +741 -741
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -322
  5. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +182 -172
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +111 -126
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +423 -400
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +693 -661
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +535 -509
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +500 -476
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +267 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +133 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +547 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +678 -693
  16. data/lib/sketchup-api-stubs/stubs/Geom.rb +351 -351
  17. data/lib/sketchup-api-stubs/stubs/LanguageHandler.rb +93 -93
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -595
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +751 -747
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -183
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Dictionary.rb +234 -0
  23. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +683 -517
  24. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -148
  26. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +464 -353
  27. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -354
  28. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  29. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  30. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  31. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -370
  32. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  33. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  34. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -225
  35. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +614 -567
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  37. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  38. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +282 -183
  39. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +458 -387
  40. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -209
  41. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +346 -344
  42. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  43. data/lib/sketchup-api-stubs/stubs/Layout/ReferenceEntity.rb +82 -82
  44. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +714 -692
  45. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1565 -1519
  46. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  48. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  49. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  50. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  51. data/lib/sketchup-api-stubs/stubs/Length.rb +286 -278
  52. data/lib/sketchup-api-stubs/stubs/Numeric.rb +249 -249
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +196 -144
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -169
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +226 -209
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +145 -150
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +294 -281
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +296 -302
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +473 -478
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +121 -121
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +673 -659
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +600 -593
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +252 -257
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -201
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +443 -449
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -74
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -104
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +167 -165
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -306
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -42
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +403 -406
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -397
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1282 -1239
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -261
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +519 -545
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Environment.rb +406 -0
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Environments.rb +185 -0
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/EnvironmentsObserver.rb +113 -0
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +122 -125
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +1006 -937
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -102
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +740 -750
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +289 -282
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +64 -62
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +405 -468
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -266
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -189
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +432 -406
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -84
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +307 -306
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +332 -326
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +380 -422
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +409 -427
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +241 -249
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +55 -48
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +114 -114
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/LoadHandler.rb +70 -0
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +1115 -414
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +330 -317
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -142
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -93
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1714 -1652
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +372 -357
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +133 -130
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -271
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +463 -490
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +104 -116
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +939 -797
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +388 -361
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +501 -478
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +385 -361
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -45
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +451 -458
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +211 -212
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +259 -255
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -59
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -40
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/Snap.rb +125 -0
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +88 -69
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +263 -217
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +283 -262
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +199 -217
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +924 -834
  143. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  144. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -156
  145. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -75
  146. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +143 -142
  147. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1566 -1311
  148. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +71 -45
  149. data/lib/sketchup-api-stubs/stubs/Sketchup.rb +1429 -1377
  150. data/lib/sketchup-api-stubs/stubs/SketchupExtension.rb +353 -353
  151. data/lib/sketchup-api-stubs/stubs/String.rb +24 -24
  152. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +399 -389
  153. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +580 -494
  154. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +280 -269
  155. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +258 -241
  156. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +636 -635
  157. data/lib/sketchup-api-stubs/stubs/UI.rb +791 -683
  158. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -303
  159. data/lib/sketchup-api-stubs.rb +1 -1
  160. metadata +10 -24
@@ -1,302 +1,296 @@
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
1
+ # Copyright:: Copyright 2026 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
+ # definition = definitions.load path
56
+ # behavior = definition.behavior
57
+ # b = behavior.always_face_camera?
58
+ # if (b)
59
+ # puts "Component faces camera"
60
+ # else
61
+ # puts "Component does not face camera"
62
+ # end
63
+ # status = behavior.always_face_camera = true
64
+ # b = behavior.always_face_camera?
65
+ # if (b)
66
+ # puts "Alwas Face Camera is equal to true"
67
+ # else
68
+ # puts "Failure"
69
+ # end
70
+ #
71
+ # @return [Boolean] behavior - true if the component is set to always face
72
+ # the camera, false if the component is not set to always
73
+ # face camera.
74
+ #
75
+ # @version SketchUp 6.0
76
+ def always_face_camera?
77
+ end
78
+
79
+ # The cuts_opening= method is used to set the cut opening behavior for a
80
+ # component.
81
+ #
82
+ # @example
83
+ # model = Sketchup.active_model
84
+ # behavior = model.definitions[0].behavior
85
+ # behavior.cuts_opening = false
86
+ #
87
+ # @note To enable cut opening, also set {#is2d=} to true.
88
+ #
89
+ # @param setting
90
+ # Sets the cuts_opening behavior to true or false.
91
+ #
92
+ # @return status - the status of the cuts_opening behavior
93
+ # (either true or false)
94
+ #
95
+ # @version SketchUp 6.0
96
+ def cuts_opening=(setting)
97
+ end
98
+
99
+ # The cuts_opening? method is used to get the status of a component's cut
100
+ # opening behavior.
101
+ #
102
+ # @example
103
+ # model = Sketchup.active_model
104
+ # behavior = model.definitions[0].behavior
105
+ # status = behavior.cuts_opening?
106
+ #
107
+ # @return [Boolean]
108
+ #
109
+ # @version SketchUp 6.0
110
+ def cuts_opening?
111
+ end
112
+
113
+ # The {#is2d=} method is used to set whether the component can glue to other
114
+ # entities or not.
115
+ #
116
+ # @example
117
+ # model = Sketchup.active_model
118
+ # behavior = model.definitions[0].behavior
119
+ # behavior.is2d = false
120
+ #
121
+ # @param [Boolean] is2d
122
+ #
123
+ # @version SketchUp 6.0
124
+ def is2d=(is2d)
125
+ end
126
+
127
+ # The {#is2d?} method is used to get whether the component can glue to other
128
+ # entities or not.
129
+ #
130
+ # @example
131
+ # model = Sketchup.active_model
132
+ # behavior = model.definitions[0].behavior
133
+ # if behavior.is2d?
134
+ # # We can also set what planes component can glue to.
135
+ # behavior.snapto = SnapTo_Arbitrary
136
+ # end
137
+ #
138
+ # @return [Boolean]
139
+ #
140
+ # @version SketchUp 6.0
141
+ def is2d?
142
+ end
143
+
144
+ # Sets an integer that is really a bit-by-bit description of which scale
145
+ # tool handles are hidden on a given component. This is useful for creating
146
+ # definitions that can only be scaled in particular ways. If a bit contains a
147
+ # a 1, then a certain handle set will be hidden when the user selects the
148
+ # component and activates the Scale tool. Here is the map of which bits
149
+ # control which handles.
150
+ #
151
+ # - Bit0: disable scale along red (X),
152
+ # - Bit1: disable scale along green (Y),
153
+ # - Bit2: disable scale along blue (Z),
154
+ # - Bit3: disable scale in red/blue plane (X+Z),
155
+ # - Bit4: disable scale in green/blue plane (Y+Z),
156
+ # - Bit5: disable scale in red/green plane (X+Y),
157
+ # - Bit6: disable scale uniform (from corners) (XYZ).
158
+ #
159
+ # Note that for 2-dimensional components (such as face-me components), not all
160
+ # of the handles in the list above are even used. Also, if the component you
161
+ # are modifying is already selected with the scale tool, then you or your user
162
+ # must deactivate and reactivate the scale tool for your new behavior to take
163
+ # effect.
164
+ #
165
+ # @example
166
+ # # Disable the green and red-axes handles by setting bits 1 and 2 to 1.
167
+ # definition = Sketchup.active_model.definitions[0]
168
+ # behavior = definition.behavior
169
+ # behavior.no_scale_mask = (1 << 1) + (1 << 2)
170
+ #
171
+ # @param scale_mask
172
+ # An integer describing which scale tool
173
+ # handles are hidden.
174
+ #
175
+ # @return behavior - the Behavior object
176
+ #
177
+ # @version SketchUp 7.0
178
+ def no_scale_mask=(scale_mask)
179
+ end
180
+
181
+ # The no_scale_mask? method returns an integer that is a bit-by-bit
182
+ # description of which scale tool handles are hidden when the user selects
183
+ # this single component with the scale tool. See the no_scale_mask=
184
+ # method for details on the bit encodings used.
185
+ #
186
+ # @example
187
+ # definition = Sketchup.active_model.definitions[0]
188
+ # behavior = definition.behavior
189
+ # no_scale_mask = behavior.no_scale_mask?
190
+ #
191
+ # @return [Boolean] scale_mask - an integer describing which scale tool
192
+ # handles are hidden.
193
+ #
194
+ # @version SketchUp 7.0
195
+ def no_scale_mask?
196
+ end
197
+
198
+ # The shadows_face_sun= method is used to identify whether the component's
199
+ # shadow will be cast from the component's current position as though the
200
+ # component were facing the sun. See the Component entity within the SketchUp
201
+ # User's guide for more information on this feature.
202
+ #
203
+ # @example
204
+ # model = Sketchup.active_model
205
+ # behavior = model.definitions[0].behavior
206
+ # behavior = behavior.shadows_face_sun = true
207
+ #
208
+ # @param status
209
+ # true if the component's is to be cast from the
210
+ # component's current position as though the component
211
+ # were facing the sun. False to cause the shadow to be
212
+ # cast from the component's current position.
213
+ #
214
+ # @return behavior - the Behavior object
215
+ #
216
+ # @version SketchUp 6.0
217
+ def shadows_face_sun=(status)
218
+ end
219
+
220
+ # The shadows_face_sun? method is used to determine whether the component's
221
+ # shadow is being cast from the component's current position (as though the
222
+ # component were facing the sun). See the Component entity within the SketchUp
223
+ # User's guide for more information on this feature.
224
+ #
225
+ # @example
226
+ # model = Sketchup.active_model
227
+ # # Returns a DefinitionList
228
+ # definitions = model.definitions
229
+ # path = Sketchup.find_support_file "Bed.skp",
230
+ # "Components/Components Sampler/"
231
+ # begin
232
+ # definition = definitions.load path
233
+ # rescue => exception
234
+ # puts exception.message
235
+ # end
236
+ #
237
+ # @return [Boolean] status - 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
+ # @version SketchUp 6.0
243
+ def shadows_face_sun?
244
+ end
245
+
246
+ # The {#snapto} method is used to see how a component can glue to other
247
+ # entities.
248
+ #
249
+ # Returns a value indicating the snapping behavior of the component. Snapping
250
+ # behavior is how the x-y plane of a component instance will be snapped against
251
+ # a face. Possible values are:
252
+ #
253
+ # - +SnapTo_Arbitrary+ => Snap to any arbitrary face,
254
+ # - +SnapTo_Horizontal+ => Snap to horizontal face like floors,
255
+ # - +SnapTo_Vertical+ => Snap to vertical face like walls,
256
+ # - +SnapTo_Sloped+ => Snap to sloped face like sloping roofs.
257
+ #
258
+ # @example
259
+ # model = Sketchup.active_model
260
+ # behavior = model.definitions[0].behavior
261
+ # snapto = behavior.snapto
262
+ #
263
+ # @return [Integer]
264
+ #
265
+ # @version SketchUp 6.0
266
+ def snapto
267
+ end
268
+
269
+ # The {#snapto=} method is used to set how a component can glue to other
270
+ # entities.
271
+ #
272
+ # Snapping behavior is how the x-y plane of a component instance will be
273
+ # snapped against a face. Possible constant values are:
274
+ #
275
+ # - +SnapTo_Arbitrary+ => Snap to any arbitrary face,
276
+ # - +SnapTo_Horizontal+ => Snap to horizontal face like floors,
277
+ # - +SnapTo_Vertical+ => Snap to vertical face like walls,
278
+ # - +SnapTo_Sloped+ => Snap to sloped face like sloping roofs.
279
+ #
280
+ # @example
281
+ # model = Sketchup.active_model
282
+ # behavior = model.definitions[0].behavior
283
+ # behavior.is2d = true
284
+ # behavior.snapto = SnapTo_Horizontal
285
+ #
286
+ # @note To enable gluing, also set {#is2d=} to true.
287
+ #
288
+ # @note To disable gluing, set {#is2d=} to false.
289
+ #
290
+ # @param [Integer] snapto
291
+ #
292
+ # @version SketchUp 6.0
293
+ def snapto=(snapto)
294
+ end
295
+
296
+ end