51 lines
1.3 KiB
Python
51 lines
1.3 KiB
Python
# 3DE4.script.hide: true
|
|
# 3DE4.script.startup: false
|
|
#
|
|
# Giovanni Di Grezia 2016
|
|
# http://www.xgiovio.com
|
|
#
|
|
|
|
import tde4
|
|
|
|
global backup_2d_curves
|
|
try:
|
|
backup_2d_curves
|
|
except :
|
|
backup_2d_curves = {}
|
|
|
|
cam = tde4.getCurrentCamera()
|
|
current_point_group = tde4.getCurrentPGroup()
|
|
selected_points = tde4.getPointList (current_point_group,1)
|
|
playback = tde4.getCameraPlaybackRange(cam)
|
|
firstframe = playback[0]
|
|
lastframe = playback[1]
|
|
|
|
def backup () :
|
|
for point in selected_points:
|
|
backup_2d_curves[point] = []
|
|
for frame in range (firstframe, lastframe + 1):
|
|
if tde4.isPointPos2DValid(current_point_group,point,cam,frame):
|
|
selected_point_position = tde4.getPointPosition2D(current_point_group,point,cam,frame)
|
|
selected_point_position_status = tde4.getPointStatus2D(current_point_group,point,cam,frame)
|
|
backup_2d_curves[point].append([frame,selected_point_position,selected_point_position_status])
|
|
|
|
def restore ():
|
|
for point in selected_points:
|
|
if point in backup_2d_curves:
|
|
tde4.deletePointCurve2D (current_point_group,point,cam)
|
|
for i in backup_2d_curves[point]:
|
|
tde4.setPointPosition2D(current_point_group,point,cam,i[0],i[1])
|
|
for i in backup_2d_curves[point]:
|
|
tde4.setPointStatus2D(current_point_group,point,cam,i[0],i[2])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|