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.
- checksums.yaml +4 -4
- data/ext/entity.c +3 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Frameworks/libCommonGeometry.dylib +0 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/{Libraries → Frameworks}/libCommonGeoutils.dylib +0 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/{Libraries → Frameworks}/libCommonImage.dylib +0 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Frameworks/libCommonPreferences.dylib +0 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Frameworks/libCommonUnits.dylib +0 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Frameworks/libCommonUtils.dylib +0 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Frameworks/libCommonZip.dylib +0 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/application/model.h +4 -4
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/application/overlay.h +20 -6
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/common.h +9 -9
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/extension_license.h +9 -1
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/point2d.h +2 -2
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/point3d.h +2 -2
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/transformation2d.h +3 -3
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/vector2d.h +5 -5
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry/vector3d.h +4 -4
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/geometry.h +9 -7
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/import_export/modelimporterplugin.h +8 -4
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/attribute_dictionary.h +4 -4
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/component_definition.h +74 -33
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/component_definition_snap_to_behavior_private.h +46 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/component_instance.h +11 -11
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/curve.h +4 -4
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/defs.h +7 -2
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/dimension.h +2 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/drawing_element.h +11 -11
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/edge.h +7 -7
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/entities.h +106 -61
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/entity.h +7 -4
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/environment.h +382 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/environments.h +133 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/face.h +43 -27
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/geometry_input.h +126 -116
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/group.h +9 -8
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/image.h +6 -5
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/layer.h +3 -3
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/material.h +432 -25
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/model.h +263 -100
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/model_entity_type_private.h +44 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/rendering_options.h +82 -81
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/scene.h +222 -42
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/snap.h +183 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/space.h +26 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/styles.h +29 -27
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/text.h +14 -6
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/texture.h +23 -1
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/typed_value.h +26 -26
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/model/vertex.h +2 -2
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/sketchup.h +4 -1
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Headers/unicodestring.h +7 -7
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Resources/Info.plist +8 -8
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/SketchUpAPI +0 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/_CodeSignature/CodeResources +144 -88
- data/sketchup-sdk-win/binaries/layout/x64/LayOutAPI.dll +0 -0
- data/sketchup-sdk-win/binaries/layout/x64/LayOutAPI.lib +0 -0
- data/sketchup-sdk-win/binaries/layout/x64/LayOutControllers.dll +0 -0
- data/sketchup-sdk-win/binaries/layout/x64/LayOutModel.dll +0 -0
- data/sketchup-sdk-win/binaries/layout/x64/LayOutRTF.dll +0 -0
- data/sketchup-sdk-win/binaries/layout/x64/LayOutUtils.dll +0 -0
- data/sketchup-sdk-win/binaries/layout/x64/LayOutView.dll +0 -0
- data/sketchup-sdk-win/binaries/layout/x64/SketchUpCommonPreferences.dll +0 -0
- data/sketchup-sdk-win/binaries/layout/x64/SketchUpViewerAPI.dll +0 -0
- data/sketchup-sdk-win/binaries/layout/x64/SketchUpViewerAPI.lib +0 -0
- data/sketchup-sdk-win/binaries/layout/x64/pdflib.dll +0 -0
- data/sketchup-sdk-win/binaries/sketchup/x64/SketchUpAPI.dll +0 -0
- data/sketchup-sdk-win/binaries/sketchup/x64/SketchUpAPI.lib +0 -0
- data/sketchup-sdk-win/binaries/sketchup/x64/SketchUpCommonPreferences.dll +0 -0
- data/sketchup-sdk-win/binaries/sketchup/x64/sketchup.lib +0 -0
- data/sketchup-sdk-win/headers/LayOutAPI/application/application.h +14 -14
- data/sketchup-sdk-win/headers/LayOutAPI/layout.h +1 -1
- data/sketchup-sdk-win/headers/LayOutAPI/model/dictionary.h +1 -1
- data/sketchup-sdk-win/headers/LayOutAPI/model/document.h +73 -0
- data/sketchup-sdk-win/headers/LayOutAPI/model/documentexportoptions.h +21 -2
- data/sketchup-sdk-win/headers/LayOutAPI/model/entity.h +72 -0
- data/sketchup-sdk-win/headers/LayOutAPI/model/group.h +2 -1
- data/sketchup-sdk-win/headers/LayOutAPI/model/lineardimension.h +54 -2
- data/sketchup-sdk-win/headers/LayOutAPI/model/page.h +70 -0
- data/sketchup-sdk-win/headers/LayOutAPI/model/sketchupmodel.h +58 -1
- data/sketchup-sdk-win/headers/LayOutAPI/model/style.h +39 -3
- data/sketchup-sdk-win/headers/LayOutAPI/model/table.h +2 -0
- data/sketchup-sdk-win/headers/LayOutAPI/model/typed_value.h +25 -1
- data/sketchup-sdk-win/headers/SketchUpAPI/application/model.h +4 -4
- data/sketchup-sdk-win/headers/SketchUpAPI/application/overlay.h +20 -6
- data/sketchup-sdk-win/headers/SketchUpAPI/common.h +9 -9
- data/sketchup-sdk-win/headers/SketchUpAPI/extension_license.h +9 -1
- data/sketchup-sdk-win/headers/SketchUpAPI/geometry/point2d.h +2 -2
- data/sketchup-sdk-win/headers/SketchUpAPI/geometry/point3d.h +2 -2
- data/sketchup-sdk-win/headers/SketchUpAPI/geometry/transformation2d.h +3 -3
- data/sketchup-sdk-win/headers/SketchUpAPI/geometry/vector2d.h +5 -5
- data/sketchup-sdk-win/headers/SketchUpAPI/geometry/vector3d.h +4 -4
- data/sketchup-sdk-win/headers/SketchUpAPI/geometry.h +9 -7
- data/sketchup-sdk-win/headers/SketchUpAPI/import_export/modelimporterplugin.h +8 -4
- data/sketchup-sdk-win/headers/SketchUpAPI/model/attribute_dictionary.h +4 -4
- data/sketchup-sdk-win/headers/SketchUpAPI/model/component_definition.h +74 -33
- data/sketchup-sdk-win/headers/SketchUpAPI/model/component_definition_snap_to_behavior_private.h +46 -0
- data/sketchup-sdk-win/headers/SketchUpAPI/model/component_instance.h +11 -11
- data/sketchup-sdk-win/headers/SketchUpAPI/model/curve.h +4 -4
- data/sketchup-sdk-win/headers/SketchUpAPI/model/defs.h +7 -2
- data/sketchup-sdk-win/headers/SketchUpAPI/model/dimension.h +2 -0
- data/sketchup-sdk-win/headers/SketchUpAPI/model/drawing_element.h +11 -11
- data/sketchup-sdk-win/headers/SketchUpAPI/model/edge.h +7 -7
- data/sketchup-sdk-win/headers/SketchUpAPI/model/entities.h +106 -61
- data/sketchup-sdk-win/headers/SketchUpAPI/model/entity.h +7 -4
- data/sketchup-sdk-win/headers/SketchUpAPI/model/environment.h +382 -0
- data/sketchup-sdk-win/headers/SketchUpAPI/model/environments.h +133 -0
- data/sketchup-sdk-win/headers/SketchUpAPI/model/face.h +43 -27
- data/sketchup-sdk-win/headers/SketchUpAPI/model/geometry_input.h +126 -116
- data/sketchup-sdk-win/headers/SketchUpAPI/model/group.h +9 -8
- data/sketchup-sdk-win/headers/SketchUpAPI/model/image.h +6 -5
- data/sketchup-sdk-win/headers/SketchUpAPI/model/layer.h +3 -3
- data/sketchup-sdk-win/headers/SketchUpAPI/model/material.h +432 -25
- data/sketchup-sdk-win/headers/SketchUpAPI/model/model.h +263 -100
- data/sketchup-sdk-win/headers/SketchUpAPI/model/model_entity_type_private.h +44 -0
- data/sketchup-sdk-win/headers/SketchUpAPI/model/rendering_options.h +82 -81
- data/sketchup-sdk-win/headers/SketchUpAPI/model/scene.h +222 -42
- data/sketchup-sdk-win/headers/SketchUpAPI/model/snap.h +183 -0
- data/sketchup-sdk-win/headers/SketchUpAPI/model/space.h +26 -0
- data/sketchup-sdk-win/headers/SketchUpAPI/model/styles.h +29 -27
- data/sketchup-sdk-win/headers/SketchUpAPI/model/text.h +14 -6
- data/sketchup-sdk-win/headers/SketchUpAPI/model/texture.h +23 -1
- data/sketchup-sdk-win/headers/SketchUpAPI/model/typed_value.h +26 -26
- data/sketchup-sdk-win/headers/SketchUpAPI/model/vertex.h +2 -2
- data/sketchup-sdk-win/headers/SketchUpAPI/sketchup.h +4 -1
- data/sketchup-sdk-win/headers/SketchUpAPI/unicodestring.h +7 -7
- metadata +22 -10
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Libraries/libCommonGeometry.dylib +0 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Libraries/libCommonPreferences.dylib +0 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Libraries/libCommonUnits.dylib +0 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Libraries/libCommonUtils.dylib +0 -0
- data/sketchup-sdk-mac/SketchUpAPI.framework/Versions/A/Libraries/libCommonZip.dylib +0 -0
- data/sketchup-sdk-win/headers/LayOutAPI/model/skpfilereference.h +0 -94
@@ -857,6 +857,79 @@ render mode, set this to LOSketchUpModelRenderMode_NoOverride.
|
|
857
857
|
*/
|
858
858
|
LO_RESULT LODocumentSetRenderModeOverride(
|
859
859
|
LODocumentRef document, LOSketchUpModelRenderMode render_mode);
|
860
|
+
|
861
|
+
/**
|
862
|
+
@brief Gets a copy of an attribute dictionary with the given name from a document.
|
863
|
+
@since LayOut 2026, API 11.0
|
864
|
+
@param[in] document The document object.
|
865
|
+
@param[in] dictionary_name The name of the attribute dictionary object to retrieve.
|
866
|
+
@param[out] dictionary The attribute dictionary object.
|
867
|
+
@related LODocumentRef
|
868
|
+
@return
|
869
|
+
- \ref SU_ERROR_NONE on success
|
870
|
+
- \ref SU_ERROR_INVALID_INPUT if \p document does not refer to a valid object
|
871
|
+
- \ref SU_ERROR_NULL_POINTER_INPUT if \p dictionary_name is NULL
|
872
|
+
- \ref SU_ERROR_NULL_POINTER_OUTPUT if \p dictionary is NULL
|
873
|
+
- \ref SU_ERROR_NO_DATA if \p document does not have an attribute dictionary with the given name
|
874
|
+
*/
|
875
|
+
LO_RESULT LODocumentCreateAttributeDictionaryCopy(
|
876
|
+
LODocumentRef document, const char* dictionary_name, LODictionaryRef* dictionary);
|
877
|
+
|
878
|
+
/**
|
879
|
+
@brief Sets an attribute to a given dictionary belonging to a document.
|
880
|
+
|
881
|
+
@since LayOut 2026, API 11.0
|
882
|
+
@param[in] document The document object.
|
883
|
+
@param[in] dictionary_name The name of the attribute dictionary object being added to.
|
884
|
+
@param[in] key The key to use when adding to the attribute dictionary.
|
885
|
+
@param[in] value_in The value to be added to the attribute dictionary.
|
886
|
+
@related LODocumentRef
|
887
|
+
@return
|
888
|
+
- \ref SU_ERROR_NONE on success
|
889
|
+
- \ref SU_ERROR_INVALID_INPUT if \p document does not refer to a valid object
|
890
|
+
- \ref SU_ERROR_INVALID_ARGUMENT if \p value_in contains no data
|
891
|
+
- \ref SU_ERROR_NULL_POINTER_INPUT if \p dictionary_name or \p key are NULL
|
892
|
+
- \ref SU_ERROR_UNSUPPORTED if \p dictionary_name is empty
|
893
|
+
*/
|
894
|
+
LO_RESULT LODocumentSetAttribute(
|
895
|
+
LODocumentRef document, const char* dictionary_name, const char* key, LOTypedValueRef value_in);
|
896
|
+
|
897
|
+
/**
|
898
|
+
@brief Gets an attribute from a given dictionary belonging to a document.
|
899
|
+
@since LayOut 2026, API 11.0
|
900
|
+
@param[in] document The document object.
|
901
|
+
@param[in] dictionary_name The name of the attribute dictionary object to retrieve the value from.
|
902
|
+
@param[in] key The key to use when adding to the attribute dictionary.
|
903
|
+
@param[out] value_out The value retrieved from the attribute dictionary.
|
904
|
+
@related LODocumentRef
|
905
|
+
@return
|
906
|
+
- \ref SU_ERROR_NONE on success
|
907
|
+
- \ref SU_ERROR_INVALID_INPUT if \p document does not refer to a valid object
|
908
|
+
- \ref SU_ERROR_INVALID_OUTPUT if \p value_out does not refer to a valid object
|
909
|
+
- \ref SU_ERROR_NULL_POINTER_INPUT if \p dictionary_name or \p key are NULL
|
910
|
+
- \ref SU_ERROR_NO_DATA if no attribute dictionary exists with the given name, or if the attribute
|
911
|
+
dictionary does not contain the given key
|
912
|
+
*/
|
913
|
+
LO_RESULT LODocumentGetAttribute(
|
914
|
+
LODocumentRef document, const char* dictionary_name, const char* key,
|
915
|
+
LOTypedValueRef value_out);
|
916
|
+
|
917
|
+
/**
|
918
|
+
@brief Removes an attribute from a given dictionary belonging to a Document. If key is nullptr, then
|
919
|
+
the entire dictionary will be removed from the Document.
|
920
|
+
@since LayOut 2026, API 11.0
|
921
|
+
@param[in] document The document object.
|
922
|
+
@param[in] dictionary_name The name of the attribute dictionary object to remove.
|
923
|
+
@param[in] key The key to remove from the attribute dictionary.
|
924
|
+
@related LODocumentRef
|
925
|
+
@return
|
926
|
+
- \ref SU_ERROR_NONE on success
|
927
|
+
- \ref SU_ERROR_INVALID_INPUT if \p document does not refer to a valid object
|
928
|
+
- \ref SU_ERROR_NULL_POINTER_INPUT if \p dictionary_name is NULL
|
929
|
+
*/
|
930
|
+
LO_RESULT LODocumentDeleteAttribute(
|
931
|
+
LODocumentRef document, const char* dictionary_name, const char* key);
|
932
|
+
|
860
933
|
#ifdef __cplusplus
|
861
934
|
} // extern "C" {
|
862
935
|
#endif
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// Copyright 2015-
|
1
|
+
// Copyright 2015-2024 Trimble Inc. All rights reserved.
|
2
2
|
// This file is intended for public distribution.
|
3
3
|
|
4
4
|
#ifndef LAYOUT_MODEL_DOCUMENTEXPORTOPTIONS_H_
|
@@ -24,11 +24,30 @@ const char* const LOExportOption_EndPage = "end_page";
|
|
24
24
|
/**
|
25
25
|
@brief Dictionary key to use when specifying the page range option for
|
26
26
|
\ref LODocumentExportToPDF or \ref LODocumentExportToImageSet.
|
27
|
-
The value stored with this key takes precedent over `"start_page"`
|
27
|
+
The value stored with this key takes precedent over `"start_page"`
|
28
|
+
and `"end_page"`.
|
28
29
|
@since LayOut 2024.0, API 9.0
|
29
30
|
*/
|
30
31
|
const char* const LOExportOption_PageRange = "page_range";
|
31
32
|
|
33
|
+
/**
|
34
|
+
@brief Dictionary key to use when specifying the page range type option for
|
35
|
+
\ref LODocumentExportToPDF or \ref LODocumentExportToImageSet.
|
36
|
+
If this value is set to \ref LOExportPageRangeType_All, then
|
37
|
+
`"start_page"`, `"end_page"`, and `"page_range"` are ignored. If
|
38
|
+
not set, or set to \ref LOExportPageRangeType_Range, then those
|
39
|
+
values will be used as outlined.
|
40
|
+
@since LayOut 2025.0, API 10.0
|
41
|
+
*/
|
42
|
+
const char* const LOExportOption_PageRangeType = "page_range_type";
|
43
|
+
|
44
|
+
/**
|
45
|
+
@brief Dictionary values to use for the \ref LOExportOption_PageRangeType key.
|
46
|
+
@since LayOut 2025.0, API 10.0
|
47
|
+
*/
|
48
|
+
const int LOExportPageRangeType_All = 0;
|
49
|
+
const int LOExportPageRangeType_Range = 1;
|
50
|
+
|
32
51
|
/**
|
33
52
|
@brief Dictionary key to use when specifying the output resolution option for
|
34
53
|
\ref LODocumentExportToPDF.
|
@@ -324,6 +324,78 @@ LO_RESULT LOEntityGetLocked(LOEntityRef entity, bool* is_locked);
|
|
324
324
|
*/
|
325
325
|
LO_RESULT LOEntitySetLocked(LOEntityRef entity, bool lock);
|
326
326
|
|
327
|
+
/**
|
328
|
+
@brief Gets a copy of an attribute dictionary with the given name from an entity.
|
329
|
+
@since LayOut 2026, API 11.0
|
330
|
+
@param[in] entity The entity object.
|
331
|
+
@param[in] dictionary_name The name of the attribute dictionary object to retrieve.
|
332
|
+
@param[out] dictionary The attribute dictionary object.
|
333
|
+
@related LOEntityRef
|
334
|
+
@return
|
335
|
+
- \ref SU_ERROR_NONE on success
|
336
|
+
- \ref SU_ERROR_INVALID_INPUT if \p entity does not refer to a valid object
|
337
|
+
- \ref SU_ERROR_NULL_POINTER_INPUT if \p dictionary_name is NULL
|
338
|
+
- \ref SU_ERROR_NULL_POINTER_OUTPUT if \p dictionary is NULL
|
339
|
+
- \ref SU_ERROR_NO_DATA if \p entity does not have an attribute dictionary with the given name
|
340
|
+
- \ref SU_ERROR_UNSUPPORTED if \p entity does not support attribute dictionaries
|
341
|
+
*/
|
342
|
+
LO_RESULT LOEntityCreateAttributeDictionaryCopy(
|
343
|
+
LOEntityRef entity, const char* dictionary_name, LODictionaryRef* dictionary);
|
344
|
+
|
345
|
+
/**
|
346
|
+
@brief Sets an attribute dictionary to a given dictionary belonging to an entity.
|
347
|
+
@since LayOut 2026, API 11.0
|
348
|
+
@param[in] entity The entity object.
|
349
|
+
@param[in] dictionary_name The name of the attribute dictionary object being added to.
|
350
|
+
@param[in] key The key to use when adding to the attribute dictionary.
|
351
|
+
@param[in] value_in The value to be added to the attribute dictionary.
|
352
|
+
@related LOEntityRef
|
353
|
+
@return
|
354
|
+
- \ref SU_ERROR_NONE on success
|
355
|
+
- \ref SU_ERROR_INVALID_INPUT if \p entity does not refer to a valid object
|
356
|
+
- \ref SU_ERROR_INVALID_ARGUMENT if \p value_in contains no data
|
357
|
+
- \ref SU_ERROR_NULL_POINTER_INPUT if \p dictionary_name or \p key are NULL
|
358
|
+
- \ref SU_ERROR_UNSUPPORTED if \p entity does not support attribute dictionaries or
|
359
|
+
\p dictionary_name or \p key are empty
|
360
|
+
*/
|
361
|
+
LO_RESULT LOEntitySetAttribute(
|
362
|
+
LOEntityRef entity, const char* dictionary_name, const char* key, LOTypedValueRef value_in);
|
363
|
+
|
364
|
+
/**
|
365
|
+
@brief Gets an attribute from a given dictionary belonging to an entity.
|
366
|
+
@since LayOut 2026, API 11.0
|
367
|
+
@param[in] entity The entity object.
|
368
|
+
@param[in] dictionary_name The name of the attribute dictionary object to retrieve the value from.
|
369
|
+
@param[in] key The key to use when adding to the attribute dictionary.
|
370
|
+
@param[out] value_out The value retrieved from the attribute dictionary.
|
371
|
+
@related LOEntityRef
|
372
|
+
@return
|
373
|
+
- \ref SU_ERROR_NONE on success
|
374
|
+
- \ref SU_ERROR_INVALID_INPUT if \p document does not refer to a valid object
|
375
|
+
- \ref SU_ERROR_INVALID_OUTPUT if \p value_out does not refer to a valid object
|
376
|
+
- \ref SU_ERROR_NULL_POINTER_INPUT if \p dictionary_name or \p key are NULL
|
377
|
+
- \ref SU_ERROR_NO_DATA if no attribute dictionary exists with the given name, or if the attribute
|
378
|
+
dictionary does not contain the given key
|
379
|
+
*/
|
380
|
+
LO_RESULT LOEntityGetAttribute(
|
381
|
+
LOEntityRef entity, const char* dictionary_name, const char* key, LOTypedValueRef value_out);
|
382
|
+
|
383
|
+
/**
|
384
|
+
@brief Removes an attribute from a given dictionary belonging to an Entity. If key is nullptr, then
|
385
|
+
the entire dictionary will be removed from the Entity.
|
386
|
+
@since LayOut 2026, API 11.0
|
387
|
+
@param[in] entity The entity object.
|
388
|
+
@param[in] dictionary_name The name of the attribute dictionary object to remove.
|
389
|
+
@param[in] key The key to remove from the attribute dictionary.
|
390
|
+
@related LOEntityRef
|
391
|
+
@return
|
392
|
+
- \ref SU_ERROR_NONE on success
|
393
|
+
- \ref SU_ERROR_INVALID_INPUT if \p entity does not refer to a valid object
|
394
|
+
- \ref SU_ERROR_NULL_POINTER_INPUT if \p dictionary_name or \p key are NULL
|
395
|
+
- \ref SU_ERROR_UNSUPPORTED if \p entity does not support attribute dictionaries
|
396
|
+
*/
|
397
|
+
LO_RESULT LOEntityDeleteAttribute(LOEntityRef entity, const char* dictionary_name, const char* key);
|
398
|
+
|
327
399
|
#ifdef __cplusplus
|
328
400
|
} // end extern "C"
|
329
401
|
#endif // __cplusplus
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// Copyright 2015 Trimble
|
1
|
+
// Copyright 2015-2025 Trimble Inc. All rights reserved.
|
2
2
|
// This file is intended for public distribution.
|
3
3
|
|
4
4
|
#ifndef LAYOUT_MODEL_GROUP_H_
|
@@ -184,6 +184,7 @@ LO_RESULT LOGroupSetScaleFactor(
|
|
184
184
|
LOGroupRef group, double scale_factor, LODocumentUnits units,
|
185
185
|
LOGroupResizeBehaviorType resize_behavior);
|
186
186
|
|
187
|
+
|
187
188
|
/**
|
188
189
|
@brief Returns the scale units for a group.
|
189
190
|
@since LayOut 2018, API 3.0
|
@@ -43,13 +43,26 @@ typedef enum {
|
|
43
43
|
LONumLinearDimensionLeaderLineTypes
|
44
44
|
} LOLinearDimensionLeaderLineType;
|
45
45
|
|
46
|
+
/**
|
47
|
+
@enum LOLinearDimensionAlignment
|
48
|
+
@brief Defines how the dimension line should align on the page when creating a new linear dimension.
|
49
|
+
@since LayOut 2026.0, API 11.0
|
50
|
+
*/
|
51
|
+
typedef enum {
|
52
|
+
LOLinearDimensionAlignment_Aligned = 0, /// Align the dimension line with the connection points.
|
53
|
+
LOLinearDimensionAlignment_Vertical, /// Align the dimension line vertically on the paper.
|
54
|
+
LOLinearDimensionAlignment_Horizontal, /// Align the dimension line horizontally on the paper.
|
55
|
+
LONumLinearDimensionAlignments
|
56
|
+
} LOLinearDimensionAlignment;
|
57
|
+
|
46
58
|
/**
|
47
59
|
@brief Creates a new disconnected linear dimension object.
|
48
60
|
@param[out] dimension The linear dimension object
|
49
61
|
@param[in] start_point Where the dimension should start
|
50
62
|
@param[in] end_point Where the dimension should end
|
51
|
-
@param[in] height Distance from the start and end points to the dimension
|
52
|
-
|
63
|
+
@param[in] height Distance from the start and end points to the dimension line
|
64
|
+
@note This is equivalent to using LOLinearDimensionCreateWithAlignment with
|
65
|
+
\ref LOLinearDimensionAlignment_Aligned.
|
53
66
|
@return
|
54
67
|
- \ref SU_ERROR_NONE on success
|
55
68
|
- \ref SU_ERROR_NULL_POINTER_OUTPUT if dimension is NULL
|
@@ -61,6 +74,30 @@ LO_RESULT LOLinearDimensionCreate(
|
|
61
74
|
LOLinearDimensionRef* dimension, const LOPoint2D* start_point, const LOPoint2D* end_point,
|
62
75
|
double height);
|
63
76
|
|
77
|
+
/**
|
78
|
+
@brief Creates a new disconnected linear dimension object with a specific dimension line alignment.
|
79
|
+
@param[out] dimension The linear dimension object
|
80
|
+
@param[in] start_point Where the dimension should start
|
81
|
+
@param[in] end_point Where the dimension should end
|
82
|
+
@param[in] height Distance from the start point to the dimension line. Negative height will
|
83
|
+
create a dimension line to the left or down from the connection points
|
84
|
+
@param[in] alignment Dimension line alignment type. The dimension line can be horizontal,
|
85
|
+
vertical, or aligned with the connection points.
|
86
|
+
@since LayOut 2026.0, API 11.0
|
87
|
+
@return
|
88
|
+
- \ref SU_ERROR_NONE on success
|
89
|
+
- \ref SU_ERROR_NULL_POINTER_OUTPUT if \p dimension is NULL
|
90
|
+
- \ref SU_ERROR_OVERWRITE_VALID if *dimension already refers to a valid object
|
91
|
+
- \ref SU_ERROR_NULL_POINTER_INPUT if \p start_point is NULL
|
92
|
+
- \ref SU_ERROR_NULL_POINTER_INPUT if \p end_point is NULL
|
93
|
+
- \ref SU_ERROR_OUT_OF_RANGE if \p alignment is not a valid value
|
94
|
+
- \ref SU_ERROR_INVALID_ARGUMENT if the combination of start_point, end_point, and alignment can't
|
95
|
+
create a valid dimension.
|
96
|
+
*/
|
97
|
+
LO_RESULT LOLinearDimensionCreateWithAlignment(
|
98
|
+
LOLinearDimensionRef* dimension, const LOPoint2D* start_point, const LOPoint2D* end_point,
|
99
|
+
double height, LOLinearDimensionAlignment alignment);
|
100
|
+
|
64
101
|
/**
|
65
102
|
@brief Adds a reference to a linear dimension object.
|
66
103
|
@param[in] dimension The linear dimension object.
|
@@ -210,6 +247,21 @@ LO_RESULT LOLinearDimensionGetLeaderLineType(
|
|
210
247
|
LO_RESULT LOLinearDimensionSetLeaderLineType(
|
211
248
|
LOLinearDimensionRef dimension, LOLinearDimensionLeaderLineType leader_line_type);
|
212
249
|
|
250
|
+
/**
|
251
|
+
@brief Gets whether the linear dimension's leader line is visible.
|
252
|
+
@note This will return false if the leader line type is set to hidden or the leader line's
|
253
|
+
length is zero.
|
254
|
+
@since LayOut 2026.0, API 11.0
|
255
|
+
@param[in] dimension The linear dimension object.
|
256
|
+
@param[out] leader_line_visible Whether the dimension's leader line is visible.
|
257
|
+
@return
|
258
|
+
- \ref SU_ERROR_NONE on success
|
259
|
+
- \ref SU_ERROR_INVALID_INPUT if \p dimension does not refer to a valid object
|
260
|
+
- \ref SU_ERROR_NULL_POINTER_OUTPUT if \p leader_line_visible is NULL
|
261
|
+
*/
|
262
|
+
LO_RESULT LOLinearDimensionGetLeaderLineVisible(
|
263
|
+
LOLinearDimensionRef dimension, bool* leader_line_visible);
|
264
|
+
|
213
265
|
/**
|
214
266
|
@brief Gets whether or not the scale for the dimension length text is set
|
215
267
|
automatically.
|
@@ -254,6 +254,76 @@ LO_RESULT LOPageCreateReverseEntityIterator(
|
|
254
254
|
*/
|
255
255
|
LO_RESULT LOPageGetDocument(LOPageRef page, LODocumentRef* document);
|
256
256
|
|
257
|
+
/**
|
258
|
+
@brief Gets a copy of an attribute dictionary with the given name from a page.
|
259
|
+
@since LayOut 2026, API 11.0
|
260
|
+
@param[in] page The page object.
|
261
|
+
@param[in] dictionary_name The name of the attribute dictionary object to retrieve.
|
262
|
+
@param[out] dictionary The attribute dictionary object.
|
263
|
+
@related LOPageRef
|
264
|
+
@return
|
265
|
+
- \ref SU_ERROR_NONE on success
|
266
|
+
- \ref SU_ERROR_INVALID_INPUT if \p page does not refer to a valid object
|
267
|
+
- \ref SU_ERROR_NULL_POINTER_INPUT if \p dictionary_name is NULL
|
268
|
+
- \ref SU_ERROR_NULL_POINTER_OUTPUT if dictionary is NULL
|
269
|
+
- \ref SU_ERROR_NO_DATA if \p page does not have an attribute dictionary with the given name
|
270
|
+
*/
|
271
|
+
LO_RESULT LOPageCreateAttributeDictionaryCopy(
|
272
|
+
LOPageRef page, const char* dictionary_name, LODictionaryRef* dictionary);
|
273
|
+
|
274
|
+
/**
|
275
|
+
@brief Sets an attribute to a given dictionary belonging to a page.
|
276
|
+
|
277
|
+
@since LayOut 2026, API 11.0
|
278
|
+
@param[in] page The page object.
|
279
|
+
@param[in] dictionary_name The name of the attribute dictionary object being added to.
|
280
|
+
@param[in] key The key to use when adding to the attribute dictionary.
|
281
|
+
@param[in] value_in The value to be added to the attribute dictionary.
|
282
|
+
@related LOPageRef
|
283
|
+
@return
|
284
|
+
- \ref SU_ERROR_NONE on success
|
285
|
+
- \ref SU_ERROR_INVALID_INPUT if \p page does not refer to a valid object
|
286
|
+
- \ref SU_ERROR_INVALID_ARGUMENT if \p value_in contains no data
|
287
|
+
- \ref SU_ERROR_NULL_POINTER_INPUT if \p dictionary_name or \p key are NULL
|
288
|
+
- \ref SU_ERROR_UNSUPPORTED if \p dictionary_name is empty
|
289
|
+
*/
|
290
|
+
LO_RESULT LOPageSetAttribute(
|
291
|
+
LOPageRef page, const char* dictionary_name, const char* key, LOTypedValueRef value_in);
|
292
|
+
|
293
|
+
/**
|
294
|
+
@brief Gets an attribute from a given dictionary belonging to a page.
|
295
|
+
@since LayOut 2026, API 11.0
|
296
|
+
@param[in] page The page object.
|
297
|
+
@param[in] dictionary_name The name of the attribute dictionary object to retrieve the value from.
|
298
|
+
@param[in] key The key to use when adding to the attribute dictionary.
|
299
|
+
@param[out] value_out The value retrieved from the attribute dictionary.
|
300
|
+
@related LOPageRef
|
301
|
+
@return
|
302
|
+
- \ref SU_ERROR_NONE on success
|
303
|
+
- \ref SU_ERROR_INVALID_INPUT if \p page does not refer to a valid object
|
304
|
+
- \ref SU_ERROR_INVALID_OUTPUT if \p value_out does not refer to a valid object
|
305
|
+
- \ref SU_ERROR_NULL_POINTER_INPUT if \p dictionary_name or \p key are NULL
|
306
|
+
- \ref SU_ERROR_NO_DATA if no attribute dictionary exists with the given name, or if the attribute
|
307
|
+
dictionary does not contain the given key
|
308
|
+
*/
|
309
|
+
LO_RESULT LOPageGetAttribute(
|
310
|
+
LOPageRef page, const char* dictionary_name, const char* key, LOTypedValueRef value_out);
|
311
|
+
|
312
|
+
/**
|
313
|
+
@brief Removes an attribute from a given dictionary belonging to a page. If key is nullptr, then
|
314
|
+
the entire dictionary will be removed from the Page.
|
315
|
+
@since LayOut 2026, API 11.0
|
316
|
+
@param[in] page The page object.
|
317
|
+
@param[in] dictionary_name The name of the attribute dictionary object to remove.
|
318
|
+
@param[in] key The key to remove from the attribute dictionary.
|
319
|
+
@related LOPageRef
|
320
|
+
@return
|
321
|
+
- \ref SU_ERROR_NONE on success
|
322
|
+
- \ref SU_ERROR_INVALID_INPUT if \p page does not refer to a valid object
|
323
|
+
- \ref SU_ERROR_NULL_POINTER_INPUT if \p dictionary_name or \p key are NULL
|
324
|
+
*/
|
325
|
+
LO_RESULT LOPageDeleteAttribute(LOPageRef page, const char* dictionary_name, const char* key);
|
326
|
+
|
257
327
|
#ifdef __cplusplus
|
258
328
|
} // end extern "C"
|
259
329
|
#endif // __cplusplus
|
@@ -117,7 +117,38 @@ LO_EXPORT LOSketchUpModelRef LOSketchUpModelFromEntity(LOEntityRef entity);
|
|
117
117
|
LO_EXPORT LOEntityRef LOSketchUpModelToEntity(LOSketchUpModelRef model);
|
118
118
|
|
119
119
|
/**
|
120
|
-
@brief
|
120
|
+
@brief Applies the SketchUp model viewport's overrides on the SketchUp model retrieved by
|
121
|
+
\ref LOSketchUpModelGetModel.
|
122
|
+
@note The SketchUp model must be reset back to its default state by calling
|
123
|
+
\ref LOSketchUpModelResetViewportOverridesOnModel.
|
124
|
+
@since LayOut 2026.0, API 11.0
|
125
|
+
@param[in] model The SketchUp model object.
|
126
|
+
@return
|
127
|
+
- \ref SU_ERROR_NONE on success
|
128
|
+
- \ref SU_ERROR_INVALID_INPUT if \p model does not refer to a valid object
|
129
|
+
*/
|
130
|
+
LO_RESULT LOSketchUpModelSetViewportOverridesOnModel(LOSketchUpModelRef model);
|
131
|
+
|
132
|
+
/**
|
133
|
+
@brief Resets the SketchUp model used by this viewport back to its default state.
|
134
|
+
@note This must be done after a corresponding call to
|
135
|
+
\ref LOSketchUpModelSetViewportOverridesOnModel to ensure proper behavior of the SketchUp
|
136
|
+
model when multiple viewports exist using the same SketchUp model reference.
|
137
|
+
@since LayOut 2026.0, API 11.0
|
138
|
+
@param[in] model The SketchUp model object.
|
139
|
+
@return
|
140
|
+
- \ref SU_ERROR_NONE on success
|
141
|
+
- \ref SU_ERROR_INVALID_INPUT if \p model does not refer to a valid object
|
142
|
+
*/
|
143
|
+
LO_RESULT LOSketchUpModelResetViewportOverridesOnModel(LOSketchUpModelRef model);
|
144
|
+
|
145
|
+
/**
|
146
|
+
@brief Gets the \p SUModelRef representation of the SketchUp model.
|
147
|
+
@note This \p SUModelRef is shared by all SketchUp model viewports that use the same file
|
148
|
+
reference. To apply the SketchUp model viewport's overrides to the \p SUModelRef
|
149
|
+
call \ref LOSketchUpModelSetViewportOverridesOnModel. You must reset the SketchUp model
|
150
|
+
back to its default state by calling \ref LOSketchUpModelResetViewportOverridesOnModel
|
151
|
+
once you are done.
|
121
152
|
@since LayOut 2017, API 2.0
|
122
153
|
@param[in] model The SketchUp model object.
|
123
154
|
@param[out] sumodel The model reference object.
|
@@ -270,6 +301,32 @@ LO_RESULT LOSketchUpModelGetCameraModified(LOSketchUpModelRef model, bool* modif
|
|
270
301
|
*/
|
271
302
|
LO_RESULT LOSketchUpModelResetCamera(LOSketchUpModelRef model);
|
272
303
|
|
304
|
+
/**
|
305
|
+
@brief Gets a SUCameraRef representing the camera for the viewport.
|
306
|
+
@since LayOut 2026.0, API 11.0
|
307
|
+
@param[in] model The SketchUp model object.
|
308
|
+
@param[out] sucamera The camera reference object.
|
309
|
+
@return
|
310
|
+
- \ref SU_ERROR_NONE on success
|
311
|
+
- \ref SU_ERROR_INVALID_INPUT if \p model does not refer to a valid object
|
312
|
+
- \ref SU_ERROR_NULL_POINTER_OUTPUT if \p sucamera is NULL
|
313
|
+
- \ref SU_ERROR_INVALID_OUTPUT if \p *sucamera does not refer to a valid object
|
314
|
+
*/
|
315
|
+
LO_RESULT LOSketchUpModelGetCamera(LOSketchUpModelRef model, SUCameraRef* sucamera);
|
316
|
+
|
317
|
+
/**
|
318
|
+
@brief Sets the camera for the viewport.
|
319
|
+
@note Setting the camera will flag the viewport as having a modified camera.
|
320
|
+
@since LayOut 2026.0, API 11.0
|
321
|
+
@param[in] model The SketchUp model object.
|
322
|
+
@param[in] sucamera The camera reference object.
|
323
|
+
@return
|
324
|
+
- \ref SU_ERROR_NONE on success
|
325
|
+
- \ref SU_ERROR_INVALID_INPUT if \p model does not refer to a valid object
|
326
|
+
- \ref SU_ERROR_INVALID_INPUT if \p sucamera does not refer to a valid object
|
327
|
+
*/
|
328
|
+
LO_RESULT LOSketchUpModelSetCamera(LOSketchUpModelRef model, SUCameraRef sucamera);
|
329
|
+
|
273
330
|
/**
|
274
331
|
@brief Gets whether the SketchUp model's shadow or fog effects have been modified.
|
275
332
|
@param[in] model The SketchUp model object.
|
@@ -6,6 +6,8 @@
|
|
6
6
|
|
7
7
|
#include <LayOutAPI/common.h>
|
8
8
|
#include <LayOutAPI/model/defs.h>
|
9
|
+
#include <LayOutAPI/geometry/geometry.h>
|
10
|
+
#include <SketchUpAPI/color.h>
|
9
11
|
|
10
12
|
/**
|
11
13
|
@struct LOStyleRef
|
@@ -74,6 +76,17 @@ typedef enum {
|
|
74
76
|
LONumTextUnderlines
|
75
77
|
} LOTextUnderline;
|
76
78
|
|
79
|
+
/**
|
80
|
+
@enum LOTextStrikeThrough
|
81
|
+
@brief Defines strike through styles for formatted text.
|
82
|
+
@since LayOut 2026.0, API 11.0
|
83
|
+
*/
|
84
|
+
typedef enum {
|
85
|
+
LOTextStrikeThrough_None = 0, ///< No strike through.
|
86
|
+
LOTextStrikeThrough_Single, ///< Single strike through.
|
87
|
+
LONumTextStrikeThroughs
|
88
|
+
} LOTextStrikeThrough;
|
89
|
+
|
77
90
|
/**
|
78
91
|
@enum LOTextElevation
|
79
92
|
@brief Defines super/subscript options for formatted text.
|
@@ -203,9 +216,6 @@ typedef enum {
|
|
203
216
|
LONumSubEntityTypes
|
204
217
|
} LOSubEntityType;
|
205
218
|
|
206
|
-
#include "entity.h"
|
207
|
-
#include <SketchUpAPI/color.h>
|
208
|
-
|
209
219
|
#ifdef __cplusplus
|
210
220
|
extern "C" {
|
211
221
|
#endif // __cplusplus
|
@@ -723,6 +733,32 @@ LO_RESULT LOStyleGetTextUnderline(LOStyleRef style, LOTextUnderline* underline_t
|
|
723
733
|
*/
|
724
734
|
LO_RESULT LOStyleSetTextUnderline(LOStyleRef style, LOTextUnderline underline_type);
|
725
735
|
|
736
|
+
/**
|
737
|
+
@brief Gets the text strike through type for a style.
|
738
|
+
@since LayOut 2026.0, API 11.0
|
739
|
+
@param[in] style The style object.
|
740
|
+
@param[out] strikethrough_type The type of strike through for text.
|
741
|
+
@return
|
742
|
+
- \ref SU_ERROR_NONE on success
|
743
|
+
- \ref SU_ERROR_INVALID_INPUT if \p style does not refer to a valid object
|
744
|
+
- \ref SU_ERROR_NULL_POINTER_OUTPUT if \p strikethrough_type is NULL
|
745
|
+
- \ref SU_ERROR_NO_DATA if \p style doesn't specify a value for this style
|
746
|
+
attribute
|
747
|
+
*/
|
748
|
+
LO_RESULT LOStyleGetTextStrikeThrough(LOStyleRef style, LOTextStrikeThrough* strikethrough_type);
|
749
|
+
|
750
|
+
/**
|
751
|
+
@brief Sets the text strike through type of a style.
|
752
|
+
@since LayOut 2026.0, API 11.0
|
753
|
+
@param[in] style The style object.
|
754
|
+
@param[out] strikethrough_type The type of strike through to use for text.
|
755
|
+
@return
|
756
|
+
- \ref SU_ERROR_NONE on success
|
757
|
+
- \ref SU_ERROR_INVALID_INPUT if \p style does not refer to a valid object
|
758
|
+
- \ref SU_ERROR_OUT_OF_RANGE if \p strikethrough_type is not a valid strike through type
|
759
|
+
*/
|
760
|
+
LO_RESULT LOStyleSetTextStrikeThrough(LOStyleRef style, LOTextStrikeThrough strikethrough_type);
|
761
|
+
|
726
762
|
/**
|
727
763
|
@brief Gets the text elevation type (normal, superscript, or subscript) of a
|
728
764
|
style.
|
@@ -27,6 +27,8 @@ typedef enum {
|
|
27
27
|
LOTypedValueType_Int32,
|
28
28
|
LOTypedValueType_Double,
|
29
29
|
LOTypedValueType_String,
|
30
|
+
// @since LayOut 2026.0, API 11.0
|
31
|
+
LOTypedValueType_Dictionary,
|
30
32
|
LONumTypedValueTypes
|
31
33
|
} LOTypedValueType;
|
32
34
|
|
@@ -134,7 +136,7 @@ LO_RESULT LOTypedValueSetDouble(LOTypedValueRef typed_value, double double_value
|
|
134
136
|
@return
|
135
137
|
- \ref SU_ERROR_NONE on success
|
136
138
|
- \ref SU_ERROR_INVALID_INPUT if typed_value does not refer to a valid object
|
137
|
-
- \ref SU_ERROR_NO_DATA if the typed value does not contain a string
|
139
|
+
- \ref SU_ERROR_NO_DATA if the typed value does not contain a string
|
138
140
|
- \ref SU_ERROR_NULL_POINTER_OUTPUT if out_string is NULL
|
139
141
|
- \ref SU_ERROR_INVALID_OUTPUT if out_string does not refer to a valid object
|
140
142
|
*/
|
@@ -145,10 +147,32 @@ LO_RESULT LOTypedValueGetString(LOTypedValueRef typed_value, SUStringRef* out_st
|
|
145
147
|
@since LayOut 2018, API 3.0
|
146
148
|
@return
|
147
149
|
- \ref SU_ERROR_NONE on success
|
150
|
+
- \ref SU_ERROR_INVALID_INPUT if typed_value is not a valid object
|
148
151
|
- \ref SU_ERROR_NULL_POINTER_INPUT if string is NULL
|
149
152
|
*/
|
150
153
|
LO_RESULT LOTypedValueSetString(LOTypedValueRef typed_value, const char* string);
|
151
154
|
|
155
|
+
/**
|
156
|
+
@brief Gets a dictionary from the typed value object.
|
157
|
+
@since LayOut 2026.0, API 11.0
|
158
|
+
@return
|
159
|
+
- \ref SU_ERROR_NONE on success
|
160
|
+
- \ref SU_ERROR_INVALID_INPUT if typed_value does not refer to a valid object
|
161
|
+
- \ref SU_ERROR_NO_DATA if the typed value does not contain a dictionary
|
162
|
+
- \ref SU_ERROR_NULL_POINTER_OUTPUT if out_string is NULL
|
163
|
+
- \ref SU_ERROR_INVALID_OUTPUT if out_string does not refer to a valid object
|
164
|
+
*/
|
165
|
+
LO_RESULT LOTypedValueGetDictionary(LOTypedValueRef typed_value, LODictionaryRef* out_dictionary);
|
166
|
+
|
167
|
+
/**
|
168
|
+
@brief Sets the value of typed_value to the given dictionary.
|
169
|
+
@since LayOut 2026.0, API 11.0
|
170
|
+
@return
|
171
|
+
- \ref SU_ERROR_NONE on success
|
172
|
+
- \ref SU_ERROR_INVALID_INPUT if typed_value is not a valid object
|
173
|
+
*/
|
174
|
+
LO_RESULT LOTypedValueSetDictionary(LOTypedValueRef typed_value, LODictionaryRef dictionary);
|
175
|
+
|
152
176
|
#ifdef __cplusplus
|
153
177
|
} // end extern "C"
|
154
178
|
#endif // __cplusplus
|
@@ -29,8 +29,8 @@ extern "C" {
|
|
29
29
|
- \ref SU_ERROR_NULL_POINTER_OUTPUT if \p overlay is NULL
|
30
30
|
- \ref SU_ERROR_OVERWRITE_VALID if \p overlay is already a valid object
|
31
31
|
- \ref SU_ERROR_DUPLICATE if the given SUOverlayCreateInfo::id already exists in the model
|
32
|
-
@
|
33
|
-
@
|
32
|
+
@related SUModelRef
|
33
|
+
@see SUOverlayRef
|
34
34
|
*/
|
35
35
|
SU_RESULT SUModelCreateOverlay(
|
36
36
|
SUModelRef model, const struct SUOverlayCreateInfo* info, SUOverlayRef* overlay);
|
@@ -45,8 +45,8 @@ SU_RESULT SUModelCreateOverlay(
|
|
45
45
|
- \ref SU_ERROR_INVALID_INPUT if \p model or \p overlay is an invalid object
|
46
46
|
- \ref SU_ERROR_NULL_POINTER_INPUT if \p overlay is NULL
|
47
47
|
- \ref SU_ERROR_NO_DATA if \p overlay could be found in the model
|
48
|
-
@
|
49
|
-
@
|
48
|
+
@related SUModelRef
|
49
|
+
@see SUOverlayRef
|
50
50
|
*/
|
51
51
|
SU_RESULT SUModelReleaseOverlay(SUModelRef model, SUOverlayRef* overlay);
|
52
52
|
|
@@ -58,18 +58,25 @@ struct SUBeginFrameInfo {
|
|
58
58
|
double aspect_ratio; ///< Aspect ratio of the view port
|
59
59
|
double near_clipping_distance; ///< Distance to near clipping plane from the camera
|
60
60
|
double far_clipping_distance; ///< Distance to far clipping plane from the camera
|
61
|
-
double projection_matrix[16]; ///< Projection Matrix.
|
62
|
-
double view_matrix[16]; ///< View Matrix
|
61
|
+
double projection_matrix[16]; ///< Projection Matrix, stored in row major order.
|
62
|
+
double view_matrix[16]; ///< View Matrix, stored in row major order.
|
63
63
|
double viewport_width; ///< Viewport width
|
64
64
|
double viewport_height; ///< Viewport height
|
65
65
|
|
66
|
-
|
67
|
-
|
66
|
+
/**
|
67
|
+
* Field of view of the perspective camera (in degrees). Valid only when
|
68
|
+
* is_perspective is true.
|
69
|
+
*/
|
70
|
+
double fov;
|
71
|
+
|
68
72
|
double height; ///< Parallel projection frustum height. Valid only when is_perspective is false.
|
69
73
|
bool is_perspective; ///< Whether the camera is perspective or orthographic.
|
70
74
|
|
71
|
-
|
72
|
-
|
75
|
+
/**
|
76
|
+
* Reserved for internal use. This will be set to NULL by SketchUp and should
|
77
|
+
* not be modified.
|
78
|
+
*/
|
79
|
+
void* reserved;
|
73
80
|
};
|
74
81
|
|
75
82
|
/**
|
@@ -126,6 +133,7 @@ enum SUOverlayImageOrientation : uint8_t {
|
|
126
133
|
@struct SUOverlayDrawFrameInfo
|
127
134
|
@brief Data that SketchUp will use the to blend the given color/depth buffer onto SketchUp
|
128
135
|
rendering.
|
136
|
+
@attention color and depth buffers must be valid until the end_frame callback is called.
|
129
137
|
@related SUOverlayRef
|
130
138
|
*/
|
131
139
|
struct SUOverlayDrawFrameInfo {
|
@@ -137,9 +145,11 @@ struct SUOverlayDrawFrameInfo {
|
|
137
145
|
double blending_factor;
|
138
146
|
|
139
147
|
/// Color buffer info. ptr points to a uint8_t buffer with 4 channels.
|
148
|
+
/// The buffer pointed to by color must be valid until the end_frame callback is called.
|
140
149
|
struct SUDrawFrameMemoryBuffer color;
|
141
150
|
|
142
151
|
/// Depth buffer info. ptr points to a float buffer.
|
152
|
+
/// The buffer pointed to by color must be valid until the end_frame callback is called.
|
143
153
|
struct SUDrawFrameMemoryBuffer depth;
|
144
154
|
|
145
155
|
/// Reserved for internal use. This will be set to NULL by SketchUp and should not be modified.
|
@@ -154,6 +164,8 @@ typedef void (*SUOverlayDrawFrameFuncT)(SUOverlayRef, struct SUOverlayDrawFrameI
|
|
154
164
|
|
155
165
|
/**
|
156
166
|
@brief Signature for SUOverlayCreateInfo::end_frame callback
|
167
|
+
@attention SUOverlayDrawFrameInfo::color and SUOverlayDrawFrameInfo::depth buffers must be valid
|
168
|
+
until the end_frame callback is called.
|
157
169
|
@related SUOverlayRef
|
158
170
|
*/
|
159
171
|
typedef void (*SUOverlayEndFrameFuncT)(SUOverlayRef, void*);
|
@@ -224,6 +236,8 @@ struct SUOverlayCreateInfo {
|
|
224
236
|
SUOverlayDrawFrameFuncT draw_frame;
|
225
237
|
/// Function that SketchUp will call to signal the resources passed in draw_frame are no longer
|
226
238
|
/// needed.
|
239
|
+
/// SUOverlayDrawFrameInfo::color and SUOverlayDrawFrameInfo::depth buffers must be valid until
|
240
|
+
/// the end_frame callback is called.
|
227
241
|
SUOverlayEndFrameFuncT end_frame;
|
228
242
|
};
|
229
243
|
|