X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH_SWIG%2Fsmesh_algorithm.py;h=cac705e124f8778b75257cd2bf081447e05d7e61;hb=f3ce9fcd4028efd124456c5e55c4c4c7983cad9f;hp=a81f825a6ac4ebd2440f3d079bb63423a13a8340;hpb=9f9b06a194271d43220cd95176b689b471dc7189;p=modules%2Fsmesh.git diff --git a/src/SMESH_SWIG/smesh_algorithm.py b/src/SMESH_SWIG/smesh_algorithm.py index a81f825a6..cac705e12 100644 --- a/src/SMESH_SWIG/smesh_algorithm.py +++ b/src/SMESH_SWIG/smesh_algorithm.py @@ -1,9 +1,9 @@ -# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2007-2014 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 @@ -195,21 +195,14 @@ class Mesh_Algorithm: if geom is None and mesh.mesh.HasShapeToMesh(): raise RuntimeError, "Attemp to create " + algo + " algoritm on None shape" self.mesh = mesh - name = "" if not geom or geom.IsSame( mesh.geom ): self.geom = mesh.geom else: self.geom = geom AssureGeomPublished( mesh, geom ) - try: - name = GetName(geom) - pass - except: - pass self.subm = mesh.mesh.GetSubMesh(geom, algo.GetName()) self.algo = algo - status = mesh.mesh.AddHypothesis(self.geom, self.algo) - TreatHypoStatus( status, algo.GetName(), name, True ) + status = mesh.AddHypothesis(self.algo, self.geom) return def CompareHyp (self, hyp, args): @@ -267,21 +260,26 @@ class Mesh_Algorithm: # @param thickness total thickness of layers of prisms # @param numberOfLayers number of layers of prisms # @param stretchFactor factor (>1.0) of growth of layer thickness towards inside of mesh - # @param ignoreFaces list of geometrical faces (or their ids) not to generate layers on + # @param faces list of geometrical faces (or their ids). + # Viscous layers are either generated on these faces or not, depending on + # the value of \a isFacesToIgnore parameter. + # @param isFacesToIgnore if \c True, the Viscous layers are not generated on the + # faces specified by the previous parameter (\a faces). # @ingroup l3_hypos_additi - def ViscousLayers(self, thickness, numberOfLayers, stretchFactor, ignoreFaces=[]): + def ViscousLayers(self, thickness, numberOfLayers, stretchFactor, + faces=[], isFacesToIgnore=True ): if not isinstance(self.algo, SMESH._objref_SMESH_3D_Algo): raise TypeError, "ViscousLayers are supported by 3D algorithms only" if not "ViscousLayers" in self.GetCompatibleHypothesis(): raise TypeError, "ViscousLayers are not supported by %s"%self.algo.GetName() - if ignoreFaces and isinstance( ignoreFaces[0], geomBuilder.GEOM._objref_GEOM_Object ): - ignoreFaces = [ self.mesh.geompyD.GetSubShapeID(self.mesh.geom, f) for f in ignoreFaces ] + if faces and isinstance( faces[0], geomBuilder.GEOM._objref_GEOM_Object ): + faces = [ self.mesh.geompyD.GetSubShapeID(self.mesh.geom, f) for f in faces ] hyp = self.Hypothesis("ViscousLayers", - [thickness, numberOfLayers, stretchFactor, ignoreFaces]) + [thickness, numberOfLayers, stretchFactor, faces]) hyp.SetTotalThickness(thickness) hyp.SetNumberLayers(numberOfLayers) hyp.SetStretchFactor(stretchFactor) - hyp.SetIgnoreFaces(ignoreFaces) + hyp.SetFaces(faces, isFacesToIgnore) return hyp ## Defines "ViscousLayers2D" hypothesis to give parameters of layers of quadrilateral @@ -290,9 +288,9 @@ class Mesh_Algorithm: # @param thickness total thickness of layers of quadrilaterals # @param numberOfLayers number of layers # @param stretchFactor factor (>1.0) of growth of layer thickness towards inside of mesh - # @param edges list of geometrical edge (or their ids). + # @param edges list of geometrical edges (or their ids). # Viscous layers are either generated on these edges or not, depending on - # the values of \a isEdgesToIgnore parameter. + # the value of \a isEdgesToIgnore parameter. # @param isEdgesToIgnore if \c True, the Viscous layers are not generated on the # edges specified by the previous parameter (\a edges). # @ingroup l3_hypos_additi @@ -313,7 +311,7 @@ class Mesh_Algorithm: hyp.SetEdges(edges, isEdgesToIgnore) return hyp - ## Transform a list of ether edges or tuples (edge, 1st_vertex_of_edge) + ## Transform a list of either edges or tuples (edge, 1st_vertex_of_edge) # into a list acceptable to SetReversedEdges() of some 1D hypotheses # @ingroup l3_hypos_1dhyps def ReversedEdgeIndices(self, reverseList):