Salome HOME
Integration of PAL/SALOME V2.1.0c from OCC
[modules/smesh.git] / src / SMESH_SWIG / batchmode_smesh.py
index 899dc59af0fe8498b01fd5af4797e3a45216ca40..4964c8b0cc7ef8edb6e67a55ab93b8f79e8e4441 100644 (file)
@@ -8,6 +8,7 @@
 #  $Header$
 
 from batchmode_salome import *
+from batchmode_geompy import ShapeType
 import SMESH
 
 #--------------------------------------------------------------------------
@@ -19,46 +20,34 @@ myStudyBuilder = myStudy.NewBuilder()
 if myStudyBuilder is None:
        raise RuntimeError, " Null myStudyBuilder"
 
-father = myStudy.FindComponent("MESH")
+father = myStudy.FindComponent("SMESH")
 if father is None:
-        father = myStudyBuilder.NewComponent("MESH")
-        FName = myStudyBuilder.FindOrCreateAttribute(father, "AttributeName");
-       Comp = modulecatalog.GetComponent( "SMESH" )
-       FName.SetValue( Comp._get_componentusername() )
-       aPixmap = myStudyBuilder.FindOrCreateAttribute(father, "AttributePixMap");
-       aPixmap.SetPixMap( "ICON_OBJBROWSER_Mesh" );
+        father = myStudyBuilder.NewComponent("SMESH")
+        FName = myStudyBuilder.FindOrCreateAttribute(father, "AttributeName")
+       Comp = modulecatalog.GetComponent("SMESH")
+       FName.SetValue(Comp._get_componentusername())
+       aPixmap = myStudyBuilder.FindOrCreateAttribute(father, "AttributePixMap")
+       aPixmap.SetPixMap("ICON_OBJBROWSER_Mesh")
 
 myStudyBuilder.DefineComponentInstance(father,smesh)
 
 mySComponentMesh = father._narrow(SALOMEDS.SComponent)
 
-Tag_HypothesisRoot  = 1;
-Tag_AlgorithmsRoot  = 2;
+Tag_HypothesisRoot  = 1
+Tag_AlgorithmsRoot  = 2
   
-Tag_RefOnShape      = 1;
-Tag_RefOnAppliedHypothesis = 2;
-Tag_RefOnAppliedAlgorithms = 3;
+Tag_RefOnShape      = 1
+Tag_RefOnAppliedHypothesis = 2
+Tag_RefOnAppliedAlgorithms = 3
   
-Tag_SubMeshOnVertex = 4;
-Tag_SubMeshOnEdge = 5;
-Tag_SubMeshOnFace = 6;
-Tag_SubMeshOnSolid = 7;
-Tag_SubMeshOnCompound = 8;
+Tag_SubMeshOnVertex = 4
+Tag_SubMeshOnEdge = 5
+Tag_SubMeshOnFace = 6
+Tag_SubMeshOnSolid = 7
+Tag_SubMeshOnCompound = 8
 
 Tag = {"HypothesisRoot":1,"AlgorithmsRoot":2,"RefOnShape":1,"RefOnAppliedHypothesis":2,"RefOnAppliedAlgorithms":3,"SubMeshOnVertex":4,"SubMeshOnEdge":5,"SubMeshOnFace":6,"SubMeshOnSolid":7,"SubMeshOnCompound":8}
 
-# -- enumeration --
-ShapeTypeCompSolid = 1
-ShapeTypeSolid     = 2
-ShapeTypeShell     = 3
-ShapeTypeFace      = 4
-ShapeTypeWire      = 5
-ShapeTypeEdge      = 6
-ShapeTypeVertex    = 7
-
-# -- enumeration ShapeType as a dictionary --
-ShapeType = {"CompSolid":1, "Solid":2, "Shell":3, "Face":4, "Wire":5, "Edge":6, "Vertex":7}
-
 #------------------------------------------------------------
 def Init():
         pass
@@ -78,17 +67,17 @@ def AddNewMesh(IOR):
                aPixmap = myStudyBuilder.FindOrCreateAttribute(HypothesisRoot, "AttributePixMap")
                aPixmap.SetPixMap( "mesh_tree_hypo.png" )
                aSelAttr = myStudyBuilder.FindOrCreateAttribute(HypothesisRoot, "AttributeSelectable")
-               aSelAttr.SetSelectable(0);
+               aSelAttr.SetSelectable(0)
 
        res, AlgorithmsRoot = mySComponentMesh.FindSubObject (Tag_AlgorithmsRoot)
        if AlgorithmsRoot is None  or res == 0:
                AlgorithmsRoot = myStudyBuilder.NewObjectToTag (mySComponentMesh, Tag_AlgorithmsRoot)
                aName = myStudyBuilder.FindOrCreateAttribute(AlgorithmsRoot, "AttributeName")
