PySimultan 0.4.13__py3-none-any.whl → 0.4.16__py3-none-any.whl

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.
PySimultan2/__about__.py CHANGED
@@ -1 +1 @@
1
- version = '0.4.13'
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 geometry models of the project
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 geometry model
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 geometry model
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 geometry resource (.simgeo file)
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 geometry model
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 geometry model
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
@@ -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
@@ -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', None)
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: geometry object to associate with
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.__init__(*args, **kwargs)
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 geometry of a component from a geometry model
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: SimComponent,
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
- type(value), object_mapper.registered_classes))[0]
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.13
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=EY8c7-iLRSsrqamMgeexR0J6u60PLRTp9GGf8iqIJsI,20
1
+ PySimultan2/__about__.py,sha256=0e2on0xO5xwM95wRw1ckE4dW-wmxFjVGnM8xbJRrNEk,20
2
2
  PySimultan2/__init__.py,sha256=cabTN1Oz8xtFM31ouBKg5lwLqW5vtexDP669PYyNLnA,3224
3
- PySimultan2/data_model.py,sha256=bRApPggy5dOMFDt6MLctEDWevY9aOYB3OWQMCCsSa0k,27201
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=gx3BA6WYjNVplqqes7jkPopp6O50pgLvantXgmitx54,12657
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=lGF9gJNMtrtfUErVnaDgTpLSaJh1wzdQdavTlWeBQho,12938
8
- PySimultan2/simultan_object.py,sha256=xpBmyJTkP7iHg4CgaoezBB5YxpES2RaoFOUSe_2jWwI,16899
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=J3T7KDfONFeLWBulXmGMCaaOu5sfkDSHmI92JWO8dW4,62553
10
+ PySimultan2/utils.py,sha256=qhF46rCHmI96Hdp9sdHAAkUJtaQxoG6YJu7Hx5IM4Go,62569
11
11
  PySimultan2/geometry/__init__.py,sha256=nJolTD1i5J8qUkOQa-r3D20aq3Co3sN31Xc0n4wJpJo,248
12
- PySimultan2/geometry/geometry_base.py,sha256=jOTNMISGLRjUUjVfPZ64A2Fp4oinv42polIct9bgIY4,23417
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.13.dist-info/METADATA,sha256=AQifEiOB8xWkvUKa_ECTWSCvGhSrhlZ-7j7jSHwyRvI,2483
79
- pysimultan-0.4.13.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
80
- pysimultan-0.4.13.dist-info/licenses/LICENSE.txt,sha256=pmSr98k6N005KMojnZxzLGRuRlDjDx3PUrK1lFj53HA,1126
81
- pysimultan-0.4.13.dist-info/RECORD,,
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,,