set fobj [getSelectedFobj] if {$fobj==0}\ { bell post3DEInfoRequester " \n Error, there is no Sequence selected. \n" return } set pg [getSelectedPGroup] if {$pg==0}\ { bell post3DEInfoRequester " \n Error, there is no Pointgroup selected. \n" return } set string [post3DEPromptRequester "Enter position of lower-left and upper-right corner (x1 y1 x2 y2, in pixel, 0 0 = center):"] set x1 [lindex $string 0] set y1 [lindex $string 1] set x2 [lindex $string 2] set y2 [lindex $string 3] set w [getFobjImageWidth $fobj] set h [getFobjImageHeight $fobj] set x1 [expr $x1+($w/2.0)] set y1 [expr $y1+($h/2.0)] set x2 [expr $x2+($w/2.0)] set y2 [expr $y2+($h/2.0)] set scx [expr ($x2-$x1)/$w] set scy [expr ($y2-$y1)/$h] set trx [expr $x1/$w] set try [expr $y1/$h] set no_frames [getFobjNoFrames $fobj] for {set point [getFirstPoint $pg]} {$point!=0} {set point [getNextPoint $pg $point]}\ { set curve [getPointPosition2DBlock $pg $point $fobj 1 $no_frames] for {set frame 1} {$frame<=$no_frames} {set frame [expr $frame+1]}\ { set pos2d [lindex $curve [expr $frame-1]] set x [lindex $pos2d 0] set y [lindex $pos2d 1] if {($x!=-1)&&($y!=-1)}\ { set x [expr ($x*$scx)+$trx] set y [expr ($y*$scy)+$try] set pos2d [list $x $y] set curve [lreplace $curve [expr $frame-1] [expr $frame-1] $pos2d] } } setPointPosition2DBlock $pg $point $fobj 1 $curve }