예제 #1
0
 def writeXMLDescriptionFile(self,_fileName=""):
     from os.path import join
     """
     This function will write XML description of the stored fields. It has to be called after 
     initialization of theCMLFieldHandler is completed
     """
     import CompuCellSetup
     latticeTypeStr = CompuCellSetup.ExtractLatticeType()
     if latticeTypeStr=="":
         latticeTypeStr = "Square"
     
     typeIdTypeNameDict = CompuCellSetup.ExtractTypeNamesAndIds()
     print "typeIdTypeNameDict",typeIdTypeNameDict
     
     from XMLUtils import ElementCC3D
     dim = self.sim.getPotts().getCellFieldG().getDim()
     numberOfSteps = self.sim.getNumSteps()
     latticeDataXMLElement=ElementCC3D("CompuCell3DLatticeData",{"Version":"1.0"})
     latticeDataXMLElement.ElementCC3D("Dimensions",{"x":str(dim.x),"y":str(dim.y),"z":str(dim.z)})
     latticeDataXMLElement.ElementCC3D("Lattice",{"Type":latticeTypeStr})
     latticeDataXMLElement.ElementCC3D("Output",{"Frequency":str(self.outputFrequency),"NumberOfSteps":str(numberOfSteps),"CoreFileName":self.outputFileCoreName,"Directory":self.outputDirName})
     #output information about cell type names and cell ids. It is necessary during generation of the PIF files from VTK output
     for typeId in typeIdTypeNameDict.keys():
         latticeDataXMLElement.ElementCC3D("CellType",{"TypeName":str(typeIdTypeNameDict[typeId]),"TypeId":str(typeId)})
         
     fieldsXMLElement=latticeDataXMLElement.ElementCC3D("Fields")
     for fieldName in self.fieldTypes.keys():
         fieldsXMLElement.ElementCC3D("Field",{"Name":fieldName,"Type":self.fieldTypes[fieldName]})
     # writing XML description to the disk
     if _fileName!="":
         latticeDataXMLElement.CC3DXMLElement.saveXML(str(_fileName))
     else:
         latticeDataFileName = join(self.outputDirName,self.outputFileCoreName+"LDF.dml")
         latticeDataXMLElement.CC3DXMLElement.saveXML(str(latticeDataFileName))
예제 #2
0
    def init_lattice_type(self):
        """
        Initializes lattice type and lattice type enum
        :return: None
        """
        self.lattice_type_str = CompuCellSetup.ExtractLatticeType()

        if self.lattice_type_str in Configuration.LATTICE_TYPES.keys():
            self.lattice_type = Configuration.LATTICE_TYPES[
                self.lattice_type_str]
        else:
            # default choice
            self.lattice_type = Configuration.LATTICE_TYPES["Square"]