VariationSupported changed to VariationIndex
added RotateOrigin
This commit is contained in:
parent
658b2e25b7
commit
870c505e4f
@ -191,6 +191,7 @@ type
|
|||||||
|
|
||||||
procedure TransformClearProc(AMachine: TatVirtualMachine);
|
procedure TransformClearProc(AMachine: TatVirtualMachine);
|
||||||
procedure TransformRotateProc(AMachine: TatVirtualMachine);
|
procedure TransformRotateProc(AMachine: TatVirtualMachine);
|
||||||
|
procedure TransformRotateOriginProc(AMachine: TatVirtualMachine);
|
||||||
|
|
||||||
{ Render interface }
|
{ Render interface }
|
||||||
procedure GetRenderFilenameProc(AMachine: TatVirtualMachine);
|
procedure GetRenderFilenameProc(AMachine: TatVirtualMachine);
|
||||||
@ -399,7 +400,7 @@ type
|
|||||||
procedure GetVariableStr(AMachine: TatVirtualMachine);
|
procedure GetVariableStr(AMachine: TatVirtualMachine);
|
||||||
procedure SetVariableStr(AMachine: TatVirtualMachine);
|
procedure SetVariableStr(AMachine: TatVirtualMachine);
|
||||||
}
|
}
|
||||||
procedure VariationSupportedProc(AMachine: TatVirtualMachine);
|
procedure VariationIndexProc(AMachine: TatVirtualMachine);
|
||||||
procedure GetPivotModeProc(AMachine: TatVirtualMachine);
|
procedure GetPivotModeProc(AMachine: TatVirtualMachine);
|
||||||
procedure SetPivotModeProc(AMachine: TatVirtualMachine);
|
procedure SetPivotModeProc(AMachine: TatVirtualMachine);
|
||||||
procedure GetPivotXProc(AMachine: TatVirtualMachine);
|
procedure GetPivotXProc(AMachine: TatVirtualMachine);
|
||||||
@ -1219,7 +1220,7 @@ begin
|
|||||||
Scripter.DefineMethod('SetVariableStr', 2, tkNone, nil, SetVariableStr);
|
Scripter.DefineMethod('SetVariableStr', 2, tkNone, nil, SetVariableStr);
|
||||||
}
|
}
|
||||||
Scripter.AddConstant('ProgramVersionString', AppVersionString);
|
Scripter.AddConstant('ProgramVersionString', AppVersionString);
|
||||||
Scripter.DefineMethod('VariationSupported', 1, tkInteger, nil, VariationSupportedProc);
|
Scripter.DefineMethod('VariationIndex', 1, tkInteger, nil, VariationIndexProc);
|
||||||
|
|
||||||
Scripter.DefineMethod('GetPivotMode', 0, tkInteger, nil, GetPivotModeProc);
|
Scripter.DefineMethod('GetPivotMode', 0, tkInteger, nil, GetPivotModeProc);
|
||||||
Scripter.DefineMethod('SetPivotMode', 1, tkNone, nil, SetPivotModeProc);
|
Scripter.DefineMethod('SetPivotMode', 1, tkNone, nil, SetPivotModeProc);
|
||||||
@ -1837,16 +1838,16 @@ begin
|
|||||||
end;
|
end;
|
||||||
*)
|
*)
|
||||||
|
|
||||||
procedure TOperationLibrary.VariationSupportedProc(AMachine: TatVirtualMachine);
|
procedure TOperationLibrary.VariationIndexProc(AMachine: TatVirtualMachine);
|
||||||
var
|
var
|
||||||
i: integer;
|
i: integer;
|
||||||
str: string;
|
str: string;
|
||||||
begin
|
begin
|
||||||
with AMachine do begin
|
with AMachine do begin
|
||||||
str := GetInputArgAsString(0);
|
str := LowerCase(GetInputArgAsString(0));
|
||||||
i := 0;
|
i := NRVAR-1;
|
||||||
while (i < NRVAR) and (varnames(i) <> str) do Inc(i);
|
while (i >= 0) and (varnames(i) <> str) do Dec(i);
|
||||||
ReturnOutputArg(i < NRVAR);
|
ReturnOutputArg(i);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -2869,6 +2870,20 @@ begin
|
|||||||
cp.xform[ActiveTransform].density := 0.5;
|
cp.xform[ActiveTransform].density := 0.5;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TScriptEditor.TransformRotateOriginProc(AMachine: TatVirtualMachine);
|
||||||
|
var
|
||||||
|
tx, ty, rad: double;
|
||||||
|
begin
|
||||||
|
rad := AMachine.GetInputArgAsFloat(0) * pi / 180;
|
||||||
|
with EditForm.WorldPivot do
|
||||||
|
with cp.xform[ActiveTransform] do begin
|
||||||
|
tx := x + (c[2,0] - x) * cos(rad) - (-c[2,1] - y) * sin(rad);
|
||||||
|
ty := y + (c[2,0] - x) * sin(rad) + (-c[2,1] - y) * cos(rad);
|
||||||
|
c[2,0] := tx;
|
||||||
|
c[2,1] := -ty;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
// -- pivot-aware rotating --
|
// -- pivot-aware rotating --
|
||||||
|
|
||||||
procedure TScriptEditor.TransformRotateProc(AMachine: TatVirtualMachine);
|
procedure TScriptEditor.TransformRotateProc(AMachine: TatVirtualMachine);
|
||||||
@ -3005,6 +3020,7 @@ begin
|
|||||||
|
|
||||||
DefineMethod('Clear', 0, tkNone, nil, TransformClearProc);
|
DefineMethod('Clear', 0, tkNone, nil, TransformClearProc);
|
||||||
DefineMethod('Rotate', 1, tkNone, nil, TransformRotateProc);
|
DefineMethod('Rotate', 1, tkNone, nil, TransformRotateProc);
|
||||||
|
DefineMethod('RotateOrigin', 1, tkNone, nil, TransformRotateOriginProc);
|
||||||
|
|
||||||
DefineProp('a', tkFloat, GetTransformAProc, SetTransformAProc);
|
DefineProp('a', tkFloat, GetTransformAProc, SetTransformAProc);
|
||||||
DefineProp('b', tkFloat, GetTransformBProc, SetTransformBProc);
|
DefineProp('b', tkFloat, GetTransformBProc, SetTransformBProc);
|
||||||
@ -3012,7 +3028,7 @@ begin
|
|||||||
DefineProp('d', tkFloat, GetTransformDProc, SetTransformDProc);
|
DefineProp('d', tkFloat, GetTransformDProc, SetTransformDProc);
|
||||||
DefineProp('e', tkFloat, GetTransformEProc, SetTransformEProc);
|
DefineProp('e', tkFloat, GetTransformEProc, SetTransformEProc);
|
||||||
DefineProp('f', tkFloat, GetTransformFProc, SetTransformFProc);
|
DefineProp('f', tkFloat, GetTransformFProc, SetTransformFProc);
|
||||||
DefineProp('Variation', tkFloat, GetTransformVarProc, SetTransformVarProc, nil, false, 1); // obsolete
|
DefineProp('Variation', tkFloat, GetTransformVarProc, SetTransformVarProc, nil, false, 1);
|
||||||
end;
|
end;
|
||||||
Scripter.AddObject('Transform', Transform);
|
Scripter.AddObject('Transform', Transform);
|
||||||
{ Options interface }
|
{ Options interface }
|
||||||
|
Loading…
Reference in New Issue
Block a user