myLocalVisu = None
myDelay = None
mySession = None
-
-def changeBlankToUnderScore(stringWithBlank):
- blank = ' '
- underscore = '_'
- decompString = split(stringWithBlank,blank)
- length = len(decompString)
- stringWithUnderScore = decompString[0]
- for i in range(1,length):
- stringWithUnderScore += underscore
- stringWithUnderScore += decompString[i]
- return stringWithUnderScore
-
+
def Initialize(theORB, theNamingService, theLifeCycleCORBA, theStudyManager, theStudy, theDelay) :
global myORB, myNamingService, myLifeCycleCORBA, myLocalStudyManager, myLocalStudy
global mySession, myLocalVisu, myDelay
myNamingService = theNamingService
myLifeCycleCORBA = theLifeCycleCORBA
myLocalStudyManager = theStudyManager
- mySession = myNamingService.Resolve("/Kernel/Session")
+ while mySession == None:
+ mySession = myNamingService.Resolve("/Kernel/Session")
mySession = mySession._narrow(SALOME.Session)
mySession.GetInterface()
myDelay = theDelay
myLocalStudy = theStudy
myLocalVisu.SetCurrentStudy(myLocalStudy)
return myLocalVisu
+
+def PublishComponent(theStudyDocument):
+ aComponentDataType = myLocalVisu.ComponentDataType()
+ aSComponent = theStudyDocument.FindComponent(aComponentDataType)
+ if aSComponent == None:
+ aStudyBuilder = theStudyDocument.NewBuilder()
+ aStudyBuilder.NewCommand()
+ aLocked = theStudyDocument.GetProperties().IsLocked()
+ if aLocked:
+ theStudyDocument.GetProperties().SetLocked(0)
+ pass
+
+ aSComponent = aStudyBuilder.NewComponent(aComponentDataType);
+ aName = aStudyBuilder.FindOrCreateAttribute(aSComponent,"AttributeName")
+ aModuleCatalog = myNamingService.Resolve("/Kernel/ModulCatalog");
+ aComponent = aModuleCatalog.GetComponent(aComponentDataType);
+ if aComponent != None:
+ aComponentUserName = aComponent._get_componentusername()
+ aName.SetValue(aComponentUserName)
+ pass
+
+ aPixMap = aStudyBuilder.FindOrCreateAttribute(aSComponent,"AttributePixMap")
+ aPixMap.SetPixMap("ICON_OBJBROWSER_Visu")
+
+ aStudyBuilder.DefineComponentInstance(aSComponent,myLocalVisu);
+ if aLocked:
+ theStudyDocument.GetProperties().SetLocked(1);
+ pass
+
+ aStudyBuilder.CommitCommand();
+ pass
+ return aSComponent;
+
def StrToMap(theString) :
aPairList = split(theString,";")
aMap = {}
return [aStudy, myViewManager, myView]
raise RuntimeError, "Error: There is no shuch file."
-##def getMedObjectFromStudy(theStudy = myLocalStudy):
-## if theStudy is None:
-## theStudy = myLocalStudy
-## mySO = theStudy.FindObject("Objet MED")
-## anAttr = mySO.FindAttribute("AttributeIOR")[1]
-## obj = myORB.string_to_object(anAttr.Value())
-## myObj = obj._narrow(SALOME_MED.MED)
-## return myObj
-
-def getMedObjectFromStudy(file, theStudy = myLocalStudy):
- objNameInStudy = "MED_OBJECT_FROM_FILE_"+file
- compNameInStudy= "MED"
-
- if theStudy is None:
- theStudy = myLocalStudy
-
- listOfSO = theStudy.FindObjectByName(objNameInStudy,compNameInStudy)
- listLength = len(listOfSO)
- if (listLength == 0) :
- print "PROBLEME ",objNameInStudy," cannot be found in the Study under the component ",compNameInStudy
- return None
- elif (listLength > 1) :
- print "PROBLEME there are more than one instance of ",objNameInStudy," in the Study under the component ",compNameInStudy
- return None
- mySO = listOfSO[0]
- if (mySO == None) :
- print "PROBLEM ",objNameInStudy," cannot be found in the Study"
- return mySO
- else:
- anAttr = mySO.FindAttribute("AttributeIOR")[1]
- obj = myORB.string_to_object(anAttr.Value())
- myObj = obj._narrow(SALOME_MED.MED)
- if (myObj == None) :
- print "PROBLEM ",objNameInStudy," has been found in the Study but with the wrong type"
- return myObj
-
-##def getMedSObject(theStudy = myLocalStudy ):
-## return theStudy.FindObject("Objet MED")
-
-def getMedSObject(file, theStudy = myLocalStudy ):
- objNameInStudy = "MED_OBJECT_FROM_FILE_"+file
- compNameInStudy= "MED"
-
+def getMedSObject(theStudy = myLocalStudy ):
if theStudy is None:
theStudy = myLocalStudy
-
- listOfSO = theStudy.FindObjectByName(objNameInStudy,compNameInStudy)
- listLength = len(listOfSO)
- if (listLength == 0) :
- print "PROBLEME ",objNameInStudy," cannot be found in the Study under the component ",compNameInStudy
- return None
- elif (listLength > 1) :
- print "PROBLEME there are more than one instance of ",objNameInStudy," in the Study under the component ",compNameInStudy
- return None
- mySO = listOfSO[0]
- return mySO
-
-##def getFieldObjectFromStudy(number, subnumber, theStudy = myLocalStudy):
-## if theStudy is None:
-## theStudy = myLocalStudy
-## mySO = theStudy.FindObject("MEDFIELD")
-## if mySO is None:
-## raise Runtime, "getFieldObjectFromStudy mySO is None"
-## mysub = mySO.FindSubObject(number)[1]
-## if mysub:
-## mysubsub = mysub.FindSubObject(subnumber)[1]
-## if mysubsub:
-## Builder = theStudy.NewBuilder()
-## anAttr = Builder.FindOrCreateAttribute(mysubsub, "AttributeIOR")
-## obj = myORB.string_to_object(anAttr.Value())
-## myObj = obj._narrow(SALOME_MED.FIELDINT)
-## if (myObj == None):
-## myObj = obj._narrow(SALOME_MED.FIELDDOUBLE)
-## return myObj
-## else:
-## print "ERROR: No Field Object stored in this Study"
-## return None
-
-def getFieldObjectFromStudy(dt, it, fieldName, supportName, meshName,
- theStudy = myLocalStudy):
- meshNameStudy = changeBlankToUnderScore(meshName)
+ aSO = theStudy.FindObject("Med")
+ anIsPresetn, aSObject = aSO.FindSubObject(1)
+ return aSObject
+
+def getMedObjectFromStudy(theStudy = myLocalStudy):
+ aSObject = getMedSObject(theStudy)
+ if aSObject:
+ anAttr = aSObject.FindAttribute("AttributeIOR")[1]
+ anObj = myORB.string_to_object(anAttr.Value())
+ return anObj._narrow(SALOME_MED.MED)
+ return None
+
+def getFieldObjectFromStudy(number, subnumber, theStudy = myLocalStudy):
if theStudy is None:
theStudy = myLocalStudy
-
- objNameInStudy = "/Med/MEDFIELD/"+fieldName+"/("+str(dt)+","+str(it)+")_ON_"+supportName+"_OF_"+meshNameStudy
- mySO = theStudy.FindObjectByPath(objNameInStudy)
- if (mySO == None) :
- print "PROBLEM ",objNameInStudy," cannot be found in the Study"
- return mySO
+ mySO = theStudy.FindObject("MEDFIELD")
+ if mySO is None:
+ raise Runtime, "getFieldObjectFromStudy mySO is None"
+ mysub = mySO.FindSubObject(number)[1]
+ if mysub:
+ mysubsub = mysub.FindSubObject(subnumber)[1]
+ if mysubsub:
+ Builder = theStudy.NewBuilder()
+ anAttr = Builder.FindOrCreateAttribute(mysubsub, "AttributeIOR")
+ obj = myORB.string_to_object(anAttr.Value())
+ myObj = obj._narrow(SALOME_MED.FIELDINT)
+ if (myObj == None):
+ myObj = obj._narrow(SALOME_MED.FIELDDOUBLE)
+ return myObj
else:
- anAttr = mySO.FindAttribute("AttributeIOR")[1]
- obj = myORB.string_to_object(anAttr.Value())
- myObj = obj._narrow(SALOME_MED.FIELDINT)
- if (myObj == None):
- myObj = obj._narrow(SALOME_MED.FIELDDOUBLE)
- if (myObj == None) :
- print "PROBLEM ",objNameInStudy," has been found in the Study but with the wrong type"
- return myObj
+ print "ERROR: No Field Object stored in this Study"
+ return None
def SObjectToObject(theSObject) :
# global myORB
print "aMedComp.readStructFileWithFieldType...",
aMedComp.readStructFileWithFieldType(theFileName,myLocalStudy._get_Name())
- print "reading the med file is OK ..."
-
- # taking the absolute name of theFileName (without the path to it)
- decompFileName = split(theFileName,"/")
- lenDecomp = len(decompFileName)
- absFileName = decompFileName[lenDecomp-1]
-
- aMedSObj = getMedSObject(absFileName,myLocalStudy)
+ aMedSObj = getMedSObject(myLocalStudy)
if aMedSObj is None : raise RuntimeError, "Error"
else : print "OK"
else : print "OK"
aVISUObjList.append(aResult)
aVISUObjList.extend(CreatePrsForResult(theVisu, aResult, myView, thePrsTypeList, thePictureDir, thePictureExt))
-
+
aFolderIter = myLocalStudy.NewChildIterator(aMedSObj.GetFather());
while aFolderIter.More() :
aFolderSObj = aFolderIter.Value()
print " ", anEntityName, aMeshName,
aMesh = theVisu.MeshOnEntity(theResult,aMeshName,anEntity)
if aMesh is None : print "Error"
- else : print ",OK"
- theView.DisplayOnly(aMesh)
- theView.FitAll()
- aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "." + thePictureExt
- aPictureName = re.sub("\s+","_", aPictureName);
- theView.SavePicture(aPictureName)
- aVISUObjList.append(aMesh)
+ else :
+ print ",OK"
+ theView.DisplayOnly(aMesh)
+ theView.FitAll()
+ aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "." + thePictureExt
+ aPictureName = re.sub("\s+","_", aPictureName);
+ theView.SavePicture(aPictureName)
+ aVISUObjList.append(aMesh)
anFamilyIter = myLocalStudy.NewChildIterator(anEntitySObj);
while anFamilyIter.More() :
print " ", anFamilyName,
aMesh = theVisu.FamilyMeshOnEntity(theResult,aMeshName,anEntity,anFamilyName)
if aMesh is None : print "Error"
- else : print ",OK"
- theView.DisplayOnly(aMesh)
- theView.FitAll()
- aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + anFamilyName + "." + thePictureExt
- aPictureName = re.sub("\s+","_", aPictureName);
- theView.SavePicture(aPictureName)
- aVISUObjList.append(aMesh)
+ else :
+ print ",OK"
+ theView.DisplayOnly(aMesh)
+ theView.FitAll()
+ aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + anFamilyName + "." + thePictureExt
+ aPictureName = re.sub("\s+","_", aPictureName);
+ theView.SavePicture(aPictureName)
+ aVISUObjList.append(aMesh)
if aFolderName == 'Groups' :
aGroupIter = myLocalStudy.NewChildIterator(aFolderSObj);
print " ", aGroupName,
aMesh = theVisu.GroupMesh(theResult,aMeshName,aGroupName)
if aMesh is None : print "Error"
- else : print ",OK"
- theView.DisplayOnly(aMesh)
- theView.FitAll()
- aPictureName = thePictureDir + aMeshNamePic + "_" + aGroupName + "." + thePictureExt
- aPictureName = re.sub("\s+","_", aPictureName);
- theView.SavePicture(aPictureName)
- aVISUObjList.append(aMesh)
+ else :
+ print ",OK"
+ theView.DisplayOnly(aMesh)
+ theView.FitAll()
+ aPictureName = thePictureDir + aMeshNamePic + "_" + aGroupName + "." + thePictureExt
+ aPictureName = re.sub("\s+","_", aPictureName);
+ theView.SavePicture(aPictureName)
+ aVISUObjList.append(aMesh)
if aFolderName == 'Fields' :
aFieldIter = myLocalStudy.NewChildIterator(aFolderSObj);
print " Creating ScalarMapOnField",
aPrsObj = theVisu.ScalarMapOnField(theResult,aMeshName,anEntity,aFieldName,aTimeStampId)
if aPrsObj is None : print "Error"
- else : print ",OK"
- theView.DisplayOnly(aPrsObj)
- theView.FitAll()
- aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + aFieldName + "_" + str(aTimeStampId) + "_TSCALARMAP." + thePictureExt
- aPictureName = re.sub("\s+","_", aPictureName);
- theView.SavePicture(aPictureName)
- aVISUObjList.append(aPrsObj)
+ else :
+ print ",OK"
+ theView.DisplayOnly(aPrsObj)
+ theView.FitAll()
+ aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + aFieldName + "_" + str(aTimeStampId) + "_TSCALARMAP." + thePictureExt
+ aPictureName = re.sub("\s+","_", aPictureName);
+ theView.SavePicture(aPictureName)
+ aVISUObjList.append(aPrsObj)
if HasValue(thePrsTypeList,VISU.TISOSURFACE) :
print " Creating IsoSurfacesOnField",
aPrsObj = theVisu.IsoSurfacesOnField(theResult,aMeshName,anEntity,aFieldName,aTimeStampId)
if aPrsObj is None : print "Error"
- else : print ",OK"
- theView.DisplayOnly(aPrsObj)
- theView.FitAll()
- aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + aFieldName + "_" + str(aTimeStampId) + "_TISOSURFACE." + thePictureExt
- aPictureName = re.sub("\s+","_", aPictureName);
- theView.SavePicture(aPictureName)
- aVISUObjList.append(aPrsObj)
+ else :
+ print ",OK"
+ theView.DisplayOnly(aPrsObj)
+ theView.FitAll()
+ aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + aFieldName + "_" + str(aTimeStampId) + "_TISOSURFACE." + thePictureExt
+ aPictureName = re.sub("\s+","_", aPictureName);
+ theView.SavePicture(aPictureName)
+ aVISUObjList.append(aPrsObj)
if HasValue(thePrsTypeList,VISU.TCUTPLANES) :
print " Creating CutPlanesOnField",
aPrsObj = theVisu.CutPlanesOnField(theResult,aMeshName,anEntity,aFieldName,aTimeStampId)
if aPrsObj is None : print "Error"
- else : print ",OK"
- aPrsObj.SetOrientation(VISU.CutPlanes.ZX,aPrsObj.GetRotateX(),aPrsObj.GetRotateY())
- theView.DisplayOnly(aPrsObj)
- theView.FitAll()
- aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + aFieldName + "_" + str(aTimeStampId) + "_TCUTPLANES." + thePictureExt
- aPictureName = re.sub("\s+","_", aPictureName)
- theView.SavePicture(aPictureName)
- aVISUObjList.append(aPrsObj)
+ else :
+ print ",OK"
+ aPrsObj.SetOrientation(VISU.CutPlanes.ZX,aPrsObj.GetRotateX(),aPrsObj.GetRotateY())
+ theView.DisplayOnly(aPrsObj)
+ theView.FitAll()
+ aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + aFieldName + "_" + str(aTimeStampId) + "_TCUTPLANES." + thePictureExt
+ aPictureName = re.sub("\s+","_", aPictureName)
+ theView.SavePicture(aPictureName)
+ aVISUObjList.append(aPrsObj)
if HasValue(thePrsTypeList,VISU.TCUTLINES) :
print " Creating CutLinesOnField",
aPrsObj = theVisu.CutLinesOnField(theResult,aMeshName,anEntity,aFieldName,aTimeStampId)
if aPrsObj is None : print "Error"
- else : print ",OK"
- aPrsObj.SetOrientation(VISU.CutPlanes.XY,aPrsObj.GetRotateX(),aPrsObj.GetRotateY())
- aPrsObj.SetOrientation2(VISU.CutPlanes.ZX,aPrsObj.GetRotateX2(),aPrsObj.GetRotateY2())
- theView.DisplayOnly(aPrsObj)
- theView.FitAll()
- aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + aFieldName + "_" + str(aTimeStampId) + "_TCUTLINES." + thePictureExt
- aPictureName = re.sub("\s+","_", aPictureName)
- theView.SavePicture(aPictureName)
- aVISUObjList.append(aPrsObj)
+ else :
+ print ",OK"
+ aPrsObj.SetOrientation(VISU.CutPlanes.XY,aPrsObj.GetRotateX(),aPrsObj.GetRotateY())
+ aPrsObj.SetOrientation2(VISU.CutPlanes.ZX,aPrsObj.GetRotateX2(),aPrsObj.GetRotateY2())
+ theView.DisplayOnly(aPrsObj)
+ theView.FitAll()
+ aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + aFieldName + "_" + str(aTimeStampId) + "_TCUTLINES." + thePictureExt
+ aPictureName = re.sub("\s+","_", aPictureName)
+ theView.SavePicture(aPictureName)
+ aVISUObjList.append(aPrsObj)
+
+ if HasValue(thePrsTypeList,VISU.TPLOT3D) :
+ print " Creating Plot3DOnField",
+ aPrsObj = theVisu.Plot3DOnField(theResult,aMeshName,anEntity,
+ aFieldName,aTimeStampId)
+ if aPrsObj is None : print "Error"
+ else :
+ print ",OK"
+ #aPrsObj.SetOrientation(VISU.CutPlanes.ZX,
+ # aPrsObj.GetRotateX(),
+ # aPrsObj.GetRotateY())
+ theView.DisplayOnly(aPrsObj)
+ theView.FitAll()
+ aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + aFieldName + "_" + str(aTimeStampId) + "_TPLOT3D." + thePictureExt
+ aPictureName = re.sub("\s+","_", aPictureName)
+ theView.SavePicture(aPictureName)
+ aVISUObjList.append(aPrsObj)
aNumComponent = atoi(aMap["myNumComponent"])
if aNumComponent > 1 :
print " Creating DeformedShapeOnField",
aPrsObj = theVisu.DeformedShapeOnField(theResult,aMeshName,anEntity,aFieldName,aTimeStampId)
if aPrsObj is None : print "Error"
- else : print ",OK"
- theView.DisplayOnly(aPrsObj)
- theView.FitAll()
- aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + aFieldName + "_" + str(aTimeStampId) + "_TDEFORMEDSHAPE." + thePictureExt
- aPictureName = re.sub("\s+","_", aPictureName)
- theView.SavePicture(aPictureName)
- aVISUObjList.append(aPrsObj)
+ else :
+ print ",OK"
+ theView.DisplayOnly(aPrsObj)
+ theView.FitAll()
+ aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + aFieldName + "_" + str(aTimeStampId) + "_TDEFORMEDSHAPE." + thePictureExt
+ aPictureName = re.sub("\s+","_", aPictureName)
+ theView.SavePicture(aPictureName)
+ aVISUObjList.append(aPrsObj)
if HasValue(thePrsTypeList,VISU.TVECTORS) :
print " Creating VectorsOnField",
aPrsObj = theVisu.VectorsOnField(theResult,aMeshName,anEntity,aFieldName,aTimeStampId)
if aPrsObj is None : print "Error"
- else : print ",OK"
- theView.DisplayOnly(aPrsObj)
- theView.FitAll()
- aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + aFieldName + "_" + str(aTimeStampId) + "_TVECTORS." + thePictureExt
- aPictureName = re.sub("\s+","_", aPictureName)
- theView.SavePicture(aPictureName)
- aVISUObjList.append(aPrsObj)
+ else :
+ print ",OK"
+ theView.DisplayOnly(aPrsObj)
+ theView.FitAll()
+ aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + aFieldName + "_" + str(aTimeStampId) + "_TVECTORS." + thePictureExt
+ aPictureName = re.sub("\s+","_", aPictureName)
+ theView.SavePicture(aPictureName)
+ aVISUObjList.append(aPrsObj)
if HasValue(thePrsTypeList,VISU.TSTREAMLINES) :
print " Creating StreamLinesOnField",
aPrsObj = theVisu.StreamLinesOnField(theResult,aMeshName,anEntity,aFieldName,aTimeStampId)
if aPrsObj is None : print "Error"
- else : print ",OK"
- theView.DisplayOnly(aPrsObj)
- theView.FitAll()
- aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + aFieldName + "_" + str(aTimeStampId) + "_TSTREAMLINES." + thePictureExt
- aPictureName = re.sub("\s+","_", aPictureName)
- theView.SavePicture(aPictureName)
- aVISUObjList.append(aPrsObj)
+ else :
+ print ",OK"
+ theView.DisplayOnly(aPrsObj)
+ theView.FitAll()
+ aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + aFieldName + "_" + str(aTimeStampId) + "_TSTREAMLINES." + thePictureExt
+ aPictureName = re.sub("\s+","_", aPictureName)
+ theView.SavePicture(aPictureName)
+ aVISUObjList.append(aPrsObj)
return aVISUObjList
dump_scalarmap_parameters(theObject)
print "GetNbSurfaces() = "+ str(theObject.GetNbSurfaces())
+
+
+# ----------------------
+# TABLES AND CURVES
+# ----------------------
+
+def FillTable( theTable, theValues, theRows, theColumns, theRowTitles, theRowUnits, theColumnTitles ):
+ if theTable is None: return
+ if len(theRows) != len(theColumns): return
+ if len(theRows) != len(theValues): return
+ i = 0
+ for value in theValues:
+ theTable.PutValue( value, theRows[ i ], theColumns[ i ])
+ i = i + 1
+ pass
+ i = 1
+ for title in theRowTitles:
+ theTable.SetRowTitle( i, title )
+ theTable.SetRowUnit( i, theRowUnits[ i - 1 ])
+ i = i + 1
+ pass
+ i = 1
+ for title in theColumnTitles:
+ theTable.SetColumnTitle( i, title )
+ i = i + 1
+ pass
+ pass
+
+def CreateCurve( theTable, theHRow, theVRow, theTitle, theColor, theMarker, theLineType, theLineWidth ):
+ if theTitle is None: return
+ curve = myLocalVisu.CreateCurve( theTable, theHRow, theVRow );
+ if curve:
+ curve.SetTitle( theTitle )
+ curve.SetColor( theColor )
+ curve.SetMarker( theMarker )
+ curve.SetLine( theLineType, theLineWidth )
+ pass
+ return curve