Sunday, May 27, 2007

New Apophysys script functions

Here are some useful transform manipulation procedure calls - place the procedure code at the beginning of a script and then call it later on using the procedure name (in your script code you'd call it just by typing "procedurenamehere;").

procedure FlipTransformHorizontal;
{ Flips the transform horizontally (World Pivot)}
begin
aaxis := transform.a;
baxis := transform.b;
eaxis := transform.e;
transform.a := (aaxis *(-1));
transform.b := (baxis *(-1));
transform.e := (eaxis *(-1));
end;


procedure FlipTransformVertical;
{ Flips the transform vertically (World Pivot)}
begin
caxis := transform.c;
daxis := transform.d;
faxis := transform.f;
transform.c := (caxis *(-1));
transform.d := (daxis *(-1));
transform.f := (faxis *(-1));
end;



procedure RotateTransformLeft;
{ Rotates the Post Transform Left 90 Degrees (World Pivot)}
begin
aaxis := transform.a;
baxis := transform.b;
eaxis := transform.e;
caxis := transform.c;
daxis := transform.d;
faxis := transform.f;
transform.a := (caxis *(-1));
transform.b := (daxis *(-1));
transform.e := (faxis *(-1));
transform.c := (aaxis);
transform.d := (baxis);
transform.f := (eaxis);
end;

procedure RotateTransformLeft;
{ Rotates the Post Transform Right 90 Degrees (World Pivot)}
begin
aaxis := transform.a;
baxis := transform.b;
eaxis := transform.e;
caxis := transform.c;
daxis := transform.d;
faxis := transform.f;
transform.a := (caxis);
transform.b := (daxis);
transform.e := (faxis);
transform.c := (aaxis*(-1));
transform.d := (baxis*(-1));
transform.f := (eaxis*(-1));
end;

procedure FlipPostHorizontal;
{ Flips the post transform horizontally (World Pivot)}
begin
aaxis := transform.post[0,0];
baxis := transform.post[1,0];
eaxis := transform.post[2,0];
transform.post[0,0] := (aaxis *(-1));
transform.post[1,0] := (baxis *(-1));
transform.post[2,0] := (eaxis *(-1));
end;


procedure FlipPostVertical;
{ Flips the post transform vertically (World Pivot)}
begin
caxis := transform.post[0,1];
daxis := transform.post[1,1];
faxis := transform.post[2,1];
transform.post[0,1] := (caxis *(-1));
transform.post[1,1] := (daxis *(-1));
transform.post[2,1] := (faxis *(-1));
end;


procedure RotatePostLeft;
{ Rotates the Post Transform Left 90 Degrees (World Pivot)}
begin
aaxis := transform.post[0,0];
baxis := transform.post[1,0];
eaxis := transform.post[2,0];
caxis := transform.post[0,1];
daxis := transform.post[1,1];
faxis := transform.post[2,1];
transform.post[0,0] := (caxis *(-1));
transform.post[1,0] := (daxis *(-1));
transform.post[2,0] := (faxis *(-1));
transform.post[0,1] := (aaxis);
transform.post[1,1] := (baxis);
transform.post[2,1] := (eaxis);
end;

procedure RotatePostRight;
{ Rotates the Post Transform Right 90 Degrees (World Pivot)}
begin
aaxis := transform.post[0,0];
baxis := transform.post[1,0];
eaxis := transform.post[2,0];
caxis := transform.post[0,1];
daxis := transform.post[1,1];
faxis := transform.post[2,1];
transform.post[0,0] := (caxis);
transform.post[1,0] := (daxis);
transform.post[2,0] := (faxis);
transform.post[0,1] := (aaxis*(-1));
transform.post[1,1] := (baxis*(-1));
transform.post[2,1] := (eaxis*(-1));
end;

No comments: