109 lines
3.7 KiB
Mathematica
109 lines
3.7 KiB
Mathematica
|
//----------------------------------------------------------------------------------------
|
||
|
//
|
||
|
// rotationlayer.m
|
||
|
//
|
||
|
//----------------------------------------------------------------------------------------
|
||
|
// Use like this :
|
||
|
// #define ROTATION_LAYER_VAR MyVar
|
||
|
// #include "rotationlayer.m"
|
||
|
//
|
||
|
// _MyVarInit(Group parentgroup, String layername); // init rotationlayer
|
||
|
// _MyVarRotateDegree(double r); // in degrees
|
||
|
// _MyVarRotate(double r); // in radians
|
||
|
// double _MyVarGetRotationDegree(); // in degrees
|
||
|
// double _MyVarGetRotation(); // in radians
|
||
|
//
|
||
|
|
||
|
#ifndef PI
|
||
|
#define PI 3.1415926536
|
||
|
#endif
|
||
|
|
||
|
Global Double _##ROTATION_LAYER_VAR##R;
|
||
|
Global Layer _##ROTATION_LAYER_VAR##Layer;
|
||
|
|
||
|
Function _##ROTATION_LAYER_VAR##Init(Group parentgroup, String layername);
|
||
|
Function _##ROTATION_LAYER_VAR##RotateDegree(double r);
|
||
|
Function _##ROTATION_LAYER_VAR##Rotate(double r);
|
||
|
Function double _##ROTATION_LAYER_VAR##GetRotationDegree();
|
||
|
Function double _##ROTATION_LAYER_VAR##GetRotation();
|
||
|
|
||
|
_##ROTATION_LAYER_VAR##RotateDegree(double r) {
|
||
|
_##ROTATION_LAYER_VAR##Rotate(r * PI / 180.0);
|
||
|
}
|
||
|
|
||
|
_##ROTATION_LAYER_VAR##Rotate(double r) {
|
||
|
_##ROTATION_LAYER_VAR##R = r;
|
||
|
_##ROTATION_LAYER_VAR##Layer.fx_update();
|
||
|
}
|
||
|
|
||
|
double _##ROTATION_LAYER_VAR##GetRotationDegree() {
|
||
|
return _##ROTATION_LAYER_VAR##R * 180 / PI;
|
||
|
}
|
||
|
|
||
|
double _##ROTATION_LAYER_VAR##GetRotation() {
|
||
|
return _##ROTATION_LAYER_VAR##R;
|
||
|
}
|
||
|
|
||
|
_##ROTATION_LAYER_VAR##Init(Group parentgroup, String layername) {
|
||
|
_##ROTATION_LAYER_VAR##Layer = parentgroup.getObject(layername);
|
||
|
_##ROTATION_LAYER_VAR##Layer.fx_setGridSize(1,1);
|
||
|
_##ROTATION_LAYER_VAR##Layer.fx_setBgFx(0);
|
||
|
_##ROTATION_LAYER_VAR##Layer.fx_setWrap(1);
|
||
|
_##ROTATION_LAYER_VAR##Layer.fx_setBilinear(1);
|
||
|
_##ROTATION_LAYER_VAR##Layer.fx_setRect(0);
|
||
|
_##ROTATION_LAYER_VAR##Layer.fx_setClear(0);
|
||
|
_##ROTATION_LAYER_VAR##Layer.fx_setLocalized(1);
|
||
|
_##ROTATION_LAYER_VAR##Layer.fx_setRealtime(0);
|
||
|
_##ROTATION_LAYER_VAR##Layer.fx_setEnabled(1);
|
||
|
}
|
||
|
|
||
|
_##ROTATION_LAYER_VAR##Layer.fx_onGetPixelR(double r, double d, double x, double y) {
|
||
|
return r + _##ROTATION_LAYER_VAR##R;
|
||
|
}
|
||
|
|
||
|
//--------------------II-----------------
|
||
|
Global Double _##ROTATION_LAYER_VARII##R;
|
||
|
Global Layer _##ROTATION_LAYER_VARII##Layer;
|
||
|
|
||
|
Function _##ROTATION_LAYER_VARII##Init(Group parentgroup, String layername);
|
||
|
Function _##ROTATION_LAYER_VARII##RotateDegree(double r);
|
||
|
Function _##ROTATION_LAYER_VARII##Rotate(double r);
|
||
|
Function double _##ROTATION_LAYER_VARII##GetRotationDegree();
|
||
|
Function double _##ROTATION_LAYER_VARII##GetRotation();
|
||
|
|
||
|
_##ROTATION_LAYER_VARII##RotateDegree(double r) {
|
||
|
_##ROTATION_LAYER_VARII##Rotate(r * PI / 180.0);
|
||
|
}
|
||
|
|
||
|
_##ROTATION_LAYER_VARII##Rotate(double r) {
|
||
|
_##ROTATION_LAYER_VARII##R = r;
|
||
|
_##ROTATION_LAYER_VARII##Layer.fx_update();
|
||
|
}
|
||
|
|
||
|
double _##ROTATION_LAYER_VARII##GetRotationDegree() {
|
||
|
return _##ROTATION_LAYER_VARII##R * 180 / PI;
|
||
|
}
|
||
|
|
||
|
double _##ROTATION_LAYER_VARII##GetRotation() {
|
||
|
return _##ROTATION_LAYER_VARII##R;
|
||
|
}
|
||
|
|
||
|
_##ROTATION_LAYER_VARII##Init(Group parentgroup, String layername) {
|
||
|
_##ROTATION_LAYER_VARII##Layer = parentgroup.getObject(layername);
|
||
|
_##ROTATION_LAYER_VARII##Layer.fx_setGridSize(1,1);
|
||
|
_##ROTATION_LAYER_VARII##Layer.fx_setBgFx(0);
|
||
|
_##ROTATION_LAYER_VARII##Layer.fx_setWrap(1);
|
||
|
_##ROTATION_LAYER_VARII##Layer.fx_setBilinear(1);
|
||
|
_##ROTATION_LAYER_VARII##Layer.fx_setRect(0);
|
||
|
_##ROTATION_LAYER_VARII##Layer.fx_setClear(0);
|
||
|
_##ROTATION_LAYER_VARII##Layer.fx_setLocalized(1);
|
||
|
_##ROTATION_LAYER_VARII##Layer.fx_setRealtime(0);
|
||
|
_##ROTATION_LAYER_VARII##Layer.fx_setEnabled(1);
|
||
|
|
||
|
}
|
||
|
|
||
|
_##ROTATION_LAYER_VARII##Layer.fx_onGetPixelR(double r, double d, double x, double y) {
|
||
|
return r + _##ROTATION_LAYER_VAR##R;
|
||
|
}
|
||
|
|