Esempio n. 1
0
    def getPointsArray(self, motionTrail, currFrame, camera=None):

        range = [self.firstFrame, self.lastFrame
                 ] if self.prePosRange == 0 else [
                     currFrame - self.prePosRange, currFrame + self.prePosRange
                 ]
        range[0] = range[0] if range[0] >= self.firstFrame else self.firstFrame
        range[1] = range[1] if range[1] <= self.lastFrame else self.lastFrame
        rangeList = utilMod.rangeToList(range)
        worldPoints = []
        cameraPoints = []

        for loopFrame in rangeList:

            if self.nodeInfo[motionTrail].has_key(loopFrame):
                if self.nodeInfo[motionTrail][loopFrame].has_key(
                        "pointMatrix"):
                    pointMatrix = self.nodeInfo[motionTrail][loopFrame][
                        "pointMatrix"]
                    worldPoints.append(pointMatrix[12:15])
                    if camera:
                        cameraPoint = self.getCameraPoint(
                            camera, loopFrame, currFrame, pointMatrix)
                        cameraPoints.append(cameraPoint)

        return {"world": worldPoints, "camera": cameraPoints}
Esempio n. 2
0
 def getPointsArray(self, motionTrail, currFrame, camera=None):
     
     range           = [self.firstFrame, self.lastFrame] if self.prePosRange == 0 else [currFrame-self.prePosRange, currFrame+self.prePosRange]
     range[0]        = range[0] if range[0] >= self.firstFrame else self.firstFrame
     range[1]        = range[1] if range[1] <= self.lastFrame else self.lastFrame 
     rangeList       = utilMod.rangeToList(range)
     worldPoints     = []
     cameraPoints    = []
             
     for loopFrame in rangeList: 
                     
         if self.nodeInfo[motionTrail].has_key(loopFrame):
             if self.nodeInfo[motionTrail][loopFrame].has_key("pointMatrix"):                    
                 pointMatrix = self.nodeInfo[motionTrail][loopFrame]["pointMatrix"]
                 worldPoints.append(pointMatrix[12:15])
                 if camera: 
                     cameraPoint = self.getCameraPoint(camera, loopFrame, currFrame, pointMatrix)
                     cameraPoints.append(cameraPoint)
         
     return {"world":worldPoints, "camera":cameraPoints}
Esempio n. 3
0
    def getSortedRange(self):

        range = utilMod.rangeToList([self.firstFrame, self.lastFrame])
        keys = self.keysTimes if self.blockingMode else []
        currTime = int(cmds.currentTime(query=True))
        currFrame = currTime if currTime in range else range[0]
        sortedRange = [currFrame] if currFrame in range else []
        ranges = [keys, range]
        self.currFrame = currTime

        for loopRange in ranges:

            if len(loopRange) == 0: continue

            count = 0
            direction = 1
            frame = currFrame

            while True:
                if frame in range:
                    if frame in loopRange and frame not in sortedRange:
                        sortedRange.append(frame)
                else:
                    break

                increase = ((1 + count) * direction)
                next = (increase + frame)

                if next > loopRange[-1] or next < loopRange[0]:
                    increase = 1 * direction * -1
                else:
                    direction *= -1

                frame += increase
                count += 1

        return sortedRange
Esempio n. 4
0
 def getSortedRange(self):
     
     range           = utilMod.rangeToList([self.firstFrame, self.lastFrame])
     keys            = self.keysTimes if self.blockingMode else []
     currTime        = int(cmds.currentTime(query=True))
     currFrame       = currTime if currTime in range else range[0]
     sortedRange     = [currFrame] if currFrame in range else []
     ranges          = [keys, range]
     self.currFrame  = currTime
                     
     for loopRange in ranges:  
                 
         if len(loopRange) == 0: continue         
         
         count       = 0
         direction   = 1  
         frame       = currFrame    
         
         while True: 
             if frame in range:          
                 if frame in loopRange and frame not in sortedRange: 
                     sortedRange.append(frame)
             else: break
             
             increase    = ((1+count) * direction)
             next        = (increase + frame)
             
             if next > loopRange[-1] or next < loopRange[0]:
                 increase = 1 * direction *-1
             else: 
                 direction *= -1 
                 
             frame       += increase  
             count       += 1 
                     
     return sortedRange