-               aName.SetValue("Algorithms");
-               aPixmap = myStudyBuilder.FindOrCreateAttribute(AlgorithmsRoot, "AttributePixMap");
-               aPixmap.SetPixMap( "mesh_tree_algo.png" );
-               aSelAttr = myStudyBuilder.FindOrCreateAttribute(AlgorithmsRoot, "AttributeSelectable");
-               aSelAttr.SetSelectable(0);
+               aName.SetValue("Algorithms")
+               aPixmap = myStudyBuilder.FindOrCreateAttribute(AlgorithmsRoot, "AttributePixMap")
+               aPixmap.SetPixMap( "mesh_tree_algo.png" )
+               aSelAttr = myStudyBuilder.FindOrCreateAttribute(AlgorithmsRoot, "AttributeSelectable")
+               aSelAttr.SetSelectable(0)
 
        HypothesisRoot = HypothesisRoot._narrow(SALOMEDS.SObject)
        newMesh = myStudyBuilder.NewObject(mySComponentMesh)
@@ -109,22 +98,22 @@ def AddNewHypothesis(IOR):
        res, HypothesisRoot = mySComponentMesh.FindSubObject (Tag_HypothesisRoot)
        if HypothesisRoot is None or res == 0:
                HypothesisRoot = myStudyBuilder.NewObjectToTag (mySComponentMesh, Tag_HypothesisRoot)
-               aName = myStudyBuilder.FindOrCreateAttribute(HypothesisRoot, "AttributeName");
-               aName.SetValue("Hypotheses");
-               aSelAttr = myStudyBuilder.FindOrCreateAttribute(HypothesisRoot, "AttributeSelectable");
-               aSelAttr.SetSelectable(0);
-               aPixmap = myStudyBuilder.FindOrCreateAttribute(HypothesisRoot, "AttributePixMap");
-               aPixmap.SetPixMap( "mesh_tree_hypo.png" );
+               aName = myStudyBuilder.FindOrCreateAttribute(HypothesisRoot, "AttributeName")
+               aName.SetValue("Hypotheses")
+               aSelAttr = myStudyBuilder.FindOrCreateAttribute(HypothesisRoot, "AttributeSelectable")
+               aSelAttr.SetSelectable(0)
+               aPixmap = myStudyBuilder.FindOrCreateAttribute(HypothesisRoot, "AttributePixMap")
+               aPixmap.SetPixMap( "mesh_tree_hypo.png" )
  
        # Add New Hypothesis
        newHypo = myStudyBuilder.NewObject(HypothesisRoot)
        aPixmap = myStudyBuilder.FindOrCreateAttribute(newHypo, "AttributePixMap")
        H = orb.string_to_object(IOR)
-       aType = H.GetName();
-       aPixmap.SetPixMap( "mesh_tree_hypo.png_" + aType );
-       anIOR = myStudyBuilder.FindOrCreateAttribute(newHypo, "AttributeIOR");
-       anIOR.SetValue(IOR);
-       return newHypo.GetID();
+       aType = H.GetName()
+       aPixmap.SetPixMap( "mesh_tree_hypo.png_" + aType )
+       anIOR = myStudyBuilder.FindOrCreateAttribute(newHypo, "AttributeIOR")
+       anIOR.SetValue(IOR)
+       return newHypo.GetID()
 
 #------------------------------------------------------------
 def AddNewAlgorithms(IOR):
@@ -138,73 +127,73 @@ def AddNewAlgorithms(IOR):
        if  AlgorithmsRoot is None or res == 0:
                AlgorithmsRoot = myStudyBuilde.NewObjectToTag (mySComponentMesh, Tag_AlgorithmsRoot)
                aName = myStudyBuilder.FindOrCreateAttribute(AlgorithmsRoot, "AttributeName")
-               aName.SetValue("Algorithms");
+               aName.SetValue("Algorithms")
                aSelAttr = myStudyBuilder.FindOrCreateAttribute(AlgorithmsRoot, "AttributeSelectable")
-               aSelAttr.SetSelectable(0);
-               aPixmap = myStudyBuilder.FindOrCreateAttribute(AlgorithmsRoot, "AttributePixMap");
-               aPixmap.SetPixMap( "mesh_tree_algo.png" );
+               aSelAttr.SetSelectable(0)
+               aPixmap = myStudyBuilder.FindOrCreateAttribute(AlgorithmsRoot, "AttributePixMap")
+               aPixmap.SetPixMap( "mesh_tree_algo.png" )
 
   # Add New Algorithms
        newHypo = myStudyBuilder.NewObject(AlgorithmsRoot)
