scriptup 0.0.0

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 (241) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +11 -0
  3. data/README.md +5 -0
  4. data/ext/attribute_dictionaries.c +45 -0
  5. data/ext/attribute_dictionaries.h +3 -0
  6. data/ext/attribute_dictionary.c +156 -0
  7. data/ext/attribute_dictionary.h +3 -0
  8. data/ext/behavior.c +10 -0
  9. data/ext/behavior.h +3 -0
  10. data/ext/color.c +211 -0
  11. data/ext/color.h +3 -0
  12. data/ext/component_definition.c +188 -0
  13. data/ext/component_definition.h +3 -0
  14. data/ext/component_instance.c +10 -0
  15. data/ext/component_instance.h +3 -0
  16. data/ext/definition_list.c +145 -0
  17. data/ext/definition_list.h +3 -0
  18. data/ext/drawing_element.c +10 -0
  19. data/ext/drawing_element.h +3 -0
  20. data/ext/entities.c +11 -0
  21. data/ext/entities.h +3 -0
  22. data/ext/entity.c +253 -0
  23. data/ext/entity.h +3 -0
  24. data/ext/extconf.rb +38 -0
  25. data/ext/material.c +242 -0
  26. data/ext/material.h +3 -0
  27. data/ext/materials.c +80 -0
  28. data/ext/materials.h +3 -0
  29. data/ext/model.c +42 -0
  30. data/ext/model.h +3 -0
  31. data/ext/sketchup.c +89 -0
  32. data/ext/sketchup.h +4 -0
  33. data/ext/texture.c +9 -0
  34. data/ext/texture.h +3 -0
  35. data/ext/typed_value.c +84 -0
  36. data/ext/typed_value.h +5 -0
  37. data/ext/utils.h +80 -0
  38. data/lib/sketchup.rb +12 -0
  39. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/application/application.h +36 -0
  40. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/application/model.h +59 -0
  41. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/application/overlay.h +248 -0
  42. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/application/ruby_api.h +118 -0
  43. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/color.h +107 -0
  44. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/common.h +178 -0
  45. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/defs.h +19 -0
  46. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/extension_license.h +62 -0
  47. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/bounding_box.h +34 -0
  48. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/plane3d.h +153 -0
  49. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/point2d.h +96 -0
  50. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/point3d.h +98 -0
  51. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/ray3d.h +64 -0
  52. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/transformation.h +321 -0
  53. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/transformation2d.h +163 -0
  54. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/vector2d.h +235 -0
  55. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/vector3d.h +285 -0
  56. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry.h +152 -0
  57. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/import_export/modelexporterplugin.h +165 -0
  58. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/import_export/modelimporterplugin.h +183 -0
  59. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/import_export/pluginprogresscallback.h +84 -0
  60. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/initialize.h +43 -0
  61. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/length_formatter.h +424 -0
  62. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/arccurve.h +244 -0
  63. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/arrow_type.h +17 -0
  64. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/attribute_dictionary.h +161 -0
  65. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/axes.h +242 -0
  66. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/camera.h +398 -0
  67. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/classification_attribute.h +89 -0
  68. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/classification_info.h +125 -0
  69. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/classifications.h +86 -0
  70. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/component_definition.h +588 -0
  71. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/component_instance.h +344 -0
  72. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/curve.h +143 -0
  73. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/defs.h +142 -0
  74. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/dimension.h +222 -0
  75. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/dimension_linear.h +421 -0
  76. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/dimension_radial.h +194 -0
  77. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/dimension_style.h +253 -0
  78. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/drawing_element.h +198 -0
  79. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/dynamic_component_attribute.h +92 -0
  80. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/dynamic_component_info.h +70 -0
  81. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/edge.h +271 -0
  82. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/edge_use.h +214 -0
  83. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/entities.h +834 -0
  84. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/entity.h +186 -0
  85. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/entity_list.h +80 -0
  86. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/entity_list_iterator.h +90 -0
  87. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/face.h +686 -0
  88. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/font.h +138 -0
  89. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/geometry.h +20 -0
  90. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/geometry_input.h +685 -0
  91. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/group.h +244 -0
  92. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/guide_line.h +155 -0
  93. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/guide_point.h +153 -0
  94. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/image.h +288 -0
  95. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/image_rep.h +275 -0
  96. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/instancepath.h +266 -0
  97. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/layer.h +265 -0
  98. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/layer_folder.h +301 -0
  99. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/line_style.h +211 -0
  100. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/line_styles.h +81 -0
  101. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/location.h +65 -0
  102. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/loop.h +182 -0
  103. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/material.h +390 -0
  104. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/mesh_helper.h +187 -0
  105. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/model.h +1663 -0
  106. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/model_version.h +49 -0
  107. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/opening.h +72 -0
  108. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/options_manager.h +79 -0
  109. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/options_provider.h +166 -0
  110. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/polyline3d.h +140 -0
  111. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/rendering_options.h +179 -0
  112. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/scene.h +836 -0
  113. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/schema.h +56 -0
  114. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/schema_type.h +26 -0
  115. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/section_plane.h +212 -0
  116. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/selection.h +156 -0
  117. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/shadow_info.h +147 -0
  118. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/skp.h +45 -0
  119. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/style.h +303 -0
  120. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/styles.h +190 -0
  121. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/text.h +384 -0
  122. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/texture.h +358 -0
  123. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/texture_writer.h +280 -0
  124. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/typed_value.h +390 -0
  125. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/uv_helper.h +79 -0
  126. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/vertex.h +154 -0
  127. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/sketchup.h +122 -0
  128. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/sketchup_info.h +65 -0
  129. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/slapi.h +16 -0
  130. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/transformation.h +16 -0
  131. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/unicodestring.h +239 -0
  132. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/utils/math_helpers.h +124 -0
  133. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Libraries/libCommonGeometry.dylib +0 -0
  134. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Libraries/libCommonGeoutils.dylib +0 -0
  135. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Libraries/libCommonImage.dylib +0 -0
  136. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Libraries/libCommonPreferences.dylib +0 -0
  137. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Libraries/libCommonUnits.dylib +0 -0
  138. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Libraries/libCommonUtils.dylib +0 -0
  139. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Libraries/libCommonZip.dylib +0 -0
  140. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Resources/Info.plist +50 -0
  141. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/SketchUpAPI +0 -0
  142. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/_CodeSignature/CodeResources +835 -0
  143. data/sketchup-sdk-win/binaries/sketchup/x64/SketchUpAPI.dll +0 -0
  144. data/sketchup-sdk-win/binaries/sketchup/x64/SketchUpAPI.lib +0 -0
  145. data/sketchup-sdk-win/binaries/sketchup/x64/SketchUpCommonPreferences.dll +0 -0
  146. data/sketchup-sdk-win/binaries/sketchup/x64/sketchup.lib +0 -0
  147. data/sketchup-sdk-win/headers/SketchUpAPI/application/application.h +36 -0
  148. data/sketchup-sdk-win/headers/SketchUpAPI/application/model.h +59 -0
  149. data/sketchup-sdk-win/headers/SketchUpAPI/application/overlay.h +248 -0
  150. data/sketchup-sdk-win/headers/SketchUpAPI/application/ruby_api.h +118 -0
  151. data/sketchup-sdk-win/headers/SketchUpAPI/color.h +107 -0
  152. data/sketchup-sdk-win/headers/SketchUpAPI/common.h +178 -0
  153. data/sketchup-sdk-win/headers/SketchUpAPI/defs.h +19 -0
  154. data/sketchup-sdk-win/headers/SketchUpAPI/extension_license.h +62 -0
  155. data/sketchup-sdk-win/headers/SketchUpAPI/geometry/bounding_box.h +34 -0
  156. data/sketchup-sdk-win/headers/SketchUpAPI/geometry/plane3d.h +153 -0
  157. data/sketchup-sdk-win/headers/SketchUpAPI/geometry/point2d.h +96 -0
  158. data/sketchup-sdk-win/headers/SketchUpAPI/geometry/point3d.h +98 -0
  159. data/sketchup-sdk-win/headers/SketchUpAPI/geometry/ray3d.h +64 -0
  160. data/sketchup-sdk-win/headers/SketchUpAPI/geometry/transformation.h +321 -0
  161. data/sketchup-sdk-win/headers/SketchUpAPI/geometry/transformation2d.h +163 -0
  162. data/sketchup-sdk-win/headers/SketchUpAPI/geometry/vector2d.h +235 -0
  163. data/sketchup-sdk-win/headers/SketchUpAPI/geometry/vector3d.h +285 -0
  164. data/sketchup-sdk-win/headers/SketchUpAPI/geometry.h +152 -0
  165. data/sketchup-sdk-win/headers/SketchUpAPI/import_export/modelexporterplugin.h +165 -0
  166. data/sketchup-sdk-win/headers/SketchUpAPI/import_export/modelimporterplugin.h +183 -0
  167. data/sketchup-sdk-win/headers/SketchUpAPI/import_export/pluginprogresscallback.h +84 -0
  168. data/sketchup-sdk-win/headers/SketchUpAPI/initialize.h +43 -0
  169. data/sketchup-sdk-win/headers/SketchUpAPI/length_formatter.h +424 -0
  170. data/sketchup-sdk-win/headers/SketchUpAPI/model/arccurve.h +244 -0
  171. data/sketchup-sdk-win/headers/SketchUpAPI/model/arrow_type.h +17 -0
  172. data/sketchup-sdk-win/headers/SketchUpAPI/model/attribute_dictionary.h +161 -0
  173. data/sketchup-sdk-win/headers/SketchUpAPI/model/axes.h +242 -0
  174. data/sketchup-sdk-win/headers/SketchUpAPI/model/camera.h +398 -0
  175. data/sketchup-sdk-win/headers/SketchUpAPI/model/classification_attribute.h +89 -0
  176. data/sketchup-sdk-win/headers/SketchUpAPI/model/classification_info.h +125 -0
  177. data/sketchup-sdk-win/headers/SketchUpAPI/model/classifications.h +86 -0
  178. data/sketchup-sdk-win/headers/SketchUpAPI/model/component_definition.h +588 -0
  179. data/sketchup-sdk-win/headers/SketchUpAPI/model/component_instance.h +344 -0
  180. data/sketchup-sdk-win/headers/SketchUpAPI/model/curve.h +143 -0
  181. data/sketchup-sdk-win/headers/SketchUpAPI/model/defs.h +142 -0
  182. data/sketchup-sdk-win/headers/SketchUpAPI/model/dimension.h +222 -0
  183. data/sketchup-sdk-win/headers/SketchUpAPI/model/dimension_linear.h +421 -0
  184. data/sketchup-sdk-win/headers/SketchUpAPI/model/dimension_radial.h +194 -0
  185. data/sketchup-sdk-win/headers/SketchUpAPI/model/dimension_style.h +253 -0
  186. data/sketchup-sdk-win/headers/SketchUpAPI/model/drawing_element.h +198 -0
  187. data/sketchup-sdk-win/headers/SketchUpAPI/model/dynamic_component_attribute.h +92 -0
  188. data/sketchup-sdk-win/headers/SketchUpAPI/model/dynamic_component_info.h +70 -0
  189. data/sketchup-sdk-win/headers/SketchUpAPI/model/edge.h +271 -0
  190. data/sketchup-sdk-win/headers/SketchUpAPI/model/edge_use.h +214 -0
  191. data/sketchup-sdk-win/headers/SketchUpAPI/model/entities.h +834 -0
  192. data/sketchup-sdk-win/headers/SketchUpAPI/model/entity.h +186 -0
  193. data/sketchup-sdk-win/headers/SketchUpAPI/model/entity_list.h +80 -0
  194. data/sketchup-sdk-win/headers/SketchUpAPI/model/entity_list_iterator.h +90 -0
  195. data/sketchup-sdk-win/headers/SketchUpAPI/model/face.h +686 -0
  196. data/sketchup-sdk-win/headers/SketchUpAPI/model/font.h +138 -0
  197. data/sketchup-sdk-win/headers/SketchUpAPI/model/geometry.h +20 -0
  198. data/sketchup-sdk-win/headers/SketchUpAPI/model/geometry_input.h +685 -0
  199. data/sketchup-sdk-win/headers/SketchUpAPI/model/group.h +244 -0
  200. data/sketchup-sdk-win/headers/SketchUpAPI/model/guide_line.h +155 -0
  201. data/sketchup-sdk-win/headers/SketchUpAPI/model/guide_point.h +153 -0
  202. data/sketchup-sdk-win/headers/SketchUpAPI/model/image.h +288 -0
  203. data/sketchup-sdk-win/headers/SketchUpAPI/model/image_rep.h +275 -0
  204. data/sketchup-sdk-win/headers/SketchUpAPI/model/instancepath.h +266 -0
  205. data/sketchup-sdk-win/headers/SketchUpAPI/model/layer.h +265 -0
  206. data/sketchup-sdk-win/headers/SketchUpAPI/model/layer_folder.h +301 -0
  207. data/sketchup-sdk-win/headers/SketchUpAPI/model/line_style.h +211 -0
  208. data/sketchup-sdk-win/headers/SketchUpAPI/model/line_styles.h +81 -0
  209. data/sketchup-sdk-win/headers/SketchUpAPI/model/location.h +65 -0
  210. data/sketchup-sdk-win/headers/SketchUpAPI/model/loop.h +182 -0
  211. data/sketchup-sdk-win/headers/SketchUpAPI/model/material.h +390 -0
  212. data/sketchup-sdk-win/headers/SketchUpAPI/model/mesh_helper.h +187 -0
  213. data/sketchup-sdk-win/headers/SketchUpAPI/model/model.h +1663 -0
  214. data/sketchup-sdk-win/headers/SketchUpAPI/model/model_version.h +49 -0
  215. data/sketchup-sdk-win/headers/SketchUpAPI/model/opening.h +72 -0
  216. data/sketchup-sdk-win/headers/SketchUpAPI/model/options_manager.h +79 -0
  217. data/sketchup-sdk-win/headers/SketchUpAPI/model/options_provider.h +166 -0
  218. data/sketchup-sdk-win/headers/SketchUpAPI/model/polyline3d.h +140 -0
  219. data/sketchup-sdk-win/headers/SketchUpAPI/model/rendering_options.h +179 -0
  220. data/sketchup-sdk-win/headers/SketchUpAPI/model/scene.h +836 -0
  221. data/sketchup-sdk-win/headers/SketchUpAPI/model/schema.h +56 -0
  222. data/sketchup-sdk-win/headers/SketchUpAPI/model/schema_type.h +26 -0
  223. data/sketchup-sdk-win/headers/SketchUpAPI/model/section_plane.h +212 -0
  224. data/sketchup-sdk-win/headers/SketchUpAPI/model/selection.h +156 -0
  225. data/sketchup-sdk-win/headers/SketchUpAPI/model/shadow_info.h +147 -0
  226. data/sketchup-sdk-win/headers/SketchUpAPI/model/skp.h +45 -0
  227. data/sketchup-sdk-win/headers/SketchUpAPI/model/style.h +303 -0
  228. data/sketchup-sdk-win/headers/SketchUpAPI/model/styles.h +190 -0
  229. data/sketchup-sdk-win/headers/SketchUpAPI/model/text.h +384 -0
  230. data/sketchup-sdk-win/headers/SketchUpAPI/model/texture.h +358 -0
  231. data/sketchup-sdk-win/headers/SketchUpAPI/model/texture_writer.h +280 -0
  232. data/sketchup-sdk-win/headers/SketchUpAPI/model/typed_value.h +390 -0
  233. data/sketchup-sdk-win/headers/SketchUpAPI/model/uv_helper.h +79 -0
  234. data/sketchup-sdk-win/headers/SketchUpAPI/model/vertex.h +154 -0
  235. data/sketchup-sdk-win/headers/SketchUpAPI/sketchup.h +122 -0
  236. data/sketchup-sdk-win/headers/SketchUpAPI/sketchup_info.h +65 -0
  237. data/sketchup-sdk-win/headers/SketchUpAPI/slapi.h +16 -0
  238. data/sketchup-sdk-win/headers/SketchUpAPI/transformation.h +16 -0
  239. data/sketchup-sdk-win/headers/SketchUpAPI/unicodestring.h +239 -0
  240. data/sketchup-sdk-win/headers/SketchUpAPI/utils/math_helpers.h +124 -0
  241. metadata +313 -0
