|
var PointD = require('./PointD');
|
|
|
|
function Transform(x, y) {
|
|
this.lworldOrgX = 0.0;
|
|
this.lworldOrgY = 0.0;
|
|
this.ldeviceOrgX = 0.0;
|
|
this.ldeviceOrgY = 0.0;
|
|
this.lworldExtX = 1.0;
|
|
this.lworldExtY = 1.0;
|
|
this.ldeviceExtX = 1.0;
|
|
this.ldeviceExtY = 1.0;
|
|
}
|
|
|
|
Transform.prototype.getWorldOrgX = function ()
|
|
{
|
|
return this.lworldOrgX;
|
|
}
|
|
|
|
Transform.prototype.setWorldOrgX = function (wox)
|
|
{
|
|
this.lworldOrgX = wox;
|
|
}
|
|
|
|
Transform.prototype.getWorldOrgY = function ()
|
|
{
|
|
return this.lworldOrgY;
|
|
}
|
|
|
|
Transform.prototype.setWorldOrgY = function (woy)
|
|
{
|
|
this.lworldOrgY = woy;
|
|
}
|
|
|
|
Transform.prototype.getWorldExtX = function ()
|
|
{
|
|
return this.lworldExtX;
|
|
}
|
|
|
|
Transform.prototype.setWorldExtX = function (wex)
|
|
{
|
|
this.lworldExtX = wex;
|
|
}
|
|
|
|
Transform.prototype.getWorldExtY = function ()
|
|
{
|
|
return this.lworldExtY;
|
|
}
|
|
|
|
Transform.prototype.setWorldExtY = function (wey)
|
|
{
|
|
this.lworldExtY = wey;
|
|
}
|
|
|
|
|
|
|
|
Transform.prototype.getDeviceOrgX = function ()
|
|
{
|
|
return this.ldeviceOrgX;
|
|
}
|
|
|
|
Transform.prototype.setDeviceOrgX = function (dox)
|
|
{
|
|
this.ldeviceOrgX = dox;
|
|
}
|
|
|
|
Transform.prototype.getDeviceOrgY = function ()
|
|
{
|
|
return this.ldeviceOrgY;
|
|
}
|
|
|
|
Transform.prototype.setDeviceOrgY = function (doy)
|
|
{
|
|
this.ldeviceOrgY = doy;
|
|
}
|
|
|
|
Transform.prototype.getDeviceExtX = function ()
|
|
{
|
|
return this.ldeviceExtX;
|
|
}
|
|
|
|
Transform.prototype.setDeviceExtX = function (dex)
|
|
{
|
|
this.ldeviceExtX = dex;
|
|
}
|
|
|
|
Transform.prototype.getDeviceExtY = function ()
|
|
{
|
|
return this.ldeviceExtY;
|
|
}
|
|
|
|
Transform.prototype.setDeviceExtY = function (dey)
|
|
{
|
|
this.ldeviceExtY = dey;
|
|
}
|
|
|
|
Transform.prototype.transformX = function (x)
|
|
{
|
|
var xDevice = 0.0;
|
|
var worldExtX = this.lworldExtX;
|
|
if (worldExtX != 0.0)
|
|
{
|
|
xDevice = this.ldeviceOrgX +
|
|
((x - this.lworldOrgX) * this.ldeviceExtX / worldExtX);
|
|
}
|
|
|
|
return xDevice;
|
|
}
|
|
|
|
Transform.prototype.transformY = function (y)
|
|
{
|
|
var yDevice = 0.0;
|
|
var worldExtY = this.lworldExtY;
|
|
if (worldExtY != 0.0)
|
|
{
|
|
yDevice = this.ldeviceOrgY +
|
|
((y - this.lworldOrgY) * this.ldeviceExtY / worldExtY);
|
|
}
|
|
|
|
|
|
return yDevice;
|
|
}
|
|
|
|
Transform.prototype.inverseTransformX = function (x)
|
|
{
|
|
var xWorld = 0.0;
|
|
var deviceExtX = this.ldeviceExtX;
|
|
if (deviceExtX != 0.0)
|
|
{
|
|
xWorld = this.lworldOrgX +
|
|
((x - this.ldeviceOrgX) * this.lworldExtX / deviceExtX);
|
|
}
|
|
|
|
|
|
return xWorld;
|
|
}
|
|
|
|
Transform.prototype.inverseTransformY = function (y)
|
|
{
|
|
var yWorld = 0.0;
|
|
var deviceExtY = this.ldeviceExtY;
|
|
if (deviceExtY != 0.0)
|
|
{
|
|
yWorld = this.lworldOrgY +
|
|
((y - this.ldeviceOrgY) * this.lworldExtY / deviceExtY);
|
|
}
|
|
return yWorld;
|
|
}
|
|
|
|
Transform.prototype.inverseTransformPoint = function (inPoint)
|
|
{
|
|
var outPoint =
|
|
new PointD(this.inverseTransformX(inPoint.x),
|
|
this.inverseTransformY(inPoint.y));
|
|
return outPoint;
|
|
}
|
|
|
|
module.exports = Transform;
|
|
|