|
8 | 8 | from __future__ import annotations |
9 | 9 |
|
10 | 10 | import os |
| 11 | +import uuid |
11 | 12 | from dataclasses import is_dataclass |
12 | 13 |
|
13 | | -import trimesh |
| 14 | +import sqlalchemy |
14 | 15 | from krrood.class_diagrams import ClassDiagram |
15 | | -from krrood.ormatic.dao import AlternativeMapping |
16 | 16 | from krrood.ormatic.ormatic import ORMatic |
17 | 17 | from krrood.ormatic.utils import classes_of_module |
18 | 18 | from krrood.utils import recursive_subclasses |
19 | 19 |
|
| 20 | +import semantic_digital_twin.adapters.procthor.procthor_semantic_annotations |
20 | 21 | import semantic_digital_twin.orm.model |
21 | 22 | import semantic_digital_twin.reasoning.predicates |
22 | 23 | import semantic_digital_twin.robots.abstract_robot |
23 | 24 | import semantic_digital_twin.semantic_annotations.semantic_annotations |
24 | 25 | import semantic_digital_twin.world # ensure the module attribute exists on the package |
25 | | -import semantic_digital_twin.adapters.procthor.procthor_semantic_annotations |
26 | 26 | import semantic_digital_twin.world_description.degree_of_freedom |
27 | 27 | import semantic_digital_twin.world_description.geometry |
28 | 28 | import semantic_digital_twin.world_description.shape_collection |
29 | 29 | import semantic_digital_twin.world_description.world_entity |
30 | 30 | from semantic_digital_twin.datastructures.prefixed_name import PrefixedName |
| 31 | +from semantic_digital_twin.orm.model import * # type: ignore |
31 | 32 | from semantic_digital_twin.reasoning.predicates import ContainsType |
32 | 33 | from semantic_digital_twin.semantic_annotations.mixins import HasBody |
33 | 34 | from semantic_digital_twin.spatial_computations.forward_kinematics import ( |
|
42 | 43 | FixedConnection, |
43 | 44 | HasUpdateState, |
44 | 45 | ) |
45 | | -from semantic_digital_twin.orm.model import * # type: ignore |
46 | 46 |
|
47 | 47 | all_classes = set( |
48 | 48 | classes_of_module(semantic_digital_twin.world_description.world_entity) |
|
75 | 75 | semantic_digital_twin.adapters.procthor.procthor_semantic_annotations |
76 | 76 | ) |
77 | 77 | ) |
| 78 | +all_classes |= set(classes_of_module(semantic_digital_twin.world_description.world_modification)) |
| 79 | +all_classes |= set(classes_of_module(semantic_digital_twin.callbacks.callback)) |
78 | 80 |
|
79 | 81 |
|
80 | 82 | # remove classes that should not be mapped |
@@ -110,7 +112,8 @@ def generate_orm(): |
110 | 112 |
|
111 | 113 | instance = ORMatic( |
112 | 114 | class_dependency_graph=class_diagram, |
113 | | - type_mappings={trimesh.Trimesh: semantic_digital_twin.orm.model.TrimeshType}, |
| 115 | + type_mappings={trimesh.Trimesh: semantic_digital_twin.orm.model.TrimeshType, |
| 116 | + uuid.UUID: sqlalchemy.UUID}, |
114 | 117 | alternative_mappings=alternative_mappings, |
115 | 118 | ) |
116 | 119 |
|
|
0 commit comments