import VISU
import SALOME
+import SALOME_Session_idl
import SALOMEDS
import SALOME_MED
from omniORB import CORBA
from string import *
from time import sleep
-#NRI : interface MED dans le Module Engines !!!!
-import MED_idl
-import Med_Gen_idl
-
myORB = None
myNamingService = None
myLifeCycleCORBA = None
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
sleep(myDelay)
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 = {}
def CreateStudyForMed(theVisu, theFileName) :
print "CreateStudyForMed ", theFileName,
if os.path.isfile(theFileName) :
- if os.path.splitext(theFileName)[1] == '.med' :
+ if re.search("\.med$", theFileName) is not None :
print "OK"
aStudyName = os.path.basename(theFileName)
- aStudyName = os.path.splitext(aStudyName)[0]
+ aStudyName = re.sub(r'\.med', "", aStudyName)
aStudyName = generateName(aStudyName)
print "myLocalStudyManager.NewStudy -", aStudyName, "...",
aStudy = myLocalStudyManager.NewStudy(aStudyName)
return [aStudy, myViewManager, myView]
raise RuntimeError, "Error: There is no shuch file."
-def getMedObjectFromStudy(theStudy = myLocalStudy):
+def getMedSObject(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
+ aSO = theStudy.FindObject("Med")
+ anIsPresetn, aSObject = aSO.FindSubObject(1)
+ return aSObject
-def getMedSObject(theStudy = myLocalStudy ):
- return theStudy.FindObject("Objet MED")
+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:
aVISUObjList.append(aResult)
aVISUObjList.extend(CreatePrsForResult(theVisu, aResult, myView, thePrsTypeList, thePictureDir, thePictureExt))
- aFolderIter = myLocalStudy.NewChildIterator(aMedSObj);
+ aFolderIter = myLocalStudy.NewChildIterator(aMedSObj.GetFather());
while aFolderIter.More() :
aFolderSObj = aFolderIter.Value()
aFolderIter.Next()
print "theVisu.ImportMed...",
aMedField = SObjectToObject(aTimeStampSObj)
- aResult = theVisu.ImportMedFiled(aMedField)
+ aResult = theVisu.ImportMedField(aMedField)
if aResult is None : raise RuntimeError, "Error"
else : print "OK"
aVISUObjList.append(aResult)
# try:
aVISUObjList = [myLocalStudy, myViewManager, myView] = CreateStudyForMed(theVisu, theFileName)
- print "theVisu.ImportMed..."
+ print "theVisu.ImportMed...",
aResult = theVisu.ImportFile(theFileName)
if aResult is None : raise RuntimeError, "Error"
else : print "OK"
anAttr = aMeshSObj.FindAttribute("AttributeName")[1]
anAttr = anAttr._narrow(SALOMEDS.AttributeName);
aMeshName = anAttr.Value()
+ aMeshNamePic = re.sub(".","_",aMeshName)
print " ", aMeshName
aFolderIter = myLocalStudy.NewChildIterator(aMeshSObj);
anEntityId = "3"
if HasValue(thePrsTypeList,VISU.TMESH) :
- print " ", anEntityName,
+ 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 + aMeshName + "_" + 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 + aMeshName + "_" + 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 + aMeshName + "_" + 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 + aMeshName + "_" + 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 + aMeshName + "_" + 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.SetOrientationType(VISU.CutPlanes.ZX)
- theView.DisplayOnly(aPrsObj)
- theView.FitAll()
- aPictureName = thePictureDir + aMeshName + "_" + 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.SetOrientationType(VISU.CutPlanes.XY)
- aPrsObj.SetOrientationType2(VISU.CutPlanes.ZX)
- theView.DisplayOnly(aPrsObj)
- theView.FitAll()
- aPictureName = thePictureDir + aMeshName + "_" + 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 + aMeshName + "_" + 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 + aMeshName + "_" + 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 + aMeshName + "_" + 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
return "Study" + str(int)
else :
return prefix + str(int)
+
+
+
+# ----------------------
+# MESH
+# ----------------------
+def try_mesh_parameters(theMeshPattern):
+ aResult = []
+ if theMeshPattern is None : return aResult ;
+ theMeshPattern = theMeshPattern._narrow(VISU.Mesh)
+ if theMeshPattern is None : return aResult ;
+
+ aTYPES = [VISU.POINT, VISU.WIREFRAME, VISU.SHADED, VISU.INSIDEFRAME, VISU.SHRINK]
+ import copy; import os;
+ for ind in aTYPES:
+ aNewMesh = copy.deepcopy(theMeshPattern);
+ aNewMesh.SetPresentationType(ind)
+ aResult.append(aNewMesh)
+
+ return aResult
+
+
+# ----------------------------
+# SCALAR MAP
+# ----------------------------
+ind=1 #try safe way
+def try_scalarmap_parameters(thePattern, dump = 0):
+
+ if thePattern is None : return None
+
+ SCALING = [VISU.LINEAR, VISU.LOGARITHMIC]
+ import copy
+ import random
+
+ anObj = thePattern#copy.deepcopy(thePattern);
+ #ind = random.randint(1,2)
+ if ind%2 :
+ #try incorrect value deliberately (but allowed by idl description)
+ #try SetScalarMode(long)
+ mode = random.randint(-100000,100000); #incorrect value deliberately
+ else:
+ #correct value of ScalarMode
+ mode = random.randint(0, 3)
+
+ if dump : print "\tSetScalarMode(" + str(mode) +")"
+ anObj.SetScalarMode(mode)
+
+ # --- SCALING ---
+ scal = random.randint(0,1)
+ if dump : print "\tSetScaling(" + str(SCALING[scal]) +")"
+ anObj.SetScaling(SCALING[scal])
+
+ # --- BOUNDARIES ---
+ if ind%2 :
+ alfa = random.random()*random.randint(-100000,100000)
+ betta = random.random()*random.randint(-100000,100000)
+ aMin = alfa; aMax = betta
+ else:
+ #more correct set
+ aPMin = thePattern.GetMin()
+ aPMax = thePattern.GetMax()
+ aLen = aPMax - aPMin
+ alfa = random.random()%0.5
+ betta = random.random()%0.5
+ aMin = alfa*aLen*random.randint(-1,1) + aPMin
+ aMax = betta*aLen*random.randint(-1,1) + aPMax
+ if dump : print "\tSetRange(" + str(aMin) + ", " + str(aMax) + ")"
+ anObj.SetRange(aMin, aMax)
+
+ # --- POSITION ---
+ if ind%2:
+ X=random.random()*random.randint(-100000,100000)
+ Y=random.random()*random.randint(-100000,100000)
+ else :
+ X=random.random()
+ Y=random.random()
+ if dump : print "SetPosition("+ str(X) + ", " + str(Y) + " )"
+ anObj.SetPosition(X, Y)
+
+ # --- SCALAR BAR SIZE ---
+ if ind%2:
+ aWidth=random.random()*random.randint(-100000,100000)
+ aHeight=random.random()*random.randint(-100000,100000)
+ else :
+ aWidth=random.random()
+ aHeight=random.random()
+ if dump : print " SCALAR BAR Width = " + str(aWidth) + " Height = ", str(aHeight)
+ anObj.SetSize(aWidth, aHeight)
+
+ return anObj
+
+
+def dump_scalarmap_parameters(anObj):
+
+ print "\tGetScalarMode() = " + str(anObj.GetScalarMode())
+ print "\tGetScaling() = " + str(anObj.GetScaling())
+ print "\tGetMin() = " + str(anObj.GetMin()) + " GetMax() = " + str (anObj.GetMax())
+ print "\tGetOrientation() = " + str(anObj.GetOrientation())
+ print "\tGetPosX() = ", str(anObj.GetPosX()) + " GetPosY() = ", str(anObj.GetPosY())
+ print "\tGetWidth() = ", str ( anObj.GetWidth()) + " GetHeight() = " + str(anObj.GetHeight())
+
+# ----------------------
+# DEFORMED SHAPE
+# ----------------------
+def try_deformedshape_parameters(thePattern) :
+
+ if thePattern is None : return None
+ import copy
+ import random
+
+ anObj = try_scalarmap_parameters(thePattern)
+
+ # --- SCALING ---
+ if ind%2:
+ anObj.SetScale( random.random()*random.randint(-100000, 100000))
+ else :
+ anObj.SetScale( anObj.GetScale()*random.random())
+
+ return anObj
+
+
+def dump_deformedshape_parameters(theObject):
+ dump_scalarmap_parameters(theObject)
+ print "GetScale() = ", theObject.GetScale()
+
+# ----------------------
+# CUT PLANES
+# ----------------------
+def try_cutplanes_parameters(thePattern) :
+
+ if thePattern is None : return aList
+ import copy
+ import random
+
+ ORIENT = [VISU.CutPlanes.XY, VISU.CutPlanes.YZ, VISU.CutPlanes.ZX]
+
+ ind = random.randint(1,2)
+ anObj = try_scalarmap_parameters(thePattern)
+
+ if ind%2 : anObj.SetNbPlanes(random.randint(-40,40))
+ else : anObj.SetNbPlanes(random.randint(0,10)) #try behaivor if NbPlanes=0
+
+ # --- DISPLACEMENT ---
+ anObj.SetDisplacement(random.randint(-100000,100000))
+
+ # --- PLANE POSITION ---
+ if ind%2:
+ PlaneNb = random.randint(-100000,100000) #incorrect value is possible
+ else : PlaneNb = random.randint(0, anObj.GetNbPlanes())
+
+ anObj.SetPlanePosition(PlaneNb, random.random()*random.randint(-100000,100000))
+
+ # --- SET DEFAULT ---
+ anObj.SetDefault(PlaneNb)
+
+ # --- SET X,Y,Z ROTATION ---
+ if ind%2 :
+ angle1 = random.random()*random.randint(-100000,100000)
+ angle2 = random.random()*random.randint(-100000,100000)
+ else :
+ angle1 = random.random()*3.14
+ angle2 = random.random()*3.14
+
+ # --- ORIENTATION ---
+ anObj.SetOrientation(ORIENT[random.randint(0,2)],angle1,angle2)
+
+ return anObj
+
+def dump_cutplanes_parameters(theObject):
+ dump_saclarmap_parameters(theObject)
+
+ print "GetOrientationType = " + str(theObject.GetOrientationType())
+ PlanesNb = theObject.GetNbPlanes()
+ print "GetNbPlanes() = ", str(PlanesNb)
+ for i in range(0,PlanesNb+1):
+ if theObject.IsDefault(i) :
+ print "Default plane : "+str(i); break
+ print "GetPlanePosition(" + str(i) + ") = ", theObject.GetPlanePosition(i)
+ print "GetDisplacement() = ", str(theObject.GetDisplacement())
+ print "GetRotateX() = ", str(theObject.GetRotateX())
+ print "GetRotateY() = ", str(theObject.GetRotateY())
+ print "GetRotateZ() = ", str(theObject.GetRotateZ())
+
+# ----------------------
+# CUT LINES
+# ----------------------
+def try_cutlines_parameters(thePattern):
+
+ if thePattern is None : return None
+ import copy
+ import random
+
+ ORIENT = [VISU.CutPlanes.XY, VISU.CutPlanes.YZ, VISU.CutPlanes.ZX]
+ ind = random.randint(1,2)
+ anObj = try_scalarmap_parameters(thePattern)
+
+ # --- ORIENTATION ---
+ anObj.SetOrientation(ORIENT[random.randint(0,2)],
+ random.randint(-100,100)*random.random(),
+ random.randint(-100,100)*random.random())
+ anObj.SetOrientation2(ORIENT[random.randint(0,2)],
+ random.randint(-100,100)*random.random(),
+ random.randint(-100,100)*random.random())
+
+ # --- Base Plane Position ---
+ anObj.SetBasePlanePosition( random.random()*random.randint(-100000,100000))
+
+ # --- NUMBER OF LINES ---
+ if ind%2:
+ anObj.SetNbLines(random.randint(-5, 50))
+
+ return anObj
+
+def dump_cutlines_parameters(theObject):
+ dump_scalarmap_parameters(theObject)
+
+ print "GetOrientationType() = " + str(theObject.GetOrientationType())
+ print "GetOrientationType2() = " + str(theObject.GetOrientationType2())
+ print "GetBasePlanePosition() = "+ str(theObject.GetBasePlanePosition())
+ print "GetNbLines() = " + str(theObject.GetNbLines())
+ print "GetRotateX() = ", str(theObject.GetRotateX())
+ print "GetRotateX2() = ", str(theObject.GetRotateX2())
+ print "GetRotateY() = ", str(theObject.GetRotateY())
+ print "GetRotateY2() = ", str(theObject.GetRotateY2())
+
+# ----------------------
+# STREAM LINES
+# ----------------------
+def try_streamlines_parameters(thePattern):
+
+ if thePattern is None : return None
+ import copy
+ import random
+
+ DIRECTION = [VISU.StreamLines.FORWARD, VISU.StreamLines.BACKWARD, VISU.StreamLines.BOTH]
+
+ ind = random.randint(1,2)
+ anObj = (try_deformedshape_parameters(thePattern))[0]
+
+ # --- DIREACTION ---
+ anObj.SetDirection(DIRECTION[random.randint(0,2)])
+
+ # --- STEP LENGTH ---
+ if ind%2 : anObj.SetStepLength(random.random()*random.randint(-1000,1000))
+ else :
+ aLen = anObj.GetMax() - anObj.GetMin()
+ anObj.SetStepLength(aLen/random.randint(1,100))
+
+ # --- PROPAGATION TIME ---
+ anObj.SetPropagationTime(random.random()*random.randint(1,100))
+
+ # --- INTEGRATION STEP ---
+ if ind%2 :
+ anObj.SetIntegrationStep(random.random()*random.randint(-1000,1000))
+ else:
+ anObj.SetIntegrationStep(random.random())
+
+ # --- USED POINT ---
+ anObj.SetUsedPoints(random.random()*random.randint(-10000,10000))
+
+ return anObj
+
+def dump_streamlines_parameters(theObject):
+
+ dump_deformedshape_parameters(theObject)
+
+ print "GetDirection() = " + str(theObject.GetDirection())
+ print "GetStepLength() = " + str(theObject.GetStepLength())
+ print "GetPropagationTime() =" + str(theObject.GetPropagationTime())
+ print "GetIntegrationStep() =" + str(theObject.GetIntegrationStep())
+ print "GetUsedPoints() =" + str(theObject.GetUsedPoints())
+
+# ----------------------
+# VECTORS
+# ----------------------
+def try_vectors_parameters(thePattern, theNum):
+
+ if thePattern is None : return None
+ import copy
+ import random
+ GLIPH_TYPE = [VISU.Vectors.ARROW, VISU.Vectors.CONE2, VISU.Vectors.CONE6, VISU.Vectors.NONE]
+ GLIPH_POS = [VISU.Vectors.CENTER, VISU.Vectors.TAIL, VISU.Vectors.HEAD]
+ ind = random.randint(1,2)
+ anObj = (try_deformedshape_parameters(thePattern))[0]
+
+ # --- LINE WIDTH ---
+ if ind%2 :
+ anObj.SetLineWidth(random.random()*random.randint(-10000,10000))
+ else :
+ anObj.SetLineWidth(random.randint(1, 10))
+
+ # --- GLIPH TYPE ---
+ anObj.SetGlyphType(GLIPH_TYPE[random.randint(0, len(GLIPH_TYPE)-1)])
+
+ # --- GLIPH POS ---
+ anObj.SetGlyphPos(GLIPH_POS[random.randint(0, len(GLIPH_POS)-1)])
+
+ return anObj
+
+def dump_vetctors_parameters(theObject):
+
+ dump_deformedshape_parameters(theObject)
+
+ print "GetLineWidth() = " +str(theObject.GetLineWidth())
+ print "GetGlyphType() = " +str(theObject.GetGlyphType())
+ print "GetGlyphPos() = " +str(theObject.GetGlyphPos())
+
+
+# ----------------------
+# ISO SURFACES
+# ----------------------
+
+def try_isosurfaces_parameters(thePattern) :
+ if thePattern is None : return None
+ import copy
+ import random
+
+ anObj = try_scalarmap_parameters(thePattern)
+ ind = random.randint(1,2)
+ # --- SURFACES NUMBER ---
+ if ind%2 :
+ anObj.SetNbSurfaces(random.randint(-100000,100000))
+ else:
+ anObj.SetNbSurfaces(random.randint(1, 50))
+
+ return anObj
+
+def dump_isosurfaces_parameters(theObject):
+
+ 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