-       aPixmap = myStudyBuilder.FindOrCreateAttribute(newHypo, "AttributePixMap");
-       aPixmap = anAttr._narrow(SALOMEDS.AttributePixMap);
+       aPixmap = myStudyBuilder.FindOrCreateAttribute(newHypo, "AttributePixMap")
+       aPixmap = anAttr._narrow(SALOMEDS.AttributePixMap)
        H = orb.string_to_object(IOR)
        aType = H.GetName();    #QString in fact
-       aPixmap.SetPixMap( "mesh_tree_algo.png_" + aType );
-       anIOR = myStudyBuilder.FindOrCreateAttribute(newHypo, "AttributeIOR");
-       anIOR.SetValue(IOR);
-       return newHypo.GetID();
+       aPixmap.SetPixMap( "mesh_tree_algo.png_" + aType )
+       anIOR = myStudyBuilder.FindOrCreateAttribute(newHypo, "AttributeIOR")
+       anIOR.SetValue(IOR)
+       return newHypo.GetID()
 
 
 #------------------------------------------------------------
 def SetShape(ShapeEntry, MeshEntry):
        SO_MorSM = myStudy.FindObjectID( MeshEntry )
-       SO_GeomShape = myStudy.FindObjectID( ShapeEntry );
+       SO_GeomShape = myStudy.FindObjectID( ShapeEntry )
 
        if SO_MorSM is not None and SO_GeomShape is not None :
                # VSR: added temporarily - shape reference is published automatically by the engine
-               res, Ref = SO_MorSM.FindSubObject( Tag_RefOnShape );
+               res, Ref = SO_MorSM.FindSubObject( Tag_RefOnShape )
                if res == 1 :
-                       return;
+                       return
                # VSR ######################################################################
        
-               SO = myStudyBuilder.NewObjectToTag (SO_MorSM, Tag_RefOnShape);
-               myStudyBuilder.Addreference (SO,SO_GeomShape);
-  
+               SO = myStudyBuilder.NewObjectToTag (SO_MorSM, Tag_RefOnShape)
+               myStudyBuilder.Addreference (SO,SO_GeomShape)
+
 
 #------------------------------------------------------------
 def SetHypothesis(Mesh_Or_SubMesh_Entry, Hypothesis_Entry):
-  SO_MorSM = myStudy.FindObjectID( Mesh_Or_SubMesh_Entry );
-  SO_Hypothesis =  myStudy.FindObjectID( Hypothesis_Entry );
+  SO_MorSM = myStudy.FindObjectID( Mesh_Or_SubMesh_Entry )
+  SO_Hypothesis =  myStudy.FindObjectID( Hypothesis_Entry )
 
   if  SO_MorSM is not None and SO_Hypothesis is not None : 
     
         #Find or Create Applied Hypothesis root
        res, AHR = SO_MorSM.FindSubObject (Tag_RefOnAppliedHypothesis)
        if  AHR is None or res == 0: 
-               AHR = myStudyBuilder.NewObjectToTag (SO_MorSM, Tag_RefOnAppliedHypothesis);
-               aName = myStudyBuilder.FindOrCreateAttribute(AHR, "AttributeName");
+               AHR = myStudyBuilder.NewObjectToTag (SO_MorSM, Tag_RefOnAppliedHypothesis)
+               aName = myStudyBuilder.FindOrCreateAttribute(AHR, "AttributeName")
                
                # The same name as in SMESH_Mesh_i::AddHypothesis() ##################
-               aName.SetValue("Applied hypotheses");
+               aName.SetValue("Applied hypotheses")
                
-               aSelAttr = myStudyBuilder.FindOrCreateAttribute(AHR, "AttributeSelectable");
-               aSelAttr.SetSelectable(0);
-               aPixmap = myStudyBuilder.FindOrCreateAttribute(AHR, "AttributePixMap");
-               aPixmap.SetPixMap( "mesh_tree_hypo.png" );
+               aSelAttr = myStudyBuilder.FindOrCreateAttribute(AHR, "AttributeSelectable")
+               aSelAttr.SetSelectable(0)
+               aPixmap = myStudyBuilder.FindOrCreateAttribute(AHR, "AttributePixMap")
+               aPixmap.SetPixMap( "mesh_tree_hypo.png" )
                
        # VSR: added temporarily - reference to applied hypothesis is published automatically by the engine
        else :
