Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/kinematic.py
diff options
context:
space:
mode:
Diffstat (limited to 'kinematic.py')
-rw-r--r--kinematic.py64
1 files changed, 3 insertions, 61 deletions
diff --git a/kinematic.py b/kinematic.py
index 7313c0d..d5442a2 100644
--- a/kinematic.py
+++ b/kinematic.py
@@ -12,12 +12,10 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-import math
-
import model
import theme
-class Frame:
+class KinematicFrame:
def __init__(self, keyframe=None):
if keyframe:
self.assign(keyframe)
@@ -38,7 +36,7 @@ def makeframes():
for i in model.keys:
if not i.empty():
- frames[i.x] = Frame(i)
+ frames[i.x] = KinematicFrame(i)
if not frames:
return {}
@@ -68,7 +66,7 @@ def makeframes():
numframes = int((endsecs-startsecs)/float(fint))-1
for j in range(numframes-1): # MAYBE SHOULD BE numframes
- frame = frames[startsecs + ((j+1)*fint)] = Frame()
+ frame = frames[startsecs + ((j+1)*fint)] = KinematicFrame()
frame.joints = _intjoints(start_frame.joints, end_frame.joints,
j+1, numframes)
@@ -81,61 +79,6 @@ def makeframes():
return frames
-def getparentjoint(jname, joints, middle):
- if jname in ['rightshoulder','leftshoulder','groin','neck']:
- return middle
-
- parentjoints = {'rightelbow':'rightshoulder',
- 'righthand':'rightelbow',
- 'leftelbow':'leftshoulder',
- 'lefthand':'leftelbow',
- 'righthip':'groin',
- 'rightknee':'righthip',
- 'rightheel':'rightknee',
- 'righttoe':'rightheel',
- 'lefthip':'groin',
- 'leftknee':'lefthip',
- 'leftheel':'leftknee',
- 'lefttoe':'leftheel',
- 'head':'neck'}
-
- return joints[parentjoints[jname]]
-
-def getparentsticks(stickname):
- if stickname in ['RIGHT SHOULDER','LEFT SHOULDER','NECK','TORSO']:
- return []
- if stickname in ['HEAD']:
- return ['NECK']
- if stickname == 'UPPER RIGHT ARM':
- return ['RIGHT SHOULDER']
- if stickname == 'LOWER RIGHT ARM':
- return ['UPPER RIGHT ARM','RIGHT SHOULDER']
- if stickname == 'UPPER LEFT ARM':
- return ['LEFT SHOULDER']
- if stickname == 'LOWER LEFT ARM':
- return ['UPPER LEFT ARM','LEFT SHOULDER']
- if stickname == 'RIGHT HIP':
- return ['TORSO']
- if stickname == 'UPPER RIGHT LEG':
- return ['RIGHT HIP','TORSO']
- if stickname == 'LOWER RIGHT LEG':
- return ['UPPER RIGHT LEG','RIGHT HIP','TORSO']
- if stickname == 'RIGHT FOOT':
- return ['LOWER RIGHT LEG','UPPER RIGHT LEG','RIGHT HIP','TORSO']
- if stickname == 'LEFT HIP':
- return ['TORSO']
- if stickname == 'UPPER LEFT LEG':
- return ['LEFT HIP','TORSO']
- if stickname == 'LOWER LEFT LEG':
- return ['UPPER LEFT LEG','LEFT HIP','TORSO']
- if stickname == 'LEFT FOOT':
- return ['LOWER LEFT LEG','UPPER LEFT LEG','LEFT HIP','TORSO']
-
-def getpoints(x,y,angle,len):
- nx = int(round(x + (len * math.cos(math.radians(angle)))))
- ny = int(round(y - (len * math.sin(math.radians(angle)))))
- return (nx,ny)
-
def _interpolate(x,x0,y0,x1,y1):
if x1-x0 == 0:
return y0
@@ -183,4 +126,3 @@ def _inthsize(shsize,ehsize,count,numpoints):
return x0
x = x0 + (count * ((x1-x0)/float(numpoints)))
return int(x)
-""