JavaCAD
|
Public Member Functions | |
Transform () | |
Transform (Matrix4d m) | |
Transform | rotX (double degrees) |
Transform | rotY (double degrees) |
Transform | rotZ (double degrees) |
Transform | rot (double x, double y, double z) |
Transform | rot (Vector3d vec) |
Transform | translate (Vector3d vec) |
Transform | translate (double x, double y, double z) |
Transform | translateX (double value) |
double | getQuataurionX () |
double | getQuataurionY () |
double | getQuataurionZ () |
double | getQuataurionW () |
double | getX () |
double | getY () |
double | getZ () |
String | toString () |
Transform | translateY (double value) |
Transform | translateZ (double value) |
Transform | mirror (Plane plane) |
Transform | scale (Vector3d vec) |
Transform | scale (double x, double y, double z) |
Transform | scale (double s) |
Transform | scaleX (double s) |
Transform | scaleY (double s) |
Transform | scaleZ (double s) |
Vector3d | transform (Vector3d vec) |
Vector3d | transform (Vector3d vec, double amount) |
double | getScale () |
boolean | isMirror () |
Transform | apply (Transform t) |
Matrix4d | getInternalMatrix () |
Transform | inverse () |
Transform | invert () |
Transform | move (Number x, Number y, Number z) |
Transform | move (Vertex v) |
Transform | move (Vector3d v) |
Transform | move (Number[] posVector) |
Transform | movey (Number howFarToMove) |
Transform | movez (Number howFarToMove) |
Transform | movex (Number howFarToMove) |
Transform | mirrory () |
Transform | mirrorz () |
Transform | mirrorx () |
Transform | rotz (Number degreesToRotate) |
Transform | roty (Number degreesToRotate) |
Transform | rotx (Number degreesToRotate) |
Static Public Member Functions | |
static Transform | unity () |
Private Attributes | |
final Matrix4d | m |
Transform. Transformations (translation, rotation, scale) can be applied to geometrical objects like CSG, Polygon, Vertex and Vector3d.
This transform class uses the builder pattern to define combined transformations.
Example:
// t applies rotation and translation Transform t = new Transform().rotX(45).translate(2,1,0);
TODO: use quaternions for rotations.
Definition at line 60 of file Transform.java.
eu.mihosoft.vrl.v3d.Transform.Transform | ( | ) |
Constructor.
Creates a unit transform.
Definition at line 72 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix(), and eu.mihosoft.vrl.v3d.Transform.m.
Referenced by eu.mihosoft.vrl.v3d.Transform.inverse(), eu.mihosoft.vrl.v3d.Transform.move(), eu.mihosoft.vrl.v3d.Transform.movex(), eu.mihosoft.vrl.v3d.Transform.movey(), eu.mihosoft.vrl.v3d.Transform.movez(), eu.mihosoft.vrl.v3d.Transform.rotx(), eu.mihosoft.vrl.v3d.Transform.roty(), eu.mihosoft.vrl.v3d.Transform.rotz(), and eu.mihosoft.vrl.v3d.Transform.unity().
eu.mihosoft.vrl.v3d.Transform.Transform | ( | Matrix4d | m | ) |
Constructor.
m | matrix |
Definition at line 95 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.m.
Applies the specified transform to this transform.
t | transform to apply |
Definition at line 576 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
Referenced by eu.mihosoft.vrl.v3d.svg.SVGLoad.getNewframe().
Matrix4d eu.mihosoft.vrl.v3d.Transform.getInternalMatrix | ( | ) |
Definition at line 582 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.m.
Referenced by eu.mihosoft.vrl.v3d.Transform.apply(), eu.mihosoft.vrl.v3d.Transform.getQuataurionW(), eu.mihosoft.vrl.v3d.Transform.getQuataurionX(), eu.mihosoft.vrl.v3d.Transform.getQuataurionY(), eu.mihosoft.vrl.v3d.Transform.getQuataurionZ(), eu.mihosoft.vrl.v3d.Transform.getScale(), eu.mihosoft.vrl.v3d.Transform.getX(), eu.mihosoft.vrl.v3d.Transform.getY(), eu.mihosoft.vrl.v3d.Transform.getZ(), eu.mihosoft.vrl.v3d.Transform.inverse(), eu.mihosoft.vrl.v3d.Transform.invert(), eu.mihosoft.vrl.v3d.Transform.isMirror(), eu.mihosoft.vrl.v3d.Transform.mirror(), eu.mihosoft.vrl.v3d.Transform.rotX(), eu.mihosoft.vrl.v3d.Transform.rotY(), eu.mihosoft.vrl.v3d.Transform.rotZ(), eu.mihosoft.vrl.v3d.Transform.scale(), eu.mihosoft.vrl.v3d.Transform.scaleX(), eu.mihosoft.vrl.v3d.Transform.scaleY(), eu.mihosoft.vrl.v3d.Transform.scaleZ(), eu.mihosoft.vrl.v3d.Transform.toString(), eu.mihosoft.vrl.v3d.Transform.Transform(), eu.mihosoft.vrl.v3d.Transform.transform(), eu.mihosoft.vrl.v3d.Transform.translate(), eu.mihosoft.vrl.v3d.Transform.translateX(), eu.mihosoft.vrl.v3d.Transform.translateY(), and eu.mihosoft.vrl.v3d.Transform.translateZ().
double eu.mihosoft.vrl.v3d.Transform.getQuataurionW | ( | ) |
Definition at line 248 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
double eu.mihosoft.vrl.v3d.Transform.getQuataurionX | ( | ) |
Definition at line 224 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
double eu.mihosoft.vrl.v3d.Transform.getQuataurionY | ( | ) |
Definition at line 232 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
double eu.mihosoft.vrl.v3d.Transform.getQuataurionZ | ( | ) |
Definition at line 240 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
double eu.mihosoft.vrl.v3d.Transform.getScale | ( | ) |
Performs an SVD normalization of the underlying matrix to calculate and return the uniform scale factor. If the matrix has non-uniform scale factors, the largest of the x, y, and z scale factors distill be returned.
Note: this transformation is not modified.
Definition at line 553 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
double eu.mihosoft.vrl.v3d.Transform.getX | ( | ) |
Definition at line 257 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
double eu.mihosoft.vrl.v3d.Transform.getY | ( | ) |
Definition at line 263 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
double eu.mihosoft.vrl.v3d.Transform.getZ | ( | ) |
Definition at line 269 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
Transform eu.mihosoft.vrl.v3d.Transform.inverse | ( | ) |
Return a new transform that is inverted
Definition at line 591 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix(), and eu.mihosoft.vrl.v3d.Transform.Transform().
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabs(), eu.mihosoft.vrl.v3d.ext.org.poly2tri.PolygonUtil.concaveToConvex(), and eu.mihosoft.vrl.v3d.svg.SVGLoad.getNewframe().
Transform eu.mihosoft.vrl.v3d.Transform.invert | ( | ) |
Apply an inversion to this transform
Definition at line 604 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
boolean eu.mihosoft.vrl.v3d.Transform.isMirror | ( | ) |
Indicates whether this transform performs a mirror operation, i.e., flips the orientation.
true
if this transform performs a mirror operation; false
otherwise Definition at line 564 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
Applies a mirror operation to this transform.
plane | the plane that defines the mirror operation |
Definition at line 327 of file Transform.java.
References eu.mihosoft.vrl.v3d.Plane.dist, eu.mihosoft.vrl.v3d.Transform.getInternalMatrix(), eu.mihosoft.vrl.v3d.Plane.normal, eu.mihosoft.vrl.v3d.Vector3d.x(), eu.mihosoft.vrl.v3d.Vector3d.y(), and eu.mihosoft.vrl.v3d.Vector3d.z().
Transform eu.mihosoft.vrl.v3d.Transform.mirrorx | ( | ) |
mirror about x axis.
Definition at line 682 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.scaleX().
Transform eu.mihosoft.vrl.v3d.Transform.mirrory | ( | ) |
mirror about y axis.
Definition at line 664 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.scaleY().
Transform eu.mihosoft.vrl.v3d.Transform.mirrorz | ( | ) |
mirror about z axis.
Definition at line 673 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.scaleZ().
Transform eu.mihosoft.vrl.v3d.Transform.move | ( | Number | x, |
Number | y, | ||
Number | z | ||
) |
Definition at line 610 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.Transform().
Referenced by eu.mihosoft.vrl.v3d.Transform.move().
Transform eu.mihosoft.vrl.v3d.Transform.move | ( | Number[] | posVector | ) |
Definition at line 619 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.move().
Definition at line 616 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.Transform(), eu.mihosoft.vrl.v3d.Vector3d.x(), eu.mihosoft.vrl.v3d.Vector3d.y(), and eu.mihosoft.vrl.v3d.Vector3d.z().
Definition at line 613 of file Transform.java.
References eu.mihosoft.vrl.v3d.Vertex.getX(), eu.mihosoft.vrl.v3d.Vertex.getY(), eu.mihosoft.vrl.v3d.Vertex.getZ(), and eu.mihosoft.vrl.v3d.Transform.Transform().
Transform eu.mihosoft.vrl.v3d.Transform.movex | ( | Number | howFarToMove | ) |
Movex.
howFarToMove | the how far to move |
Definition at line 653 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.Transform().
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabsReorientation(), eu.mihosoft.vrl.v3d.Extrude.revolve(), and eu.mihosoft.vrl.v3d.Toroid.Toroid().
Transform eu.mihosoft.vrl.v3d.Transform.movey | ( | Number | howFarToMove | ) |
Movey.
howFarToMove | the how far to move |
Definition at line 631 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.Transform().
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabsReorientation().
Transform eu.mihosoft.vrl.v3d.Transform.movez | ( | Number | howFarToMove | ) |
Movez.
howFarToMove | the how far to move |
Definition at line 642 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.Transform().
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabsReorientation().
Transform eu.mihosoft.vrl.v3d.Transform.rot | ( | double | x, |
double | y, | ||
double | z | ||
) |
Applies a rotation operation to this transform.
x | x axis rotation (degrees) |
y | y axis rotation (degrees) |
z | z axis rotation (degrees) |
Definition at line 161 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.rotX(), eu.mihosoft.vrl.v3d.Transform.rotY(), and eu.mihosoft.vrl.v3d.Transform.rotZ().
Applies a rotation operation to this transform.
vec | axis rotation for x, y, z (degrees) |
Definition at line 173 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.rotX(), eu.mihosoft.vrl.v3d.Transform.rotY(), eu.mihosoft.vrl.v3d.Transform.rotZ(), eu.mihosoft.vrl.v3d.Vector3d.x(), eu.mihosoft.vrl.v3d.Vector3d.y(), and eu.mihosoft.vrl.v3d.Vector3d.z().
Transform eu.mihosoft.vrl.v3d.Transform.rotX | ( | double | degrees | ) |
Applies rotation operation around the x axis to this transform.
degrees | degrees |
Definition at line 106 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
Referenced by eu.mihosoft.vrl.v3d.Transform.rot(), and eu.mihosoft.vrl.v3d.svg.SVGExporter.toPolyLine().
Transform eu.mihosoft.vrl.v3d.Transform.rotx | ( | Number | degreesToRotate | ) |
Rotx.
degreesToRotate | the degrees to rotate |
Definition at line 716 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.Transform().
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabsReorientation(), and eu.mihosoft.vrl.v3d.ext.org.poly2tri.PolygonUtil.concaveToConvex().
Transform eu.mihosoft.vrl.v3d.Transform.rotY | ( | double | degrees | ) |
Applies rotation operation around the y axis to this transform.
degrees | degrees |
Definition at line 123 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
Referenced by eu.mihosoft.vrl.v3d.Extrude.bezierToTransforms(), and eu.mihosoft.vrl.v3d.Transform.rot().
Transform eu.mihosoft.vrl.v3d.Transform.roty | ( | Number | degreesToRotate | ) |
Roty.
degreesToRotate | the degrees to rotate |
Definition at line 705 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.Transform().
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabsReorientation(), eu.mihosoft.vrl.v3d.ext.org.poly2tri.PolygonUtil.concaveToConvex(), eu.mihosoft.vrl.v3d.Parabola.coneByEquation(), eu.mihosoft.vrl.v3d.Parabola.coneByFocalLength(), eu.mihosoft.vrl.v3d.Parabola.coneByHeight(), eu.mihosoft.vrl.v3d.Extrude.revolve(), and eu.mihosoft.vrl.v3d.Toroid.Toroid().
Transform eu.mihosoft.vrl.v3d.Transform.rotZ | ( | double | degrees | ) |
Applies rotation operation around the z axis to this transform.
degrees | degrees |
Definition at line 140 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
Referenced by eu.mihosoft.vrl.v3d.Extrude.bezierToTransforms(), and eu.mihosoft.vrl.v3d.Transform.rot().
Transform eu.mihosoft.vrl.v3d.Transform.rotz | ( | Number | degreesToRotate | ) |
Rotz.
degreesToRotate | the degrees to rotate |
Definition at line 694 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.Transform().
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabsReorientation().
Transform eu.mihosoft.vrl.v3d.Transform.scale | ( | double | s | ) |
Applies a scale operation to this transform.
s | s scale value (x, y and z) |
Definition at line 392 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
Transform eu.mihosoft.vrl.v3d.Transform.scale | ( | double | x, |
double | y, | ||
double | z | ||
) |
Applies a scale operation to this transform.
x | x scale value |
y | y scale value |
z | z scale value |
Definition at line 373 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
Applies a scale operation to this transform.
vec | vector that specifies scale (x,y,z) |
Definition at line 350 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix(), eu.mihosoft.vrl.v3d.Vector3d.x(), eu.mihosoft.vrl.v3d.Vector3d.y(), and eu.mihosoft.vrl.v3d.Vector3d.z().
Referenced by eu.mihosoft.vrl.v3d.svg.SVGLoad.getNewframe().
Transform eu.mihosoft.vrl.v3d.Transform.scaleX | ( | double | s | ) |
Applies a scale operation (x axis) to this transform.
s | x scale value |
Definition at line 411 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
Referenced by eu.mihosoft.vrl.v3d.Transform.mirrorx().
Transform eu.mihosoft.vrl.v3d.Transform.scaleY | ( | double | s | ) |
Applies a scale operation (y axis) to this transform.
s | y scale value |
Definition at line 430 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
Referenced by eu.mihosoft.vrl.v3d.Transform.mirrory().
Transform eu.mihosoft.vrl.v3d.Transform.scaleZ | ( | double | s | ) |
Applies a scale operation (z axis) to this transform.
s | z scale value |
Definition at line 449 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
Referenced by eu.mihosoft.vrl.v3d.Transform.mirrorz().
String eu.mihosoft.vrl.v3d.Transform.toString | ( | ) |
Definition at line 281 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
Applies this transform to the specified vector.
vec | vector to transform |
Definition at line 468 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix(), eu.mihosoft.vrl.v3d.Vector3d.x(), eu.mihosoft.vrl.v3d.Vector3d.y(), and eu.mihosoft.vrl.v3d.Vector3d.z().
Referenced by eu.mihosoft.vrl.v3d.Cube.toPolygons(), and eu.mihosoft.vrl.v3d.RoundedCube.toPolygons().
Applies this transform to the specified vector.
vec | vector to transform |
amount | transform amount (0 = 0 %, 1 = 100%) |
Definition at line 492 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix(), eu.mihosoft.vrl.v3d.Vector3d.x(), eu.mihosoft.vrl.v3d.Vector3d.y(), and eu.mihosoft.vrl.v3d.Vector3d.z().
Transform eu.mihosoft.vrl.v3d.Transform.translate | ( | double | x, |
double | y, | ||
double | z | ||
) |
Applies a translation operation to this transform.
x | translation (x axis) |
y | translation (y axis) |
z | translation (z axis) |
Definition at line 203 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
Applies a translation operation to this transform.
vec | translation vector (x,y,z) |
Definition at line 187 of file Transform.java.
References eu.mihosoft.vrl.v3d.Vector3d.x(), eu.mihosoft.vrl.v3d.Vector3d.y(), and eu.mihosoft.vrl.v3d.Vector3d.z().
Referenced by eu.mihosoft.vrl.v3d.Cube.toPolygons(), and eu.mihosoft.vrl.v3d.RoundedCube.toPolygons().
Transform eu.mihosoft.vrl.v3d.Transform.translateX | ( | double | value | ) |
Applies a translation operation to this transform.
value | translation (x axis) |
Definition at line 217 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
Referenced by eu.mihosoft.vrl.v3d.Extrude.bezierToTransforms(), eu.mihosoft.vrl.v3d.CSG.movex(), and eu.mihosoft.vrl.v3d.Polygon.movex().
Transform eu.mihosoft.vrl.v3d.Transform.translateY | ( | double | value | ) |
Applies a translation operation to this transform.
value | translation (y axis) |
Definition at line 299 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
Referenced by eu.mihosoft.vrl.v3d.Extrude.bezierToTransforms(), eu.mihosoft.vrl.v3d.CSG.movey(), and eu.mihosoft.vrl.v3d.Polygon.movey().
Transform eu.mihosoft.vrl.v3d.Transform.translateZ | ( | double | value | ) |
Applies a translation operation to this transform.
value | translation (z axis) |
Definition at line 313 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.getInternalMatrix().
Referenced by eu.mihosoft.vrl.v3d.Extrude.bezierToTransforms(), eu.mihosoft.vrl.v3d.CSG.movez(), and eu.mihosoft.vrl.v3d.Polygon.movez().
|
static |
Returns a new unity transform.
Definition at line 85 of file Transform.java.
References eu.mihosoft.vrl.v3d.Transform.Transform().
Referenced by eu.mihosoft.vrl.v3d.CSG.movex(), eu.mihosoft.vrl.v3d.Polygon.movex(), eu.mihosoft.vrl.v3d.CSG.movey(), eu.mihosoft.vrl.v3d.Polygon.movey(), eu.mihosoft.vrl.v3d.CSG.movez(), eu.mihosoft.vrl.v3d.Polygon.movez(), eu.mihosoft.vrl.v3d.Cube.toPolygons(), and eu.mihosoft.vrl.v3d.RoundedCube.toPolygons().
|
private |
Internal 4x4 matrix.
Definition at line 65 of file Transform.java.
Referenced by eu.mihosoft.vrl.v3d.Transform.getInternalMatrix(), and eu.mihosoft.vrl.v3d.Transform.Transform().