-               it = myStudy.NewChildIterator(AHR);
+               it = myStudy.NewChildIterator(AHR)
                while it.More() :
-                       res, Ref = it.Value().ReferencedObject();
+                       res, Ref = it.Value().ReferencedObject()
                        if res and Ref is not None and Ref.GetID() == Hypothesis_Entry :
-                               return;
-                       it.Next();
+                               return
+                       it.Next()
        # VSR ######################################################################
        
-       SO = myStudyBuilder.NewObject(AHR);
-       myStudyBuilder.Addreference (SO,SO_Hypothesis);
+       SO = myStudyBuilder.NewObject(AHR)
+       myStudyBuilder.Addreference (SO,SO_Hypothesis)
 
 #------------------------------------------------------------
 def SetAlgorithms(Mesh_Or_SubMesh_Entry, Algorithms_Entry):
@@ -212,38 +201,38 @@ def SetAlgorithms(Mesh_Or_SubMesh_Entry, Algorithms_Entry):
     SO_Algorithms = myStudy.FindObjectID( Algorithms_Entry )
     if  SO_MorSM != None and SO_Algorithms != None : 
        #Find or Create Applied Algorithms root
-       res, AHR = SO_MorSM.FindSubObject (Tag_RefOnAppliedAlgorithms);
+       res, AHR = SO_MorSM.FindSubObject (Tag_RefOnAppliedAlgorithms)
        if AHR is None or res == 0: 
-               AHR = myStudyBuilder.NewObjectToTag (SO_MorSM, Tag_RefOnAppliedAlgorithms);
-               aName = myStudyBuilder.FindOrCreateAttribute(AHR, "AttributeName");
+               AHR = myStudyBuilder.NewObjectToTag (SO_MorSM, Tag_RefOnAppliedAlgorithms)
+               aName = myStudyBuilder.FindOrCreateAttribute(AHR, "AttributeName")
 
                # The same name as in SMESH_Mesh_i::AddHypothesis() ##################
-               aName.SetValue("Applied algorithms");
+               aName.SetValue("Applied algorithms")
                
-               aSelAttr = myStudyBuilder.FindOrCreateAttribute(AHR, "AttributeSelectable");
-               aSelAttr.SetSelectable(0);
-               aPixmap = myStudyBuilder.FindOrCreateAttribute(AHR, "AttributePixMap");
-               aPixmap.SetPixMap( "mesh_tree_algo.png" );
+               aSelAttr = myStudyBuilder.FindOrCreateAttribute(AHR, "AttributeSelectable")
+               aSelAttr.SetSelectable(0)
+               aPixmap = myStudyBuilder.FindOrCreateAttribute(AHR, "AttributePixMap")
+               aPixmap.SetPixMap( "mesh_tree_algo.png" )
                        
        # VSR: added temporarily - reference to applied hypothesis is published automatically by the engine
        else :
-               it = myStudy.NewChildIterator(AHR);
+               it = myStudy.NewChildIterator(AHR)
                while it.More() :
-                       res, Ref = it.Value().ReferencedObject();
+                       res, Ref = it.Value().ReferencedObject()
                        if res and Ref is not None and Ref.GetID() == Algorithms_Entry :
-                               return;
-                       it.Next();
+                               return
+                       it.Next()
        # VSR ######################################################################
        
-       SO = myStudyBuilder.NewObject(AHR);
-       myStudyBuilder.Addreference (SO,SO_Algorithms);
+       SO = myStudyBuilder.NewObject(AHR)
+       myStudyBuilder.Addreference (SO,SO_Algorithms)
   
 
 #------------------------------------------------------------
 def UnSetHypothesis( Applied_Hypothesis_Entry ):
-       SO_Applied_Hypothesis = myStudy.FindObjectID( Applied_Hypothesis_Entry );
+       SO_Applied_Hypothesis = myStudy.FindObjectID( Applied_Hypothesis_Entry )
        if SO_Applied_Hypothesis : 
-               myStudyBuilder.RemoveObject(SO_Applied_Hypothesis);
+               myStudyBuilder.RemoveObject(SO_Applied_Hypothesis)
        
 
 #------------------------------------------------------------
@@ -257,36 +246,36 @@ def AddSubMesh ( SO_Mesh_Entry, SM_IOR, ST):
        SO_Mesh = myStudy.FindObjectID( SO_Mesh_Entry )
        if ( SO_Mesh ) : 
     
