# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-from smesh import Mesh_Algorithm, AssureGeomPublished
+##
+# @package GHS3DPluginDC
+# Python API for the GHS3D meshing plug-in module.
+
+from smesh_algorithm import Mesh_Algorithm
+from smesh import AssureGeomPublished
# import GHS3DPlugin module if possible
noGHS3DPlugin = 0
# V4.1 (partialy redefines V3.1). Issue 0020574
None_Optimization, Light_Optimization, Standard_Optimization, StandardPlus_Optimization, Strong_Optimization = 0,1,2,3,4
+#----------------------------
+# Mesh algo type identifiers
+#----------------------------
+
+## Algorithm type: GHS3D tetrahedron 3D algorithm, see GHS3D_Algorithm
GHS3D = "GHS3D_3D"
## Tetrahedron GHS3D 3D algorithm
-# It is created by calling Mesh.Tetrahedron( GHS3D, geom=0 )
-#
+#
+# It can be created by calling smesh.Mesh.Tetrahedron( smesh.GHS3D, geom=0 )
class GHS3D_Algorithm(Mesh_Algorithm):
+ ## name of the dynamic method in smesh.Mesh class
+ # @internal
meshMethod = "Tetrahedron"
+ ## type of algorithm used with helper function in smesh.Mesh class
+ # @internal
algoType = GHS3D
+ ## doc string of the method in smesh.Mesh class
+ # @internal
+ docHelper = "Creates tetrahedron 3D algorithm for volumes"
## Private constructor.
+ # @param mesh parent mesh object algorithm is assigned to
+ # @param geom geometry (shape/sub-shape) algorithm is assigned to;
+ # if it is @c 0 (default), the algorithm is assigned to the main shape
def __init__(self, mesh, geom=0):
Mesh_Algorithm.__init__(self)
if noGHS3DPlugin: print "Warning: GHS3DPlugin module unavailable"
self.Create(mesh, geom, self.algoType, "libGHS3DEngine.so")
self.params = None
+ pass
## Defines hypothesis having several parameters
- #
+ # @return hypothesis object
def Parameters(self):
if not self.params:
self.params = self.Hypothesis("GHS3D_Parameters", [],
"libGHS3DEngine.so", UseExisting=0)
+ pass
return self.params
## To mesh "holes" in a solid or not. Default is to mesh.
- #
+ # @param toMesh "mesh holes" flag value
def SetToMeshHoles(self, toMesh):
self.Parameters().SetToMeshHoles(toMesh)
+ pass
## Set Optimization level:
- # None_Optimization, Light_Optimization, Standard_Optimization, StandardPlus_Optimization,
- # Strong_Optimization.
- # Default is Standard_Optimization
+ # @param level optimization level, one of the following values
+ # - None_Optimization
+ # - Light_Optimization
+ # - Standard_Optimization
+ # - StandardPlus_Optimization
+ # - Strong_Optimization.
+ # .
+ # Default is Standard_Optimization
def SetOptimizationLevel(self, level):
self.Parameters().SetOptimizationLevel(level)
+ pass
- ## Maximal size of memory to be used by the algorithm (in Megabytes).
- #
+ ## Set maximal size of memory to be used by the algorithm (in Megabytes).
+ # @param MB maximal size of memory
def SetMaximumMemory(self, MB):
self.Parameters().SetMaximumMemory(MB)
+ pass
- ## Initial size of memory to be used by the algorithm (in Megabytes) in
+ ## Set initial size of memory to be used by the algorithm (in Megabytes) in
# automatic memory adjustment mode.
+ # @param MB initial size of memory
def SetInitialMemory(self, MB):
self.Parameters().SetInitialMemory(MB)
+ pass
- ## Path to working directory.
- #
+ ## Set path to working directory.
+ # @param path working directory
def SetWorkingDirectory(self, path):
self.Parameters().SetWorkingDirectory(path)
+ pass
## To keep working files or remove them. Log file remains in case of errors anyway.
+ # @param toKeep "keep working files" flag value
def SetKeepFiles(self, toKeep):
self.Parameters().SetKeepFiles(toKeep)
-
- ## To set verbose level [0-10]. <ul>
- #<li> 0 - no standard output,
- #<li> 2 - prints the data, quality statistics of the skin and final meshes and
- # indicates when the final mesh is being saved. In addition the software
- # gives indication regarding the CPU time.
- #<li>10 - same as 2 plus the main steps in the computation, quality statistics
- # histogram of the skin mesh, quality statistics histogram together with
- # the characteristics of the final mesh.</ul>
+ pass
+
+ ## Set verbosity level [0-10].
+ # @param level verbosity level
+ # - 0 - no standard output,
+ # - 2 - prints the data, quality statistics of the skin and final meshes and
+ # indicates when the final mesh is being saved. In addition the software
+ # gives indication regarding the CPU time.
+ # - 10 - same as 2 plus the main steps in the computation, quality statistics
+ # histogram of the skin mesh, quality statistics histogram together with
+ # the characteristics of the final mesh.
def SetVerboseLevel(self, level):
self.Parameters().SetVerboseLevel(level)
+ pass
## To create new nodes.
+ # @param toCreate "create new nodes" flag value
def SetToCreateNewNodes(self, toCreate):
self.Parameters().SetToCreateNewNodes(toCreate)
+ pass
## To use boundary recovery version which tries to create mesh on a very poor
# quality surface mesh.
+ # @param toUse "use boundary recovery version" flag value
def SetToUseBoundaryRecoveryVersion(self, toUse):
self.Parameters().SetToUseBoundaryRecoveryVersion(toUse)
+ pass
## Applies finite-element correction by replacing overconstrained elements where
# it is possible. The process is cutting first the overconstrained edges and
# second the overconstrained facets. This insure that no edges have two boundary
# vertices and that no facets have three boundary vertices.
+ # @param toUseFem "apply finite-element correction" flag value
def SetFEMCorrection(self, toUseFem):
self.Parameters().SetFEMCorrection(toUseFem)
+ pass
- ## To removes initial central point.
+ ## To remove initial central point.
+ # @param toRemove "remove initial central point" flag value
def SetToRemoveCentralPoint(self, toRemove):
self.Parameters().SetToRemoveCentralPoint(toRemove)
+ pass
## To set an enforced vertex.
# @param x : x coordinate
return self.Parameters().SetEnforcedVertex(x, y, z, size)
else:
return self.Parameters().SetEnforcedVertexWithGroup(x, y, z, size, groupName)
+ pass
else:
if groupName == "":
return self.Parameters().SetEnforcedVertexNamed(x, y, z, size, vertexName)
else:
return self.Parameters().SetEnforcedVertexNamedWithGroup(x, y, z, size, vertexName, groupName)
+ pass
+ pass
## To set an enforced vertex given a GEOM vertex, group or compound.
# @param theVertex : GEOM vertex (or group, compound) to be projected on theFace.
return self.Parameters().SetEnforcedVertexGeom(theVertex, size)
else:
return self.Parameters().SetEnforcedVertexGeomWithGroup(theVertex, size, groupName)
+ pass
## To remove an enforced vertex.
# @param x : x coordinate
return self.Parameters().SetEnforcedMesh(theSource, elementType)
else:
return self.Parameters().SetEnforcedMeshWithGroup(theSource, elementType, groupName)
+ pass
else:
if groupName == "":
return self.Parameters().SetEnforcedMeshSize(theSource, elementType, size)
else:
return self.Parameters().SetEnforcedMeshSizeWithGroup(theSource, elementType, size, groupName)
+ pass
+ pass
## Sets command line option as text.
+ # @param option command line option
def SetTextOption(self, option):
self.Parameters().SetTextOption(option)
+ pass
+ pass # end of GHS3D_Algorithm class