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))
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)
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 = []