-               if  ST == ShapeTypeCompSolid : 
-                       Tag_Shape = Tag_SubMeshOnSolid;    
-                       Name = "SubMeshes on Solid";
-               elif ST == ShapeTypeFace :
-                       Tag_Shape = Tag_SubMeshOnFace;     
-                       Name = "SubMeshes on Face";
-               elif ST == ShapeTypeEdge :
-                       Tag_Shape = Tag_SubMeshOnEdge;     
-                       Name = "SubMeshes on Edge";
-               elif ST == ShapeTypeVertex :
-                       Tag_Shape = Tag_SubMeshOnVertex;   
-                       Name = "SubMeshes on Vertex";
+               if  ST == ShapeType["COMPSOLID"] : 
+                       Tag_Shape = Tag_SubMeshOnSolid
+                       Name = "SubMeshes on Solid"
+               elif ST == ShapeType["FACE"] :
+                       Tag_Shape = Tag_SubMeshOnFace
+                       Name = "SubMeshes on Face"
+               elif ST == ShapeType["EDGE"] :
+                       Tag_Shape = Tag_SubMeshOnEdge
+                       Name = "SubMeshes on Edge"
+               elif ST == ShapeType["VERTEX"] :
+                       Tag_Shape = Tag_SubMeshOnVertex
+                       Name = "SubMeshes on Vertex"
                else :
-                       Tag_Shape = Tag_SubMeshOnCompound
-                       Name = "SubMeshes on Compound";
+                       Tag_Shape = Tag_SubMeshOnCompound
+                       Name = "SubMeshes on Compound"
                
                res, SubmeshesRoot = SO_Mesh.FindSubObject (Tag_Shape)
                if SubmeshesRoot is None or res == 0:
-                       SubmeshesRoot = myStudyBuilder.NewObjectToTag (SO_Mesh, Tag_Shape);
-                       aName = myStudyBuilder.FindOrCreateAttribute(SubmeshesRoot, "AttributeName");
-                       aName.SetValue(Name);
-                       aSelAttr = myStudyBuilder.FindOrCreateAttribute(SubmeshesRoot, "AttributeSelectable");
-                       aSelAttr.SetSelectable(0);
+                       SubmeshesRoot = myStudyBuilder.NewObjectToTag (SO_Mesh, Tag_Shape)
+                       aName = myStudyBuilder.FindOrCreateAttribute(SubmeshesRoot, "AttributeName")
+                       aName.SetValue(Name)
+                       aSelAttr = myStudyBuilder.FindOrCreateAttribute(SubmeshesRoot, "AttributeSelectable")
+                       aSelAttr.SetSelectable(0)
                
-               SO = myStudyBuilder.NewObject (SubmeshesRoot)
-               anIOR = myStudyBuilder.FindOrCreateAttribute(SO, "AttributeIOR");
-               anIOR.SetValue(SM_IOR);
-               return  SO.GetID();
-        
-       return None;
+               SO = myStudyBuilder.NewObject (SubmeshesRoot)
+               anIOR = myStudyBuilder.FindOrCreateAttribute(SO, "AttributeIOR")
+               anIOR.SetValue(SM_IOR)
+               return  SO.GetID()
+
+       return None
 
 #------------------------------------------------------------
 def AddSubMeshOnShape (Mesh_Entry, GeomShape_Entry, SM_IOR, ST) :
@@ -295,23 +284,21 @@ def AddSubMeshOnShape (Mesh_Entry, GeomShape_Entry, SM_IOR, ST) :
        if aSO is not None:
                return aSO.GetID()
        # VSR ######################################################################
-       SO_GeomShape = myStudy.FindObjectID( GeomShape_Entry );
+       SO_GeomShape = myStudy.FindObjectID( GeomShape_Entry )
        if  SO_GeomShape != None : 
-               SM_Entry = AddSubMesh (Mesh_Entry,SM_IOR,ST);
-               SO_SM = myStudy.FindObjectID( SM_Entry );
+               SM_Entry = AddSubMesh (Mesh_Entry,SM_IOR,ST)
+               SO_SM = myStudy.FindObjectID( SM_Entry )
 
                if  SO_SM != None :
-                       SetShape (GeomShape_Entry, SM_Entry);
-                       return SM_Entry;
-    
-       return None;
+                       SetShape (GeomShape_Entry, SM_Entry)
+                       return SM_Entry
+
+       return None
 
 
 #------------------------------------------------------------
 def SetName(Entry, Name):
-       SO = myStudy.FindObjectID( Entry );
+       SO = myStudy.FindObjectID( Entry )
        if SO != None : 
-               aName = myStudyBuilder.FindOrCreateAttribute(SO, "AttributeName");
-               aName.SetValue(Name);
-  
-
+               aName = myStudyBuilder.FindOrCreateAttribute(SO, "AttributeName")
+               aName.SetValue(Name)