def geometryUpdater(self): #These parameters find the static offset which was created during initialization and the current position which is returned by the self._get() method positionNow = self._get("position") sizeNow = self._get("size") hprNow = self._get( "hpr") textureNow = self._get("texture") colorNow = self._get("color") #print("size signal: "+repr(sizeScalar)+" offset size: "+repr(sizeOffset)) self._pandaModel.setScale(sizeNow) self._pandaModel.setPos(positionNow.x, positionNow.y, positionNow.z) self._pandaModel.setHpr(degrees(hprNow.h), degrees(hprNow.p), degrees(hprNow.r)) if textureNow != "" and textureNow != self._currentTexture: texf = FileSearch.findTexture(textureNow) self._currentTexture = textureNow #print("The texture is: "+repr(texf)) self._pandaModel.setTexture(texf, 1) if colorNow.a != 0: self._pandaModel.setColor(colorNow.toVBase4()) if self._twoSided: sideTwoNow = self._get("sideTwo") if sideTwoNow != "" and sideTwoNow != self._currentsideTwo: tex = FileSearch.findTexture(sideTwoNow) self._currentsideTwo = sideTwoNow #print("The texture is: "+repr(texf)) self._sideTwo._pandaModel.setTexture(tex, 1) # This is used to keep the model off the screen until the first update happens if not self._onScreen: self._reparent(self._parent) self._onScreen = True
def modelUpdater(self): # These parameters find the static offset which was created during initialization and the current position which is returned by the self._get() method positionOffset = self._position positionNow = self._get("position") sizeScalar = self._get("size") + 0 sizeOffset = self._size hprOffset = self._hpr hprNow = self._get("hpr") # print str(positionNow) + " " + str(positionOffset) + " " + str(hprNow) # This is the actual updates to position/size/hpr etc. # if PandaGlobals.eventSignals is not None: # for signal in PandaGlobals.events: # print repr(signal) # print "size signal: "+repr(sizeScalar)+" offset size: "+repr(sizeOffset) self._pandaModel.setScale(sizeScalar * sizeOffset) self._pandaModel.setPos( positionNow.x + positionOffset.x * sizeScalar, positionNow.y + positionOffset.y * sizeScalar, positionNow.z + positionOffset.z * sizeScalar, ) self._pandaModel.setHpr( degrees(hprNow.h + hprOffset.h), degrees(hprNow.p + hprOffset.p), degrees(hprNow.r + hprOffset.r) ) texture = self._get("texture") if texture != "" and texture != self._currentTexture: texf = FileSearch.findTexture(texture) self._currentTexture = texture # print "The texture is: "+repr(texf) self._pandaModel.setTexture(texf, 1) color = self._get("color") if color.a != 0: self._pandaModel.setColor(color.toVBase4()) # animations # if self._hasJoints: # if self._animPlaying: # for j,pj in self._joints: # sig = self.j # print sig # hpr = sig.now() # print hpr # self._jointNodes[j].setH(degrees(hpr.h)) # self._jointNodes[j].setP(degrees(hpr.p)) # self._jointNodes[j].setR(degrees(hpr.r)) # self._pandaModel.loop('walk', fromFrame = self._frame, toFrame = self._frame) # This is used to keep the model off the screen until the first update happens if not self._onScreen: self._reparent(self._parent) self._onScreen = True
def modelUpdater(self): #These parameters find the static offset which was created during initialization and the current position which is returned by the self._get() method positionOffset = self._position positionNow = self._get("position") sizeScalar = self._get("size") + 0 sizeOffset = self._size hprOffset = self._hpr hprNow = self._get("hpr") #print(str(positionNow) + " " + str(positionOffset) + " " + str(hprNow)) #This is the actual updates to position/size/hpr etc. #if PandaGlobals.eventSignals is not None: # for signal in PandaGlobals.events: # print(repr(signal)) #print("size signal: "+repr(sizeScalar)+" offset size: "+repr(sizeOffset)) self._pandaModel.setScale(sizeScalar * sizeOffset) self._pandaModel.setPos(positionNow.x + positionOffset.x * sizeScalar, positionNow.y + positionOffset.y * sizeScalar, positionNow.z + positionOffset.z * sizeScalar) self._pandaModel.setHpr(degrees(hprNow.h + hprOffset.h), degrees(hprNow.p + hprOffset.p), degrees(hprNow.r + hprOffset.r)) texture = self._get("texture") if texture != "" and texture != self._currentTexture: texf = FileSearch.findTexture(texture) self._currentTexture = texture #print("The texture is: "+repr(texf)) self._pandaModel.setTexture(texf, 1) color = self._get("color") if color.a != 0: self._pandaModel.setColor(color.toVBase4()) #animations #if self._hasJoints: # if self._animPlaying: # for j,pj in self._joints: # sig = self.j # print(sig) # hpr = sig.now() # print(hpr) # self._jointNodes[j].setH(degrees(hpr.h)) # self._jointNodes[j].setP(degrees(hpr.p)) # self._jointNodes[j].setR(degrees(hpr.r)) # self._pandaModel.loop('walk', fromFrame = self._frame, toFrame = self._frame) # This is used to keep the model off the screen until the first update happens if not self._onScreen: self._reparent(self._parent) self._onScreen = True