Vector2d |
Vector2d.absolute(Vector2d dest) |
|
Vector2d |
Vector2dc.absolute(Vector2d dest) |
Compute the absolute of each of this vector's components
and store the result into dest.
|
Vector2d |
Vector2d.add(double x,
double y,
Vector2d dest) |
|
Vector2d |
Vector2d.add(Vector2dc v,
Vector2d dest) |
|
Vector2d |
Vector2d.add(Vector2fc v,
Vector2d dest) |
|
Vector2d |
Vector2dc.add(double x,
double y,
Vector2d dest) |
Add (x, y) to this vector and store the result in dest.
|
Vector2d |
Vector2dc.add(Vector2dc v,
Vector2d dest) |
Add v to this vector and store the result in dest.
|
Vector2d |
Vector2dc.add(Vector2fc v,
Vector2d dest) |
Add v to this vector and store the result in dest.
|
Vector2d |
Vector2d.ceil(Vector2d dest) |
|
Vector2d |
Vector2dc.ceil(Vector2d dest) |
Compute for each component of this vector the smallest (closest to negative
infinity) double value that is greater than or equal to that
component and is equal to a mathematical integer and store the result in
dest.
|
static Vector2d |
Interpolationd.dFdxLinear(double v0X,
double v0Y,
double f0X,
double f0Y,
double v1X,
double v1Y,
double f1X,
double f1Y,
double v2X,
double v2Y,
double f2X,
double f2Y,
Vector2d dest) |
Compute the first-order derivative of a linear two-dimensional function f with respect to X
and store the result in dest.
|
static Vector2d |
Interpolationd.dFdyLinear(double v0X,
double v0Y,
double f0X,
double f0Y,
double v1X,
double v1Y,
double f1X,
double f1Y,
double v2X,
double v2Y,
double f2X,
double f2Y,
Vector2d dest) |
Compute the first-order derivative of a linear two-dimensional function f with respect to Y
and store the result in dest.
|
Vector2d |
Vector2d.div(double x,
double y,
Vector2d dest) |
|
Vector2d |
Vector2d.div(double scalar,
Vector2d dest) |
|
Vector2d |
Vector2d.div(Vector2d v) |
Divide this Vector2d component-wise by another Vector2dc.
|
Vector2d |
Vector2d.div(Vector2dc v,
Vector2d dest) |
|
Vector2d |
Vector2d.div(Vector2fc v,
Vector2d dest) |
|
Vector2d |
Vector2dc.div(double x,
double y,
Vector2d dest) |
Divide the components of this Vector3f by the given scalar values and store the result in dest.
|
Vector2d |
Vector2dc.div(double scalar,
Vector2d dest) |
Divide this Vector2d by the given scalar value and store the result in dest.
|
Vector2d |
Vector2dc.div(Vector2dc v,
Vector2d dest) |
Divide this by v component-wise and store the result into dest.
|
Vector2d |
Vector2dc.div(Vector2fc v,
Vector2d dest) |
Divide this Vector2d component-wise by another Vector2f and store the result in dest.
|
static int |
Intersectiond.findClosestPointOnTriangle(double v0X,
double v0Y,
double v1X,
double v1Y,
double v2X,
double v2Y,
double pX,
double pY,
Vector2d result) |
Determine the closest point on the triangle with the given vertices (v0X, v0Y), (v1X, v1Y), (v2X, v2Y)
between that triangle and the given point (pX, pY) and store that point into the given result.
|
static int |
Intersectiond.findClosestPointOnTriangle(Vector2dc v0,
Vector2dc v1,
Vector2dc v2,
Vector2dc p,
Vector2d result) |
Determine the closest point on the triangle with the vertices v0, v1, v2
between that triangle and the given point p and store that point into the given result.
|
Vector2d |
Vector2d.floor(Vector2d dest) |
|
Vector2d |
Vector2dc.floor(Vector2d dest) |
Compute for each component of this vector the largest (closest to positive
infinity) double value that is less than or equal to that
component and is equal to a mathematical integer and store the result in
dest.
|
Vector2d |
Vector2d.fma(double a,
Vector2dc b,
Vector2d dest) |
|
Vector2d |
Vector2d.fma(Vector2dc a,
Vector2dc b,
Vector2d dest) |
|
Vector2d |
Vector2dc.fma(double a,
Vector2dc b,
Vector2d dest) |
Add the component-wise multiplication of a * b to this vector
and store the result in dest.
|
Vector2d |
Vector2dc.fma(Vector2dc a,
Vector2dc b,
Vector2d dest) |
Add the component-wise multiplication of a * b to this vector
and store the result in dest.
|
Vector2d |
Vector2d.get(Vector2d dest) |
|
Vector2d |
Vector2dc.get(Vector2d dest) |
Set the components of the given vector dest to those of this vector.
|
Vector2d |
Vector2f.get(Vector2d dest) |
|
Vector2d |
Vector2fc.get(Vector2d dest) |
Set the components of the given vector dest to those of this vector.
|
Vector2d |
Matrix2d.getColumn(int column,
Vector2d dest) |
|
Vector2d |
Matrix2dc.getColumn(int column,
Vector2d dest) |
Get the column at the given column index, starting with 0.
|
Vector2d |
Matrix2d.getRow(int row,
Vector2d dest) |
|
Vector2d |
Matrix2dc.getRow(int row,
Vector2d dest) |
Get the row at the given row index, starting with 0.
|
Vector2d |
Matrix2d.getScale(Vector2d dest) |
|
Vector2d |
Matrix2dc.getScale(Vector2d dest) |
Get the scaling factors of this matrix for the three base axes.
|
static Vector2d |
Interpolationd.interpolateTriangle(double v0X,
double v0Y,
double f0X,
double f0Y,
double v1X,
double v1Y,
double f1X,
double f1Y,
double v2X,
double v2Y,
double f2X,
double f2Y,
double x,
double y,
Vector2d dest) |
Bilinearly interpolate the two-dimensional vector f over the given triangle and store the result in dest.
|
static boolean |
Intersectiond.intersectLineLine(double ps1x,
double ps1y,
double pe1x,
double pe1y,
double ps2x,
double ps2y,
double pe2x,
double pe2y,
Vector2d p) |
Determine whether the two lines, specified via two points lying on each line, intersect each other, and store the point of intersection
into the given vector p.
|
static int |
Intersectiond.intersectLineSegmentAab(double p0X,
double p0Y,
double p0Z,
double p1X,
double p1Y,
double p1Z,
double minX,
double minY,
double minZ,
double maxX,
double maxY,
double maxZ,
Vector2d result) |
Determine whether the undirected line segment with the end points (p0X, p0Y, p0Z) and (p1X, p1Y, p1Z)
intersects the axis-aligned box given as its minimum corner (minX, minY, minZ) and maximum corner (maxX, maxY, maxZ),
and return the values of the parameter t in the ray equation p(t) = origin + p0 * (p1 - p0) of the near and far point of intersection.
|
static int |
Intersectiond.intersectLineSegmentAab(Vector3dc p0,
Vector3dc p1,
Vector3dc min,
Vector3dc max,
Vector2d result) |
Determine whether the undirected line segment with the end points p0 and p1
intersects the axis-aligned box given as its minimum corner min and maximum corner max,
and return the values of the parameter t in the ray equation p(t) = origin + p0 * (p1 - p0) of the near and far point of intersection.
|
static int |
Intersectiond.intersectLineSegmentAar(double p0X,
double p0Y,
double p1X,
double p1Y,
double minX,
double minY,
double maxX,
double maxY,
Vector2d result) |
Determine whether the undirected line segment with the end points (p0X, p0Y) and (p1X, p1Y)
intersects the axis-aligned rectangle given as its minimum corner (minX, minY) and maximum corner (maxX, maxY),
and store the values of the parameter t in the ray equation p(t) = p0 + t * (p1 - p0) of the near and far point of intersection
into result.
|
static int |
Intersectiond.intersectLineSegmentAar(Vector2dc p0,
Vector2dc p1,
Vector2dc min,
Vector2dc max,
Vector2d result) |
Determine whether the undirected line segment with the end points p0 and p1
intersects the axis-aligned rectangle given as its minimum corner min and maximum corner max,
and store the values of the parameter t in the ray equation p(t) = p0 + t * (p1 - p0) of the near and far point of intersection
into result.
|
static int |
Intersectiond.intersectPolygonRay(double[] verticesXY,
double originX,
double originY,
double dirX,
double dirY,
Vector2d p) |
Determine whether the polygon specified by the given sequence of (x, y) coordinate pairs intersects with the ray
with given origin (originX, originY, originZ) and direction (dirX, dirY, dirZ), and store the point of intersection
into the given vector p.
|
static int |
Intersectiond.intersectPolygonRay(Vector2dc[] vertices,
double originX,
double originY,
double dirX,
double dirY,
Vector2d p) |
Determine whether the polygon specified by the given sequence of vertices intersects with the ray
with given origin (originX, originY, originZ) and direction (dirX, dirY, dirZ), and store the point of intersection
into the given vector p.
|
static boolean |
Intersectiond.intersectRayAab(double originX,
double originY,
double originZ,
double dirX,
double dirY,
double dirZ,
double minX,
double minY,
double minZ,
double maxX,
double maxY,
double maxZ,
Vector2d result) |
Test whether the given ray with the origin (originX, originY, originZ) and direction (dirX, dirY, dirZ)
intersects the axis-aligned box given as its minimum corner (minX, minY, minZ) and maximum corner (maxX, maxY, maxZ),
and return the values of the parameter t in the ray equation p(t) = origin + t * dir of the near and far point of intersection.
|
static boolean |
Intersectiond.intersectRayAab(Vector3dc origin,
Vector3dc dir,
Vector3dc min,
Vector3dc max,
Vector2d result) |
Test whether the ray with the given origin and direction dir
intersects the axis-aligned box specified as its minimum corner min and maximum corner max,
and return the values of the parameter t in the ray equation p(t) = origin + t * dir of the near and far point of intersection..
|
static int |
Intersectiond.intersectRayAar(double originX,
double originY,
double dirX,
double dirY,
double minX,
double minY,
double maxX,
double maxY,
Vector2d result) |
Determine whether the given ray with the origin (originX, originY) and direction (dirX, dirY)
intersects the axis-aligned rectangle given as its minimum corner (minX, minY) and maximum corner (maxX, maxY),
and return the values of the parameter t in the ray equation p(t) = origin + t * dir of the near and far point of intersection
as well as the side of the axis-aligned rectangle the ray intersects.
|
static int |
Intersectiond.intersectRayAar(Vector2dc origin,
Vector2dc dir,
Vector2dc min,
Vector2dc max,
Vector2d result) |
Determine whether the given ray with the given origin and direction dir
intersects the axis-aligned rectangle given as its minimum corner min and maximum corner max,
and return the values of the parameter t in the ray equation p(t) = origin + t * dir of the near and far point of intersection
as well as the side of the axis-aligned rectangle the ray intersects.
|
static boolean |
Intersectiond.intersectRayCircle(double originX,
double originY,
double dirX,
double dirY,
double centerX,
double centerY,
double radiusSquared,
Vector2d result) |
Test whether the given ray with the origin (originX, originY) and direction (dirX, dirY)
intersects the given circle with center (centerX, centerY) and square radius radiusSquared,
and store the values of the parameter t in the ray equation p(t) = origin + t * dir for both points (near
and far) of intersections into the given result vector.
|
static boolean |
Intersectiond.intersectRayCircle(Vector2dc origin,
Vector2dc dir,
Vector2dc center,
double radiusSquared,
Vector2d result) |
Test whether the ray with the given origin and direction dir
intersects the circle with the given center and square radius radiusSquared,
and store the values of the parameter t in the ray equation p(t) = origin + t * dir for both points (near
and far) of intersections into the given result vector.
|
static boolean |
Intersectiond.intersectRaySphere(double originX,
double originY,
double originZ,
double dirX,
double dirY,
double dirZ,
double centerX,
double centerY,
double centerZ,
double radiusSquared,
Vector2d result) |
Test whether the given ray with the origin (originX, originY, originZ) and normalized direction (dirX, dirY, dirZ)
intersects the given sphere with center (centerX, centerY, centerZ) and square radius radiusSquared,
and store the values of the parameter t in the ray equation p(t) = origin + t * dir for both points (near
and far) of intersections into the given result vector.
|
static boolean |
Intersectiond.intersectRaySphere(Vector3dc origin,
Vector3dc dir,
Vector3dc center,
double radiusSquared,
Vector2d result) |
Test whether the ray with the given origin and normalized direction dir
intersects the sphere with the given center and square radius radiusSquared,
and store the values of the parameter t in the ray equation p(t) = origin + t * dir for both points (near
and far) of intersections into the given result vector.
|
Vector2d |
Vector2d.lerp(Vector2dc other,
double t,
Vector2d dest) |
|
Vector2d |
Vector2dc.lerp(Vector2dc other,
double t,
Vector2d dest) |
Linearly interpolate this and other using the given interpolation factor t
and store the result in dest.
|
Vector2d |
Vector2d.max(Vector2dc v,
Vector2d dest) |
|
Vector2d |
Vector2dc.max(Vector2dc v,
Vector2d dest) |
Set the components of dest to be the component-wise maximum of this and the other vector.
|
Vector2d |
Vector2d.min(Vector2dc v,
Vector2d dest) |
|
Vector2d |
Vector2dc.min(Vector2dc v,
Vector2d dest) |
Set the components of dest to be the component-wise minimum of this and the other vector.
|
Vector2d |
Vector2d.mul(double x,
double y,
Vector2d dest) |
|
Vector2d |
Vector2d.mul(double scalar,
Vector2d dest) |
|
Vector2d |
Vector2d.mul(Matrix2dc mat,
Vector2d dest) |
|
Vector2d |
Vector2d.mul(Matrix2fc mat,
Vector2d dest) |
|
Vector2d |
Vector2d.mul(Vector2dc v,
Vector2d dest) |
|
Vector2d |
Vector2dc.mul(double x,
double y,
Vector2d dest) |
Multiply the components of this Vector2d by the given scalar values and store the result in dest.
|
Vector2d |
Vector2dc.mul(double scalar,
Vector2d dest) |
Multiply the components of this vector by the given scalar and store the result in dest.
|
Vector2d |
Vector2dc.mul(Matrix2dc mat,
Vector2d dest) |
Multiply the given matrix mat with this and store the
result in dest.
|
Vector2d |
Vector2dc.mul(Matrix2fc mat,
Vector2d dest) |
Multiply the given matrix mat with this and store the
result in dest.
|
Vector2d |
Vector2dc.mul(Vector2dc v,
Vector2d dest) |
Multiply this Vector2d component-wise by another Vector2d and store the result in dest.
|
Vector2d |
Vector2d.mulDirection(Matrix3x2dc mat,
Vector2d dest) |
|
Vector2d |
Vector2dc.mulDirection(Matrix3x2dc mat,
Vector2d dest) |
Multiply the given 3x2 matrix mat with this and store the
result in dest.
|
Vector2d |
Vector2d.mulPosition(Matrix3x2dc mat,
Vector2d dest) |
|
Vector2d |
Vector2dc.mulPosition(Matrix3x2dc mat,
Vector2d dest) |
Multiply the given 3x2 matrix mat with this and store the
result in dest.
|
Vector2d |
Vector2d.mulTranspose(Matrix2dc mat,
Vector2d dest) |
|
Vector2d |
Vector2d.mulTranspose(Matrix2fc mat,
Vector2d dest) |
|
Vector2d |
Vector2dc.mulTranspose(Matrix2dc mat,
Vector2d dest) |
Multiply the transpose of the given matrix with this Vector2f and store the result in dest.
|
Vector2d |
Vector2dc.mulTranspose(Matrix2fc mat,
Vector2d dest) |
Multiply the transpose of the given matrix with this Vector2f and store the result in dest.
|
Vector2d |
Vector2d.negate(Vector2d dest) |
|
Vector2d |
Vector2dc.negate(Vector2d dest) |
Negate this vector and store the result in dest.
|
Vector2d |
Vector2d.normalize(double length,
Vector2d dest) |
|
Vector2d |
Vector2d.normalize(Vector2d dest) |
|
Vector2d |
Vector2dc.normalize(double length,
Vector2d dest) |
Scale this vector to have the given length and store the result in dest.
|
Vector2d |
Vector2dc.normalize(Vector2d dest) |
Normalize this vector and store the result in dest.
|
Vector2d |
Matrix2d.normalizedPositiveX(Vector2d dir) |
|
Vector2d |
Matrix2dc.normalizedPositiveX(Vector2d dest) |
Obtain the direction of +X before the transformation represented by this orthogonal matrix is applied.
|
Vector2d |
Matrix3x2d.normalizedPositiveX(Vector2d dir) |
|
Vector2d |
Matrix3x2dc.normalizedPositiveX(Vector2d dir) |
Obtain the direction of +X before the transformation represented by this orthogonal matrix is applied.
|
Vector2d |
Matrix2d.normalizedPositiveY(Vector2d dir) |
|
Vector2d |
Matrix2dc.normalizedPositiveY(Vector2d dest) |
Obtain the direction of +Y before the transformation represented by this orthogonal matrix is applied.
|
Vector2d |
Matrix3x2d.normalizedPositiveY(Vector2d dir) |
|
Vector2d |
Matrix3x2dc.normalizedPositiveY(Vector2d dir) |
Obtain the direction of +Y before the transformation represented by this orthogonal matrix is applied.
|
Vector2d |
Matrix3x2d.origin(Vector2d origin) |
Obtain the position that gets transformed to the origin by this matrix.
|
Vector2d |
Matrix3x2dc.origin(Vector2d origin) |
Obtain the position that gets transformed to the origin by this matrix.
|
Vector2d |
Matrix2d.positiveX(Vector2d dir) |
|
Vector2d |
Matrix2dc.positiveX(Vector2d dest) |
Obtain the direction of +X before the transformation represented by this matrix is applied.
|
Vector2d |
Matrix3x2d.positiveX(Vector2d dir) |
|
Vector2d |
Matrix3x2dc.positiveX(Vector2d dir) |
Obtain the direction of +X before the transformation represented by this matrix is applied.
|
Vector2d |
Matrix2d.positiveY(Vector2d dir) |
|
Vector2d |
Matrix2dc.positiveY(Vector2d dest) |
Obtain the direction of +Y before the transformation represented by this matrix is applied.
|
Vector2d |
Matrix3x2d.positiveY(Vector2d dir) |
|
Vector2d |
Matrix3x2dc.positiveY(Vector2d dir) |
Obtain the direction of +Y before the transformation represented by this matrix is applied.
|
Vector2d |
Vector2d.round(Vector2d dest) |
|
Vector2d |
Vector2dc.round(Vector2d dest) |
Compute for each component of this vector the closest double that is equal to
a mathematical integer, with ties rounding to positive infinity and store
the result in dest.
|
Matrix3x2d |
Matrix3x2d.span(Vector2d corner,
Vector2d xDir,
Vector2d yDir) |
Compute the extents of the coordinate system before this transformation was applied and store the resulting
corner coordinates in corner and the span vectors in xDir and yDir.
|
Vector2d |
Vector2d.sub(double x,
double y,
Vector2d dest) |
|
Vector2d |
Vector2d.sub(Vector2dc v,
Vector2d dest) |
|
Vector2d |
Vector2d.sub(Vector2fc v,
Vector2d dest) |
|
Vector2d |
Vector2dc.sub(double x,
double y,
Vector2d dest) |
Subtract (x, y) from this vector and store the result in dest.
|
Vector2d |
Vector2dc.sub(Vector2dc v,
Vector2d dest) |
Subtract v from this vector and store the result in dest.
|
Vector2d |
Vector2dc.sub(Vector2fc v,
Vector2d dest) |
Subtract v from this vector and store the result in dest.
|
static boolean |
Intersectiond.testMovingCircleCircle(Vector2d centerA,
Vector2d moveA,
double aR,
Vector2d centerB,
double bR) |
Test whether a given circle with center centerA and radius aR and travelled distance vector moveA
intersects a given static circle with center centerB and radius bR.
|
static boolean |
Intersectiond.testPolygonPolygon(Vector2d[] v1s,
Vector2d[] v2s) |
Test if the two convex polygons, given via their vertices, intersect.
|
Vector2d |
Matrix2d.transform(double x,
double y,
Vector2d dest) |
|
Vector2d |
Matrix2d.transform(Vector2d v) |
|
Vector2d |
Matrix2d.transform(Vector2dc v,
Vector2d dest) |
|
Vector2d |
Matrix2dc.transform(double x,
double y,
Vector2d dest) |
Transform the vector (x, y) by this matrix and store the result in dest.
|
Vector2d |
Matrix2dc.transform(Vector2d v) |
Transform the given vector by this matrix.
|
Vector2d |
Matrix2dc.transform(Vector2dc v,
Vector2d dest) |
Transform the given vector by this matrix and store the result in dest.
|
Vector2d |
Matrix3x2d.transformDirection(double x,
double y,
Vector2d dest) |
Transform/multiply the given 2D-vector (x, y), as if it was a 3D-vector with z=0, by
this matrix and store the result in dest.
|
Vector2d |
Matrix3x2d.transformDirection(Vector2d v) |
Transform/multiply the given 2D-vector, as if it was a 3D-vector with z=0, by
this matrix and store the result in that vector.
|
Vector2d |
Matrix3x2d.transformDirection(Vector2dc v,
Vector2d dest) |
Transform/multiply the given 2D-vector, as if it was a 3D-vector with z=0, by
this matrix and store the result in dest.
|
Vector2d |
Matrix3x2dc.transformDirection(double x,
double y,
Vector2d dest) |
Transform/multiply the given 2D-vector (x, y), as if it was a 3D-vector with z=0, by
this matrix and store the result in dest.
|
Vector2d |
Matrix3x2dc.transformDirection(Vector2d v) |
Transform/multiply the given 2D-vector, as if it was a 3D-vector with z=0, by
this matrix and store the result in that vector.
|
Vector2d |
Matrix3x2dc.transformDirection(Vector2dc v,
Vector2d dest) |
Transform/multiply the given 2D-vector, as if it was a 3D-vector with z=0, by
this matrix and store the result in dest.
|
Vector2d |
Matrix3x2d.transformPosition(double x,
double y,
Vector2d dest) |
Transform/multiply the given 2D-vector (x, y), as if it was a 3D-vector with z=1, by
this matrix and store the result in dest.
|
Vector2d |
Matrix3x2d.transformPosition(Vector2d v) |
Transform/multiply the given 2D-vector, as if it was a 3D-vector with z=1, by
this matrix and store the result in that vector.
|
Vector2d |
Matrix3x2d.transformPosition(Vector2dc v,
Vector2d dest) |
Transform/multiply the given 2D-vector, as if it was a 3D-vector with z=1, by
this matrix and store the result in dest.
|
Vector2d |
Matrix3x2dc.transformPosition(double x,
double y,
Vector2d dest) |
Transform/multiply the given 2D-vector (x, y), as if it was a 3D-vector with z=1, by
this matrix and store the result in dest.
|
Vector2d |
Matrix3x2dc.transformPosition(Vector2d v) |
Transform/multiply the given 2D-vector, as if it was a 3D-vector with z=1, by
this matrix and store the result in that vector.
|
Vector2d |
Matrix3x2dc.transformPosition(Vector2dc v,
Vector2d dest) |
Transform/multiply the given 2D-vector, as if it was a 3D-vector with z=1, by
this matrix and store the result in dest.
|
Vector2d |
Matrix2d.transformTranspose(double x,
double y,
Vector2d dest) |
|
Vector2d |
Matrix2d.transformTranspose(Vector2d v) |
|
Vector2d |
Matrix2d.transformTranspose(Vector2dc v,
Vector2d dest) |
|
Vector2d |
Matrix2dc.transformTranspose(double x,
double y,
Vector2d dest) |
Transform the vector (x, y) by the transpose of this matrix and store the result in dest.
|
Vector2d |
Matrix2dc.transformTranspose(Vector2d v) |
Transform the given vector by the transpose of this matrix.
|
Vector2d |
Matrix2dc.transformTranspose(Vector2dc v,
Vector2d dest) |
Transform the given vector by the transpose of this matrix and store the result in dest.
|
Vector2d |
Matrix3x2d.unproject(double winX,
double winY,
int[] viewport,
Vector2d dest) |
Unproject the given window coordinates (winX, winY) by this matrix using the specified viewport.
|
Vector2d |
Matrix3x2dc.unproject(double winX,
double winY,
int[] viewport,
Vector2d dest) |
Unproject the given window coordinates (winX, winY) by this matrix using the specified viewport.
|
Vector2d |
Matrix3x2d.unprojectInv(double winX,
double winY,
int[] viewport,
Vector2d dest) |
Unproject the given window coordinates (winX, winY) by this matrix using the specified viewport.
|
Vector2d |
Matrix3x2dc.unprojectInv(double winX,
double winY,
int[] viewport,
Vector2d dest) |
Unproject the given window coordinates (winX, winY) by this matrix using the specified viewport.
|