LayOut C API

- Main Page
- Related Pages
- Data Structures
- Files

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
entity.h
Go to the documentation of this file.
1 // Copyright 2015-2022 Trimble Inc. All rights reserved.
2 // This file is intended for public distribution.
3
4 #ifndef LAYOUT_MODEL_ENTITY_H_
5 #define LAYOUT_MODEL_ENTITY_H_
6
7 #include <LayOutAPI/common.h>
8 #include <LayOutAPI/geometry/geometry.h>
9 #include <LayOutAPI/model/defs.h>
10
15 typedef enum {
16 LOEntityType_FormattedText = 0,
17 LOEntityType_Group,
18 LOEntityType_Image,
19 LOEntityType_LinearDimension,
20 LOEntityType_Path,
21 LOEntityType_Rectangle,
22 LOEntityType_SketchUpModel,
23 LOEntityType_Ellipse,
24 LOEntityType_Label,
25 LOEntityType_Table,
26 LOEntityType_AngularDimension,
27 LOEntityType_ReferenceEntity,
28 LONumEntityTypes
29 } LOEntityType;
30
36 #ifdef __cplusplus
37 extern "C" {
38 #endif // __cplusplus
39
49 LO_RESULT LOEntityGetAxisAlignedBounds(LOEntityRef entity, LOAxisAlignedRect2D* bounds);
50
62 LO_RESULT LOEntityGetOrientedBounds(LOEntityRef entity, LOOrientedRect2D* bounds);
63
76 LO_RESULT LOEntityHasExplicitTransform(LOEntityRef entity, bool* has_transform);
77
87 LO_RESULT LOEntityGetExplicitTransform(LOEntityRef entity, LOTransformMatrix2D* transform_matrix);
88
104 LO_RESULT LOEntityApplyTransform(LOEntityRef entity, const LOTransformMatrix2D* transform_matrix);
105
118 LO_RESULT LOEntityGetUntransformedBounds(LOEntityRef entity, LOAxisAlignedRect2D* bounds);
119
135 LO_RESULT LOEntitySetUntransformedBounds(LOEntityRef entity, const LOAxisAlignedRect2D* bounds);
136
148 LO_RESULT LOEntityGetEntityType(LOEntityRef entity, LOEntityType* entity_type);
149
161 LO_RESULT LOEntityGetDocument(LOEntityRef entity, LODocumentRef* document);
162
177 LO_RESULT LOEntityGetLayerInstance(LOEntityRef entity, LOLayerInstanceRef* layer_instance);
178
207 LO_RESULT LOEntityMoveToLayer(LOEntityRef entity, LOLayerRef layer, LOPageListRef pages);
208
222 LO_RESULT LOEntityGetPage(LOEntityRef entity, LOPageRef* page);
223
233 LO_RESULT LOEntityIsInGroup(LOEntityRef entity, bool* is_in_group);
234
246 LO_RESULT LOEntityGetContainingGroup(LOEntityRef entity, LOGroupRef* group);
247
266 LO_RESULT LOEntityMoveToGroup(LOEntityRef entity, LOGroupRef group);
267
278 LO_RESULT LOEntityGetStyle(LOEntityRef entity, LOStyleRef style);
279
291 LO_RESULT LOEntitySetStyle(LOEntityRef entity, LOStyleRef style);
305 LO_RESULT LOEntityIsOnSharedLayer(LOEntityRef entity, bool* is_on_shared_layer);
306
317 LO_RESULT LOEntityGetLocked(LOEntityRef entity, bool* is_locked);
318
328 LO_RESULT LOEntitySetLocked(LOEntityRef entity, bool lock);
329
345 LO_RESULT LOEntityCreateAttributeDictionaryCopy(
346 LOEntityRef entity, const char* dictionary_name, LODictionaryRef* dictionary);
347
364 LO_RESULT LOEntitySetAttribute(
365 LOEntityRef entity, const char* dictionary_name, const char* key, LOTypedValueRef value_in);
366
383 LO_RESULT LOEntityGetAttribute(
384 LOEntityRef entity, const char* dictionary_name, const char* key, LOTypedValueRef value_out);
385
400 LO_RESULT LOEntityDeleteAttribute(LOEntityRef entity, const char* dictionary_name, const char* key);
401
402 #ifdef __cplusplus
403 } // end extern "C"
404 #endif // __cplusplus
405 #endif // LAYOUT_MODEL_ENTITY_H_