if CritType in [FT_BelongToGeom, FT_BelongToPlane, FT_BelongToGenSurface,
FT_BelongToCylinder, FT_LyingOnGeom]:
# Check treshold
- if isinstance(aTreshold, self.geompyD.GEOM._objref_GEOM_Object):
+ if isinstance(aTreshold, geompyDC.GEOM._objref_GEOM_Object):
aCriterion.ThresholdStr = GetName(aTreshold)
aCriterion.ThresholdID = salome.ObjectToID(aTreshold)
else:
class Mesh_Algorithm:
# @class Mesh_Algorithm
# @brief Class Mesh_Algorithm
- def __init__(self,smesh):
- self.smesh=smesh
- self.mesh = 0
- self.geom = 0
- self.subm = 0
- self.algo = 0
- hypos = {}
+
+ hypos = {}
+
+ #def __init__(self,smesh):
+ # self.smesh=smesh
+ def __init__(self):
+ self.mesh = None
+ self.geom = None
+ self.subm = None
+ self.algo = None
def FindHypothesis(self,hypname, args):
key = "%s %s %s" % (self.__class__.__name__, hypname, args)
def Create(self, mesh, geom, hypo, so="libStdMeshersEngine.so"):
if geom is None:
raise RuntimeError, "Attemp to create " + hypo + " algoritm on None shape"
- algo = self.mesh.smeshpyD.CreateHypothesis(hypo, so)
+ algo = mesh.smeshpyD.CreateHypothesis(hypo, so)
self.Assign(algo, mesh, geom)
return self.algo
self.algo = algo
status = mesh.mesh.AddHypothesis(self.geom, self.algo)
- TreatHypoStatus( status, algo.GetName(), GetName(algo), True )
+ TreatHypoStatus( status, algo.GetName(), GetName(self.geom), True )
## Private method
def Hypothesis(self, hyp, args=[], so="libStdMeshersEngine.so", UseExisting=0):
SetName(hypo, hyp + a)
pass
status = self.mesh.mesh.AddHypothesis(self.geom, hypo)
- TreatHypoStatus( status, hyp, GetName(hypo), 0 )
+ TreatHypoStatus( status, GetName(hypo), GetName(self.geom), 0 )
return hypo
## Private constructor.
def __init__(self, mesh, geom=0):
+ Mesh_Algorithm.__init__(self)
+
if not Mesh_Segment.algo:
Mesh_Segment.algo = self.Create(mesh, geom, "Regular_1D")
else:
store_geom = self.geom
if vertex:
if type(vertex) is types.IntType:
- vertex = self.mesh.geompyD.SubShapeAllSorted(self.geom,self.mesh.geompyD.ShapeType["VERTEX"])[vertex]
+ vertex = self.mesh.geompyD.SubShapeAllSorted(self.geom, geompyDC.ShapeType["VERTEX"])[vertex]
pass
self.geom = vertex
pass
## Private constructor.
def __init__(self, mesh, algoType, geom=0):
+ Mesh_Algorithm.__init__(self)
+
if algoType == MEFISTO:
if not Mesh_Triangle.algoMEF:
Mesh_Triangle.algoMEF = self.Create(mesh, geom, "MEFISTO_2D")
## Private constructor.
def __init__(self, mesh, geom=0):
+ Mesh_Algorithm.__init__(self)
+
if not Mesh_Quadrangle.algo:
Mesh_Quadrangle.algo = self.Create(mesh, geom, "Quadrangle_2D")
else:
## Private constructor.
def __init__(self, mesh, algoType, geom=0):
+ Mesh_Algorithm.__init__(self)
+
if algoType == NETGEN:
if not Mesh_Tetrahedron.algoNET:
Mesh_Tetrahedron.algoNET = self.Create(mesh, geom, "NETGEN_3D", "libNETGENEngine.so")
## Private constructor.
def __init__(self, mesh, geom=0):
+ Mesh_Algorithm.__init__(self)
+
if not Mesh_Hexahedron.algo:
Mesh_Hexahedron.algo = self.Create(mesh, geom, "Hexa_3D")
else:
## Private constructor.
def __init__(self, mesh, is3D, geom=0):
+ Mesh_Algorithm.__init__(self)
+
if noNETGENPlugin:
print "Warning: NETGENPlugin module has not been imported."
## Private constructor.
def __init__(self, mesh, geom=0):
+ Mesh_Algorithm.__init__(self)
+
if not Mesh_Projection1D.algo:
Mesh_Projection1D.algo = self.Create(mesh, geom, "Projection_1D")
else:
## Private constructor.
def __init__(self, mesh, geom=0):
+ Mesh_Algorithm.__init__(self)
+
if not Mesh_Projection2D.algo:
Mesh_Projection2D.algo = self.Create(mesh, geom, "Projection_2D")
else:
## Private constructor.
def __init__(self, mesh, geom=0):
+ Mesh_Algorithm.__init__(self)
+
if not Mesh_Projection3D.algo:
Mesh_Projection3D.algo = self.Create(mesh, geom, "Projection_3D")
else:
## Private constructor.
def __init__(self, mesh, geom=0):
+ Mesh_Algorithm.__init__(self)
+
if not Mesh_Prism3D.algo:
Mesh_Prism3D.algo = self.Create(mesh, geom, "Prism_3D")
else:
## Private constructor.
def __init__(self, mesh, geom=0):
+ Mesh_Algorithm.__init__(self)
+
if not Mesh_RadialPrism3D.algo:
Mesh_RadialPrism3D.algo = self.Create(mesh, geom, "RadialPrism_3D")
else:
allReasons = ""
for err in errors:
if err.isGlobalAlgo:
- glob = " global "
+ glob = "global"
else:
- glob = " local "
+ glob = "local"
pass
- dim = str(err.algoDim)
- if err.name == MISSING_ALGO:
- reason = glob + dim + "D algorithm is missing"
- elif err.name == MISSING_HYPO:
- name = '"' + err.algoName + '"'
- reason = glob + dim + "D algorithm " + name + " misses " + dim + "D hypothesis"
- elif err.name == NOT_CONFORM_MESH:
- reason = "Global \"Not Conform mesh allowed\" hypothesis is missing"
- elif err.name == BAD_PARAM_VALUE:
- name = '"' + err.algoName + '"'
- reason = "Hypothesis of" + glob + dim + "D algorithm " + name +\
- " has a bad parameter value"
+ dim = err.algoDim
+ name = err.algoName
+ if len(name) == 0:
+ reason = '%s %sD algorithm is missing' % (glob, dim)
+ elif err.state == HYP_MISSING:
+ reason = ('%s %sD algorithm "%s" misses %sD hypothesis'
+ % (glob, dim, name, dim))
+ elif err.state == HYP_NOTCONFORM:
+ reason = 'Global "Not Conform mesh allowed" hypothesis is missing'
+ elif err.state == HYP_BAD_PARAMETER:
+ reason = ('Hypothesis of %s %sD algorithm "%s" has a bad parameter value'
+ % ( glob, dim, name ))
+ elif err.state == HYP_BAD_GEOMETRY:
+ reason = ('%s %sD algorithm "%s" is assigned to geometry mismatching'
+ 'its expectation' % ( glob, dim, name ))
else:
reason = "For unknown reason."+\
" Revise Mesh.Compute() implementation in smesh.py!"
def ClearLog(self):
self.mesh.ClearLog()
+ def SetAutoColor(self, color):
+ self.mesh.SetAutoColor(color)
+
+ def GetAutoColor(self):
+ return self.mesh.GetAutoColor()
+
## Get the internal Id
def GetId(self):
return self.mesh.GetId()