The Transform3D module
PR 29795 Added new functionality to parametrics to aid in creating mirrors and other copies of materials .... in the Transform3D module added a new function MirrorTransform and operators for scaling a Transform3D by a real number and adding two Transform3D objects. (v7.3)
PR 31422 In parametrics implemented __eq__ and __ne__ for Uuid, Point3D, and Transform3D such that the following holds.
x = Transform3D.Transform3D()
y = Transform3D.Transform3D()
assert x == y
assert not x <> y
(v2015)
To access Transform3D documentation, you can Run the following parametric, or use the built-in Python functions dir() and help() , or you can simply read on. Below the script is output from running the script, printed and formatted for your reference.
# A script that outputs help on Transform3D.
import Transform3D
for a in dir(Transform3D):
if a[0] != '_':
print(help(getattr(Transform3D, a)))
Output that is generated when you Run the above parametric:
*** Help on Transform3D Functions ***
GetX(...)
GetX( m ) == m.GetBasisVectorX()
C++ signature:
GetX(Xform) -> Point3D
GetXY(...)
C++ signature:
GetXY(Xform) -> boost::python::tuple
GetXYZ(...)
C++ signature:
GetXYZ(Xform) -> boost::python::tuple
GetXYZT(...)
C++ signature:
GetXYZT(Xform) -> boost::python::tuple
GetXZ(...)
C++ signature:
GetXZ(Xform) -> boost::python::tuple
GetY(...)
GetY( m ) == m.GetBasisVectorY()
C++ signature:
GetY(Xform) -> Point3D
GetYZ(...)
C++ signature:
GetYZ(Xform) -> boost::python::tuple
GetZ(...)
GetZ( m ) == m.GetBasisVectorZ()
C++ signature:
GetZ(Xform) -> Point3D
MaterialIndexTransform(...)
Same as MaterialIndexTransform( int, int ), except with an inch scaling factor
C++ signature:
MaterialIndexTransform(int, int) -> Xform
See Transform3D( int, int )
C++ signature:
MaterialIndexTransform(int, int, double) -> Xform
MemberIndexTransform(...)
Same as MemberIndexTransform( int ), except with an inch scaling factor.
C++ signature:
MemberIndexTransform(int) -> Xform
See Transform3D( int )
C++ signature:
MemberIndexTransform(int, double) -> Xform
MemberTransform(...)
Returns a Transform3D corresponding to a member with the specified x-axis.
C++ signature:
MemberTransform(Point3D) -> Xform
Returns a Transform3D corresponding to a member with the specified rotation about the specified x-axis.
C++ signature:
MemberTransform(Point3D, double) -> Xform
Returns a Transform3D corresponding to a member with the specified left end and rotation about the x-axis.
C++ signature:
MemberTransform(Point3D, double, Point3D) -> Xform
Returns a Transform3D corresponding to a member with the specified left and right ends.
C++ signature:
MemberTransform(Point3D, Point3D) -> Xform
Returns a Transform3D corresponding to a member with the specified left and right ends and rotation.
C++ signature:
MemberTransform(Point3D, Point3D, double) -> Xform
*** Help on class Transform3D in module Transform3D ***
class Transform3D(Boost.Python.instance)
| Method resolution order:
| Transform3D
| Boost.Python.instance
| __builtin__.object
|
| Methods defined here:
| Clean(...)
| Validate the matrix and round numbers and set numbers close to zero to zero and numbers close to one to one.
| C++ signature:
| Clean(Xform {lvalue}) -> int
|
| Determinate(...)
| Return the matrix determinate.
| C++ signature:
| Determinate(Xform {lvalue}) -> double
|
| EpsilonEquals(...)
| Return True iff each element of one matrix is within the specified absolute tolerance of the corresponding element in the other matrix.
| C++ signature:
| EpsilonEquals(Xform {lvalue}, Xform, double) -> bool
|
| GetAxisAngle(...)
| Return a tuple ( axis, angle ) that represents the orientation of an orthogonal transformation matrix as a rotation about axis by angle radians.
| C++ signature:
| GetAxisAngle(Xform) -> boost::python::tuple
|
| GetBasisVectorX(...)
| Returns a copy of the x-axis of the matrix.
| C++ signature:
| GetBasisVectorX(Xform {lvalue}) -> Point3D
|
| GetBasisVectorY(...)
| Returns a copy of the y-axis of the matrix.
| C++ signature:
| GetBasisVectorY(Xform {lvalue}) -> Point3D
|
| GetBasisVectorZ(...)
| Returns a copy of the z-axis of the matrix.
| C++ signature:
| GetBasisVectorZ(Xform {lvalue}) -> Point3D
|
| GetBasisVectors(...)
| Returns a copy of the three orthogonal vectors of the matrix
| C++ signature:
| GetBasisVectors(Xform {lvalue}, Point3D*, Point3D*, Point3D*, Point3D*) -> void*
|
| GetTranslation(...)
| Returns a copy of the translation portion of the matrix.
| C++ signature:
| GetTranslation(Xform {lvalue}) -> Point3D
|
| Inverse(...)
| Returns the inverse of the matrix.
| C++ signature:
| Inverse(Xform {lvalue}) -> Xform
|
| Invert(...)
| Inverts this matrix.
| C++ signature:
| Invert(Xform {lvalue}) -> Xform
|
| Multiply(...)
| Set this matrix to the result of this * the specified matrix.
| C++ signature:
| Multiply(Xform {lvalue}, Xform) -> Xform
|
| MultiplyInverse(...)
| Set this matrix to the result of this * the inverse of this.
| C++ signature:
| MultiplyInverse(Xform {lvalue}, Xform) -> Xform
|
| Rotate(...)
| Set this matrix to the result of the specified rotation matrix * this.
| C++ signature:
| Rotate(Xform {lvalue}, Point3D, double) -> Xform
|
| Set this matrix to the result of the specified rotation matrix * this.
| C++ signature:
| Rotate(Xform {lvalue}, Point3D, Point3D, double) -> Xform
|
| RotatePost(...)
| Set this matrix to the result of this * the specifed rotation matrix.
| C++ signature:
| RotatePost(Xform {lvalue}, Point3D, double) -> Xform
|
| Set this matrix to the result of this * the specifed rotation matrix.
| C++ signature:
| RotatePost(Xform {lvalue}, Point3D, Point3D, double) -> Xform
|
| RotateX(...)
| Set this matrix to the result of the specified rotation matrix * this.
| C++ signature:
| RotateX(Xform {lvalue}, double) -> Xform
|
| RotateXPost(...)
| Set this matrix to the result of this * the specifed rotation matrix.
| C++ signature:
| RotateXPost(Xform {lvalue}, double) -> Xform
|
| RotateY(...)
| Set this matrix to the result of the specified rotation matrix * this.
| C++ signature:
| RotateY(Xform {lvalue}, double) -> Xform
|
| RotateYPost(...)
| Set this matrix to the result of this * the specifed rotation matrix.
| C++ signature:
| RotateYPost(Xform {lvalue}, double) -> Xform
|
| RotateZ(...)
| Set this matrix to the result of the specified rotation matrix * this.
| C++ signature:
| RotateZ(Xform {lvalue}, double) -> Xform
|
| RotateZPost(...)
| Set this matrix to the result of this * the specifed rotation matrix.
| C++ signature:
| RotateZPost(Xform {lvalue}, double) -> Xform
|
| Set(...)
| Set the values of this matrix to the values of specified matrix.
| C++ signature:
| Set(Xform {lvalue}, Xform) -> Xform
|
| SetBasisVectors(...)
| Set the x-axis, y-axis, z-axis, and translation to the specified parameters.
| C++ signature:
| SetBasisVectors(Xform {lvalue}, Point3D, Point3D, Point3D, Point3D) -> Xform
|
| SetIdentity(...)
| Set this matrix to the identity matrix.
| C++ signature:
| SetIdentity(Xform {lvalue}) -> Xform
|
| SetRotation(...)
| Set the rotation components of the matrix to the specified rotation about an arbitrary axis.
| C++ signature:
| SetRotation(Xform {lvalue}, Point3D, double) -> Xform
|
| SetRotationBasisVectors(...)
| Set the x-axis, y-axis, and z-axis according to the nine specified numbers.
| C++ signature:
| SetRotationBasisVectors(Xform {lvalue}, double, double, double, double, double, double, double, double, double) -> Xform
|
| Set the x-axis, y-axis, and z-axis according to the three specified vectors.
| C++ signature:
| SetRotationBasisVectors(Xform {lvalue}, Point3D, Point3D, Point3D) -> Xform
|
| SetRotationX(...)
| Set the rotation components of the matrix to the specified rotation about the x-axis.
| C++ signature:
| SetRotationX(Xform {lvalue}, double) -> Xform
|
| SetRotationXYZ(...)
| Set the roation components of the matrix to the rotation specified by rotating about x, then y, then z.
| C++ signature:
| SetRotationXYZ(Xform {lvalue}, double, double, double) -> Xform
|
| SetRotationY(...)
| Set the rotation components of the matrix to the specified rotation about the y-axis.
| C++ signature:
| SetRotationY(Xform {lvalue}, double) -> Xform
|
| SetRotationY_LH(...)
| Set the rotation components of the matrix to the specified left-handed rotation about the y-axis.
| C++ signature:
| SetRotationY_LH(Xform {lvalue}, double) -> Xform
|
| SetRotationZ(...)
| Set the rotation components of the matrix to the specified rotation about the x-axis.
| C++ signature:
| SetRotationZ(Xform {lvalue}, double) -> Xform
|
| SetTranslation(...)
| Set the translation of this matrix according to the three specified numbers.
| C++ signature:
| SetTranslation(Xform {lvalue}, double, double, double) -> Xform
|
| Set the translation of this matrix according to the specified point.
| C++ signature:
| SetTranslation(Xform {lvalue}, Point3D) -> Xform
|
| TransformPoint(...)
| Returns the specified point transformed by this matrix.
| C++ signature:
| TransformPoint(Xform {lvalue}, Point3D*) -> void*
|
| TransformVector(...)
| Returns the specified vector transformed by this matrix.
| C++ signature:
| TransformVector(Xform {lvalue}, Point3D*) -> void*
|
| Translate(...)
| Set this matrix to the specified translation * this matrix.
| C++ signature:
| Translate(Xform {lvalue}, Point3D) -> Xform
|
| TranslatePost(...)
| Set this matrix to this matrix * the specified translation.
| C++ signature:
| TranslatePost(Xform {lvalue}, Point3D) -> Xform
|
| TranslateToGlobal(...)
| Returns the specified vector transformed by this matrix. In other words, given local coordinates this will return global coordinates.
| C++ signature:
| TranslateToGlobal(Xform, Point3D) -> Point3D
|
| TranslateToLocal(...)
| Returns the specified vector transformed by the inverse of this matrix. In other words, given global coordinates this will return local coordinates.
| C++ signature:
| TranslateToLocal(Xform, Point3D) -> Point3D
|
| __getinitargs__(...)
| C++ signature:
| __getinitargs__(Xform) -> boost::python::tuple
|
| __imul__(...)
| C++ signature:
| __imul__(boost::python::back_reference<Xform&>, Xform) -> _object*
|
| __init__(...)
| C++ signature:
| __init__(_object*) -> void*
| C++ signature:
| __init__(_object*, Xform) -> void*
| C++ signature:
| __init__(_object*, Point3D, Point3D, Point3D) -> void*
| C++ signature:
| __init__(_object*, Point3D, Point3D, Point3D, Point3D) -> void*
| C++ signature:
| __init__(_object*, Point3D) -> void*
| Construct a Transform3D for the given member index.
| C++ signature:
| __init__(boost::python::api::object, int) -> void*
| Construct a Transform3D from the given member index and material index.
| C++ signature:
| __init__(boost::python::api::object, int, int) -> void*
|
| __mul__(...)
| C++ signature:
| __mul__(Xform {lvalue}, Xform) -> _object*
|
| __reduce__ = <unnamed Boost.Python function>(...)
|
| __repr__(...)
| C++ signature:
| __repr__(Xform) -> std::string
|
| __str__(...)
| C++ signature:
| __str__(Xform {lvalue}) -> std::string
|
| ----------------------------------------------------------------------
| Data and other attributes defined here:
| __instance_size__ = 104
|
| __safe_for_unpickling__ = True
|
| ----------------------------------------------------------------------
| Data and other attributes inherited from Boost.Python.instance:
| __dict__ = <dictproxy object>
|
| __new__ = <built-in method __new__ of Boost.Python.class object>
| T.__new__(S, ...) -> a new object with type S, a subtype of T
|
| __weakref__ = <member '__weakref__' of 'Boost.Python.instance' objects...