scriptup 2026.0.0 → 2026.0.1

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 (133) hide show
  1. checksums.yaml +4 -4
  2. data/ext/entity.c +3 -0
  3. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Frameworks/libCommonGeometry.dylib +0 -0
  4. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/{Libraries → Frameworks}/libCommonGeoutils.dylib +0 -0
  5. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/{Libraries → Frameworks}/libCommonImage.dylib +0 -0
  6. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Frameworks/libCommonPreferences.dylib +0 -0
  7. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Frameworks/libCommonUnits.dylib +0 -0
  8. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Frameworks/libCommonUtils.dylib +0 -0
  9. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Frameworks/libCommonZip.dylib +0 -0
  10. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/application/model.h +4 -4
  11. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/application/overlay.h +20 -6
  12. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/common.h +9 -9
  13. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/extension_license.h +9 -1
  14. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/point2d.h +2 -2
  15. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/point3d.h +2 -2
  16. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/transformation2d.h +3 -3
  17. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/vector2d.h +5 -5
  18. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/vector3d.h +4 -4
  19. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry.h +9 -7
  20. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/import_export/modelimporterplugin.h +8 -4
  21. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/attribute_dictionary.h +4 -4
  22. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/component_definition.h +74 -33
  23. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/component_definition_snap_to_behavior_private.h +46 -0
  24. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/component_instance.h +11 -11
  25. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/curve.h +4 -4
  26. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/defs.h +7 -2
  27. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/dimension.h +2 -0
  28. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/drawing_element.h +11 -11
  29. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/edge.h +7 -7
  30. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/entities.h +106 -61
  31. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/entity.h +7 -4
  32. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/environment.h +382 -0
  33. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/environments.h +133 -0
  34. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/face.h +43 -27
  35. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/geometry_input.h +126 -116
  36. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/group.h +9 -8
  37. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/image.h +6 -5
  38. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/layer.h +3 -3
  39. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/material.h +432 -25
  40. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/model.h +263 -100
  41. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/model_entity_type_private.h +44 -0
  42. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/rendering_options.h +82 -81
  43. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/scene.h +222 -42
  44. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/snap.h +183 -0
  45. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/space.h +26 -0
  46. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/styles.h +29 -27
  47. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/text.h +14 -6
  48. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/texture.h +23 -1
  49. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/typed_value.h +26 -26
  50. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/vertex.h +2 -2
  51. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/sketchup.h +4 -1
  52. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/unicodestring.h +7 -7
  53. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Resources/Info.plist +8 -8
  54. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/SketchUpAPI +0 -0
  55. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/_CodeSignature/CodeResources +144 -88
  56. data/sketchup-sdk-win/binaries/layout/x64/LayOutAPI.dll +0 -0
  57. data/sketchup-sdk-win/binaries/layout/x64/LayOutAPI.lib +0 -0
  58. data/sketchup-sdk-win/binaries/layout/x64/LayOutControllers.dll +0 -0
  59. data/sketchup-sdk-win/binaries/layout/x64/LayOutModel.dll +0 -0
  60. data/sketchup-sdk-win/binaries/layout/x64/LayOutRTF.dll +0 -0
  61. data/sketchup-sdk-win/binaries/layout/x64/LayOutUtils.dll +0 -0
  62. data/sketchup-sdk-win/binaries/layout/x64/LayOutView.dll +0 -0
  63. data/sketchup-sdk-win/binaries/layout/x64/SketchUpCommonPreferences.dll +0 -0
  64. data/sketchup-sdk-win/binaries/layout/x64/SketchUpViewerAPI.dll +0 -0
  65. data/sketchup-sdk-win/binaries/layout/x64/SketchUpViewerAPI.lib +0 -0
  66. data/sketchup-sdk-win/binaries/layout/x64/pdflib.dll +0 -0
  67. data/sketchup-sdk-win/binaries/sketchup/x64/SketchUpAPI.dll +0 -0
  68. data/sketchup-sdk-win/binaries/sketchup/x64/SketchUpAPI.lib +0 -0
  69. data/sketchup-sdk-win/binaries/sketchup/x64/SketchUpCommonPreferences.dll +0 -0
  70. data/sketchup-sdk-win/binaries/sketchup/x64/sketchup.lib +0 -0
  71. data/sketchup-sdk-win/headers/LayOutAPI/application/application.h +14 -14
  72. data/sketchup-sdk-win/headers/LayOutAPI/layout.h +1 -1
  73. data/sketchup-sdk-win/headers/LayOutAPI/model/dictionary.h +1 -1
  74. data/sketchup-sdk-win/headers/LayOutAPI/model/document.h +73 -0
  75. data/sketchup-sdk-win/headers/LayOutAPI/model/documentexportoptions.h +21 -2
  76. data/sketchup-sdk-win/headers/LayOutAPI/model/entity.h +72 -0
  77. data/sketchup-sdk-win/headers/LayOutAPI/model/group.h +2 -1
  78. data/sketchup-sdk-win/headers/LayOutAPI/model/lineardimension.h +54 -2
  79. data/sketchup-sdk-win/headers/LayOutAPI/model/page.h +70 -0
  80. data/sketchup-sdk-win/headers/LayOutAPI/model/sketchupmodel.h +58 -1
  81. data/sketchup-sdk-win/headers/LayOutAPI/model/style.h +39 -3
  82. data/sketchup-sdk-win/headers/LayOutAPI/model/table.h +2 -0
  83. data/sketchup-sdk-win/headers/LayOutAPI/model/typed_value.h +25 -1
  84. data/sketchup-sdk-win/headers/SketchUpAPI/application/model.h +4 -4
  85. data/sketchup-sdk-win/headers/SketchUpAPI/application/overlay.h +20 -6
  86. data/sketchup-sdk-win/headers/SketchUpAPI/common.h +9 -9
  87. data/sketchup-sdk-win/headers/SketchUpAPI/extension_license.h +9 -1
  88. data/sketchup-sdk-win/headers/SketchUpAPI/geometry/point2d.h +2 -2
  89. data/sketchup-sdk-win/headers/SketchUpAPI/geometry/point3d.h +2 -2
  90. data/sketchup-sdk-win/headers/SketchUpAPI/geometry/transformation2d.h +3 -3
  91. data/sketchup-sdk-win/headers/SketchUpAPI/geometry/vector2d.h +5 -5
  92. data/sketchup-sdk-win/headers/SketchUpAPI/geometry/vector3d.h +4 -4
  93. data/sketchup-sdk-win/headers/SketchUpAPI/geometry.h +9 -7
  94. data/sketchup-sdk-win/headers/SketchUpAPI/import_export/modelimporterplugin.h +8 -4
  95. data/sketchup-sdk-win/headers/SketchUpAPI/model/attribute_dictionary.h +4 -4
  96. data/sketchup-sdk-win/headers/SketchUpAPI/model/component_definition.h +74 -33
  97. data/sketchup-sdk-win/headers/SketchUpAPI/model/component_definition_snap_to_behavior_private.h +46 -0
  98. data/sketchup-sdk-win/headers/SketchUpAPI/model/component_instance.h +11 -11
  99. data/sketchup-sdk-win/headers/SketchUpAPI/model/curve.h +4 -4
  100. data/sketchup-sdk-win/headers/SketchUpAPI/model/defs.h +7 -2
  101. data/sketchup-sdk-win/headers/SketchUpAPI/model/dimension.h +2 -0
  102. data/sketchup-sdk-win/headers/SketchUpAPI/model/drawing_element.h +11 -11
  103. data/sketchup-sdk-win/headers/SketchUpAPI/model/edge.h +7 -7
  104. data/sketchup-sdk-win/headers/SketchUpAPI/model/entities.h +106 -61
  105. data/sketchup-sdk-win/headers/SketchUpAPI/model/entity.h +7 -4
  106. data/sketchup-sdk-win/headers/SketchUpAPI/model/environment.h +382 -0
  107. data/sketchup-sdk-win/headers/SketchUpAPI/model/environments.h +133 -0
  108. data/sketchup-sdk-win/headers/SketchUpAPI/model/face.h +43 -27
  109. data/sketchup-sdk-win/headers/SketchUpAPI/model/geometry_input.h +126 -116
  110. data/sketchup-sdk-win/headers/SketchUpAPI/model/group.h +9 -8
  111. data/sketchup-sdk-win/headers/SketchUpAPI/model/image.h +6 -5
  112. data/sketchup-sdk-win/headers/SketchUpAPI/model/layer.h +3 -3
  113. data/sketchup-sdk-win/headers/SketchUpAPI/model/material.h +432 -25
  114. data/sketchup-sdk-win/headers/SketchUpAPI/model/model.h +263 -100
  115. data/sketchup-sdk-win/headers/SketchUpAPI/model/model_entity_type_private.h +44 -0
  116. data/sketchup-sdk-win/headers/SketchUpAPI/model/rendering_options.h +82 -81
  117. data/sketchup-sdk-win/headers/SketchUpAPI/model/scene.h +222 -42
  118. data/sketchup-sdk-win/headers/SketchUpAPI/model/snap.h +183 -0
  119. data/sketchup-sdk-win/headers/SketchUpAPI/model/space.h +26 -0
  120. data/sketchup-sdk-win/headers/SketchUpAPI/model/styles.h +29 -27
  121. data/sketchup-sdk-win/headers/SketchUpAPI/model/text.h +14 -6
  122. data/sketchup-sdk-win/headers/SketchUpAPI/model/texture.h +23 -1
  123. data/sketchup-sdk-win/headers/SketchUpAPI/model/typed_value.h +26 -26
  124. data/sketchup-sdk-win/headers/SketchUpAPI/model/vertex.h +2 -2
  125. data/sketchup-sdk-win/headers/SketchUpAPI/sketchup.h +4 -1
  126. data/sketchup-sdk-win/headers/SketchUpAPI/unicodestring.h +7 -7
  127. metadata +22 -10
  128. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Libraries/libCommonGeometry.dylib +0 -0
  129. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Libraries/libCommonPreferences.dylib +0 -0
  130. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Libraries/libCommonUnits.dylib +0 -0
  131. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Libraries/libCommonUtils.dylib +0 -0
  132. data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Libraries/libCommonZip.dylib +0 -0
  133. data/sketchup-sdk-win/headers/LayOutAPI/model/skpfilereference.h +0 -94
