if obj is None:
obj = 0
if obj != 0:
+ objHasName = True
if isinstance(obj, geompyDC.GEOM._objref_GEOM_Object):
self.geom = obj
# publish geom of mesh (issue 0021122)
if not self.geom.GetStudyEntry() and smeshpyD.GetCurrentStudy():
+ objHasName = False
studyID = smeshpyD.GetCurrentStudy()._get_StudyId()
if studyID != geompyD.myStudyId:
geompyD.init_geom( smeshpyD.GetCurrentStudy())
pass
- geo_name = "%s_%s"%(self.geom.GetShapeType(), id(self.geom)%100)
+ geo_name = "%s_%s_for_meshing"%(self.geom.GetShapeType(), id(self.geom)%100)
geompyD.addToStudy( self.geom, geo_name )
self.mesh = self.smeshpyD.CreateMesh(self.geom)
self.mesh = self.smeshpyD.CreateEmptyMesh()
if name != 0:
self.smeshpyD.SetName(self.mesh, name)
- elif obj != 0:
+ elif obj != 0 and objHasName:
self.smeshpyD.SetName(self.mesh, GetName(obj))
if not self.geom:
if not geom:
geom = self.mesh.GetShapeToMesh()
pass
+ AssureGeomPublished( self, geom, "shape for %s" % hyp.GetName())
status = self.mesh.AddHypothesis(geom, hyp)
isAlgo = hyp._narrow( SMESH_Algo )
hyp_name = GetName( hyp )
# @param theAffectedElems - group of elements to which the replicated nodes
# should be associated to.
# @param theMakeGroup forces the generation of a group containing new elements.
- # @return TRUE or a created group if operation has been completed successfully,
+ # @param theMakeNodeGroup forces the generation of a group containing new nodes.
+ # @return TRUE or created groups (one or two) if operation has been completed successfully,
# FALSE or None otherwise
# @ingroup l2_modif_edit
- def DoubleNodeElemGroup(self, theElems, theNodesNot, theAffectedElems, theMakeGroup=False):
- if theMakeGroup:
- return self.editor.DoubleNodeElemGroupNew(theElems, theNodesNot, theAffectedElems)
+ def DoubleNodeElemGroup(self, theElems, theNodesNot, theAffectedElems,
+ theMakeGroup=False, theMakeNodeGroup=False):
+ if theMakeGroup or theMakeNodeGroup:
+ twoGroups = self.editor.DoubleNodeElemGroup2New(theElems, theNodesNot,
+ theAffectedElems,
+ theMakeGroup, theMakeNodeGroup)
+ if theMakeGroup and theMakeNodeGroup:
+ return twoGroups
+ else:
+ return twoGroups[ int(theMakeNodeGroup) ]
return self.editor.DoubleNodeElemGroup(theElems, theNodesNot, theAffectedElems)
## Creates a hole in a mesh by doubling the nodes of some particular elements
# @param theAffectedElems - group of elements to which the replicated nodes
# should be associated to.
# @param theMakeGroup forces the generation of a group containing new elements.
- # @return TRUE or a created group if operation has been completed successfully,
+ # @param theMakeNodeGroup forces the generation of a group containing new nodes.
+ # @return TRUE or created groups (one or two) if operation has been completed successfully,
# FALSE or None otherwise
# @ingroup l2_modif_edit
- def DoubleNodeElemGroups(self, theElems, theNodesNot, theAffectedElems, theMakeGroup=False):
- if theMakeGroup:
- return self.editor.DoubleNodeElemGroupsNew(theElems, theNodesNot, theAffectedElems)
+ def DoubleNodeElemGroups(self, theElems, theNodesNot, theAffectedElems,
+ theMakeGroup=False, theMakeNodeGroup=False):
+ if theMakeGroup or theMakeNodeGroup:
+ twoGroups = self.editor.DoubleNodeElemGroups2New(theElems, theNodesNot,
+ theAffectedElems,
+ theMakeGroup, theMakeNodeGroup)
+ if theMakeGroup and theMakeNodeGroup:
+ return twoGroups
+ else:
+ return twoGroups[ int(theMakeNodeGroup) ]
return self.editor.DoubleNodeElemGroups(theElems, theNodesNot, theAffectedElems)
## Creates a hole in a mesh by doubling the nodes of some particular elements