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 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,,