@@ -1,4 +1,4 @@
1
- // Copyright 2013-2020 Trimble Inc. All Rights Reserved.
1
+ // Copyright 2012-2024 Trimble Inc. All Rights Reserved.
2
2
 
3
3
  /**
4
4
  * @file
@@ -34,6 +34,8 @@ DEFINE_SU_TYPE(SUEntitiesRef)
34
34
  DEFINE_SU_TYPE(SUEntityListRef)
35
35
  DEFINE_SU_TYPE(SUEntityListIteratorRef)
36
36
  DEFINE_SU_TYPE(SUEntityRef)
37
+ DEFINE_SU_TYPE(SUEnvironmentRef)
38
+ DEFINE_SU_TYPE(SUEnvironmentsRef)
37
39
  DEFINE_SU_TYPE(SUFaceRef)
38
40
  DEFINE_SU_TYPE(SUFontRef)
39
41
  DEFINE_SU_TYPE(SUGeometryInputRef)
@@ -65,6 +67,7 @@ DEFINE_SU_TYPE(SUSchemaTypeRef)
65
67
  DEFINE_SU_TYPE(SUSectionPlaneRef)
66
68
  DEFINE_SU_TYPE(SUSelectionRef)
67
69
  DEFINE_SU_TYPE(SUShadowInfoRef)
70
+ DEFINE_SU_TYPE(SUSnapRef)
68
71
  DEFINE_SU_TYPE(SUStyleRef)
69
72
  DEFINE_SU_TYPE(SUStylesRef)
70
73
  DEFINE_SU_TYPE(SUTextRef)
@@ -87,6 +90,8 @@ enum SURefType {
87
90
  SURefType_Curve, ///< SUCurveRef type
88
91
  SURefType_Edge, ///< SUEdgeRef type
89
92
  SURefType_EdgeUse, ///< SUEdgeUseRef type
93
+ SURefType_Environment, ///< SUEnvironment type
94
+ SURefType_Environments, ///< SUEnvironments type
90
95
  SURefType_Entities, ///< SUEntitiesRef type
91
96
  SURefType_Face, ///< SUFaceRef type
92
97
  SURefType_Group, ///< SUGroupRef type
@@ -134,7 +139,7 @@ enum SURefType {
134
139
  SURefType_LineStyleManager, ///< SULineStyleManagerRef type
135
140
  SURefType_Selection, ///< SUSelectionRef type
136
141
  SURefType_LayerFolder, ///< SULayerFolderRef type
137
-
142
+ SURefType_Snap, ///< SUSnapRef type
138
143
  };
139
144
 
140
145
  #pragma pack(pop)
@@ -191,6 +191,8 @@ SU_RESULT SUDimensionSetArrowType(SUDimensionRef dimension, enum SUArrowType typ
191
191
 
192
192
  /**
193
193
  @brief Get the dimension's font reference.
194
+ @note The returned font reference may become invalid if another font is
195
+ assigned to this dimension object later.
194
196
  @since SketchUp 2019, API 7.0
195
197
  @param[in] dimension The dimension object.
196
198
  @param[out] font The font retrieved.
@@ -88,9 +88,9 @@ SU_RESULT SUDrawingElementGetMaterial(SUDrawingElementRef elem, SUMaterialRef* m
88
88
 
89
89
  The material object must not be subsequently deallocated while associated with
90
90
  the drawing element.
91
- @param[in] elem The drawing element.
92
- @param[in] material The material object to set. If an invalid reference is
93
- given, then the material of the element will be removed.
91
+ @param[in,out] elem The drawing element.
92
+ @param[in] material The material object to set. If an invalid reference is
93
+ given, then the material of the element will be removed.
94
94
  @related SUDrawingElementRef
95
95
  @return
96
96
  - \ref SU_ERROR_NONE on success
@@ -113,8 +113,8 @@ SU_RESULT SUDrawingElementGetLayer(SUDrawingElementRef elem, SULayerRef* layer);
113
113
 
114
114
  /**
115
115
  @brief Sets the layer object to be associated with a drawing element.
116
- @param[in] elem The drawing element.
117
- @param[in] layer The layer object to set.
116
+ @param[in,out] elem The drawing element.
117
+ @param[in] layer The layer object to set.
118
118
  @related SUDrawingElementRef
119
119
  @return
120
120
  - \ref SU_ERROR_NONE on success
@@ -124,8 +124,8 @@ SU_RESULT SUDrawingElementSetLayer(SUDrawingElementRef elem, SULayerRef layer);
124
124
 
125
125
  /**
126
126
  @brief Sets the hide flag of a drawing element.
127
- @param[in] elem The drawing element.
128
- @param[in] hide_flag The hide flag to set.
127
+ @param[in,out] elem The drawing element.
128
+ @param[in] hide_flag The hide flag to set.
129
129
  @related SUDrawingElementRef
130
130
  @return
131
131
  - \ref SU_ERROR_NONE on success
@@ -147,8 +147,8 @@ SU_RESULT SUDrawingElementGetHidden(SUDrawingElementRef elem, bool* hide_flag);
147
147
 
148
148
  /**
149
149
  @brief Sets the casts shadows flag of a drawing element.
150
- @param[in] elem The drawing element.
151
- @param[in] casts_shadows_flag The casts shadows flag to set.
150
+ @param[in,out] elem The drawing element.
151
+ @param[in] casts_shadows_flag The casts shadows flag to set.
152
152
  @related SUDrawingElementRef
153
153
  @return
154
154
  - \ref SU_ERROR_NONE on success
@@ -170,8 +170,8 @@ SU_RESULT SUDrawingElementGetCastsShadows(SUDrawingElementRef elem, bool* casts_
170
170
 
171
171
  /**
172
172
  @brief Sets the receives shadows flag of a drawing element.
173
- @param[in] elem The drawing element.
174
- @param[in] receives_shadows_flag The casts shadows flag to set.
173
+ @param[in,out] elem The drawing element.
174
+ @param[in] receives_shadows_flag The casts shadows flag to set.
175
175
  @related SUDrawingElementRef
176
176
  @return
177
177
  - \ref SU_ERROR_NONE on success
@@ -92,7 +92,7 @@ SU_RESULT SUEdgeCreate(SUEdgeRef* edge, const struct SUPoint3D* start, const str
92
92
 
93
93
  The edge object must have been created with SUEdgeCreate() and not
94
94
  subsequently associated with a parent object (e.g. SUEntitiesAddEdges()).
95
- @param[in] edge The edge object.
95
+ @param[in,out] edge The edge object.
96
96
  @related SUEdgeRef
97
97
  @return
98
98
  - \ref SU_ERROR_NONE on success
@@ -140,8 +140,8 @@ SU_RESULT SUEdgeGetEndVertex(SUEdgeRef edge, SUVertexRef* vertex);
140
140
 
141
141
  /**
142
142
  @brief Sets the soft flag of an edge object.
143
- @param[in] edge The edge object.
144
- @param[in] soft_flag The soft flag to set.
143
+ @param[in,out] edge The edge object.
144
+ @param[in] soft_flag The soft flag to set.
145
145
  @related SUEdgeRef
146
146
  @return
147
147
  - \ref SU_ERROR_NONE on success
@@ -163,8 +163,8 @@ SU_RESULT SUEdgeGetSoft(SUEdgeRef edge, bool* soft_flag);
163
163
 
164
164
  /**
165
165
  @brief Sets the smooth flag of an edge object.
166
- @param[in] edge The edge object.
167
- @param[in] smooth_flag The smooth flag to set.
166
+ @param[in,out] edge The edge object.
167
+ @param[in] smooth_flag The smooth flag to set.
168
168
  @related SUEdgeRef
169
169
  @return
170
170
  - \ref SU_ERROR_NONE on success
@@ -238,8 +238,8 @@ SU_RESULT SUEdgeGetLengthWithTransform(
238
238
 
239
239
  /**
240
240
  @brief Sets the color of an edge object.
241
- @param[in] edge The edge object.
242
- @param[in] color The color object to set.
241
+ @param[in,out] edge The edge object.
242
+ @param[in] color The color object to set.
243
243
  @related SUEdgeRef
244
244
  @return
245
245
  - \ref SU_ERROR_NONE on success
@@ -1,4 +1,4 @@
1
- // Copyright 2013-2020 Trimble Inc. All Rights Reserved.
1
+ // Copyright 2013-2025 Trimble Inc. All Rights Reserved.
2
2
 
3
3
  /**
4
4
  * @file
@@ -27,7 +27,7 @@ extern "C" {
27
27
  /**
28
28
  @brief Removes all entities in the container.
29
29
  @since SketchUp 2019, API 7.0
30
- @param[in] entities The entities to clear.
30
+ @param[in,out] entities The entities to clear.
31
31
  @related SUEntitiesRef
32
32
  @return
33
33
  - \ref SU_ERROR_NONE on success
@@ -52,7 +52,7 @@ NOTE: Faces included in the geometry input object will be merged together when
52
52
  invisible edges are welded together. Hardness is retained when hard and soft
53
53
  edges are welded together.
54
54
 
55
- @param[in] entities The entities to populate. Must be an empty entities
55
+ @param[in,out] entities The entities to populate. Must be an empty entities
56
56
  object.
57
57
  @param[in] geom_input The geometry input that the entities object is to be
58
58
  populated with.
@@ -79,13 +79,12 @@ SU_RESULT SUEntitiesGetBoundingBox(SUEntitiesRef entities, struct SUBoundingBox3
79
79
  /**
80
80
  @brief Retrieves the LLA coordinates (Latidue, Longitude and Altitude) bounding
81
81
  box of the given entities object.
82
- Note that the altitude is calculated based on the model origin, Example:
83
- If an entities object has a bounding box with the following values
84
- {{100,100,100}, {200,200,200}} the result will be something like the
85
- following: {{Latitude, Longitude, 100/METERS_TO_INCHES},
86
- {Latitude, Longitude, 200/METERS_TO_INCHES}} where Latitude and Longitude
87
- are the geographical coordinates and altitude is just a conversion from
88
- inches to meters.
82
+
83
+ @note Note that the altitude is calculated based on the model origin. Example: If an entities object
84
+ has a bounding box with the following values `{100,100,100}`, `{200,200,200}` the result will be
85
+ something like the following: `{Latitude, Longitude, 100/METERS_TO_INCHES}`, `{Latitude,
86
+ Longitude, 200/METERS_TO_INCHES}` where Latitude and Longitude are the geographical coordinates
87
+ and altitude is just a conversion from inches to meters.
89
88
  @since SketchUp 2018 M0, API 6.0
90
89
  @param[in] entities The entities object.
91
90
  @param[out] bbox The latidue longitude and altitude bounding box retrieved.
@@ -95,6 +94,29 @@ SU_RESULT SUEntitiesGetBoundingBox(SUEntitiesRef entities, struct SUBoundingBox3
95
94
  - \ref SU_ERROR_INVALID_INPUT if entities is not a valid object
96
95
  - \ref SU_ERROR_NO_DATA if entities doesn't belong to a valid model.
97
96
  - \ref SU_ERROR_NULL_POINTER_OUTPUT if bbox is NULL
97
+
98
+ @code
99
+ SUModelRef model = SU_INVALID;
100
+ SUModelLoadStatus status;
101
+ SUResult res = SUModelCreateFromFileWithStatus(&model, "path/to/face.skp", &status);
102
+ if (res != SU_ERROR_NONE) {
103
+ // Handle error
104
+ return 1;
105
+ }
106
+
107
+ // Get the entity container of the model
108
+ SUEntitiesRef entities = SU_INVALID;
109
+ SUModelGetEntities(model, &entities);
110
+
111
+ // Retrieve the bounding box in LLA coordinates
112
+ SUBoundingBox3D box_lla;
113
+ res = SUEntitiesGetBoundingBoxLLA(entities, &box_lla);
114
+ if (res == SU_ERROR_NONE) {
115
+ // Process box_lla
116
+ }
117
+
118
+ SUModelRelease(&model);
119
+ @endcode
98
120
  */