@@ -0,0 +1,836 @@
1
+ // Copyright 2013 Trimble Inc. All Rights Reserved.
2
+
3
+ /**
4
+ * @file
5
+ * @brief Interfaces for SUSceneRef.
6
+ */
7
+ #ifndef SKETCHUP_MODEL_SCENE_H_
8
+ #define SKETCHUP_MODEL_SCENE_H_
9
+
10
+ #include <SketchUpAPI/common.h>
11
+ #include <SketchUpAPI/unicodestring.h>
12
+ #include <SketchUpAPI/model/defs.h>
13
+
14
+ #ifdef __cplusplus
15
+ extern "C" {
16
+ #endif
17
+
18
+ /**
19
+ @struct SUSceneRef
20
+ @extends SUEntityRef
21
+ @brief Used to get and set a scene's camera views, using the \ref SUCameraRef
22
+ object.
23
+ */
24
+
25
+ /**
26
+ * @anchor SUSceneFlags
27
+ * @name Scene Flags
28
+ * @brief Flags for SUSceneGetFlags() and SUSceneSetFlags(). These are combined
29
+ * bitwise.
30
+ * @see SUSceneRef
31
+ * @{
32
+ */
33
+ #define FLAG_USE_CAMERA 0x0001
34
+ #define FLAG_USE_RENDERING_OPTIONS 0x0002
35
+ #define FLAG_USE_SHADOWINFO 0x0004
36
+ #define FLAG_USE_AXES 0x0008
37
+ #define FLAG_USE_HIDDEN 0x0010
38
+ #define FLAG_USE_LAYER_VISIBILITY 0x0020
39
+ #define FLAG_USE_SECTION_PLANES 0x0040
40
+ #define FLAG_USE_HIDDEN_GEOMETRY 0x0080
41
+ #define FLAG_USE_HIDDEN_OBJECTS 0x0100
42
+
43
+ #define FLAG_USE_ALL 0x0fff
44
+ #define FLAG_NO_CAMERA 0x0ffe
45
+ /**@}*/
46
+
47
+ /**
48
+ @brief Converts from an \ref SUSceneRef to an \ref SUEntityRef. This is
49
+ essentially an upcast operation.
50
+ @param[in] scene The given scene reference.
51
+ @related SUSceneRef
52
+ @return
53
+ - The converted \ref SUEntityRef if scene is a valid object. If not, the
54
+ returned reference will be invalid.
55
+ */
56
+ SU_EXPORT SUEntityRef SUSceneToEntity(SUSceneRef scene);
57
+
58
+ /**
59
+ @brief Converts from an \ref SUEntityRef to an \ref SUSceneRef. This is
60
+ essentially a downcast operation so the given \ref SUEntityRef must be
61
+ convertible to an \ref SUSceneRef.
62
+ @param[in] entity The entity reference.
63
+ @related SUSceneRef
64
+ @return
65
+ - The converted \ref SUSceneRef if the downcast operation succeeds. If not, the
66
+ returned reference will be invalid.
67
+ */
68
+ SU_EXPORT SUSceneRef SUSceneFromEntity(SUEntityRef entity);
69
+
70
+ /**
71
+ @brief Creates an empty scene object.
72
+ @param[out] scene The scene object created.
73
+ @related SUSceneRef
74
+ @return
75
+ - \ref SU_ERROR_NONE on success
76
+ - \ref SU_ERROR_NULL_POINTER_INPUT if scene is NULL
77
+ - \ref SU_ERROR_OVERWRITE_VALID if face already refers to a valid object
78
+ */
79
+ SU_RESULT SUSceneCreate(SUSceneRef* scene);
80
+
81
+ /**
82
+ @brief Releases a scene object.
83
+ @param[in] scene The scene object.
84
+ @related SUSceneRef
85
+ @return
86
+ - \ref SU_ERROR_NONE on success
87
+ - \ref SU_ERROR_INVALID_INPUT if scene is an invalid object
88
+ - \ref SU_ERROR_NULL_POINTER_INPUT if scene is NULL
89
+ */
90
+ SU_RESULT SUSceneRelease(SUSceneRef* scene);
91
+
92
+ /**
93
+ @brief Retrieves the "use camera" setting of a scene object.
94
+ @since SketchUp 2016, API 4.0
95
+ @param[in] scene The scene object.
96
+ @param[out] use_camera The setting retrieved.
97
+ @related SUSceneRef
98
+ @return
99
+ - \ref SU_ERROR_NONE on success
100
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
101
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if use_camera is NULL
102
+ */
103
+ SU_RESULT SUSceneGetUseCamera(SUSceneRef scene, bool* use_camera);
104
+
105
+ /**
106
+ @brief Sets the "use camera" setting of a scene object.
107
+ @since SketchUp 2016, API 4.0
108
+ @param[in] scene The scene object.
109
+ @param[in] use_camera The current setting for whether or not the camera is used.
110
+ @related SUSceneRef
111
+ @return
112
+ - \ref SU_ERROR_NONE on success
113
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
114
+ */
115
+ SU_RESULT SUSceneSetUseCamera(SUSceneRef scene, bool use_camera);
116
+
117
+ /**
118
+ @brief Retrieves the camera of a scene object. The returned camera object
119
+ points to scene's internal camera. So the camera must not be released
120
+ via SUCameraRelease().
121
+ @param[in] scene The scene object.
122
+ @param[out] camera The camera object retrieved.
123
+ @related SUSceneRef
124
+ @return
125
+ - \ref SU_ERROR_NONE on success
126
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
127
+ - \ref SU_ERROR_NULL_POINTER_INPUT if camera is NULL
128
+ */
129
+ SU_RESULT SUSceneGetCamera(SUSceneRef scene, SUCameraRef* camera);
130
+
131
+ /**
132
+ @brief Sets a given scene's camera object. The scene does not take ownership
133
+ of the provided camera, it just copies the properties to the scene's
134
+ owned camera. If the input camera was created using SUCameraCreate()
135
+ it must be released using SUCameraRelease().
136
+ @since SketchUp 2016, API 4.0
137
+ @param[in] scene The scene object.
138
+ @param[in] camera The camera object to be set.
139
+ @related SUSceneRef
140
+ @return
141
+ - \ref SU_ERROR_NONE on success
142
+ - \ref SU_ERROR_INVALID_INPUT if scene or camera are not a valid objects
143
+ */
144
+ SU_RESULT SUSceneSetCamera(SUSceneRef scene, SUCameraRef camera);
145
+
146
+ /**
147
+ @brief Retrieves the "include in animation" setting of a scene object.
148
+ @since SketchUp 2018, API 6.0
149
+ @param[in] scene The scene object.
150
+ @param[out] include_in_animation The current setting for whether or not to
151
+ include in animation.
152
+ @related SUSceneRef
153
+ @return
154
+ - \ref SU_ERROR_NONE on success
155
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
156
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if include_in_animation is NULL
157
+ */
158
+ SU_RESULT SUSceneGetIncludeInAnimation(SUSceneRef scene, bool* include_in_animation);
159
+
160
+ /**
161
+ @brief Sets the "include in animation" setting of a scene object.
162
+ @since SketchUp 2018, API 6.0
163
+ @param[in] scene The scene object.
164
+ @param[in] include_in_animation The new setting for whether or not to include
165
+ in animation.
166
+ @related SUSceneRef
167
+ @return
168
+ - \ref SU_ERROR_NONE on success
169
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
170
+ */
171
+ SU_RESULT SUSceneSetIncludeInAnimation(SUSceneRef scene, bool include_in_animation);
172
+
173
+ /**
174
+ @brief Retrieves the name of a scene object.
175
+ @param[in] scene The scene object.
176
+ @param[out] name The name retrieved.
177
+ @related SUSceneRef
178
+ @return
179
+ - \ref SU_ERROR_NONE on success
180
+ - \ref SU_ERROR_INVALID_INPUT if scene is an invalid object
181
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if name is NULL
182
+ - \ref SU_ERROR_INVALID_OUTPUT if name does not point to a valid \ref
183
+ SUStringRef object
184
+ */
185
+ SU_RESULT SUSceneGetName(SUSceneRef scene, SUStringRef* name);
186
+
187
+ /**
188
+ @brief Sets the name of a scene object.
189
+
190
+ @warning Breaking Change: The behavior of SUSceneSetName changed in
191
+ SketchUp SDK 2018 API 6.0 to return SU_ERROR_INVALID_ARGUMENT if the
192
+ given name already exists in the scene's model.
193
+
194
+ @param[in] scene The scene object.
195
+ @param[in] scene_name The name of the scene object. Assumed to be UTF-8 encoded.
196
+ @related SUSceneRef
197
+ @return
198
+ - \ref SU_ERROR_NONE on success
199
+ - \ref SU_ERROR_INVALID_INPUT if scene is an invalid object
200
+ - \ref SU_ERROR_NULL_POINTER_INPUT if scene_name is NULL
201
+ - \ref SU_ERROR_INVALID_ARGUMENT if the name already exists in the scene's model
202
+ */
203
+ SU_RESULT SUSceneSetName(SUSceneRef scene, const char* scene_name);
204
+
205
+ /**
206
+ @brief Retrieves the rendering options for the scene object.
207
+ @param[in] scene The scene object.
208
+ @param[out] options The options retrieved.
209
+ @related SUSceneRef
210
+ @return
211
+ - \ref SU_ERROR_NONE on success
212
+ - \ref SU_ERROR_INVALID_INPUT if scene is an invalid object
213
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if options is NULL
214
+ - \ref SU_ERROR_NO_DATA if the scene does not use rendering options
215
+ */
216
+ SU_RESULT SUSceneGetRenderingOptions(SUSceneRef scene, SURenderingOptionsRef* options);
217
+
218
+ /**
219
+ @brief Retrieves the shadow info of a scene.
220
+ @since SketchUp 2015, API 3.0
221
+ @param[in] scene The scene object.
222
+ @param[out] shadow_info The shadow info object retrieved. This object is owned
223
+ by the scene and must not be explicitly released.
224
+ @related SUSceneRef
225
+ @return
226
+ - \ref SU_ERROR_NONE on success
227
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
228
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if shadow_info is NULL
229
+ - \ref SU_ERROR_NO_DATA if the scene does not use shadow info
230
+ */
231
+ SU_RESULT SUSceneGetShadowInfo(SUSceneRef scene, SUShadowInfoRef* shadow_info);
232
+
233
+ /**
234
+ @brief Retrieves the "use shadow info" setting of a scene object.
235
+ @since SketchUp 2015, API 3.0
236
+ @param[in] scene The scene object.
237
+ @param[out] use_shadow_info The current setting for whether or not shadow info
238
+ is used.
239
+ @related SUSceneRef
240
+ @return
241
+ - \ref SU_ERROR_NONE on success
242
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
243
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if use_shadow_info is NULL
244
+ */
245
+ SU_RESULT SUSceneGetUseShadowInfo(SUSceneRef scene, bool* use_shadow_info);
246
+
247
+ /**
248
+ @brief Sets the "use shadow info" setting of a scene object.
249
+ @since SketchUp 2015, API 3.0
250
+ @param[in] scene The scene object.
251
+ @param[in] use_shadow_info The new setting for whether or not shadow info
252
+ is used.
253
+ @related SUSceneRef
254
+ @return
255
+ - \ref SU_ERROR_NONE on success
256
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
257
+ */
258
+ SU_RESULT SUSceneSetUseShadowInfo(SUSceneRef scene, bool use_shadow_info);
259
+
260
+ /**
261
+ @brief Retrieves the "use rendering options" setting of a scene object.
262
+ @since SketchUp 2016, API 4.0
263
+ @param[in] scene The scene object.
264
+ @param[out] use_rendering_options The current setting for whether or not
265
+ rendering options are used.
266
+ @related SUSceneRef
267
+ @return
268
+ - \ref SU_ERROR_NONE on success
269
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
270
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if use_shadow_info is NULL
271
+ */
272
+ SU_RESULT SUSceneGetUseRenderingOptions(SUSceneRef scene, bool* use_rendering_options);
273
+
274
+ /**
275
+ @brief Sets the "use rendering options" setting of a scene object.
276
+ @since SketchUp 2016, API 4.0
277
+ @param[in] scene The scene object.
278
+ @param[in] use_rendering_options The new setting for whether or not rendering
279
+ options are used.
280
+ @related SUSceneRef
281
+ @return
282
+ - \ref SU_ERROR_NONE on success
283
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
284
+ */
285
+ SU_RESULT SUSceneSetUseRenderingOptions(SUSceneRef scene, bool use_rendering_options);
286
+
287
+ /**
288
+ @brief Gets whether the scene uses the hidden properties of entities.
289
+ @since SketchUp 2018 M0, API 6.0
290
+ @deprecated The functionality is replaced by SUSceneGetUseHiddenGeometry()
291
+ and SUSceneGetUseHiddenObjects().
292
+ @param[in] scene The scene object.
293
+ @param[out] use_hidden The current setting for whether or not the hidden
294
+ property of entities is used.
295
+ @related SUSceneRef
296
+ @return
297
+ - \ref SU_ERROR_NONE on success
298
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
299
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if use_hidden is NULL
300
+ */
301
+ SU_RESULT SUSceneGetUseHidden(SUSceneRef scene, bool* use_hidden);
302
+
303
+ /**
304
+ @brief Sets whether the scene uses the hidden properties of entities.
305
+ @since SketchUp 2018 M0, API 6.0
306
+ @deprecated The functionality is replaced by SUSceneSetUseHiddenGeometry()
307
+ and SUSceneSetUseHiddenObjects().
308
+ @param[in] scene The scene object.
309
+ @param[in] use_hidden The new setting for whether or not the hidden
310
+ property of entities is used.
311
+ @related SUSceneRef
312
+ @return
313
+ - \ref SU_ERROR_NONE on success
314
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
315
+ */
316
+ SU_RESULT SUSceneSetUseHidden(SUSceneRef scene, bool use_hidden);
317
+
318
+ /**
319
+ @brief Gets whether the scene uses the hidden geometry properties of root-level entities.
320
+ @since SketchUp 2020.1, API 8.1
321
+ @param[in] scene The scene object.
322
+ @param[out] use_hidden The current setting for whether or not the hidden
323
+ property of root-level entities is used.
324
+ @related SUSceneRef
325
+ @return
326
+ - \ref SU_ERROR_NONE on success
327
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
328
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if use_hidden is NULL
329
+ */
330
+ SU_RESULT SUSceneGetUseHiddenGeometry(SUSceneRef scene, bool* use_hidden);
331
+
332
+ /**
333
+ @brief Sets whether the scene uses the hidden properties of root-level entities.
334
+ @since SketchUp 2020.1, API 8.1
335
+ @param[in] scene The scene object.
336
+ @param[in] use_hidden The new setting for whether or not the hidden
337
+ property of root-level entities is used.
338
+ @related SUSceneRef
339
+ @return
340
+ - \ref SU_ERROR_NONE on success
341
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
342
+ */
343
+ SU_RESULT SUSceneSetUseHiddenGeometry(SUSceneRef scene, bool use_hidden);
344
+
345
+ /**
346
+ @brief Gets whether the scene uses the hidden properties of objects.
347
+ @since SketchUp 2020.1, API 8.1
348
+ @param[in] scene The scene object.
349
+ @param[out] use_hidden The current setting for whether or not the hidden
350
+ property of objects is used.
351
+ @related SUSceneRef
352
+ @return
353
+ - \ref SU_ERROR_NONE on success
354
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
355
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if use_hidden is NULL
356
+ */
357
+ SU_RESULT SUSceneGetUseHiddenObjects(SUSceneRef scene, bool* use_hidden);
358
+
359
+ /**
360
+ @brief Sets whether the scene uses the hidden properties of objects.
361
+ @since SketchUp 2020.1, API 8.1
362
+ @param[in] scene The scene object.
363
+ @param[in] use_hidden The new setting for whether or not the hidden
364
+ property of objects is used.
365
+ @related SUSceneRef
366
+ @return
367
+ - \ref SU_ERROR_NONE on success
368
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
369
+ */
370
+ SU_RESULT SUSceneSetUseHiddenObjects(SUSceneRef scene, bool use_hidden);
371
+
372
+ /**
373
+ @brief Retrieves the "use hidden layers" setting of a scene object.
374
+ @since SketchUp 2016, API 4.0
375
+ @param[in] scene The scene object.
376
+ @param[out] use_hidden_layers The current setting for whether or not hidden
377
+ layer are used.
378
+ @related SUSceneRef
379
+ @return
380
+ - \ref SU_ERROR_NONE on success
381
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
382
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if use_hidden_layers is NULL
383
+ */
384
+ SU_RESULT SUSceneGetUseHiddenLayers(SUSceneRef scene, bool* use_hidden_layers);
385
+
386
+ /**
387
+ @brief Sets the "use hidden layers" setting of a scene object.
388
+ @since SketchUp 2016, API 4.0
389
+ @param[in] scene The scene object.
390
+ @param[in] use_hidden_layers The new setting for whether or not hidden layers
391
+ are used.
392
+ @related SUSceneRef
393
+ @return
394
+ - \ref SU_ERROR_NONE on success
395
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
396
+ */
397
+ SU_RESULT SUSceneSetUseHiddenLayers(SUSceneRef scene, bool use_hidden_layers);
398
+
399
+ /**
400
+ @brief Gets whether the scene uses section planes.
401
+ @since SketchUp 2018 M0, API 6.0
402
+ @param[in] scene The scene object.
403
+ @param[out] use_section_planes The current setting for whether or not section
404
+ planes property is used.
405
+ @related SUSceneRef
406
+ @return
407
+ - \ref SU_ERROR_NONE on success
408
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
409
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if use_section_planes is NULL
410
+ */
411
+ SU_RESULT SUSceneGetUseSectionPlanes(SUSceneRef scene, bool* use_section_planes);
412
+
413
+ /**
414
+ @brief Sets whether the scene uses section planes.
415
+ @since SketchUp 2018 M0, API 6.0
416
+ @param[in] scene The scene object.
417
+ @param[in] use_section_planes The new setting for whether or not section planes
418
+ property is used.
419
+ @related SUSceneRef
420
+ @return
421
+ - \ref SU_ERROR_NONE on success
422
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
423
+ */
424
+ SU_RESULT SUSceneSetUseSectionPlanes(SUSceneRef scene, bool use_section_planes);
425
+
426
+ /**
427
+ @brief Retrieves the number of layers in the scene object.
428
+ @since SketchUp 2016, API 4.0
429
+ @param[in] scene The scene object.
430
+ @param[out] count The number of layers.
431
+ @related SUSceneRef
432
+ @return
433
+ - \ref SU_ERROR_NONE on success
434
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
435
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if count is NULL
436
+ */
437
+ SU_RESULT SUSceneGetNumLayers(SUSceneRef scene, size_t* count);
438
+
439
+ /**
440
+ @brief Retrieves the layers in the scene object.
441
+ @since SketchUp 2016, API 4.0
442
+ @param[in] scene The entities object.
443
+ @param[in] len The number of layers to retrieve.
444
+ @param[out] layers The layers retrieved.
445
+ @param[out] count The number of layers retrieved.
446
+ @related SUSceneRef
447
+ @return
448
+ - \ref SU_ERROR_NONE on success
449
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
450
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if layers or count is NULL
451
+ */
452
+ SU_RESULT SUSceneGetLayers(SUSceneRef scene, size_t len, SULayerRef layers[], size_t* count);
453
+
454
+ /**
455
+ @brief Adds the specified layer to the provided scene.
456
+
457
+ Adding a layer to a scene will flag the layer to be the opposite of its
458
+ default scene visibility. See \ref SULayerVisibilityDefaultType. This
459
+ function does not take ownership of the specified layer.
460
+ @note Prior to SketchUp 2020.0, API 8.0 this function did not return
461
+ SU_ERROR_INVALID_ARGUMENT.
462
+ @since SketchUp 2016, API 4.0
463
+ @param[in] scene The scene object.
464
+ @param[in] layer The new layer to be added to the scene.
465
+ @related SUSceneRef
466
+ @return
467
+ - \ref SU_ERROR_NONE on success
468
+ - \ref SU_ERROR_INVALID_INPUT if scene or layer is not a valid object
469
+ - \ref SU_ERROR_NO_DATA if the scene is not owned by a valid model
470
+ - \ref SU_ERROR_GENERIC if the scene's model does not contain the layer
471
+ - \ref SU_ERROR_INVALID_ARGUMENT if the layer already exists in the scene
472
+ */
473
+ SU_RESULT SUSceneAddLayer(SUSceneRef scene, SULayerRef layer);
474
+
475
+ /**
476
+ @brief Removes the specified layer from the provided scene.
477
+
478
+ Removing a layer from a scene will flag the layer to use its default
479
+ scene visibility. See \ref SULayerVisibilityDefaultType. Scenes do not
480
+ own their layers so removing them doesn't release them.
481
+ @note Prior to SketchUp 2020.0, API 8.0 this function did not return
482
+ SU_ERROR_INVALID_ARGUMENT.
483
+ @since SketchUp 2016, API 4.0
484
+ @param[in] scene The scene object.
485
+ @param[in] layer The layer to be removed from the scene.
486
+ @related SUSceneRef
487
+ @return
488
+ - \ref SU_ERROR_NONE on success
489
+ - \ref SU_ERROR_INVALID_INPUT if scene or layer is not a valid object
490
+ - \ref SU_ERROR_INVALID_ARGUMENT if the layer doesn't exist in the scene
491
+ */
492
+ SU_RESULT SUSceneRemoveLayer(SUSceneRef scene, SULayerRef layer);
493
+
494
+ /**
495
+ @brief Removes all of the layers from the provided scene. Scenes do not own their
496
+ layers so removing them does not release them.
497
+ @since SketchUp 2016, API 4.0
498
+ @param[in] scene The scene object.
499
+ @related SUSceneRef
500
+ @return
501
+ - \ref SU_ERROR_NONE on success
502
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
503
+ */
504
+ SU_RESULT SUSceneClearLayers(SUSceneRef scene);
505
+
506
+ /**
507
+ @brief Retrieves the number of layer folders in the scene object.
508
+ @since SketchUp 2021.0, API 9.0
509
+ @param[in] scene The scene object.
510
+ @param[out] count The number of layer folders.
511
+ @related SUSceneRef
512
+ @return
513
+ - \ref SU_ERROR_NONE on success
514
+ - \ref SU_ERROR_INVALID_INPUT if \p scene is not a valid object
515
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if \p count is NULL
516
+ */
517
+ SU_RESULT SUSceneGetNumLayerFolders(SUSceneRef scene, size_t* count);
518
+
519
+ /**
520
+ @brief Retrieves the layer folders in the scene object.
521
+ @since SketchUp 2021.0, API 9.0
522
+ @param[in] scene The entities object.
523
+ @param[in] len The number of layer_folders to retrieve.
524
+ @param[out] layer_folders The layer_folders retrieved.
525
+ @param[out] count The number of layer_folders retrieved.
526
+ @related SUSceneRef
527
+ @return
528
+ - \ref SU_ERROR_NONE on success
529
+ - \ref SU_ERROR_INVALID_INPUT if \p scene is not a valid object
530
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if \p layer_folders or \p count is NULL
531
+ */
532
+ SU_RESULT SUSceneGetLayerFolders(
533
+ SUSceneRef scene, size_t len, SULayerFolderRef layer_folders[], size_t* count);
534
+
535
+ /**
536
+ @brief Adds the specified layer folder to the provided scene.
537
+
538
+ Adding a layer folder to a scene will cause that layer folder to be
539
+ flagged as HIDDEN for the specified scene. Any layers or layer folders
540
+ within that layer folder will also be hidden, and therefore don't need to
541
+ be added to the scene. This function does not take ownership of the
542
+ specified layer folder.
543
+ @since SketchUp 2021.0, API 9.0
544
+ @param[in] scene The scene object.
545
+ @param[in] layer_folder The new layer folder to be added to \p scene.
546
+ @related SUSceneRef
547
+ @return
548
+ - \ref SU_ERROR_NONE on success
549
+ - \ref SU_ERROR_INVALID_INPUT if \p scene or \p layer_folder is not a valid object
550
+ - \ref SU_ERROR_NO_DATA if \p scene is not owned by a valid model
551
+ - \ref SU_ERROR_GENERIC if \p scene's model does not contain \p layer_folder
552
+ - \ref SU_ERROR_INVALID_ARGUMENT if \p layer_folder already exists in \p scene
553
+ */
554
+ SU_RESULT SUSceneAddLayerFolder(SUSceneRef scene, SULayerFolderRef layer_folder);
555
+
556
+ /**
557
+ @brief Removes the specified layer folder from the provided scene.
558
+
559
+ Removing a layer folder from a scene will cause that layer folder to be
560
+ flagged as VISIBLE for the specified scene. Scenes do not own their layer
561
+ folders so removing them doesn't release them.
562
+ @since SketchUp 2021.0, API 9.0
563
+ @param[in] scene The scene object.
564
+ @param[in] layer_folder The layer folder to be removed from \p scene.
565
+ @related SUSceneRef
566
+ @return
567
+ - \ref SU_ERROR_NONE on success
568
+ - \ref SU_ERROR_INVALID_INPUT if \p scene or \p layer_folder is not a valid object
569
+ - \ref SU_ERROR_INVALID_ARGUMENT if \p layer_folder doesn't exist in \p scene
570
+ */
571
+ SU_RESULT SUSceneRemoveLayerFolder(SUSceneRef scene, SULayerFolderRef layer_folder);
572
+
573
+ /**
574
+ @brief Removes all of the layer folders from the provided scene. Scenes do not own
575
+ their layer folders so removing them does not release them.
576
+ @since SketchUp 2021.0, API 9.0
577
+ @param[in] scene The scene object.
578
+ @related SUSceneRef
579
+ @return
580
+ - \ref SU_ERROR_NONE on success
581
+ - \ref SU_ERROR_INVALID_INPUT if \p scene is not a valid object
582
+ */
583
+ SU_RESULT SUSceneClearLayerFolders(SUSceneRef scene);
584
+
585
+ /**
586
+ @brief Retrieves the axes of a scene object.
587
+ @param[in] scene The scene object.
588
+ @param[out] axes The axes object retrieved.
589
+ @related SUSceneRef
590
+ @return
591
+ - \ref SU_ERROR_NONE on success
592
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
593
+ - \ref SU_ERROR_NULL_POINTER_INPUT if axes is NULL
594
+ - \ref SU_ERROR_NO_DATA if the scene is not using axes
595
+ */
596
+ SU_RESULT SUSceneGetAxes(SUSceneRef scene, SUAxesRef* axes);
597
+
598
+ /**
599
+ @brief Sets the "use axes" setting of a scene object.
600
+ @since SketchUp 2017, API 5.0
601
+ @param[in] scene The scene object.
602
+ @param[in] use_axes The new setting for whether or not the axes is used.
603
+ @related SUSceneRef
604
+ @return
605
+ - \ref SU_ERROR_NONE on success
606
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
607
+ */
608
+ SU_RESULT SUSceneSetUseAxes(SUSceneRef scene, bool use_axes);
609
+
610
+ /**
611
+ @brief Retrieves the "use axes" setting of a scene object.
612
+ @since SketchUp 2017, API 5.0
613
+ @param[in] scene The scene object.
614
+ @param[out] use_axes The setting retrieved.
615
+ @related SUSceneRef
616
+ @return
617
+ - \ref SU_ERROR_NONE on success
618
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
619
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if use_axes is NULL
620
+ */
621
+ SU_RESULT SUSceneGetUseAxes(SUSceneRef scene, bool* use_axes);
622
+
623
+ /**
624
+ @brief Retrieves the number of hidden entities in the scene object.
625
+ @since SketchUp 2017, API 5.0
626
+ @param[in] scene The scene object.
627
+ @param[out] count The number of hidden entities.
628
+ @related SUSceneRef
629
+ @return
630
+ - \ref SU_ERROR_NONE on success
631
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
632
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if count is NULL
633
+ */
634
+ SU_RESULT SUSceneGetNumHiddenEntities(SUSceneRef scene, size_t* count);
635
+
636
+ /**
637
+ @brief Retrieves the hidden entities in the scene object.
638
+ @since SketchUp 2017, API 5.0
639
+ @param[in] scene The entities object.
640
+ @param[in] len The number of hidden entities to retrieve.
641
+ @param[out] entities The hidden entities retrieved.
642
+ @param[out] count The number of hidden entities retrieved.
643
+ @related SUSceneRef
644
+ @return
645
+ - \ref SU_ERROR_NONE on success
646
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
647
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if entities or count is NULL
648
+ */
649
+ SU_RESULT SUSceneGetHiddenEntities(
650
+ SUSceneRef scene, size_t len, SUEntityRef entities[], size_t* count);
651
+
652
+ /**
653
+ @brief Sets the flags for a scene object.
654
+
655
+ See \ref SUSceneFlags "Scene Flags" for available flags that can be combined bitwise.
656
+
657
+ @since SketchUp 2017, API 5.0
658
+ @param[in] scene The scene object.
659
+ @param[in] flags The flags to be set.
660
+ @related SUSceneRef
661
+ @return
662
+ - \ref SU_ERROR_NONE on success
663
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
664
+ */
665
+ SU_RESULT SUSceneSetFlags(SUSceneRef scene, uint32_t flags);
666
+
667
+ /**
668
+ @brief Retrieves the flags in the scene object.
669
+
670
+ See \ref SUSceneFlags "Scene Flags" for available flags that can be combined bitwise.
671
+
672
+ @since SketchUp 2017, API 5.0
673
+ @param[in] scene The scene object.
674
+ @param[out] flags The flags.
675
+ @related SUSceneRef
676
+ @return
677
+ - \ref SU_ERROR_NONE on success
678
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
679
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if flags is NULL
680
+ */
681
+ SU_RESULT SUSceneGetFlags(SUSceneRef scene, uint32_t* flags);
682
+
683
+ /**
684
+ @brief Sets the "sketch axes displayed" setting of a scene object.
685
+ @since SketchUp 2017, API 5.0
686
+ @param[in] scene The scene object.
687
+ @param[in] displayed The new setting for whether or not sketch axes should be
688
+ displayed.
689
+ @related SUSceneRef
690
+ @return
691
+ - \ref SU_ERROR_NONE on success
692
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
693
+ */
694
+ SU_RESULT SUSceneSetSketchAxesDisplayed(SUSceneRef scene, bool displayed);
695
+
696
+ /**
697
+ @brief Retrieves the "sketch axes displayed" setting of a scene object.
698
+ @since SketchUp 2017, API 5.0
699
+ @param[in] scene The scene object.
700
+ @param[out] displayed The setting retrieved.
701
+ @related SUSceneRef
702
+ @return
703
+ - \ref SU_ERROR_NONE on success
704
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
705
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if displayed is NULL
706
+ */
707
+ SU_RESULT SUSceneGetSketchAxesDisplayed(SUSceneRef scene, bool* displayed);
708
+
709
+ /**
710
+ @brief Retrieves the "photo matched image displayed" setting of a scene object.
711
+ @since SketchUp 2017, API 5.0
712
+ @param[in] scene The scene object.
713
+ @param[out] displayed The setting retrieved.
714
+ @related SUSceneRef
715
+ @return
716
+ - \ref SU_ERROR_NONE on success
717
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
718
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if displayed is NULL
719
+ */
720
+ SU_RESULT SUSceneGetPhotoMatchImageDisplayed(SUSceneRef scene, bool* displayed);
721
+
722
+ /**
723
+ @brief Clears the provided scene's photo match image.
724
+ @since SketchUp 2017, API 5.0
725
+ @param[in] scene The scene object.
726
+ @related SUSceneRef
727
+ @return
728
+ - \ref SU_ERROR_NONE on success
729
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
730
+ */
731
+ SU_RESULT SUSceneClearPhotoMatchImage(SUSceneRef scene);
732
+
733
+ /**
734
+ @brief Retrieves the scene's style.
735
+ @since SketchUp 2017, API 5.0
736
+ @param[in] scene The scene object.
737
+ @param[out] style The style object retrieved.
738
+ @related SUSceneRef
739
+ @return
740
+ - \ref SU_ERROR_NONE on success
741
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
742
+ - \ref SU_ERROR_NULL_POINTER_INPUT if style is NULL
743
+ - \ref SU_ERROR_NO_DATA if the scene does not have a style
744
+ */
745
+ SU_RESULT SUSceneGetStyle(SUSceneRef scene, SUStyleRef* style);
746
+
747
+ /**
748
+ @brief Copies the data from copy_scene to scene.
749
+ @since SketchUp 2017, API 5.0
750
+ @param[in] scene The scene object to be altered.
751
+ @param[in] copy_scene The scene to be copied.
752
+ @related SUSceneRef
753
+ @return
754
+ - \ref SU_ERROR_NONE on success
755
+ - \ref SU_ERROR_INVALID_INPUT if scene or copy_scene are not a valid objects
756
+ */
757
+ SU_RESULT SUSceneCopy(SUSceneRef scene, SUSceneRef copy_scene);
758
+
759
+ /**
760
+ @brief Activates the provided scene.
761
+ @since SketchUp 2017, API 5.0
762
+ @param[in] scene The scene object.
763
+ @related SUSceneRef
764
+ @return
765
+ - \ref SU_ERROR_NONE on success
766
+ - \ref SU_ERROR_INVALID_INPUT if scene is not a valid object
767
+ */
768
+ SU_RESULT SUSceneActivate(SUSceneRef scene);
769
+
770
+ /**
771
+ @brief Set the visibility of a drawing element in a scene.
772
+ @since SketchUp 2020, API 8.0
773
+ @note Only drawing elements at the root of the model, or nested instances of
774
+ components, groups, and images are controlled by scene visibility.
775
+ @param[in] scene The scene object.
776
+ @param[in] drawing_element The drawing element object.
777
+ @param[in] is_hidden The new setting for whether or not the
778
+ drawing element is hidden in the scene.
779
+ @related SUSceneRef
780
+ @return
781
+ - \ref SU_ERROR_NONE on success
782
+ - \ref SU_ERROR_INVALID_INPUT if scene or drawing_element is not a valid object
783
+ or if the drawing_element is geometry in a nested component.
784
+ */
785
+ SU_RESULT SUSceneSetDrawingElementHidden(
786
+ SUSceneRef scene, SUDrawingElementRef drawing_element, bool is_hidden);
787
+
788
+ /**
789
+ @brief Get the visibility of a drawing element in a scene.
790
+ @since SketchUp 2020, API 8.0
791
+ @param[in] scene The scene object.
792
+ @param[in] drawing_element The drawing element object.
793
+ @param[out] is_hidden The current setting for whether or not the
794
+ drawing element is hidden in the scene.
795
+ @related SUSceneRef
796
+ @return
797
+ - \ref SU_ERROR_NONE on success
798
+ - \ref SU_ERROR_INVALID_INPUT if scene or drawing_element is not a valid object
799
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if is_hidden is NULL
800
+ */
801
+ SU_RESULT SUSceneGetDrawingElementHidden(
802
+ SUSceneRef scene, SUDrawingElementRef drawing_element, bool* is_hidden);
803
+
804
+ /**
805
+ @brief Retrieves the description of a scene object.
806
+ @since SketchUp 2022.0, API 10.0
807
+ @param[in] scene The scene object.
808
+ @param[out] desc The description retrieved.
809
+ @related SUSceneRef
810
+ @return
811
+ - \ref SU_ERROR_NONE on success
812
+ - \ref SU_ERROR_INVALID_INPUT if scene is an invalid object
813
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if desc is NULL
814
+ - \ref SU_ERROR_INVALID_OUTPUT if desc does not point to a valid \ref
815
+ SUStringRef object
816
+ */
817
+ SU_RESULT SUSceneGetDescription(SUSceneRef scene, SUStringRef* desc);
818
+
819
+ /**
820
+ @brief Sets the description of a scene object.
821
+ @since SketchUp 2022.0, API 10.0
822
+ @param[in] scene The scene object.
823
+ @param[in] desc The new description for the scene. Assumed to be UTF-8 encoded.
824
+ @related SUSceneRef
825
+ @return
826
+ - \ref SU_ERROR_NONE on success
827
+ - \ref SU_ERROR_INVALID_INPUT if scene is an invalid object
828
+ - \ref SU_ERROR_NULL_POINTER_INPUT if desc is NULL
829
+ */
830
+ SU_RESULT SUSceneSetDescription(SUSceneRef scene, const char* desc);
831
+
832
+ #ifdef __cplusplus
833
+ }
834
+ #endif
835
+
836
+ #endif // SKETCHUP_MODEL_SCENE_H_