sdfr 1.2.1__py3-none-win_amd64.whl → 1.3.0__py3-none-win_amd64.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.
- sdfr/SDF.py +47 -10
- sdfr/_commit_info.py +2 -2
- sdfr/sdfc_shared.dll +0 -0
- {sdfr-1.2.1.dist-info → sdfr-1.3.0.dist-info}/METADATA +1 -1
- sdfr-1.3.0.dist-info/RECORD +11 -0
- sdfr-1.2.1.dist-info/RECORD +0 -11
- {sdfr-1.2.1.dist-info → sdfr-1.3.0.dist-info}/WHEEL +0 -0
- {sdfr-1.2.1.dist-info → sdfr-1.3.0.dist-info}/licenses/LICENSE +0 -0
- {sdfr-1.2.1.dist-info → sdfr-1.3.0.dist-info}/licenses/LICENSE_README.txt +0 -0
sdfr/SDF.py
CHANGED
|
@@ -377,6 +377,7 @@ class BlockList:
|
|
|
377
377
|
block._blocklist = self
|
|
378
378
|
blocktype = block.blocktype
|
|
379
379
|
newblock = None
|
|
380
|
+
newblock_mid = None
|
|
380
381
|
name = get_member_name(block.name)
|
|
381
382
|
if blocktype == SdfBlockType.SDF_BLOCKTYPE_ARRAY:
|
|
382
383
|
newblock = BlockArray(block)
|
|
@@ -413,8 +414,10 @@ class BlockList:
|
|
|
413
414
|
elif blocktype == SdfBlockType.SDF_BLOCKTYPE_DATABLOCK:
|
|
414
415
|
newblock = BlockData(block)
|
|
415
416
|
elif blocktype == SdfBlockType.SDF_BLOCKTYPE_LAGRANGIAN_MESH:
|
|
416
|
-
|
|
417
|
-
|
|
417
|
+
if block.datatype_out != 0:
|
|
418
|
+
newblock = BlockLagrangianMesh(block)
|
|
419
|
+
newblock_mid = block
|
|
420
|
+
meshes.append(newblock)
|
|
418
421
|
elif blocktype == SdfBlockType.SDF_BLOCKTYPE_NAMEVALUE:
|
|
419
422
|
newblock = BlockNameValue(block)
|
|
420
423
|
elif (
|
|
@@ -424,8 +427,10 @@ class BlockList:
|
|
|
424
427
|
newblock = BlockPlainVariable(block)
|
|
425
428
|
mesh_vars.append(newblock)
|
|
426
429
|
elif blocktype == SdfBlockType.SDF_BLOCKTYPE_PLAIN_MESH:
|
|
427
|
-
|
|
428
|
-
|
|
430
|
+
if block.datatype_out != 0:
|
|
431
|
+
newblock = BlockPlainMesh(block)
|
|
432
|
+
newblock_mid = block
|
|
433
|
+
meshes.append(newblock)
|
|
429
434
|
elif (
|
|
430
435
|
blocktype == SdfBlockType.SDF_BLOCKTYPE_POINT_DERIVED
|
|
431
436
|
or blocktype == SdfBlockType.SDF_BLOCKTYPE_POINT_VARIABLE
|
|
@@ -447,6 +452,22 @@ class BlockList:
|
|
|
447
452
|
self._block_names.update({block.name.decode(): newblock})
|
|
448
453
|
block = block.next
|
|
449
454
|
|
|
455
|
+
if newblock_mid is not None:
|
|
456
|
+
block_mid = newblock_mid
|
|
457
|
+
block_mid._handle = h
|
|
458
|
+
block_mid._blocklist = self
|
|
459
|
+
blocktype = block_mid.blocktype
|
|
460
|
+
name = get_member_name(block_mid.name) + "_mid"
|
|
461
|
+
if blocktype == SdfBlockType.SDF_BLOCKTYPE_LAGRANGIAN_MESH:
|
|
462
|
+
newblock = BlockLagrangianMesh(block_mid, mid=True)
|
|
463
|
+
elif blocktype == SdfBlockType.SDF_BLOCKTYPE_PLAIN_MESH:
|
|
464
|
+
newblock = BlockPlainMesh(block_mid, mid=True)
|
|
465
|
+
self.__dict__[name] = newblock
|
|
466
|
+
nm = block_mid.id.decode() + "_mid"
|
|
467
|
+
self._block_ids.update({nm: newblock})
|
|
468
|
+
nm = block_mid.name.decode() + "_mid"
|
|
469
|
+
self._block_names.update({nm: newblock})
|
|
470
|
+
|
|
450
471
|
for var in mesh_vars:
|
|
451
472
|
gid = var.grid_id
|
|
452
473
|
for mesh in meshes:
|
|
@@ -500,7 +521,7 @@ class Block:
|
|
|
500
521
|
dtype = self._datatype
|
|
501
522
|
if dtype == np.byte:
|
|
502
523
|
dtype = np.dtype("|S1")
|
|
503
|
-
totype = _ct_datatypes[self._contents.
|
|
524
|
+
totype = _ct_datatypes[self._contents.datatype_out]
|
|
504
525
|
cast = ct.cast(data, ct.POINTER(totype))
|
|
505
526
|
buf = buffer_from_memory(cast, blen)
|
|
506
527
|
self._owndata = False
|
|
@@ -598,8 +619,9 @@ class BlockPlainVariable(Block):
|
|
|
598
619
|
class BlockPlainMesh(Block):
|
|
599
620
|
"""Plain mesh block"""
|
|
600
621
|
|
|
601
|
-
def __init__(self, block):
|
|
622
|
+
def __init__(self, block, mid=False):
|
|
602
623
|
super().__init__(block)
|
|
624
|
+
self._mid = mid
|
|
603
625
|
self._data = None
|
|
604
626
|
self._units = tuple(
|
|
605
627
|
[block.dim_units[i].decode() for i in range(block.ndims)]
|
|
@@ -608,6 +630,11 @@ class BlockPlainMesh(Block):
|
|
|
608
630
|
[block.dim_labels[i].decode() for i in range(block.ndims)]
|
|
609
631
|
)
|
|
610
632
|
self._mult = None
|
|
633
|
+
self._bdims = self._dims
|
|
634
|
+
if mid:
|
|
635
|
+
self._id += "_mid"
|
|
636
|
+
self._name += "_mid"
|
|
637
|
+
self._dims = tuple([i - 1 for i in self._dims])
|
|
611
638
|
if bool(block.dim_mults):
|
|
612
639
|
self._mult = tuple(block.dim_mults[: block.ndims])
|
|
613
640
|
if bool(block.extents):
|
|
@@ -620,9 +647,11 @@ class BlockPlainMesh(Block):
|
|
|
620
647
|
clib = self._handle._clib
|
|
621
648
|
clib.sdf_helper_read_data(self._handle, self._contents)
|
|
622
649
|
grids = []
|
|
623
|
-
for i, d in enumerate(self.
|
|
650
|
+
for i, d in enumerate(self._bdims):
|
|
624
651
|
blen = np.dtype(self._datatype).itemsize * d
|
|
625
652
|
array = self._numpy_from_buffer(self._contents.grids[i], blen)
|
|
653
|
+
if self._mid:
|
|
654
|
+
array = 0.5 * (array[1:] + array[:-1])
|
|
626
655
|
grids.append(array)
|
|
627
656
|
self._data = tuple(grids)
|
|
628
657
|
return self._data
|
|
@@ -663,12 +692,20 @@ class BlockLagrangianMesh(BlockPlainMesh):
|
|
|
663
692
|
clib = self._handle._clib
|
|
664
693
|
clib.sdf_helper_read_data(self._handle, self._contents)
|
|
665
694
|
blen = np.dtype(self._datatype).itemsize
|
|
666
|
-
for d in self.
|
|
695
|
+
for d in self._bdims:
|
|
667
696
|
blen *= d
|
|
668
697
|
grids = []
|
|
669
|
-
for i, d in enumerate(self.
|
|
698
|
+
for i, d in enumerate(self._bdims):
|
|
670
699
|
array = self._numpy_from_buffer(self._contents.grids[i], blen)
|
|
671
|
-
array = array.reshape(self.
|
|
700
|
+
array = array.reshape(self._bdims, order="F")
|
|
701
|
+
if self._mid:
|
|
702
|
+
nn = len(self._bdims)
|
|
703
|
+
for j in range(nn):
|
|
704
|
+
s1 = nn * [slice(None)]
|
|
705
|
+
s2 = nn * [slice(None)]
|
|
706
|
+
s1[j] = slice(1, None)
|
|
707
|
+
s2[j] = slice(None, -1)
|
|
708
|
+
array = 0.5 * (array[tuple(s1)] + array[tuple(s2)])
|
|
672
709
|
grids.append(array)
|
|
673
710
|
self._data = tuple(grids)
|
|
674
711
|
return self._data
|
sdfr/_commit_info.py
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
__commit_date__ = "
|
|
2
|
-
__commit_id__ = "
|
|
1
|
+
__commit_date__ = "Wed May 7 13:32:07 2025 +0100"
|
|
2
|
+
__commit_id__ = "c22be2665c4bcbc9925fa702205ace2f99585439"
|
sdfr/sdfc_shared.dll
CHANGED
|
Binary file
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
sdfr/__init__.py,sha256=vSTzC03qtlxqcn-7dewmUa59NvhaZ-QqBi1svDCDzIo,1153
|
|
2
|
+
sdfr/_commit_info.py,sha256=TmprDWbFKQKXQpJ-hWS2ELdZ46OBHS0lMKb2QHUqiyo,111
|
|
3
|
+
sdfr/loadlib.py,sha256=EMcnZhh68fS72Bjv8QtfDzPbowx1FfaqX4TPhDl-o94,2328
|
|
4
|
+
sdfr/SDF.py,sha256=D4M4qiaK-rYgYKNOi19cWt07M0Dqb6kYgId0uFZtYo4,29770
|
|
5
|
+
sdfr/sdf_helper.py,sha256=jS4fxmq1y7PeryrPFuB_Lgu5n88-cNggaWMvQy4XqSA,63682
|
|
6
|
+
sdfr/sdfc_shared.dll,sha256=JYkR3mF1Ikr4xFZf7NdUN6WNx7CeTdJZVB8k5cCeXRg,13312
|
|
7
|
+
sdfr-1.3.0.dist-info/METADATA,sha256=qhi1HXCNjSgmcm0qLSwEETcCJnsec_45pXXf_41noyo,370
|
|
8
|
+
sdfr-1.3.0.dist-info/WHEEL,sha256=n3HxvvUxRudexxUBRcXuzD3-t2g3c6dOWZQFWqwqrFk,103
|
|
9
|
+
sdfr-1.3.0.dist-info/licenses/LICENSE,sha256=gpLeavs1KxgJFrpL_uVDh0MoDvPfJoZ89A5dSCl4P5U,1652
|
|
10
|
+
sdfr-1.3.0.dist-info/licenses/LICENSE_README.txt,sha256=KlBSoHArwoXbiygx3IJTjtgM7hLNO9o8ZMlZV77nrXs,235
|
|
11
|
+
sdfr-1.3.0.dist-info/RECORD,,
|
sdfr-1.2.1.dist-info/RECORD
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
sdfr/__init__.py,sha256=vSTzC03qtlxqcn-7dewmUa59NvhaZ-QqBi1svDCDzIo,1153
|
|
2
|
-
sdfr/_commit_info.py,sha256=s_1eIAiO2sCAlYEX7FxbqKEyU88Z6yimpVnWN9ovOg0,111
|
|
3
|
-
sdfr/loadlib.py,sha256=EMcnZhh68fS72Bjv8QtfDzPbowx1FfaqX4TPhDl-o94,2328
|
|
4
|
-
sdfr/SDF.py,sha256=aJBqweNSYMBYwRDLY-7y9Niwq73WANstgnc8xKqp9Vc,27997
|
|
5
|
-
sdfr/sdf_helper.py,sha256=jS4fxmq1y7PeryrPFuB_Lgu5n88-cNggaWMvQy4XqSA,63682
|
|
6
|
-
sdfr/sdfc_shared.dll,sha256=Q7fPn9Jlxox64kW_BOH0Z4ynZhGZP5uDxuh4BW5BQFo,13312
|
|
7
|
-
sdfr-1.2.1.dist-info/METADATA,sha256=OJsufcYrnuBoRhFTlSGoxyCFyYWdyn5d-NvWUZU1Fis,370
|
|
8
|
-
sdfr-1.2.1.dist-info/WHEEL,sha256=n3HxvvUxRudexxUBRcXuzD3-t2g3c6dOWZQFWqwqrFk,103
|
|
9
|
-
sdfr-1.2.1.dist-info/licenses/LICENSE,sha256=gpLeavs1KxgJFrpL_uVDh0MoDvPfJoZ89A5dSCl4P5U,1652
|
|
10
|
-
sdfr-1.2.1.dist-info/licenses/LICENSE_README.txt,sha256=KlBSoHArwoXbiygx3IJTjtgM7hLNO9o8ZMlZV77nrXs,235
|
|
11
|
-
sdfr-1.2.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|