99
121
  SU_RESULT SUEntitiesGetBoundingBoxLLA(SUEntitiesRef entities, struct SUBoundingBox3D* bbox);
100
122
 
@@ -307,14 +329,16 @@ SU_RESULT SUEntitiesGetPolyline3ds(
307
329
  produces SketchUp models with unexpected state. Avoid using these functions
308
330
  and instead use SUGeometryInputRef along with SUEntitiesFill().
309
331
 
310
- @param[in] entities The entities object.
311
- @param[in] len The length of the array of face objects.
312
- @param[in] faces The array of face objects to add.
332
+ @param[in,out] entities The entities object.
333
+ @param[in] len The length of the array of face objects.
334
+ @param[in] faces The array of face objects to add.
313
335
  @related SUEntitiesRef
314
336
  @return
315
337
  - \ref SU_ERROR_NONE on success
316
338
  - \ref SU_ERROR_INVALID_INPUT if entities is not a valid object
317
339
  - \ref SU_ERROR_NULL_POINTER_INPUT if faces is NULL
340
+
341
+ @own{faces}
318
342
  */
319
343
  SU_RESULT SUEntitiesAddFaces(SUEntitiesRef entities, size_t len, const SUFaceRef faces[]);
320
344
 
@@ -325,14 +349,16 @@ NOTE: This function does not merge geometry, which will likely create an invalid
325
349
  SketchUp model. It is recommended to use SUGeometryInput instead which does
326
350
  correctly merge geometry.
327
351
 
328
- @param[in] entities The entities object.
329
- @param[in] len The length of the array of edge objects.
330
- @param[in] edges The array of edge objects to add.
352
+ @param[in,out] entities The entities object.
353
+ @param[in] len The length of the array of edge objects.
354
+ @param[in] edges The array of edge objects to add.
331
355
  @related SUEntitiesRef
332
356
  @return
333
357
  - \ref SU_ERROR_NONE on success
334
358
  - \ref SU_ERROR_INVALID_INPUT if entities is not a valid object
335
359
  - \ref SU_ERROR_NULL_POINTER_INPUT if edges is NULL
360
+
361
+ @own{edges}
336
362
  */
337
363
  SU_RESULT SUEntitiesAddEdges(SUEntitiesRef entities, size_t len, const SUEdgeRef edges[]);
338
364
 
@@ -343,14 +369,16 @@ NOTE: This function does not merge geometry, which will likely create an invalid
343
369
  SketchUp model. It is recommended to use SUGeometryInput instead which does
344
370
  correctly merge geometry.
345
371
 
346
- @param[in] entities The entities object.
347
- @param[in] len The length of the array of curve objects.
348
- @param[in] curves The array of curve objects to add.
372
+ @param[in,out] entities The entities object.
373
+ @param[in] len The length of the array of curve objects.
374
+ @param[in] curves The array of curve objects to add.
349
375
  @related SUEntitiesRef
350
376
  @return
351
377
  - \ref SU_ERROR_NONE on success
352
378
  - \ref SU_ERROR_INVALID_INPUT if entities is not a valid object
353
379
  - \ref SU_ERROR_NULL_POINTER_INPUT if curves is NULL
380
+
381
+ @own{curves}
354
382
  */
355
383
  SU_RESULT SUEntitiesAddCurves(SUEntitiesRef entities, size_t len, const SUCurveRef curves[]);
356
384
 
@@ -362,28 +390,32 @@ NOTE: This function does not merge geometry, which will likely create an invalid
362
390
  SketchUp model. It is recommended to use SUGeometryInput instead which does
363
391
  correctly merge geometry.
364
392
 
365
- @param[in] entities The entities object.
366
- @param[in] len The length of the array of curve objects.
367
- @param[in] curves The array of arccurve objects to add.
393
+ @param[in,out] entities The entities object.
394
+ @param[in] len The length of the array of curve objects.
395
+ @param[in] curves The array of arccurve objects to add.
368
396
  @related SUEntitiesRef
369
397
  @return
370
398
  - \ref SU_ERROR_NONE on success
371
399
  - \ref SU_ERROR_INVALID_INPUT if entities is not a valid object
372
400
  - \ref SU_ERROR_NULL_POINTER_INPUT if curves is NULL
401
+
402
+ @own{curves}
373
403
  */
374
404
  SU_RESULT SUEntitiesAddArcCurves(SUEntitiesRef entities, size_t len, const SUArcCurveRef curves[]);
375
405
 
376
406
  /**
377
407
  @brief Adds guide point objects to an entities object.
378
408
  @since SketchUp 2014 M1, API 2.1
379
- @param[in] entities The entities object.
380
- @param[in] len The length of the array of guide point objects.
381
- @param[in] guide_points The array of guide point objects to add.
409
+ @param[in,out] entities The entities object.
410
+ @param[in] len The length of the array of guide point objects.
411
+ @param[in] guide_points The array of guide point objects to add.
382
412
  @related SUEntitiesRef
383
413
  @return
384
414
  - \ref SU_ERROR_NONE on success
385
415
  - \ref SU_ERROR_INVALID_INPUT if entities is not a valid object
386
416
  - \ref SU_ERROR_NULL_POINTER_INPUT if guide_points is NULL
417
+
418
+ @own{guide_points}
387
419
  */
388
420
  SU_RESULT SUEntitiesAddGuidePoints(
389
421
  SUEntitiesRef entities, size_t len, const SUGuidePointRef guide_points[]);
@@ -391,53 +423,61 @@ SU_RESULT SUEntitiesAddGuidePoints(
391
423
  /**
392
424
  @brief Adds guide line objects to an entities object.
393
425
  @since SketchUp 2016, API 4.0
394
- @param[in] entities The entities object.
395
- @param[in] len The length of the array of guide line objects.
396
- @param[in] guide_lines The array of guide line objects to add.
426
+ @param[in,out] entities The entities object.
427
+ @param[in] len The length of the array of guide line objects.
428
+ @param[in] guide_lines The array of guide line objects to add.
397
429
  @related SUEntitiesRef
398
430
  @return
399
431
  - \ref SU_ERROR_NONE on success
400
432
  - \ref SU_ERROR_INVALID_INPUT if entities is not a valid object
401
433
  - \ref SU_ERROR_NULL_POINTER_INPUT if guide_lines is NULL
434
+
435
+ @own{guild_lines}
402
436
  */
403
437
  SU_RESULT SUEntitiesAddGuideLines(
404
438
  SUEntitiesRef entities, size_t len, const SUGuideLineRef guide_lines[]);
405
439
 
406
440
  /**
407
441
  @brief Adds a group object to an entities object.
408
- @param[in] entities The entities object.
409
- @param[in] group The group object to add.
442
+ @param[in,out] entities The entities object.
443
+ @param[in] group The group object to add.
410
444
  @related SUEntitiesRef
411
445
  @return
412
446
  - \ref SU_ERROR_NONE on success
413
447
  - \ref SU_ERROR_INVALID_INPUT if entities or group is not a valid object
448
+
449
+ @own{group}
414
450
  */
415
451
  SU_RESULT SUEntitiesAddGroup(SUEntitiesRef entities, SUGroupRef group);
416
452
 
417
453
  /**
418
454
  @brief Adds an image object to an entities object.
419
- @param[in] entities The entities object.
420
- @param[in] image The image object to add.
455
+ @param[in,out] entities The entities object.
456
+ @param[in] image The image object to add.
421
457
  @related SUEntitiesRef
422
458
  @return
423
459
  - \ref SU_ERROR_NONE on success
424
460
  - \ref SU_ERROR_INVALID_INPUT if entities or image is not a valid object
461
+
462
+ @own{image}
425
463
  */
426
464
  SU_RESULT SUEntitiesAddImage(SUEntitiesRef entities, SUImageRef image);
427
465
 
428
466
  /**
429
467
  @brief Adds a component instance object to the entities.
430
- @param[in] entities The entities object.
431
- @param[in] instance The component instance object to add.
432
- @param[out] name The unique name that is assigned to definition of the
433
- component instance. This can be NULL in which case the
434
- caller does not need to retrieve the assigned name.
468
+ @param[in,out] entities The entities object.
469
+ @param[in] instance The component instance object to add.
470
+ @param[out] name The unique name that is assigned to definition of the
471
+ component instance. This can be NULL in which case the
472
+ caller does not need to retrieve the assigned name.
435
473
  @related SUEntitiesRef
436
474
  @return
437
475
  - \ref SU_ERROR_NONE on success
438
476
  - \ref SU_ERROR_INVALID_INPUT if entities or instance is not a valid object
439
477
  - \ref SU_ERROR_INVALID_OUTPUT if name (when not NULL) does not refer to a valid
440
478
  \ref SUStringRef object
479
+
480
+ @own{instance}
441
481
  */
442
482
  SU_RESULT SUEntitiesAddInstance(
443
483
  SUEntitiesRef entities, SUComponentInstanceRef instance, SUStringRef* name);
@@ -445,14 +485,16 @@ SU_RESULT SUEntitiesAddInstance(
445
485
  /**
446
486
  @brief Adds section plane objects to an entities object.
447
487
  @since SketchUp 2016, API 4.0
448
- @param[in] entities The entities object.
449
- @param[in] len The length of the array of section planes objects.
450
- @param[in] section_planes The array of section planes objects to add.
488
+ @param[in,out] entities The entities object.
489
+ @param[in] len The length of the array of section planes objects.
490
+ @param[in] section_planes The array of section planes objects to add.
451
491
  @related SUEntitiesRef
452
492
  @return
453
493
  - \ref SU_ERROR_NONE on success
454
494
  - \ref SU_ERROR_INVALID_INPUT if entities is not a valid object
455
495
  - \ref SU_ERROR_NULL_POINTER_INPUT if section_planes is NULL
496
+
497
+ @own{section_planes}
456
498
  */
457
499
  SU_RESULT SUEntitiesAddSectionPlanes(
458
500
  SUEntitiesRef entities, size_t len, const SUSectionPlaneRef section_planes[]);
@@ -460,14 +502,16 @@ SU_RESULT SUEntitiesAddSectionPlanes(
460
502
  /**
461
503
  @brief Adds text objects to an entities object.
462
504
  @since SketchUp 2018, API 6.0
463
- @param[in] entities The entities object.
464
- @param[in] len The length of the array of text objects.
465
- @param[in] texts The array of text objects to add.
505
+ @param[in,out] entities The entities object.
506
+ @param[in] len The length of the array of text objects.
507
+ @param[in] texts The array of text objects to add.
466
508
  @related SUEntitiesRef
467
509
  @return
468
510
  - \ref SU_ERROR_NONE on success
469
511
  - \ref SU_ERROR_INVALID_INPUT if entities is not a valid object
470
512
  - \ref SU_ERROR_NULL_POINTER_INPUT if texts is NULL
513
+
514
+ @own{texts}
471
515
  */
472
516
  SU_RESULT SUEntitiesAddTexts(SUEntitiesRef entities, size_t len, const SUTextRef texts[]);
473
517
 
@@ -621,7 +665,7 @@ SU_RESULT SUEntitiesGetNumDimensions(SUEntitiesRef entities, size_t* count);
621
665
  - \ref SU_ERROR_NULL_POINTER_OUTPUT if dimensions or count is NULL
622
666
  */
623
667
  SU_RESULT SUEntitiesGetDimensions(
624
- SUEntitiesRef entities, size_t len, SUDimensionRef* dimensions, size_t* count);
668
+ SUEntitiesRef entities, size_t len, SUDimensionRef dimensions[], size_t* count);
625
669
 
626
670
  /**
627
671
  @brief Retrieves the texts in the entities.
@@ -641,10 +685,10 @@ SU_RESULT SUEntitiesGetTexts(SUEntitiesRef entities, size_t len, SUTextRef texts
641
685
  /**
642
686
  @brief Applies a 3D transformation to the elements of the provided entity array.
643
687
  @since SketchUp 2017, API 5.0
644
- @param[in] entities The entities object.
645
- @param[in] len The number of entities in the array.
646
- @param[in] elements The elements to be transformed.
647
- @param[in] trans The transform to be applied.
688
+ @param[in,out] entities The entities object.
689
+ @param[in] len The number of entities in the array.
690
+ @param[in] elements The elements to be transformed.
691
+ @param[in] trans The transform to be applied.
648
692
  @related SUEntitiesRef
649
693
  @return
650
694
  - \ref SU_ERROR_NONE on success
@@ -663,10 +707,10 @@ SU_RESULT SUEntitiesTransform(
663
707
  array. The arrays of elements and transformations must be the same
664
708
  length.
665
709
  @since SketchUp 2017, API 5.0
666
- @param[in] entities The entities object.
667
- @param[in] len The number of entities in the array.
668
- @param[in] elements The elements to be transformed.
669
- @param[in] tranforms The transformations to be applied.
710
+ @param[in,out] entities The entities object.
711
+ @param[in] len The number of entities in the array.
712
+ @param[in] elements The elements to be transformed.
713
+ @param[in] tranforms The transformations to be applied.
670
714
  @related SUEntitiesRef
671
715
  @return
672
716
  - \ref SU_ERROR_NONE on success
@@ -685,9 +729,9 @@ SU_RESULT SUEntitiesTransformMultiple(
685
729
  destroyed, so the array elements are invalidated to prevent user from
686
730
  attempting to use destroyed entities.
687
731
  @since SketchUp 2017, API 5.0
688
- @param[in] entities The entities object.
689
- @param[in] len The number of entities in the array.
690
- @param[in] elements The elements to be destroyed.
732
+ @param[in,out] entities The entities object.
733
+ @param[in] len The number of entities in the array.
734
+ @param[in] elements The elements to be destroyed.
691
735
  @related SUEntitiesRef
692
736
  @return
693
737
  - \ref SU_ERROR_NONE on success
@@ -753,10 +797,10 @@ SU_RESULT SUEntitiesEntityListFill(
753
797
  curves meet.
754
798
 
755
799
  @since SketchUp 2020.1, API 8.1
756
- @param[in] entities The entities object to be queried.
757
- @param[in] num_edges The length of the array of edge objects.
758
- @param[in] edges The array of edge objects to weld.
759
- @param[out] list The list object to be filled with \ref SUCurveRef objects.
800
+ @param[in,out] entities The entities object to be queried.
801
+ @param[in] num_edges The length of the array of edge objects.
802
+ @param[in] edges The array of edge objects to weld.
803
+ @param[out] list The list object to be filled with \ref SUCurveRef objects.
760
804
  @related SUEntitiesRef
761
805
  @see SUArcCurveRef
762
806
  @see SUCurveRef
@@ -816,8 +860,9 @@ SU_RESULT SUEntitiesGetActiveSectionPlane(SUEntitiesRef entities, SUSectionPlane
816
860
  @since SketchUp 2021.1, API 9.1
817
861
  @bug Before SketchUp 2023.1 (API 11.1) this function would not accept SU_INVALID as a valid
818
862
  \p section_plane value and would have returned SU_ERROR_INVALID_INPUT instead
819
- @param[in] entities
820
- @param[in] section_plane The section plane to activate or \p SU_INVALID if none should be active.
863
+ @param[in,out] entities
864
+ @param[in] section_plane The section plane to activate or \p SU_INVALID if none should be
865
+ active.
821
866
  @related SUEntitiesRef
822
867
  @return
823
868
  - \ref SU_ERROR_NONE on success
@@ -47,6 +47,8 @@ SU_RESULT SUEntityGetID(SUEntityRef entity, int32_t* entity_id);
47
47
  @note Only a subset of entity types support PIDs. Refer to the list
48
48
  below for which and when support was added.
49
49
 
50
+ SketchUp 2025.0
51
+ - SUEnvironmentRef
50
52
  SketchUp 2020.1
51
53
  - SUComponentDefinitionRef
52
54
  - SUFontRef
@@ -81,6 +83,7 @@ SketchUp 2017
81
83
  */
82
84
  SU_RESULT SUEntityGetPersistentID(SUEntityRef entity, int64_t* entity_pid);
83
85
 
86
+
84
87
  /**
85
88
  @brief Retrieves the number of attribute dictionaries of an entity.
86
89
 
@@ -118,10 +121,10 @@ SU_RESULT SUEntityGetAttributeDictionaries(
118
121
  must not belong to another entity. In other words, each dictionary should
119
122
  be added to one entity only.
120
123
  @since SketchUp 2018 M0, API 6.0
121
- @param[in] entity The entity.
122
- @param[in] dictionary The dictionary object to be added. If the function is
123
- successful, don't call SUAttributeDictionaryRelease on the
124
- dictionary because the new entity will take ownership.
124
+ @param[in,out] entity The entity.
125
+ @param[in] dictionary The dictionary object to be added. If the function is
126
+ successful, don't call SUAttributeDictionaryRelease on the
127
+ dictionary because the new entity will take ownership.
125
128
  @related SUEntityRef
126
129
  @return
127
130
  - \ref SU_ERROR_NONE on success