mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-25 08:50:35 +05:00
Better layout with documentation update
Thanks to Christophe
This commit is contained in:
parent
8606805252
commit
255c738799
@ -48,13 +48,9 @@ class TopIIVolMeshPluginDialog(Ui_TopIIVolMeshMainFrame,QWidget):
|
||||
self.qpbMeshFile.clicked.connect(self.OnQpbMeshFileClicked)
|
||||
self.qpbMeshFile.setToolTip("Select input DEM file")
|
||||
self.qpbClose.clicked.connect(self.OnQpbCloseClicked)
|
||||
self.qcbDistributed.stateChanged[int].connect(self.OnqcbDistributedClicked)
|
||||
self.qlbXParts.setVisible(False)
|
||||
self.qlbYParts.setVisible(False)
|
||||
self.qlbZParts.setVisible(False)
|
||||
self.qsbXParts.setVisible(False)
|
||||
self.qsbYParts.setVisible(False)
|
||||
self.qsbZParts.setVisible(False)
|
||||
self.qrbDist.clicked.connect(self.OnqrbDistClicked)
|
||||
self.qrbPar.clicked.connect(self.OnqrbParClicked)
|
||||
self.qrbSeq.clicked.connect(self.OnqrbSeqClicked)
|
||||
self.SALOME_TMP_DIR = None
|
||||
try:
|
||||
self.qleTmpDir.setText(os.path.join('/tmp',getpass.getuser(),'top-ii-vol'))
|
||||
@ -91,7 +87,7 @@ class TopIIVolMeshPluginDialog(Ui_TopIIVolMeshMainFrame,QWidget):
|
||||
zPoints = self.qsbZPoints.value()
|
||||
depth = self.qsbDepth.value()
|
||||
nProcs = self.qsbNBprocs.value()
|
||||
if not self.qcbDistributed.isChecked():
|
||||
if not self.qrbDist.isChecked():
|
||||
if nProcs == 1:
|
||||
shellCmd = "topIIvol_Mesher"
|
||||
else:
|
||||
@ -121,17 +117,29 @@ class TopIIVolMeshPluginDialog(Ui_TopIIVolMeshMainFrame,QWidget):
|
||||
pathlib.Path(self.SALOME_TMP_DIR).mkdir(parents=True, exist_ok=True)
|
||||
self.outputMesh= os.path.join(self.SALOME_TMP_DIR, inputMesh.split('/').pop().replace('.xyz','.mesh'))
|
||||
shellCmd+= " --out " + self.outputMesh
|
||||
os.chdir(self.SALOME_TMP_DIR)
|
||||
print("INFO: ", shellCmd)
|
||||
myMonitorView=TopIIVolMeshMonitor(self, shellCmd)
|
||||
|
||||
def OnqcbDistributedClicked(self):
|
||||
state = self.qcbDistributed.isChecked()
|
||||
self.qlbXParts.setVisible(state)
|
||||
self.qlbYParts.setVisible(state)
|
||||
self.qlbZParts.setVisible(state)
|
||||
self.qsbXParts.setVisible(state)
|
||||
self.qsbYParts.setVisible(state)
|
||||
self.qsbZParts.setVisible(state)
|
||||
def OnqrbDistClicked(self):
|
||||
state = self.qrbDist.isChecked()
|
||||
self.qgbDist.setEnabled(state)
|
||||
self.qsbNBprocs.setEnabled(state)
|
||||
self.qlbNBprocs.setEnabled(state)
|
||||
|
||||
def OnqrbParClicked(self):
|
||||
state = self.qrbPar.isChecked()
|
||||
self.qgbDist.setEnabled(not state)
|
||||
self.qsbNBprocs.setEnabled(state)
|
||||
self.qlbNBprocs.setEnabled(state)
|
||||
|
||||
def OnqrbSeqClicked(self):
|
||||
state = self.qrbSeq.isChecked()
|
||||
if state:
|
||||
self.qsbNBprocs.setValue(1)
|
||||
self.qgbDist.setEnabled(not state)
|
||||
self.qsbNBprocs.setEnabled(not state)
|
||||
self.qlbNBprocs.setEnabled(not state)
|
||||
|
||||
def OnQpbCloseClicked(self):
|
||||
self.close()
|
||||
|
@ -6,12 +6,12 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>663</width>
|
||||
<height>298</height>
|
||||
<width>758</width>
|
||||
<height>400</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Tetra Mesh from cloud of xyz points mesh generator</string>
|
||||
<string>Tetrahedral mesh generator for DEM point-clouds</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="0">
|
||||
@ -129,7 +129,13 @@
|
||||
<property name="title">
|
||||
<string>Options</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<layout class="QGridLayout" name="gridLayout_6">
|
||||
<item row="0" column="0" rowspan="2" colspan="2">
|
||||
<widget class="QGroupBox" name="qgbNBpoints">
|
||||
<property name="title">
|
||||
<string>Number of points</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="0" column="0">
|
||||
<widget class="QSpinBox" name="qsbXPoints">
|
||||
<property name="minimum">
|
||||
@ -146,83 +152,10 @@
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="qlXpoints">
|
||||
<property name="text">
|
||||
<string>Number of points in X direction</string>
|
||||
<string>X direction</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QCheckBox" name="qcbDistributed">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<widget class="QLabel" name="qlDistributed">
|
||||
<property name="text">
|
||||
<string>Distributed</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="5">
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="6">
|
||||
<widget class="QSpinBox" name="qsbNBprocs">
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>999999999</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>1</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="7">
|
||||
<widget class="QLabel" name="qlbNbProcs">
|
||||
<property name="text">
|
||||
<string>Number of processors</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="8">
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>45</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QSpinBox" name="qsbYPoints">
|
||||
<property name="minimum">
|
||||
@ -239,41 +172,7 @@
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="qlYpoints">
|
||||
<property name="text">
|
||||
<string>Number of points in Y direction</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QCheckBox" name="qcbDisplayMesh">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QLabel" name="qlDisplayMesh">
|
||||
<property name="text">
|
||||
<string>Display mesh</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="6">
|
||||
<widget class="QSpinBox" name="qsbXParts">
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>999999999</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>1</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="7" colspan="2">
|
||||
<widget class="QLabel" name="qlbXParts">
|
||||
<property name="text">
|
||||
<string>Number of partitions in X direction</string>
|
||||
<string>Y direction</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -293,11 +192,111 @@
|
||||
<item row="2" column="1">
|
||||
<widget class="QLabel" name="qlZpoints">
|
||||
<property name="text">
|
||||
<string>Number of points in Z direction</string>
|
||||
<string>Z direction</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="6">
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="3" rowspan="2" colspan="3">
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>Meshing</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="0" column="0">
|
||||
<widget class="QRadioButton" name="qrbSeq">
|
||||
<property name="text">
|
||||
<string>Sequential</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QRadioButton" name="qrbPar">
|
||||
<property name="text">
|
||||
<string>Parallel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QRadioButton" name="qrbDist">
|
||||
<property name="text">
|
||||
<string>Parallel distributed</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="6">
|
||||
<spacer name="horizontalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="7">
|
||||
<widget class="QSpinBox" name="qsbNBprocs">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>999999999</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>1</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="8">
|
||||
<widget class="QLabel" name="qlbNBprocs">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Number of processors</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="7" rowspan="3" colspan="2">
|
||||
<widget class="QGroupBox" name="qgbDist">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Number of partitions</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QSpinBox" name="qsbYParts">
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
@ -310,34 +309,28 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="7" colspan="2">
|
||||
<item row="1" column="2" colspan="2">
|
||||
<widget class="QLabel" name="qlbYParts">
|
||||
<property name="text">
|
||||
<string>Number of partitions in Y direction</string>
|
||||
<string>Y direction</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QSpinBox" name="qsbDepth">
|
||||
<property name="minimum">
|
||||
<number>-999999999</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>999999999</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLabel" name="qlDepth">
|
||||
<item row="0" column="2" colspan="2">
|
||||
<widget class="QLabel" name="qlbXParts">
|
||||
<property name="text">
|
||||
<string>Depth in Z direction</string>
|
||||
<string>X direction</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="6">
|
||||
<item row="2" column="2">
|
||||
<widget class="QLabel" name="qlbZParts">
|
||||
<property name="text">
|
||||
<string>Z direction</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QSpinBox" name="qsbZParts">
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
@ -350,21 +343,80 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="7" colspan="2">
|
||||
<widget class="QLabel" name="qlbZParts">
|
||||
<property name="text">
|
||||
<string>Number of partitions in Z direction</string>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QSpinBox" name="qsbXParts">
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>999999999</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>1</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QSpinBox" name="qsbDepth">
|
||||
<property name="minimum">
|
||||
<number>-999999999</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>999999999</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLabel" name="qlDepth">
|
||||
<property name="text">
|
||||
<string>Depth in Z direction</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QCheckBox" name="qcbDisplayMesh">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="4">
|
||||
<widget class="QLabel" name="qlDisplayMesh">
|
||||
<property name="text">
|
||||
<string>Display mesh</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="5">
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="qlTmpDir">
|
||||
<property name="text">
|
||||
<string>Workspace</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="9">
|
||||
<item row="4" column="0" colspan="9">
|
||||
<widget class="QLineEdit" name="qleTmpDir">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
@ -389,12 +441,10 @@
|
||||
<tabstop>qsbYPoints</tabstop>
|
||||
<tabstop>qsbZPoints</tabstop>
|
||||
<tabstop>qsbDepth</tabstop>
|
||||
<tabstop>qcbDistributed</tabstop>
|
||||
<tabstop>qsbNBprocs</tabstop>
|
||||
<tabstop>qsbXParts</tabstop>
|
||||
<tabstop>qsbYParts</tabstop>
|
||||
<tabstop>qsbZParts</tabstop>
|
||||
<tabstop>qcbDisplayMesh</tabstop>
|
||||
<tabstop>qleTmpDir</tabstop>
|
||||
<tabstop>qpbCompute</tabstop>
|
||||
<tabstop>qpbClose</tabstop>
|
||||
|
@ -1,7 +1,7 @@
|
||||
Introduction
|
||||
============
|
||||
|
||||
**topIIvol** meshing tool provides sequential/parallel tools for creating volumetric tetrahedral meshes from a given topology (point-cloud `*.xyz`).
|
||||
**topIIvol** meshing tool provides sequential and parallel tools for creating volumetric tetrahedral meshes from a given terrain topology via digital elevation model (DEM point-cloud `*.xyz`). Via this plugin one could produce distributed meshes suitable for domain-decomposition based solvers or simply non distributed meshes (single mesh) suitable for a sequential/parallel solver.
|
||||
|
||||
Running topIIvol Plug-in
|
||||
========================
|
||||
@ -15,49 +15,54 @@ Running topIIvol Plug-in
|
||||
**topIIVolMesh** Options
|
||||
========================
|
||||
|
||||
Users have option of performing meshing via:
|
||||
|
||||
- *Sequential* mode: mesh computation in sequential and outputs a single mesh.
|
||||
- *Parallel* mode: mesh computation in parallel and outputs a single mesh.
|
||||
- *Parallel distributed* mode: mesh computation in parallel and outputs partitioned meshes.
|
||||
|
||||
Sequential mode
|
||||
---------------
|
||||
If the number of processors is set to 1, **topIIvol_Mesher** sequential tool is called for creating volumetric tetrahedral meshes from a given topology. The volumetric mesh can be displayed in SALOME by ticking the "Display mesh" check-box.
|
||||
By default sequential meshing mode is activated. **topIIvol_Mesher** sequential tool is called for creating volumetric tetrahedral mesh for the given DEM point-cloud. The volumetric mesh can be displayed in SALOME by ticking the "Display mesh" check-box.
|
||||
|
||||
The list of input parameters are:
|
||||
|
||||
- DEM input file: input point cloud file;
|
||||
- DEM input file: input point cloud file in .xyz format;
|
||||
- Number of X points present in the input point cloud;
|
||||
- Number of Y points present in the input point cloud;
|
||||
- Number of Z points intended in the z direction;
|
||||
- Number of Z points intended in the Z direction;
|
||||
- Depth of the mesh needed;
|
||||
- temporary directory for calculation.
|
||||
|
||||
Parallel mode
|
||||
---------------
|
||||
If the number of processors is greater than one, **topIIvol_ParMesher** parallel computing tool is called for creating volumetric tetrahedral meshes from a given topology. The volumetric mesh can be displayed in SALOME by ticking the "Display mesh" check-box.
|
||||
For larger meshes the parallel meshing mode can be activated via the check-box **Parallel**. Additionally, this requires the user to provide the number of processors to be used for parallel meshing. Then, **topIIvol_ParMesher** parallel computing tool is called for creating volumetric tetrahedral mesh for the given DEM point-cloud. The volumetric mesh can be displayed in SALOME by ticking the "Display mesh" check-box.
|
||||
|
||||
The list of input parameters are:
|
||||
|
||||
- DEM input file: input point cloud file;
|
||||
- DEM input file: input point cloud file in .xyz format;
|
||||
- Number of X points present in the input point cloud;
|
||||
- Number of Y points present in the input point cloud;
|
||||
- Number of Z points intended in the z direction;
|
||||
- Number of Z points intended in the Z direction;
|
||||
- Depth of the mesh needed;
|
||||
- Number of MPI ranks
|
||||
- temporary directory for calculation.
|
||||
|
||||
|
||||
Distributed mode
|
||||
Parallel distributed mode
|
||||
-----------------
|
||||
If the check-box **Distributed** is ticked, **topIIvol_DistMesher** computing tool is called for creating embarassingly parallel distributed meshes from a given topology.
|
||||
For larger meshes suitable for distributed-memory solvers (domain-decomposition) the distributed parallel meshing mode can be activated via the check-box **Parallel distributed**. This requires the user to provide the number of processors to be used for parallel meshing and how to partition the mesh in each direction (X, Y, Z). Then, **topIIvol_DistMesher** computing tool is called for creating embarassingly parallel distributed meshes for the given DEM point-cloud. These volumetric mesh partitions can be displayed in SALOME by ticking the "Display mesh" check-box.
|
||||
|
||||
The list of input parameters are:
|
||||
|
||||
- DEM input file: input point cloud file;
|
||||
- DEM input file: input point cloud file in .xyz format;
|
||||
- Number of X points present in the input point cloud;
|
||||
- Number of Y points present in the input point cloud;
|
||||
- Number of Z points intended in the z direction;
|
||||
- Number of Z points intended in the Z direction;
|
||||
- Depth of the mesh needed;
|
||||
- Number of partitions in X direction;
|
||||
- Number of partitions in Y direction;
|
||||
- Number of partitions in Z direction;
|
||||
- Depth of the mesh needed;
|
||||
- Number of MPI ranks
|
||||
- temporary directory for calculation.
|
||||
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 88 KiB |
@ -8,7 +8,7 @@ topIIvol plugin documentation
|
||||
This documentation covers the usage of **top-ii-vol** as plug-in in SALOME that can be used within the SALOME
|
||||
Mesh module.
|
||||
|
||||
TopIIVolMesh plug-in uses CEA **top-ii-Vol** meshing tool,which provides sequential/parallel tools for creating volumetric tetrahedral meshes from a given topology.
|
||||
TopIIVolMesh plug-in uses CEA **top-ii-Vol** meshing tool, which provides sequential and parallel tools for creating volumetric tetrahedral meshes for a given terrain topology.
|
||||
This plug-in offers only the most common functionalities of the tool.
|
||||
|
||||
Contents:
|
||||
|
Loading…
Reference in New Issue
Block a user