Skip to content

Commit 252130d

Browse files
committed
[bug] fix qmeshcut slicer expression bug, add tutorial, 0.3.5
1 parent 034e261 commit 252130d

File tree

5 files changed

+1944
-19
lines changed

5 files changed

+1944
-19
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
* **Copyright**: (C) Qianqian Fang (2024-2025) <q.fang at neu.edu>
66
* **License**: GNU Public License V3 or later
7-
* **Version**: 0.3.4
7+
* **Version**: 0.3.5
88
* **URL**: [https://pypi.org/project/iso2mesh/](https://pypi.org/project/iso2mesh/)
99
* **Homepage**: [https://iso2mesh.sf.net](https://iso2mesh.sf.net)
1010
* **Github**: [https://github.com/NeuroJSON/pyiso2mesh](https://github.com/NeuroJSON/pyiso2mesh)

iso2mesh/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@
137137
barycentricgrid,
138138
)
139139

140-
__version__ = "0.3.4"
140+
__version__ = "0.3.5"
141141
__all__ = [
142142
"advancefront",
143143
"barycentricgrid",

iso2mesh/modify.py

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
import subprocess
4141
from iso2mesh.utils import *
4242
from iso2mesh.io import saveoff, readoff
43-
from iso2mesh.trait import meshconn, mesheuler, finddisconnsurf
43+
from iso2mesh.trait import meshconn, mesheuler, finddisconnsurf, meshedge
4444

4545
##====================================================================================
4646
## implementations
@@ -218,19 +218,8 @@ def qmeshcut(elem, node, value, cutat):
218218
asign = np.where(dist > 0, 1, -1)
219219

220220
esize = elem.shape[1]
221-
if esize == 4:
222-
edges = np.vstack(
223-
[
224-
elem[:, [0, 1]],
225-
elem[:, [0, 2]],
226-
elem[:, [0, 3]],
227-
elem[:, [1, 2]],
228-
elem[:, [1, 3]],
229-
elem[:, [2, 3]],
230-
]
231-
)
232-
elif esize == 3:
233-
edges = np.vstack([elem[:, [0, 1]], elem[:, [0, 2]], elem[:, [1, 2]]])
221+
if esize == 4 or esize == 3:
222+
edges = meshedge(elem)
234223
elif esize == 10:
235224
edges = np.vstack(
236225
[
@@ -269,8 +258,8 @@ def qmeshcut(elem, node, value, cutat):
269258
not isinstance(cutat, (int, float)) and len(cutat) in [4, 9]
270259
):
271260
cutvalue = (
272-
value[edges[cutedges, 0] - 1] * cutweight[:, [1]]
273-
+ value[edges[cutedges, 1] - 1] * cutweight[:, [0]]
261+
value[edges[cutedges, 0] - 1] * cutweight[:, [1]].squeeze()
262+
+ value[edges[cutedges, 1] - 1] * cutweight[:, [0]].squeeze()
274263
)
275264
elif np.isscalar(cutat):
276265
cutvalue = np.full((cutpos.shape[0], 1), cutat)

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
setup(
77
name="iso2mesh",
88
packages=["iso2mesh"],
9-
version="0.3.4",
9+
version="0.3.5",
1010
license="GPLv3+",
1111
description="One-liner 3D Surface and Tetrahedral Mesh Generation Toolbox",
1212
long_description=readme,

0 commit comments

Comments
 (0)