Skip to content

Commit 1a648cc

Browse files
committed
API Helper.
1 parent ec1624f commit 1a648cc

File tree

2 files changed

+15
-93
lines changed

2 files changed

+15
-93
lines changed

src/ansys/fluent/core/meta.py

Lines changed: 15 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -7,86 +7,6 @@
77
# pylint: disable=bad-mcs-classmethod-argument
88

99

10-
class LocalObjectDataExtractor:
11-
"""Class to extract data for local objects."""
12-
13-
class _SurfaceAPI:
14-
"""Class providing APIs for surface operations."""
15-
16-
def __init__(self, obj):
17-
self.obj = obj
18-
self._surface_name_on_server = self.surface_name_in_server(obj._name)
19-
20-
@staticmethod
21-
def surface_name_in_server(local_surface_name):
22-
return "_dummy_surface_for_pyfluent:" + local_surface_name.lower()
23-
24-
def _get_api_handle(self):
25-
return self.obj._get_top_most_parent().session.solver.tui.surface
26-
27-
def _delete_if_exist_on_server(self):
28-
field_info = self.obj._data_extractor.field_info()
29-
surfaces_list = list(field_info.get_surfaces_info().keys())
30-
if self._surface_name_on_server in surfaces_list:
31-
self.delete_surface_on_server()
32-
33-
def create_surface_on_server(self):
34-
if self.obj.surface.type() == "iso-surface":
35-
iso_surface = self.obj.surface.iso_surface
36-
field = iso_surface.field()
37-
iso_value = iso_surface.iso_value()
38-
if not field:
39-
raise RuntimeError("Iso surface definition is incomplete.")
40-
self._delete_if_exist_on_server()
41-
self._get_api_handle().iso_surface(
42-
field, self._surface_name_on_server, (), (), iso_value, ()
43-
)
44-
elif self.obj.surface.type() == "plane-surface":
45-
plane_surface = self.obj.surface.plane_surface
46-
xy_plane = plane_surface.xy_plane
47-
yz_plane = plane_surface.yz_plane
48-
zx_plane = plane_surface.zx_plane
49-
self._delete_if_exist_on_server()
50-
self._get_api_handle().plane_surface(
51-
self._surface_name_on_server,
52-
"xy-plane" if xy_plane else "yz-plane" if yz_plane else "zx-plane",
53-
xy_plane.z()
54-
if xy_plane
55-
else yz_plane.x()
56-
if yz_plane
57-
else zx_plane.y(),
58-
)
59-
field_info = self.obj._data_extractor.field_info()
60-
surfaces_list = list(field_info.get_surfaces_info().keys())
61-
if self._surface_name_on_server not in surfaces_list:
62-
raise RuntimeError("Surface creation failed.")
63-
64-
def delete_surface_on_server(self):
65-
self._get_api_handle().delete_surface(self._surface_name_on_server)
66-
67-
def __init__(self, obj):
68-
self.obj = obj
69-
self.field_info = lambda: obj._get_top_most_parent().session.field_info
70-
self.field_data = lambda: obj._get_top_most_parent().session.field_data
71-
self.monitors_manager = (
72-
lambda: obj._get_top_most_parent().session.monitors_manager
73-
)
74-
self.id = lambda: obj._get_top_most_parent().session.id
75-
if obj.__class__.__name__ == "Surface":
76-
self.surface_api = LocalObjectDataExtractor._SurfaceAPI(obj)
77-
78-
def remote_surface_name(self, local_surface_name):
79-
local_surfaces_provider = (
80-
self.obj._get_top_most_parent()._local_surfaces_provider()
81-
)
82-
if local_surface_name in list(local_surfaces_provider):
83-
return LocalObjectDataExtractor._SurfaceAPI.surface_name_in_server(
84-
local_surface_name
85-
)
86-
else:
87-
return local_surface_name
88-
89-
9010
class Attribute:
9111
VALID_NAMES = ["range", "allowed_values"]
9212

