Example #1
0
 def growBlaetter(self):
     self.lBt = []
     tOffsAngAzm = self.dITp['dOffsAngAzm'][self.nKKt][self.sDir]
     self.offsAngAzm = Fkt.drawDst(tOffsAngAzm, self.cM,
                                   self.dIA['dMinMax']['AngAzm'])
     if self.dIA['modelBlatt']:
         vN = Fkt.findRotAxis(self.vDirC, self.sZwTp, self.dIA['tolAngV'])
         for iKKt in range(self.nKKt):
             cAnBtPlr = self.lAnKPlr[iKKt] * self.dITp['fAngBlattPlr']
             cAnKsAzm = self.lAnKAzm[iKKt] + self.offsAngAzm * self.iKtZw
             cAnBtPlr, cAnKsAzm = Fkt.adjustAngPA(cAnBtPlr, cAnKsAzm)
             vR = Fkt.rotatePt3D(self.vDirC, vN, cAnBtPlr)
             vDB = Fkt.rotatePt3D(vR, self.vDirC, cAnKsAzm)
             self.lBt.append(self.growBlatt(vDB, iKKt))
Example #2
0
 def formPinchKnospen(self, dPrPKKt, tMnMx):
     if self.fAct:  # form Knospen
         vN = Fkt.findRotAxis(self.vDirC, self.sZwTp, self.dIA['tolAngV'])
         for iKKt in range(self.nKKt):
             cAnKsAzm = self.lAnKAzm[iKKt] + self.offsAngAzm * self.iKtZw
             tAn = Fkt.adjustAngPA(self.lAnKPlr[iKKt], cAnKsAzm)
             self.lAnKPlr[iKKt], cAnKsAzm = tAn
             vR = Fkt.rotatePt3D(self.vDirC, vN, self.lAnKPlr[iKKt])
             vDKKt = Fkt.rotatePt3D(vR, self.vDirC, cAnKsAzm)
             sDirN = Fkt.getSDir(self.sDir, vDKKt, vUz, self.dIA['tolAngV'])
             self.lKKt.append(
                 Knospe(self.dIA, self.dITp, self.cMk, self.nKZw,
                        (self.IDKt, iKKt), self.pathID, iKKt, self.yrG,
                        self.ageB, self.ageZ, self.lenZ, self.pKC, self.pKR,
                        self.sDir, sDirN, self.vDirC, vDKKt))
             self.lNumKs[1] += 1
     self.pinchKnospen(dPrPKKt, tMnMx)
Example #3
0
 def __init__(self,
              inpDat,
              cMk,
              iTp=1,
              vS=P0,
              yrGerm=0,
              angPKm=0,
              angAKm=0,
              ageB=0,
              lenKm=0):
     descrB, cSPKtS, cSDrKtS = 'Keim', 'End', 'k'
     IDK, iKZw, cPRKtS, lPathID = 0, 0, 0., []
     self.dIA = inpDat.dI
     self.dITp = inpDat.dI[iTp]
     self.cMk = cMk
     self.cM = self.dIA['Mode']
     self.iT = iTp
     self.tpB = self.dITp['strType']
     self.specB = self.dITp['strNSpec']
     self.descB = descrB
     self.ageB = ageB
     self.lenK = lenKm
     self.pS = vS
     self.yGerm = yrGerm
     self.dPosZw = self.dITp['dPosZweig']
     self.dPosBl = self.dITp['dPosBlatt']
     self.lNumK = [0, 1, 1,
                   IDK]  # num. inact., num. act., num. all, max. ID
     self.dFAd = {cVar: 1. for cVar in self.dIA['dVDep']['lSRV_C']}
     angPKm, angAKm = Fkt.adjustAngPA(angPKm, angAKm)
     vDirP, vDirSl, ageZw = vUz, Fkt.convPolarToCart(1., angPKm, angAKm), -1
     self.lK = [
         Knoten(self.dIA, self.dITp, self.cMk, self.dFAd, IDK, lPathID,
                iKZw, self.yGerm, self.ageB, ageZw, self.lenK, self.pS,
                cPRKtS, cSPKtS, cSDrKtS, vDirP, vDirSl)
     ]
     self.lIDZwPinch = []