Exemple #1
0
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
Exemple #2
0
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