@@ -180,8 +100,8 @@ def wrapper(self, value):
180100

181101
@classmethod
182102
def __create_init(cls):
183-
def wrapper(self, parent):
184-
self._data_extractor = LocalObjectDataExtractor(self)
103+
def wrapper(self, parent, api_helper):
104+
self._api_helper = api_helper(self)
185105
self._parent = parent
186106
self._on_change_cbs = []
187107
annotations = self.__class__.__dict__.get("__annotations__")
@@ -249,9 +169,9 @@ class PyLocalObjectMeta(PyLocalBaseMeta):
249169

250170
@classmethod
251171
def __create_init(cls):
252-
def wrapper(self, parent):
172+
def wrapper(self, parent, api_helper):
253173
self._parent = parent
254-
self._data_extractor = LocalObjectDataExtractor(self)
174+
self._api_helper = api_helper(self)
255175

256176
def update(clss):
257177
for name, cls in clss.__dict__.items():
@@ -262,13 +182,13 @@ def update(clss):
262182
setattr(
263183
self,
264184
name,
265-
cls(self),
185+
cls(self, api_helper),
266186
)
267187
if cls.__class__.__name__ == "PyLocalNamedObjectMeta":
268188
setattr(
269189
self,
270190
cls.PLURAL,
271-
PyLocalContainer(self, cls),
191+
PyLocalContainer(self, cls, api_helper),
272192
)
273193
for base_class in clss.__bases__:
274194
update(base_class)
@@ -381,9 +301,9 @@ class PyLocalNamedObjectMeta(PyLocalObjectMeta):
381301

382302
@classmethod
383303
def __create_init(cls):
384-
def wrapper(self, name, parent):
304+
def wrapper(self, name, parent, api_helper):
385305
self._name = name
386-
self._data_extractor = LocalObjectDataExtractor(self)
306+
self._api_helper = api_helper(self)
387307
self._parent = parent
388308

389309
def update(clss):
@@ -395,13 +315,13 @@ def update(clss):
395315
setattr(
396316
self,
397317
name,
398-
cls(self),
318+
cls(self, api_helper),
399319
)
400320
if cls.__class__.__name__ == "PyLocalNamedObjectMeta":
401321
setattr(
402322
self,
403323
cls.PLURAL,
404-
PyLocalContainer(self, cls),
324+
PyLocalContainer(self, cls, api_helper),
405325
)
406326
for base_class in clss.__bases__:
407327
update(base_class)
@@ -422,10 +342,11 @@ class PyLocalNamedObjectMetaAbstract(ABCMeta, PyLocalNamedObjectMeta):
422342
class PyLocalContainer(MutableMapping):
423343
"""Local container for named objects."""
424344

425-
def __init__(self, parent, object_class):
345+
def __init__(self, parent, object_class, api_helper):
426346
self._parent = parent
427347
self.__object_class = object_class
428348
self.__collection: dict = {}
349+
self.__api_helper = api_helper
429350

430351
def __iter__(self):
431352
return iter(self.__collection)
@@ -438,7 +359,9 @@ def __len__(self):
438359
def __getitem__(self, name):
439360
o = self.__collection.get(name, None)
440361
if not o:
441-
o = self.__collection[name] = self.__object_class(name, self)
362+
o = self.__collection[name] = self.__object_class(
363+
name, self, self.__api_helper
364+
)
442365
return o
443366

444367
# graphics = ansys.fluent.postprocessing.pyvista.Graphics(session1)

src/ansys/fluent/core/session.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,6 @@ def __init__(
219219
self.events_manager.register_callback(
220220
"DataReadEvent", self.monitors_manager.refresh
221221
)
222-
223222
self._datamodel_service_tui = DatamodelService_TUI(
224223
self._channel, self._metadata
225224
)

0 commit comments

Comments
 (0)