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,424 @@
1
+ // Copyright 2017 Trimble Inc. All Rights Reserved.
2
+
3
+ /**
4
+ * @file
5
+ * @brief Interfaces for SULengthFormatterRef.
6
+ */
7
+ #ifndef SKETCHUP_LENGTH_FORMATTER_H_
8
+ #define SKETCHUP_LENGTH_FORMATTER_H_
9
+
10
+ #include <SketchUpAPI/defs.h>
11
+
12
+ #ifdef __cplusplus
13
+ extern "C" {
14
+ #endif
15
+
16
+ /**
17
+ @struct SULengthFormatterRef
18
+ @brief References a length formatter object. Length formatters are used to
19
+ generate formatted strings (optionally with units) from length, area,
20
+ and volume values. Additionally length formatters can be used to
21
+ translate a formatted length/area/volume string into a value. Accessors
22
+ and setters are exposed for some of the key formatting properties,
23
+ facilitating customization of the formater. In cases when users want the
24
+ formatter to reflect the properties of a model, SUModelGetLengthFormatter
25
+ should be used to more efficiently extract/copy the relevant properties
26
+ from the model to the formatter.
27
+ @since SketchUp 2018, API 6.0
28
+ */
29
+
30
+ /**
31
+ @enum SULengthFormatType
32
+ @brief Indicates the different supported length string formatting types
33
+ @since SketchUp 2018, API 6.0
34
+ */
35
+ enum SULengthFormatType {
36
+ SU_LFORMAT_DECIMAL,
37
+ SU_LFORMAT_ARCHITECTURAL,
38
+ SU_LFORMAT_ENGINEERING,
39
+ SU_LFORMAT_FRACTIONAL
40
+ };
41
+
42
+ /**
43
+ @enum SULengthUnitType
44
+ @brief Indicates the different supported length string formatting units
45
+ @since SketchUp 2018, API 6.0
46
+
47
+ Added in SketchUp 2020, API 8.0
48
+ - SU_LUNIT_YARD
49
+ */
50
+ enum SULengthUnitType {
51
+ SU_LUNIT_INCHES,
52
+ SU_LUNIT_FEET,
53
+ SU_LUNIT_MILLIMETER,
54
+ SU_LUNIT_CENTIMETER,
55
+ SU_LUNIT_METER,
56
+ SU_LUNIT_YARD
57
+ };
58
+
59
+ /**
60
+ @enum SUAreaUnitType
61
+ @brief Indicates the different supported area string formatting units
62
+ @since SketchUp 2019.2, API 7.1
63
+
64
+ Added in SketchUp 2020, API 8.0
65
+ - SU_AUNIT_SQUARE_YARD
66
+ */
67
+ enum SUAreaUnitType {
68
+ SU_AUNIT_SQUARE_INCHES,
69
+ SU_AUNIT_SQUARE_FEET,
70
+ SU_AUNIT_SQUARE_MILLIMETER,
71
+ SU_AUNIT_SQUARE_CENTIMETER,
72
+ SU_AUNIT_SQUARE_METER,
73
+ SU_AUNIT_SQUARE_YARD
74
+ };
75
+
76
+ /**
77
+ @enum SUVolumeUnitType
78
+ @brief Indicates the different supported volume string formatting units
79
+ @since SketchUp 2019.2, API 7.1
80
+
81
+ Added in SketchUp 2020, API 8.0
82
+ - SU_VUNIT_CUBIC_YARD
83
+ - SU_VUNIT_LITER
84
+ - SU_VUNIT_US_GALLON
85
+ */
86
+ enum SUVolumeUnitType {
87
+ SU_VUNIT_CUBIC_INCHES,
88
+ SU_VUNIT_CUBIC_FEET,
89
+ SU_VUNIT_CUBIC_MILLIMETER,
90
+ SU_VUNIT_CUBIC_CENTIMETER,
91
+ SU_VUNIT_CUBIC_METER,
92
+ SU_VUNIT_CUBIC_YARD,
93
+ SU_VUNIT_LITER,
94
+ SU_VUNIT_US_GALLON
95
+ };
96
+
97
+ /**
98
+ @brief Creates a new length formatter with default properties.
99
+ @since SketchUp 2018, API 6.0
100
+ @param[out] formatter The formatter object created.
101
+ @related SULengthFormatterRef
102
+ @return
103
+ - \ref SU_ERROR_NONE on success
104
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if formatter is NULL
105
+ - \ref SU_ERROR_OVERWRITE_VALID if formatter already references a valid object
106
+ */
107
+ SU_RESULT SULengthFormatterCreate(SULengthFormatterRef* formatter);
108
+
109
+ /**
110
+ @brief Releases a length formatter object.
111
+ @since SketchUp 2018, API 6.0
112
+ @param[in] formatter The formatter object.
113
+ @related SULengthFormatterRef
114
+ @return
115
+ - \ref SU_ERROR_NONE on success
116
+ - \ref SU_ERROR_INVALID_INPUT if formatter is an invalid object
117
+ - \ref SU_ERROR_NULL_POINTER_INPUT if formatter is NULL
118
+ */
119
+ SU_RESULT SULengthFormatterRelease(SULengthFormatterRef* formatter);
120
+
121
+ /**
122
+ @brief Retrieves the precision of a length formatter.
123
+ @since SketchUp 2018, API 6.0
124
+ @param[in] formatter The formatter object.
125
+ @param[out] precision The precision retrieved.
126
+ @related SULengthFormatterRef
127
+ @return
128
+ - \ref SU_ERROR_NONE on success
129
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
130
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if precision is NULL
131
+ */
132
+ SU_RESULT SULengthFormatterGetPrecision(SULengthFormatterRef formatter, size_t* precision);
133
+
134
+ /**
135
+ @brief Sets the precision of a length formatter.
136
+ @since SketchUp 2018, API 6.0
137
+ @param[in] formatter The formatter object.
138
+ @param[in] precision The precision to be set.
139
+ @related SULengthFormatterRef
140
+ @return
141
+ - \ref SU_ERROR_NONE on success
142
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
143
+ */
144
+ SU_RESULT SULengthFormatterSetPrecision(SULengthFormatterRef formatter, size_t precision);
145
+
146
+ /**
147
+ @brief Retrieves the area precision of a length formatter.
148
+ @since Sketchup 2020, API 8.0
149
+ @param[in] formatter The formatter object.
150
+ @param[out] precision The precision retrieved.
151
+ @related SULengthFormatterRef
152
+ @return
153
+ - \ref SU_ERROR_NONE on success
154
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
155
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if precision is NULL
156
+ */
157
+ SU_RESULT SULengthFormatterGetAreaPrecision(SULengthFormatterRef formatter, size_t* precision);
158
+
159
+ /**
160
+ @brief Sets the area precision of a length formatter.
161
+ @since Sketchup 2020, API 8.0
162
+ @param[in] formatter The formatter object.
163
+ @param[in] precision The precision to be set.
164
+ @related SULengthFormatterRef
165
+ @return
166
+ - \ref SU_ERROR_NONE on success
167
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
168
+ */
169
+ SU_RESULT SULengthFormatterSetAreaPrecision(SULengthFormatterRef formatter, size_t precision);
170
+
171
+ /**
172
+ @brief Retrieves the volume precision of a length formatter.
173
+ @since Sketchup 2020, API 8.0
174
+ @param[in] formatter The formatter object.
175
+ @param[out] precision The precision retrieved.
176
+ @related SULengthFormatterRef
177
+ @return
178
+ - \ref SU_ERROR_NONE on success
179
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
180
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if precision is NULL
181
+ */
182
+ SU_RESULT SULengthFormatterGetVolumePrecision(SULengthFormatterRef formatter, size_t* precision);
183
+
184
+ /**
185
+ @brief Sets the volume precision of a length formatter.
186
+ @since Sketchup 2020, API 8.0
187
+ @param[in] formatter The formatter object.
188
+ @param[in] precision The precision to be set.
189
+ @related SULengthFormatterRef
190
+ @return
191
+ - \ref SU_ERROR_NONE on success
192
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
193
+ */
194
+ SU_RESULT SULengthFormatterSetVolumePrecision(SULengthFormatterRef formatter, size_t precision);
195
+
196
+ /**
197
+ @brief Retrieves the format of a length formatter.
198
+ @since SketchUp 2018, API 6.0
199
+ @param[in] formatter The formatter object.
200
+ @param[out] format The format retrieved.
201
+ @related SULengthFormatterRef
202
+ @return
203
+ - \ref SU_ERROR_NONE on success
204
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
205
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if format is NULL
206
+ */
207
+ SU_RESULT SULengthFormatterGetFormat(
208
+ SULengthFormatterRef formatter, enum SULengthFormatType* format);
209
+
210
+ /**
211
+ @brief Sets the format of a length formatter.
212
+ @since SketchUp 2018, API 6.0
213
+ @param[in] formatter The formatter object.
214
+ @param[in] format The format to be set.
215
+ @related SULengthFormatterRef
216
+ @return
217
+ - \ref SU_ERROR_NONE on success
218
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
219
+ - \ref SU_ERROR_OUT_OF_RANGE if format is not a supported option
220
+ */
221
+ SU_RESULT SULengthFormatterSetFormat(
222
+ SULengthFormatterRef formatter, enum SULengthFormatType format);
223
+
224
+ /**
225
+ @brief Retrieves the units of a length formatter.
226
+ @since SketchUp 2018, API 6.0
227
+ @param[in] formatter The formatter object.
228
+ @param[out] units The unit type retrieved.
229
+ @related SULengthFormatterRef
230
+ @return
231
+ - \ref SU_ERROR_NONE on success
232
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
233
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if units is NULL
234
+ */
235
+ SU_RESULT SULengthFormatterGetUnits(SULengthFormatterRef formatter, enum SULengthUnitType* units);
236
+
237
+ /**
238
+ @brief Retrieves the area units of a length formatter.
239
+ @since SketchUp 2019.2, API 7.1
240
+ @param[in] formatter The formatter object.
241
+ @param[out] units The unit type retrieved.
242
+ @related SULengthFormatterRef
243
+ @return
244
+ - \ref SU_ERROR_NONE on success
245
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
246
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if units is NULL
247
+ */
248
+ SU_RESULT SULengthFormatterGetAreaUnits(SULengthFormatterRef formatter, enum SUAreaUnitType* units);
249
+
250
+ /**
251
+ @brief Retrieves the volume units of a length formatter.
252
+ @since SketchUp 2019.2, API 7.1
253
+ @param[in] formatter The formatter object.
254
+ @param[out] units The unit type retrieved.
255
+ @related SULengthFormatterRef
256
+ @return
257
+ - \ref SU_ERROR_NONE on success
258
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
259
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if units is NULL
260
+ */
261
+ SU_RESULT SULengthFormatterGetVolumeUnits(
262
+ SULengthFormatterRef formatter, enum SUVolumeUnitType* units);
263
+
264
+ /**
265
+ @brief Sets the units of a length formatter.
266
+ @since SketchUp 2018, API 6.0
267
+ @param[in] formatter The formatter object.
268
+ @param[in] units The unit type to be set.
269
+ @related SULengthFormatterRef
270
+ @return
271
+ - \ref SU_ERROR_NONE on success
272
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
273
+ - \ref SU_ERROR_OUT_OF_RANGE if units is not a supported option
274
+ */
275
+ SU_RESULT SULengthFormatterSetUnits(SULengthFormatterRef formatter, enum SULengthUnitType units);
276
+
277
+ /**
278
+ @brief Sets the area units of a length formatter.
279
+ @since SketchUp 2019.2, API 7.1
280
+ @param[in] formatter The formatter object.
281
+ @param[in] units The unit type to be set.
282
+ @related SULengthFormatterRef
283
+ @return
284
+ - \ref SU_ERROR_NONE on success
285
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
286
+ - \ref SU_ERROR_OUT_OF_RANGE if units is not a supported option
287
+ */
288
+ SU_RESULT SULengthFormatterSetAreaUnits(SULengthFormatterRef formatter, enum SUAreaUnitType units);
289
+
290
+ /**
291
+ @brief Sets the volume units of a length formatter.
292
+ @since SketchUp 2019.2, API 7.1
293
+ @param[in] formatter The formatter object.
294
+ @param[in] units The unit type to be set.
295
+ @related SULengthFormatterRef
296
+ @return
297
+ - \ref SU_ERROR_NONE on success
298
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
299
+ - \ref SU_ERROR_OUT_OF_RANGE if units is not a supported option
300
+ */
301
+ SU_RESULT SULengthFormatterSetVolumeUnits(
302
+ SULengthFormatterRef formatter, enum SUVolumeUnitType units);
303
+
304
+ /**
305
+ @brief Retrieves whether units are suppressed.
306
+ @since SketchUp 2018, API 6.0
307
+ @param[in] formatter The formatter object.
308
+ @param[out] suppress The unit suppression flag retrieved.
309
+ @related SULengthFormatterRef
310
+ @return
311
+ - \ref SU_ERROR_NONE on success
312
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
313
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if suppress is NULL
314
+ */
315
+ SU_RESULT SULengthFormatterGetSuppressUnits(SULengthFormatterRef formatter, bool* suppress);
316
+
317
+ /**
318
+ @brief Sets whether units are suppressed.
319
+ @since SketchUp 2018, API 6.0
320
+ @param[in] formatter The formatter object.
321
+ @param[in] suppress The unit suppression flag to be set.
322
+ @related SULengthFormatterRef
323
+ @return
324
+ - \ref SU_ERROR_NONE on success
325
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
326
+ */
327
+ SU_RESULT SULengthFormatterSetSuppressUnits(SULengthFormatterRef formatter, bool suppress);
328
+
329
+ /**
330
+ @brief Retrieves a formatted length string from the provided length value.
331
+ @since SketchUp 2018, API 6.0
332
+ @param[in] formatter The formatter object.
333
+ @param[in] length The length value.
334
+ @param[in] strip Whether to strip trailing zeros, leading ~, and decimal
335
+ point if it is the last character.
336
+ @param[out] string The formatted string retrieved.
337
+ @related SULengthFormatterRef
338
+ @return
339
+ - \ref SU_ERROR_NONE on success
340
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
341
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if suppress is string
342
+ - \ref SU_ERROR_INVALID_OUTPUT if *string is not a valid object
343
+ */
344
+ SU_RESULT SULengthFormatterGetLengthString(
345
+ SULengthFormatterRef formatter, double length, bool strip, SUStringRef* string);
346
+
347
+ /**
348
+ @brief Retrieves a formatted area string from the provided area value.
349
+ @since SketchUp 2018, API 6.0
350
+ @param[in] formatter The formatter object.
351
+ @param[in] area The area value.
352
+ @param[out] string The formatted string retrieved.
353
+ @related SULengthFormatterRef
354
+ @return
355
+ - \ref SU_ERROR_NONE on success
356
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
357
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if suppress is string
358
+ - \ref SU_ERROR_INVALID_OUTPUT if *string is not a valid object
359
+ */
360
+ SU_RESULT SULengthFormatterGetAreaString(
361
+ SULengthFormatterRef formatter, double area, SUStringRef* string);
362
+
363
+ /**
364
+ @brief Retrieves a formatted volume string from the provided volume value.
365
+ @since SketchUp 2018, API 6.0
366
+ @param[in] formatter The formatter object.
367
+ @param[in] volume The volume value.
368
+ @param[out] string The formatted string retrieved.
369
+ @related SULengthFormatterRef
370
+ @return
371
+ - \ref SU_ERROR_NONE on success
372
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
373
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if suppress is string
374
+ - \ref SU_ERROR_INVALID_OUTPUT if *string is not a valid object
375
+ */
376
+ SU_RESULT SULengthFormatterGetVolumeString(
377
+ SULengthFormatterRef formatter, double volume, SUStringRef* string);
378
+
379
+ /**
380
+ @brief Parses a formatted length string getting the numeric value.
381
+ @since SketchUp 2018, API 6.0
382
+ @param[in] formatter The formatter object.
383
+ @param[in] string The formatted string.
384
+ @param[out] value The numeric value retrieved.
385
+ @related SULengthFormatterRef
386
+ @return
387
+ - \ref SU_ERROR_NONE on success
388
+ - \ref SU_ERROR_INVALID_INPUT if formatter or string are not a valid objects
389
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if value is NULL
390
+ - \ref SU_ERROR_INVALID_ARGUMENT if the string could not be parsed
391
+ */
392
+ SU_RESULT SULengthFormatterParseString(
393
+ SULengthFormatterRef formatter, SUStringRef string, double* value);
394
+
395
+ /**
396
+ @brief Force the display of Architectural inches even if the value is zero.
397
+ @since SketchUp 2019, API 7.0
398
+ @param[in] formatter The formatter object.
399
+ @param[in] force_inch The boolean value to force inch display.
400
+ @related SULengthFormatterRef
401
+ @return
402
+ - \ref SU_ERROR_NONE on success
403
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
404
+ */
405
+ SU_RESULT SULengthFormatterSetForceInchDisplay(SULengthFormatterRef formatter, bool force_inch);
406
+
407
+ /**
408
+ @brief Determine if Architectural inches will display even if the value is zero.
409
+ @since SketchUp 2019, API 7.0
410
+ @param[in] formatter The formatter object.
411
+ @param[out] force_inch The boolean value to force inch display.
412
+ @related SULengthFormatterRef
413
+ @return
414
+ - \ref SU_ERROR_NONE on success
415
+ - \ref SU_ERROR_INVALID_INPUT if formatter is not a valid object
416
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if value is NULL
417
+ */
418
+ SU_RESULT SULengthFormatterGetForceInchDisplay(SULengthFormatterRef formatter, bool* force_inch);
419
+
420
+ #ifdef __cplusplus
421
+ } // extern "C"
422
+ #endif
423
+
424
+ #endif // SKETCHUP_LENGTH_FORMATTER_H_
@@ -0,0 +1,244 @@
1
+ // Copyright 2015-2020 Trimble Inc. All Rights Reserved.
2
+
3
+ /**
4
+ * @file
5
+ * @brief Interfaces for SUArcCurveRef.
6
+ */
7
+ #ifndef SKETCHUP_MODEL_ARCCURVE_H_
8
+ #define SKETCHUP_MODEL_ARCCURVE_H_
9
+
10
+ #include <SketchUpAPI/common.h>
11
+ #include <SketchUpAPI/model/defs.h>
12
+
13
+ // Forward declarations
14
+ struct SUPoint3D;
15
+ struct SUVector3D;
16
+
17
+ #ifdef __cplusplus
18
+ extern "C" {
19
+ #endif
20
+
21
+ /**
22
+ @struct SUArcCurveRef
23
+ @extends SUCurveRef
24
+ @brief References an arccurve.
25
+ */
26
+
27
+ /**
28
+ @brief Converts from an \ref SUArcCurveRef to an \ref SUEntityRef.
29
+ This is essentially an upcast operation.
30
+ @since SketchUp 2016, API 4.0
31
+ @param[in] arccurve The given arccurve reference.
32
+ @related SUArcCurveRef
33
+ @return
34
+ - The converted \ref SUEntityRef if curve is a valid object
35
+ - If not, the returned reference will be invalid
36
+ */
37
+ SU_EXPORT SUEntityRef SUArcCurveToEntity(SUArcCurveRef arccurve);
38
+
39
+ /**
40
+ @brief Converts from an \ref SUEntityRef to an SUArcCurveRef.
41
+ This is essentially a downcast operation so the given \ref SUEntityRef
42
+ must be convertible to an \ref SUArcCurveRef.
43
+ @since SketchUp 2016, API 4.0
44
+ @param[in] entity The given entity reference.
45
+ @related SUArcCurveRef
46
+ @return
47
+ - The converted \ref SUArcCurveRef if the downcast operation succeeds
48
+ - If not, the returned reference will be invalid
49
+ */
50
+ SU_EXPORT SUArcCurveRef SUArcCurveFromEntity(SUEntityRef entity);
51
+
52
+ /**
53
+ @brief Converts from an \ref SUArcCurveRef to an SUCurveRef.
54
+ This is essentially an upcast operation.
55
+ @since SketchUp 2016, API 4.0
56
+ @param[in] arccurve The given arccurve reference.
57
+ @related SUArcCurveRef
58
+ @return
59
+ - The converted SUCurveRef if arccurve is a valid arccurve object
60
+ - If not, the returned reference will be invalid
61
+ */
62
+ SU_EXPORT SUCurveRef SUArcCurveToCurve(SUArcCurveRef arccurve);
63
+
64
+ /**
65
+ @brief Converts from an SUCurveRef to an \ref SUArcCurveRef.
66
+ This is essentially a downcast operation so the given SUCurveRef
67
+ must be convertible to an \ref SUArcCurveRef.
68
+ @since SketchUp 2016, API 4.0
69
+ @param[in] curve The given curve reference.
70
+ @related SUArcCurveRef
71
+ @return
72
+ - The converted \ref SUArcCurveRef if the downcast operation succeeds
73
+ - If not, the returned reference will be invalid
74
+ */
75
+ SU_EXPORT SUArcCurveRef SUArcCurveFromCurve(SUCurveRef curve);
76
+
77
+ /**
78
+ @brief Creates an arccurve object. If the start and end points are the same a
79
+ full circle will be generated.
80
+ @since SketchUp 2016, API 4.0
81
+ @param[out] arccurve The arccurve object created.
82
+ @param[in] center The point at the center of the arc.
83
+ @param[in] start_point The point at the start of the arc.
84
+ @param[in] end_point The point at the end of the arc.
85
+ @param[in] normal The vector normal to the arc plane.
86
+ @param[in] num_edges The number of edges for the arc.
87
+ @related SUArcCurveRef
88
+ @return
89
+ - \ref SU_ERROR_NONE on success
90
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if arccurve is NULL
91
+ - \ref SU_ERROR_OVERWRITE_VALID if arccurve already references a valid object
92
+ - \ref SU_ERROR_NULL_POINTER_INPUT if center, start_point, end_point, or normal
93
+ are NULL
94
+ */
95
+ SU_RESULT SUArcCurveCreate(
96
+ SUArcCurveRef* arccurve, const struct SUPoint3D* center, const struct SUPoint3D* start_point,
97
+ const struct SUPoint3D* end_point, const struct SUVector3D* normal, size_t num_edges);
98
+
99
+ /**
100
+ @brief Releases an arccurve object and its associated edge objects.
101
+ @since SketchUp 2016, API 4.0
102
+ @param[in,out] arccurve The arccurve object.
103
+ @related SUArcCurveRef
104
+ @return
105
+ - \ref SU_ERROR_NONE on success
106
+ - \ref SU_ERROR_NULL_POINTER_INPUT if arccurve is NULL
107
+ - \ref SU_ERROR_INVALID_INPUT if arccurve does not reference a valid object
108
+ */
109
+ SU_RESULT SUArcCurveRelease(SUArcCurveRef* arccurve);
110
+
111
+ /**
112
+ @brief Retrieves the raduis.
113
+ @since SketchUp 2016, API 4.0
114
+ @param[in] arccurve The arccurve object.
115
+ @param[out] radius The arccurve radius.
116
+ @related SUArcCurveRef
117
+ @return
118
+ - \ref SU_ERROR_NONE on success
119
+ - \ref SU_ERROR_INVALID_INPUT if arccurve is not a valid object
120
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if radius is NULL
121
+ */
122
+ SU_RESULT SUArcCurveGetRadius(SUArcCurveRef arccurve, double* radius);
123
+
124
+ /**
125
+ @brief Retrieves the starting point.
126
+ @since SketchUp 2016, API 4.0
127
+ @param[in] arccurve The arccurve object.
128
+ @param[out] point The arccurve starting point.
129
+ @related SUArcCurveRef
130
+ @return
131
+ - \ref SU_ERROR_NONE on success
132
+ - \ref SU_ERROR_INVALID_INPUT if arccurve is not a valid object
133
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if point is NULL
134
+ */
135
+ SU_RESULT SUArcCurveGetStartPoint(SUArcCurveRef arccurve, struct SUPoint3D* point);
136
+
137
+ /**
138
+ @brief Retrieves the ending point.
139
+ @since SketchUp 2016, API 4.0
140
+ @param[in] arccurve The arccurve object.
141
+ @param[out] point The arccurve ending point.
142
+ @related SUArcCurveRef
143
+ @return
144
+ - \ref SU_ERROR_NONE on success
145
+ - \ref SU_ERROR_INVALID_INPUT if arccurve is not a valid object
146
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if point is NULL
147
+ */
148
+ SU_RESULT SUArcCurveGetEndPoint(SUArcCurveRef arccurve, struct SUPoint3D* point);
149
+
150
+ /**
151
+ @brief Retrieves the x-axis.
152
+ @since SketchUp 2016, API 4.0
153
+ @param[in] arccurve The arccurve object.
154
+ @param[out] axis The arccurve x-axis.
155
+ @related SUArcCurveRef
156
+ @return
157
+ - \ref SU_ERROR_NONE on success
158
+ - \ref SU_ERROR_INVALID_INPUT if arccurve is not a valid object
159
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if axis is NULL
160
+ */
161
+ SU_RESULT SUArcCurveGetXAxis(SUArcCurveRef arccurve, struct SUVector3D* axis);
162
+
163
+ /**
164
+ @brief Retrieves the y-axis.
165
+ @since SketchUp 2016, API 4.0
166
+ @param[in] arccurve The arccurve object.
167
+ @param[out] axis The arccurve y-axis.
168
+ @related SUArcCurveRef
169
+ @return
170
+ - \ref SU_ERROR_NONE on success
171
+ - \ref SU_ERROR_INVALID_INPUT if arccurve is not a valid object
172
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if axis is NULL
173
+ */
174
+ SU_RESULT SUArcCurveGetYAxis(SUArcCurveRef arccurve, struct SUVector3D* axis);
175
+
176
+ /**
177
+ @brief Retrieves the center point.
178
+ @since SketchUp 2016, API 4.0
179
+ @param[in] arccurve The arccurve object.
180
+ @param[out] point The arccurve center point.
181
+ @related SUArcCurveRef
182
+ @return
183
+ - \ref SU_ERROR_NONE on success
184
+ - \ref SU_ERROR_INVALID_INPUT if arccurve is not a valid object
185
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if point is NULL
186
+ */
187
+ SU_RESULT SUArcCurveGetCenter(SUArcCurveRef arccurve, struct SUPoint3D* point);
188
+
189
+ /**
190
+ @brief Retrieves the normal.
191
+ @since SketchUp 2016, API 4.0
192
+ @param[in] arccurve The arccurve object.
193
+ @param[out] normal The arccurve normal vector.
194
+ @related SUArcCurveRef
195
+ @return
196
+ - \ref SU_ERROR_NONE on success
197
+ - \ref SU_ERROR_INVALID_INPUT if arccurve is not a valid object
198
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if normal is NULL
199
+ */
200
+ SU_RESULT SUArcCurveGetNormal(SUArcCurveRef arccurve, struct SUVector3D* normal);
201
+
202
+ /**
203
+ @brief Retrieves the start angle.
204
+ @since SketchUp 2016, API 4.0
205
+ @param[in] arccurve The arccurve object.
206
+ @param[out] angle The arccurve start angle.
207
+ @related SUArcCurveRef
208
+ @return
209
+ - \ref SU_ERROR_NONE on success
210
+ - \ref SU_ERROR_INVALID_INPUT if arccurve is not a valid object
211
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if angle is NULL
212
+ */
213
+ SU_RESULT SUArcCurveGetStartAngle(SUArcCurveRef arccurve, double* angle);
214
+
215
+ /**
216
+ @brief Retrieves the end angle.
217
+ @since SketchUp 2016, API 4.0
218
+ @param[in] arccurve The arccurve object.
219
+ @param[out] angle The arccurve end angle.
220
+ @related SUArcCurveRef
221
+ @return
222
+ - \ref SU_ERROR_NONE on success
223
+ - \ref SU_ERROR_INVALID_INPUT if arccurve is not a valid object
224
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if angle is NULL
225
+ */
226
+ SU_RESULT SUArcCurveGetEndAngle(SUArcCurveRef arccurve, double* angle);
227
+
228
+ /**a boolean indicating if the arccurve is a full circle.
229
+ @since SketchUp 2016, API 4.0
230
+ @param[in] arccurve The arccurve object.
231
+ @param[out] is_full Returns true if the arccurve is a full corcle.
232
+ @related SUArcCurveRef
233
+ @return
234
+ - \ref SU_ERROR_NONE on success
235
+ - \ref SU_ERROR_INVALID_INPUT if arccurve is not a valid object
236
+ - \ref SU_ERROR_NULL_POINTER_OUTPUT if is_full is NULL
237
+ */
238
+ SU_RESULT SUArcCurveGetIsFullCircle(SUArcCurveRef arccurve, bool* is_full);
239
+
240
+ #ifdef __cplusplus
241
+ } // extern "C"
242
+ #endif
243
+
244
+ #endif // SKETCHUP_MODEL_ARCCURVE_H_
@@ -0,0 +1,17 @@
1
+ // Copyright 2016-2020 Trimble Inc. All Rights Reserved.
2
+
3
+ /**
4
+ * @file
5
+ * @brief Interfaces for \ref SUArrowType.
6
+ */
7
+ #ifndef SKETCHUP_MODEL_ARROW_TYPE_H_
8
+ #define SKETCHUP_MODEL_ARROW_TYPE_H_
9
+
10
+ /**
11
+ @enum SUArrowType
12
+ @brief Indicates the supported arrow types, currently used by SUDimensionRef
13
+ and SUTextRef.
14
+ */
15
+ enum SUArrowType { SUArrowNone = 0, SUArrowSlash, SUArrowDot, SUArrowClosed, SUArrowOpen };
16
+
17
+ #endif // SKETCHUP_MODEL_ARROW_TYPE_H_