-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
noNETGENPlugin = 1
pass
+LIBRARY = "libNETGENEngine.so"
+
#----------------------------
# Mesh algo type identifiers
#----------------------------
# 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 noNETGENPlugin: print "Warning: NETGENPlugin module unavailable"
- self.Create(mesh, geom, self.algoType, "libNETGENEngine.so")
+ if noNETGENPlugin: print("Warning: NETGENPlugin module unavailable")
+ self.Create(mesh, geom, self.algoType, LIBRARY)
self.params = None
pass
self.mesh.RemoveHypothesis( self.params, self.geom )
self.params = None
if not self.params:
- self.params = self.Hypothesis(hypType, [],"libNETGENEngine.so",UseExisting=0)
+ self.params = self.Hypothesis(hypType, [], LIBRARY, UseExisting=0)
return self.params
+ ## Defines a file specifying size of elements at points and lines
+ # @param file name of the file
+ def SetMeshSizeFile(self, file):
+ self.Parameters().SetMeshSizeFile(file)
+ pass
+
pass # end of NETGEN_Algorithm class
## Tetrahedron 1D-2D-3D algorithm.
#
-# It can be created by calling smeshBuilder.Mesh.Tetrahedron( smesh.NETGEN_1D2D3D, geom=0 ).
+# It can be created by calling smeshBuilder.Mesh.Tetrahedron( smeshBuilder.NETGEN_1D2D3D, geom=0 ).
# This algorithm generates all 1D (edges), 2D (faces) and 3D (volumes) elements
# for given geometrical shape.
class NETGEN_1D2D3D_Algorithm(NETGEN_Algorithm):
def SetQuadAllowed(self, toAllow=True):
if self.Parameters(): self.params.SetQuadAllowed(toAllow)
pass
+ ## Sets @c UseSurfaceCurvature flag
+ # @param toUse new value of the @c UseSurfaceCurvature parameter (@c True by default)
+ def SetUseSurfaceCurvature(self, toUse=True):
+ if self.Parameters(): self.params.SetUseSurfaceCurvature(toUse)
+ pass
+ ## Sets @c FuseEdges flag
+ # @param toFuse new value of the @c FuseEdges parameter (@c False by default)
+ def SetFuseEdges(self, toFuse=False):
+ if self.Parameters(): self.params.SetFuseEdges(toFuse)
+ pass
## Sets number of segments overriding the value set by SetLocalLength()
# @param theVal new value of number of segments parameter
## Triangle NETGEN 1D-2D algorithm.
#
-# It can be created by calling smeshBuilder.Mesh.Triangle( smesh.NETGEN_1D2D, geom=0 )
+# It can be created by calling smeshBuilder.Mesh.Triangle( smeshBuilder.NETGEN_1D2D, geom=0 )
#
# This algorithm generates 1D (edges) and 2D (faces) elements
# for given geometrical shape.
## Triangle NETGEN 2D algorithm
#
-# It can be created by calling smeshBuilder.Mesh.Triangle( smesh.NETGEN_2D, geom=0 )
+# It can be created by calling smeshBuilder.Mesh.Triangle( smeshBuilder.NETGEN_2D, geom=0 )
#
# This algorithm generates only 2D (faces) elements for given geometrical shape
# and, in contrast to NETGEN_1D2D_Algorithm class, should be used in conjunction
def LengthFromEdges(self):
hyp = self.Hypothesis("LengthFromEdges", UseExisting=1, CompareMethod=self.CompareEqualHyp)
return hyp
+
+ ## Sets @c UseSurfaceCurvature flag
+ # @param toUse new value of the @c UseSurfaceCurvature parameter (@c True by default)
+ def SetUseSurfaceCurvature(self, toUse=True):
+ if self.Parameters(): self.params.SetUseSurfaceCurvature(toUse)
+ pass
## Sets @c QuadAllowed flag.
# @param toAllow new value of the @c QuadAllowed parameter (@c True by default)
## Tetrahedron 3D algorithm
#
-# It can be created by calling smeshBuilder.Mesh.Tetrahedron() or smeshBuilder.Mesh.Tetrahedron( smesh.NETGEN, geom=0 )
+# It can be created by calling smeshBuilder.Mesh.Tetrahedron() or smeshBuilder.Mesh.Tetrahedron( smeshBuilder.NETGEN, geom=0 )
#
# This algorithm generates only 3D (volumes) elements for given geometrical shape
# and, in contrast to NETGEN_1D2D3D_Algorithm class, should be used in conjunction
## Triangle (helper) 1D-2D algorithm
#
# This is the helper class that is used just to allow creating of create NETGEN_1D2D algorithm
-# by calling smeshBuilder.Mesh.Triangle( smesh.NETGEN, geom=0 ); this is required for backward compatibility
+# by calling smeshBuilder.Mesh.Triangle( smeshBuilder.NETGEN, geom=0 ); this is required for backward compatibility
# with old Python scripts.
#
# @note This class (and corresponding smeshBuilder.Mesh function) is obsolete;
-# use smeshBuilder.Mesh.Triangle( smesh.NETGEN_1D2D, geom=0 ) instead.
+# use smeshBuilder.Mesh.Triangle( smeshBuilder.NETGEN_1D2D, geom=0 ) instead.
class NETGEN_1D2D_Algorithm_2(NETGEN_1D2D_Algorithm):
## name of the dynamic method in smeshBuilder.Mesh class
# by calling smeshBuilder.Mesh.Netgen(); this is required for backward compatibility with old Python scripts.
#
# @note This class (and corresponding smeshBuilder.Mesh function) is obsolete;
-# use smeshBuilder.Mesh.Tetrahedron( smesh.NETGEN_1D2D3D, geom=0 ) instead.
+# use smeshBuilder.Mesh.Tetrahedron( smeshBuilder.NETGEN_1D2D3D, geom=0 ) instead.
class NETGEN_1D2D3D_Algorithm_2(NETGEN_1D2D3D_Algorithm):
## name of the dynamic method in smeshBuilder.Mesh class