PySimultan 0.4.13__py3-none-any.whl → 0.4.16__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- PySimultan2/__about__.py +1 -1
- PySimultan2/data_model.py +5 -9
- PySimultan2/files.py +1 -0
- PySimultan2/geometry/geometry_base.py +1 -1
- PySimultan2/object_mapper.py +7 -0
- PySimultan2/simultan_object.py +6 -7
- PySimultan2/utils.py +8 -8
- {pysimultan-0.4.13.dist-info → pysimultan-0.4.16.dist-info}/METADATA +1 -1
- {pysimultan-0.4.13.dist-info → pysimultan-0.4.16.dist-info}/RECORD +11 -11
- {pysimultan-0.4.13.dist-info → pysimultan-0.4.16.dist-info}/WHEEL +0 -0
- {pysimultan-0.4.13.dist-info → pysimultan-0.4.16.dist-info}/licenses/LICENSE.txt +0 -0
PySimultan2/__about__.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
version = '0.4.
|
1
|
+
version = '0.4.16'
|
PySimultan2/data_model.py
CHANGED
@@ -127,10 +127,6 @@ class DataModel:
|
|
127
127
|
|
128
128
|
instance = super().__new__(cls)
|
129
129
|
config.set_default_data_model(instance)
|
130
|
-
try:
|
131
|
-
default_data_model.set_default_data_model(instance)
|
132
|
-
except Exception as e:
|
133
|
-
logger.error(f'Error adding instance {instance} to data_models: {e}')
|
134
130
|
return instance
|
135
131
|
|
136
132
|
def __init__(self, *args, **kwargs):
|
@@ -179,7 +175,7 @@ class DataModel:
|
|
179
175
|
@property
|
180
176
|
def models(self) -> dict[int, 'GeometryModel']:
|
181
177
|
"""
|
182
|
-
Return the
|
178
|
+
Return the fc_geometry models of the project
|
183
179
|
:return: dict[int, GeometryModel]
|
184
180
|
"""
|
185
181
|
|
@@ -437,9 +433,9 @@ class DataModel:
|
|
437
433
|
|
438
434
|
def add_new_geometry_model(self, file_name: str, model_name: str = None, return_resource=False):
|
439
435
|
"""
|
440
|
-
Create and add a new
|
436
|
+
Create and add a new fc_geometry model
|
441
437
|
:param file_name: name of the created .simgeo file
|
442
|
-
:param model_name: name of the
|
438
|
+
:param model_name: name of the fc_geometry model
|
443
439
|
:param return_resource: return the resource
|
444
440
|
:return: GeometryViewer.Model.GeometryModel, geo_resource
|
445
441
|
"""
|
@@ -465,7 +461,7 @@ class DataModel:
|
|
465
461
|
|
466
462
|
def add_geometry_resource(self, model_name: str):
|
467
463
|
"""
|
468
|
-
Add / create new
|
464
|
+
Add / create new fc_geometry resource (.simgeo file)
|
469
465
|
:param model_name: name of the new .simgeo file without file extension; Example: 'new_model'
|
470
466
|
"""
|
471
467
|
self.service_provider.GetService[IGeometryViewerService]()
|
@@ -654,7 +650,7 @@ class DataModel:
|
|
654
650
|
name,
|
655
651
|
f'{0} ({1})',
|
656
652
|
self.project.AllProjectDataManagers.DispatcherTimerFactory)
|
657
|
-
# Load the
|
653
|
+
# Load the fc_geometry model
|
658
654
|
model_to_work_with = SimGeoIO.Load(resource_file,
|
659
655
|
self.project_data_manager,
|
660
656
|
None)
|
PySimultan2/files.py
CHANGED
@@ -245,6 +245,7 @@ class FileInfo(object, metaclass=MetaMock):
|
|
245
245
|
self.data_model = config.get_default_data_model()
|
246
246
|
if self.data_model is not None:
|
247
247
|
self.resource_entry = self.data_model.add_resource(self.file_path)
|
248
|
+
self.file_path = self.resource_entry.File.FullPath
|
248
249
|
return self._resource_entry
|
249
250
|
|
250
251
|
@resource_entry.setter
|
@@ -108,7 +108,7 @@ class SimultanLayer(BaseGeometry):
|
|
108
108
|
@classmethod
|
109
109
|
def create_simultan_instance(cls, *args, **kwargs) -> 'SimultanLayer':
|
110
110
|
"""
|
111
|
-
Create a new SimultanLayer instance and add to the
|
111
|
+
Create a new SimultanLayer instance and add to the fc_geometry model
|
112
112
|
:keyword geometry_model: GeometryModel
|
113
113
|
:keyword name: str
|
114
114
|
:return: SimultanLayer
|
PySimultan2/object_mapper.py
CHANGED
@@ -300,6 +300,13 @@ class PythonMapper(object):
|
|
300
300
|
if remove_from_default and config.get_default_mapper() is self:
|
301
301
|
config.set_default_mapper(None)
|
302
302
|
|
303
|
+
def create_sim_component(self,
|
304
|
+
obj,
|
305
|
+
data_model: 'DataModel'):
|
306
|
+
from . utils import create_mapped_python_object
|
307
|
+
new_val = create_mapped_python_object(obj, self, data_model)
|
308
|
+
return new_val
|
309
|
+
|
303
310
|
def copy(self):
|
304
311
|
new_mapper = PythonMapper()
|
305
312
|
new_mapper.registered_classes = self.registered_classes
|
PySimultan2/simultan_object.py
CHANGED
@@ -6,7 +6,7 @@ from weakref import WeakSet
|
|
6
6
|
from . import utils
|
7
7
|
from numpy import ndarray
|
8
8
|
import colorlog
|
9
|
-
from typing import Union, Optional
|
9
|
+
from typing import Union, Optional, Any
|
10
10
|
|
11
11
|
logger = colorlog.getLogger('PySimultan')
|
12
12
|
|
@@ -148,16 +148,15 @@ class SimultanObject(object, metaclass=MetaMock):
|
|
148
148
|
"""
|
149
149
|
|
150
150
|
self._wrapped_obj: Union[SimComponent, None] = kwargs.get('wrapped_obj', None)
|
151
|
-
self.__obj_init__ = kwargs.get('__obj_init__', False)
|
151
|
+
self.__obj_init__: bool = kwargs.get('__obj_init__', False)
|
152
152
|
self._data_model: Union[DataModel, None] = kwargs.get('data_model', config.get_default_data_model())
|
153
153
|
self._object_mapper: Union[PythonMapper, None] = kwargs.get('object_mapper', config.get_default_mapper())
|
154
|
-
self.name = kwargs.get('name',
|
154
|
+
self.name: str = kwargs.get('name', '')
|
155
155
|
|
156
156
|
self.__property_cache__ = {}
|
157
|
-
|
158
157
|
self._slot = None
|
159
158
|
|
160
|
-
def __getattribute__(self, attr):
|
159
|
+
def __getattribute__(self, attr) -> Any:
|
161
160
|
|
162
161
|
try:
|
163
162
|
return object.__getattribute__(self, attr)
|
@@ -168,7 +167,7 @@ class SimultanObject(object, metaclass=MetaMock):
|
|
168
167
|
else:
|
169
168
|
raise KeyError
|
170
169
|
|
171
|
-
def __setattr__(self, attr, value):
|
170
|
+
def __setattr__(self, attr, value) -> None:
|
172
171
|
if hasattr(self, '_wrapped_obj'):
|
173
172
|
if hasattr(self._wrapped_obj, attr) and (self._wrapped_obj is not None) and not self.__obj_init__:
|
174
173
|
object.__setattr__(self._wrapped_obj, attr, value)
|
@@ -330,7 +329,7 @@ class SimultanObject(object, metaclass=MetaMock):
|
|
330
329
|
def associate(self, other: 'ExtendedBaseGeometry'):
|
331
330
|
"""
|
332
331
|
Associate this object with another object
|
333
|
-
:param other:
|
332
|
+
:param other: fc_geometry object to associate with
|
334
333
|
:return: None
|
335
334
|
"""
|
336
335
|
other.associate(self)
|
PySimultan2/utils.py
CHANGED
@@ -4,7 +4,7 @@ from enum import Enum
|
|
4
4
|
from weakref import WeakSet
|
5
5
|
import numpy as np
|
6
6
|
import pandas as pd
|
7
|
-
from typing import List as TypeList, Union, Optional, Type
|
7
|
+
from typing import List as TypeList, Union, Optional, Type, Any, TYPE_CHECKING
|
8
8
|
from SIMULTAN.Data.Components import (ComponentWalker, SimComponent, SimBoolParameter, SimDoubleParameter,
|
9
9
|
SimEnumParameter, SimIntegerParameter, SimStringParameter, ComponentMapping,
|
10
10
|
SimSlot, SimComponentVisibility, SimChildComponentEntry, SimDefaultSlots,
|
@@ -21,7 +21,6 @@ from .multi_values import (simultan_multi_value_field_3d_to_numpy, set_parameter
|
|
21
21
|
create_field_parameter, simultan_multi_value_big_table_to_pandas)
|
22
22
|
from .files import FileInfo, remove_asset_from_component, add_asset_to_component
|
23
23
|
|
24
|
-
from typing import TYPE_CHECKING
|
25
24
|
if TYPE_CHECKING:
|
26
25
|
from .default_types import ComponentList, ComponentDictionary
|
27
26
|
from .simultan_object import SimultanObject
|
@@ -125,7 +124,7 @@ def create_python_object(wrapped_obj: SimComponent, cls: Type[SimultanObject], *
|
|
125
124
|
logger.error(f'Error adding instance {obj} to _cls_instances: {e}')
|
126
125
|
|
127
126
|
if hasattr(cls, '__load_init__'):
|
128
|
-
obj.
|
127
|
+
obj.__load_init__(*args, **kwargs)
|
129
128
|
#
|
130
129
|
circ_ref_resolver.unresolved_objects.pop(wrapped_obj.Id)
|
131
130
|
|
@@ -563,7 +562,7 @@ def find_components_with_taxonomy(component_list: list[SimComponent], key, first
|
|
563
562
|
|
564
563
|
def get_component_geometry(data_model, geometry_model, component) -> tuple[list[Vertex], list[Edge], list[Face], list[Volume]]:
|
565
564
|
"""
|
566
|
-
Get the
|
565
|
+
Get the fc_geometry of a component from a fc_geometry model
|
567
566
|
:param data_model:
|
568
567
|
:param geometry_model:
|
569
568
|
:param component:
|
@@ -867,7 +866,7 @@ param_type_lookup_dict = {str: SimStringParameter,
|
|
867
866
|
bool: SimBoolParameter}
|
868
867
|
|
869
868
|
|
870
|
-
def create_mapped_python_object(value:
|
869
|
+
def create_mapped_python_object(value: Any,
|
871
870
|
object_mapper: PythonMapper,
|
872
871
|
data_model: DataModel,
|
873
872
|
add_to_data_model=True) -> SimultanObject:
|
@@ -885,8 +884,9 @@ def create_mapped_python_object(value: SimComponent,
|
|
885
884
|
|
886
885
|
# logger.debug(f'Creating mapped python object for {value}.')
|
887
886
|
if type(value) in object_mapper.registered_classes.values():
|
888
|
-
key = list(filter(lambda x: object_mapper.registered_classes[x] ==
|
889
|
-
|
887
|
+
key = list(filter(lambda x: object_mapper.registered_classes[x] == type(value),
|
888
|
+
object_mapper.registered_classes)
|
889
|
+
)[0]
|
890
890
|
mapped_cls = object_mapper.get_mapped_class(key)
|
891
891
|
new_val = mapped_cls(**value.__dict__,
|
892
892
|
data_model=data_model,
|
@@ -1346,7 +1346,7 @@ def add_properties(prop_name: str,
|
|
1346
1346
|
getx.__taxonomy__ = taxonomy
|
1347
1347
|
content = taxonomy_map.get_content_by_property_name(prop_name)
|
1348
1348
|
|
1349
|
-
def setx(self, value: Union[int, float, SimComponent, SimultanObject]):
|
1349
|
+
def setx(self, value: Union[int, float, str, tuple, set, SimComponent, SimultanObject]):
|
1350
1350
|
self.__property_cache__.pop(content.text_or_key, None)
|
1351
1351
|
|
1352
1352
|
slot_extension = content.slot_extension
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: PySimultan
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.16
|
4
4
|
Project-URL: Documentation, https://github.com/Bühler Maximilian/PySimultan2#readme
|
5
5
|
Project-URL: Issues, https://github.com/Bühler Maximilian/PySimultan2/issues
|
6
6
|
Project-URL: Source, https://github.com/Bühler Maximilian/PySimultan2
|
@@ -1,15 +1,15 @@
|
|
1
|
-
PySimultan2/__about__.py,sha256=
|
1
|
+
PySimultan2/__about__.py,sha256=0e2on0xO5xwM95wRw1ckE4dW-wmxFjVGnM8xbJRrNEk,20
|
2
2
|
PySimultan2/__init__.py,sha256=cabTN1Oz8xtFM31ouBKg5lwLqW5vtexDP669PYyNLnA,3224
|
3
|
-
PySimultan2/data_model.py,sha256=
|
3
|
+
PySimultan2/data_model.py,sha256=xosu5TAfgsrxwyhd6SfHFp4Wvo1_YtxdHsSuZmuNVJU,27022
|
4
4
|
PySimultan2/default_types.py,sha256=v_4awsUURLbu4Sfw7J_7BoQKirXbKdU9s7-wqgA4nNE,23112
|
5
|
-
PySimultan2/files.py,sha256=
|
5
|
+
PySimultan2/files.py,sha256=8F1QC9nTsTSrCpu5vGx1xGx-7UgkDwoICXau_5j7UzI,12725
|
6
6
|
PySimultan2/multi_values.py,sha256=ZFXlTLuZo32x7_7diYAp2XEjp5uwgHLgNOzN7v74-5I,13650
|
7
|
-
PySimultan2/object_mapper.py,sha256=
|
8
|
-
PySimultan2/simultan_object.py,sha256=
|
7
|
+
PySimultan2/object_mapper.py,sha256=2VewplU_qaJV-TBeirbOmDzdPJ8Ie6WMTFN7je-ydW0,13218
|
8
|
+
PySimultan2/simultan_object.py,sha256=GJ_uivwmYxXDqkP-wda7dAQZ9R-FDiXKwJIA3iLHBfg,16929
|
9
9
|
PySimultan2/taxonomy_maps.py,sha256=IYpIat6ZJi5MyCbsjAxWvVOWDRp_VvSMWUY3CApKSik,8061
|
10
|
-
PySimultan2/utils.py,sha256=
|
10
|
+
PySimultan2/utils.py,sha256=qhF46rCHmI96Hdp9sdHAAkUJtaQxoG6YJu7Hx5IM4Go,62569
|
11
11
|
PySimultan2/geometry/__init__.py,sha256=nJolTD1i5J8qUkOQa-r3D20aq3Co3sN31Xc0n4wJpJo,248
|
12
|
-
PySimultan2/geometry/geometry_base.py,sha256=
|
12
|
+
PySimultan2/geometry/geometry_base.py,sha256=nbb9U2W3vFviVLxISLHRi2CVyLEM-3zIKvoZ1uSYs_8,23420
|
13
13
|
PySimultan2/geometry/utils.py,sha256=J25YsK8sso_UL7xRusItQZvyjtvxdOsSPelBQYFABhY,8519
|
14
14
|
PySimultan2/resources/AssimpNet.dll,sha256=x8uwMHPRmEH9fDQihfEQLUdblM1u7RP-CCnUjOpXcLo,205312
|
15
15
|
PySimultan2/resources/AvalonDock.dll,sha256=9tCcw7cpaVq0bh1H2sfcxb8EWhySmgujPs89lAqIPZs,500224
|
@@ -75,7 +75,7 @@ PySimultan2/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
|
|
75
75
|
PySimultan2/resources/assimp.dll,sha256=HwfDwXqoPDTFRyoQpA3qmgZoUdFtziJkV5fNtktEZEU,6081536
|
76
76
|
PySimultan2/resources/defaultsettings.xml,sha256=s6Tk1tubLz5UYqXZWpD42EDHzedemRY1nEneoIVcUfg,392
|
77
77
|
PySimultan2/resources/setup.bat,sha256=fjvvYfVM6TalS-QTSiKAbAId5nTsk8kGGo06ba-wWaY,32
|
78
|
-
pysimultan-0.4.
|
79
|
-
pysimultan-0.4.
|
80
|
-
pysimultan-0.4.
|
81
|
-
pysimultan-0.4.
|
78
|
+
pysimultan-0.4.16.dist-info/METADATA,sha256=HaedoQtjB0S9ke2jifPQiSDG9rB6aOqHv3JL2EvBJ9U,2483
|
79
|
+
pysimultan-0.4.16.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
|
80
|
+
pysimultan-0.4.16.dist-info/licenses/LICENSE.txt,sha256=pmSr98k6N005KMojnZxzLGRuRlDjDx3PUrK1lFj53HA,1126
|
81
|
+
pysimultan-0.4.16.dist-info/RECORD,,
|
File without changes
|
File without changes
|