Mathutils refactor & include in sphinx generated docs, (TODO, include getset'ers in docs)
- Mathutils.MidpointVecs --> vector.lerp(other, fac) - Mathutils.AngleBetweenVecs --> vector.angle(other) - Mathutils.ProjectVecs --> vector.project(other) - Mathutils.DifferenceQuats --> quat.difference(other) - Mathutils.Slerp --> quat.slerp(other, fac) - Mathutils.Rand: removed, use pythons random module - Mathutils.RotationMatrix(angle, size, axis_flag, axis) --> Mathutils.RotationMatrix(angle, size, axis); merge axis & axis_flag args - Matrix.scalePart --> Matrix.scale_part - Matrix.translationPart --> Matrix.translation_part - Matrix.rotationPart --> Matrix.rotation_part - toMatrix --> to_matrix - toEuler --> to_euler - toQuat --> to_quat - Vector.toTrackQuat --> Vector.to_track_quat
This commit is contained in:
@@ -10,6 +10,83 @@ Geometry
|
||||
This new module provides access to a geometry function.
|
||||
"""
|
||||
|
||||
def Intersect(vec1, vec2, vec3, ray, orig, clip=1):
|
||||
"""
|
||||
Return the intersection between a ray and a triangle, if possible, return None otherwise.
|
||||
@type vec1: Vector object.
|
||||
@param vec1: A 3d vector, one corner of the triangle.
|
||||
@type vec2: Vector object.
|
||||
@param vec2: A 3d vector, one corner of the triangle.
|
||||
@type vec3: Vector object.
|
||||
@param vec3: A 3d vector, one corner of the triangle.
|
||||
@type ray: Vector object.
|
||||
@param ray: A 3d vector, the orientation of the ray. the length of the ray is not used, only the direction.
|
||||
@type orig: Vector object.
|
||||
@param orig: A 3d vector, the origin of the ray.
|
||||
@type clip: integer
|
||||
@param clip: if 0, don't restrict the intersection to the area of the triangle, use the infinite plane defined by the triangle.
|
||||
@rtype: Vector object
|
||||
@return: The intersection between a ray and a triangle, if possible, None otherwise.
|
||||
"""
|
||||
|
||||
def TriangleArea(vec1, vec2, vec3):
|
||||
"""
|
||||
Return the area size of the 2D or 3D triangle defined.
|
||||
@type vec1: Vector object.
|
||||
@param vec1: A 2d or 3d vector, one corner of the triangle.
|
||||
@type vec2: Vector object.
|
||||
@param vec2: A 2d or 3d vector, one corner of the triangle.
|
||||
@type vec3: Vector object.
|
||||
@param vec3: A 2d or 3d vector, one corner of the triangle.
|
||||
@rtype: float
|
||||
@return: The area size of the 2D or 3D triangle defined.
|
||||
"""
|
||||
|
||||
def TriangleNormal(vec1, vec2, vec3):
|
||||
"""
|
||||
Return the normal of the 3D triangle defined.
|
||||
@type vec1: Vector object.
|
||||
@param vec1: A 3d vector, one corner of the triangle.
|
||||
@type vec2: Vector object.
|
||||
@param vec2: A 3d vector, one corner of the triangle.
|
||||
@type vec3: Vector object.
|
||||
@param vec3: A 3d vector, one corner of the triangle.
|
||||
@rtype: float
|
||||
@return: The normal of the 3D triangle defined.
|
||||
"""
|
||||
|
||||
def QuadNormal(vec1, vec2, vec3, vec4):
|
||||
"""
|
||||
Return the normal of the 3D quad defined.
|
||||
@type vec1: Vector object.
|
||||
@param vec1: A 3d vector, the first vertex of the quad.
|
||||
@type vec2: Vector object.
|
||||
@param vec2: A 3d vector, the second vertex of the quad.
|
||||
@type vec3: Vector object.
|
||||
@param vec3: A 3d vector, the third vertex of the quad.
|
||||
@type vec4: Vector object.
|
||||
@param vec4: A 3d vector, the fourth vertex of the quad.
|
||||
@rtype: float
|
||||
@return: The normal of the 3D quad defined.
|
||||
"""
|
||||
|
||||
def LineIntersect(vec1, vec2, vec3, vec4):
|
||||
"""
|
||||
Return a tuple with the points on each line respectively closest to the other
|
||||
(when both lines intersect, both vector hold the same value).
|
||||
The lines are evaluated as infinite lines in space, the values returned may not be between the 2 points given for each line.
|
||||
@type vec1: Vector object.
|
||||
@param vec1: A 3d vector, one point on the first line.
|
||||
@type vec2: Vector object.
|
||||
@param vec2: A 3d vector, another point on the first line.
|
||||
@type vec3: Vector object.
|
||||
@param vec3: A 3d vector, one point on the second line.
|
||||
@type vec4: Vector object.
|
||||
@param vec4: A 3d vector, another point on the second line.
|
||||
@rtype: (Vector object, Vector object)
|
||||
@return: A tuple with the points on each line respectively closest to the other.
|
||||
"""
|
||||
|
||||
def PolyFill(polylines):
|
||||
"""
|
||||
Takes a list of polylines and calculates triangles that would fill in the polylines.
|
||||
|
||||
@@ -22,242 +22,13 @@ Example::
|
||||
matTotal.invert()
|
||||
|
||||
mat3 = matTotal.rotationPart
|
||||
quat1 = mat.toQuat()
|
||||
quat2 = mat3.toQuat()
|
||||
quat1 = mat.to_quat()
|
||||
quat2 = mat3.to_quat()
|
||||
|
||||
angle = DifferenceQuats(quat1, quat2)
|
||||
print angle
|
||||
"""
|
||||
|
||||
def Rand (low=0.0, high = 1.0):
|
||||
"""
|
||||
Return a random number within a range.
|
||||
low and high represent are optional parameters which represent the range
|
||||
from which the random number must return its result.
|
||||
@type low: float
|
||||
@param low: The lower range.
|
||||
@type high: float
|
||||
@param high: The upper range.
|
||||
"""
|
||||
|
||||
def Intersect(vec1, vec2, vec3, ray, orig, clip=1):
|
||||
"""
|
||||
Return the intersection between a ray and a triangle, if possible, return None otherwise.
|
||||
@type vec1: Vector object.
|
||||
@param vec1: A 3d vector, one corner of the triangle.
|
||||
@type vec2: Vector object.
|
||||
@param vec2: A 3d vector, one corner of the triangle.
|
||||
@type vec3: Vector object.
|
||||
@param vec3: A 3d vector, one corner of the triangle.
|
||||
@type ray: Vector object.
|
||||
@param ray: A 3d vector, the orientation of the ray. the length of the ray is not used, only the direction.
|
||||
@type orig: Vector object.
|
||||
@param orig: A 3d vector, the origin of the ray.
|
||||
@type clip: integer
|
||||
@param clip: if 0, don't restrict the intersection to the area of the triangle, use the infinite plane defined by the triangle.
|
||||
@rtype: Vector object
|
||||
@return: The intersection between a ray and a triangle, if possible, None otherwise.
|
||||
"""
|
||||
|
||||
def TriangleArea(vec1, vec2, vec3):
|
||||
"""
|
||||
Return the area size of the 2D or 3D triangle defined.
|
||||
@type vec1: Vector object.
|
||||
@param vec1: A 2d or 3d vector, one corner of the triangle.
|
||||
@type vec2: Vector object.
|
||||
@param vec2: A 2d or 3d vector, one corner of the triangle.
|
||||
@type vec3: Vector object.
|
||||
@param vec3: A 2d or 3d vector, one corner of the triangle.
|
||||
@rtype: float
|
||||
@return: The area size of the 2D or 3D triangle defined.
|
||||
"""
|
||||
|
||||
def TriangleNormal(vec1, vec2, vec3):
|
||||
"""
|
||||
Return the normal of the 3D triangle defined.
|
||||
@type vec1: Vector object.
|
||||
@param vec1: A 3d vector, one corner of the triangle.
|
||||
@type vec2: Vector object.
|
||||
@param vec2: A 3d vector, one corner of the triangle.
|
||||
@type vec3: Vector object.
|
||||
@param vec3: A 3d vector, one corner of the triangle.
|
||||
@rtype: float
|
||||
@return: The normal of the 3D triangle defined.
|
||||
"""
|
||||
|
||||
def QuadNormal(vec1, vec2, vec3, vec4):
|
||||
"""
|
||||
Return the normal of the 3D quad defined.
|
||||
@type vec1: Vector object.
|
||||
@param vec1: A 3d vector, the first vertex of the quad.
|
||||
@type vec2: Vector object.
|
||||
@param vec2: A 3d vector, the second vertex of the quad.
|
||||
@type vec3: Vector object.
|
||||
@param vec3: A 3d vector, the third vertex of the quad.
|
||||
@type vec4: Vector object.
|
||||
@param vec4: A 3d vector, the fourth vertex of the quad.
|
||||
@rtype: float
|
||||
@return: The normal of the 3D quad defined.
|
||||
"""
|
||||
|
||||
def LineIntersect(vec1, vec2, vec3, vec4):
|
||||
"""
|
||||
Return a tuple with the points on each line respectively closest to the other
|
||||
(when both lines intersect, both vector hold the same value).
|
||||
The lines are evaluated as infinite lines in space, the values returned may not be between the 2 points given for each line.
|
||||
@type vec1: Vector object.
|
||||
@param vec1: A 3d vector, one point on the first line.
|
||||
@type vec2: Vector object.
|
||||
@param vec2: A 3d vector, another point on the first line.
|
||||
@type vec3: Vector object.
|
||||
@param vec3: A 3d vector, one point on the second line.
|
||||
@type vec4: Vector object.
|
||||
@param vec4: A 3d vector, another point on the second line.
|
||||
@rtype: (Vector object, Vector object)
|
||||
@return: A tuple with the points on each line respectively closest to the other.
|
||||
"""
|
||||
|
||||
def AngleBetweenVecs(vec1, vec2):
|
||||
"""
|
||||
Return the angle between two vectors. Zero length vectors raise an error.
|
||||
@type vec1: Vector object.
|
||||
@param vec1: A 2d or 3d vector.
|
||||
@type vec2: Vector object.
|
||||
@param vec2: A 2d or 3d vector.
|
||||
@rtype: float
|
||||
@return: The angle between the vectors in degrees.
|
||||
@raise AttributeError: When there is a zero-length vector as an argument.
|
||||
"""
|
||||
|
||||
def MidpointVecs(vec1, vec2):
|
||||
"""
|
||||
Return a vector to the midpoint between two vectors.
|
||||
@type vec1: Vector object.
|
||||
@param vec1: A 2d,3d or 4d vector.
|
||||
@type vec2: Vector object.
|
||||
@param vec2: A 2d,3d or 4d vector.
|
||||
@rtype: Vector object
|
||||
@return: The vector to the midpoint.
|
||||
"""
|
||||
|
||||
def ProjectVecs(vec1, vec2):
|
||||
"""
|
||||
Return the projection of vec1 onto vec2.
|
||||
@type vec1: Vector object.
|
||||
@param vec1: A 2d,3d or 4d vector.
|
||||
@type vec2: Vector object.
|
||||
@param vec2: A 2d,3d or 4d vector.
|
||||
@rtype: Vector object
|
||||
@return: The parallel projection vector.
|
||||
"""
|
||||
|
||||
def RotationMatrix(angle, matSize, axisFlag, axis):
|
||||
"""
|
||||
Create a matrix representing a rotation.
|
||||
@type angle: float
|
||||
@param angle: The angle of rotation desired.
|
||||
@type matSize: int
|
||||
@param matSize: The size of the rotation matrix to construct.
|
||||
Can be 2d, 3d, or 4d.
|
||||
@type axisFlag: string (optional)
|
||||
@param axisFlag: Possible values:
|
||||
- "x - x-axis rotation"
|
||||
- "y - y-axis rotation"
|
||||
- "z - z-axis rotation"
|
||||
- "r - arbitrary rotation around vector"
|
||||
@type axis: Vector object. (optional)
|
||||
@param axis: The arbitrary axis of rotation used with "R"
|
||||
@rtype: Matrix object.
|
||||
@return: A new rotation matrix.
|
||||
"""
|
||||
|
||||
def TranslationMatrix(vector):
|
||||
"""
|
||||
Create a matrix representing a translation
|
||||
@type vector: Vector object
|
||||
@param vector: The translation vector
|
||||
@rtype: Matrix object.
|
||||
@return: An identity matrix with a translation.
|
||||
"""
|
||||
|
||||
def ScaleMatrix(factor, matSize, axis):
|
||||
"""
|
||||
Create a matrix representing a scaling.
|
||||
@type factor: float
|
||||
@param factor: The factor of scaling to apply.
|
||||
@type matSize: int
|
||||
@param matSize: The size of the scale matrix to construct.
|
||||
Can be 2d, 3d, or 4d.
|
||||
@type axis: Vector object. (optional)
|
||||
@param axis: Direction to influence scale.
|
||||
@rtype: Matrix object.
|
||||
@return: A new scale matrix.
|
||||
"""
|
||||
|
||||
def OrthoProjectionMatrix(plane, matSize, axis):
|
||||
"""
|
||||
Create a matrix to represent an orthographic projection
|
||||
@type plane: string
|
||||
@param plane: Can be any of the following:
|
||||
- "x - x projection (2D)"
|
||||
- "y - y projection (2D)"
|
||||
- "xy - xy projection"
|
||||
- "xz - xz projection"
|
||||
- "yz - yz projection"
|
||||
- "r - arbitrary projection plane"
|
||||
@type matSize: int
|
||||
@param matSize: The size of the projection matrix to construct.
|
||||
Can be 2d, 3d, or 4d.
|
||||
@type axis: Vector object. (optional)
|
||||
@param axis: Arbitrary perpendicular plane vector.
|
||||
@rtype: Matrix object.
|
||||
@return: A new projeciton matrix.
|
||||
"""
|
||||
|
||||
def ShearMatrix(plane, factor, matSize):
|
||||
"""
|
||||
Create a matrix to represent an orthographic projection
|
||||
@type plane: string
|
||||
@param plane: Can be any of the following:
|
||||
- "x - x shear (2D)"
|
||||
- "y - y shear (2D)"
|
||||
- "xy - xy shear"
|
||||
- "xz - xz shear"
|
||||
- "yz - yz shear"
|
||||
@type factor: float
|
||||
@param factor: The factor of shear to apply.
|
||||
@type matSize: int
|
||||
@param matSize: The size of the projection matrix to construct.
|
||||
Can be 2d, 3d, or 4d.
|
||||
@rtype: Matrix object.
|
||||
@return: A new shear matrix.
|
||||
"""
|
||||
|
||||
def DifferenceQuats(quat1, quat2):
|
||||
"""
|
||||
Returns a quaternion represting the rotational difference.
|
||||
@type quat1: Quaternion object.
|
||||
@param quat1: Quaternion.
|
||||
@type quat2: Quaternion object.
|
||||
@param quat2: Quaternion.
|
||||
@rtype: Quaternion object
|
||||
@return: Return a quaternion which which represents the rotational
|
||||
difference between the two quat rotations.
|
||||
"""
|
||||
|
||||
def Slerp(quat1, quat2, factor):
|
||||
"""
|
||||
Returns the interpolation of two quaternions.
|
||||
@type quat1: Quaternion object.
|
||||
@param quat1: Quaternion.
|
||||
@type quat2: Quaternion object.
|
||||
@param quat2: Quaternion.
|
||||
@type factor: float
|
||||
@param factor: The interpolation value
|
||||
@rtype: Quaternion object
|
||||
@return: The interpolated rotation.
|
||||
"""
|
||||
|
||||
class Vector:
|
||||
"""
|
||||
The Vector object
|
||||
@@ -330,100 +101,6 @@ class Vector:
|
||||
- (): An empty 3 dimensional vector.
|
||||
"""
|
||||
|
||||
def copy():
|
||||
"""
|
||||
Returns a copy of this vector
|
||||
@return: a copy of itself
|
||||
"""
|
||||
|
||||
def zero():
|
||||
"""
|
||||
Set all values to zero.
|
||||
@return: an instance of itself
|
||||
"""
|
||||
|
||||
def normalize():
|
||||
"""
|
||||
Normalize the vector, making the length of the vector always 1.0
|
||||
@note: Normalize works for vectors of all sizes, however 4D Vectors w axis is left untouched.
|
||||
@note: Normalizing a vector where all values are zero results in all axis having a nan value (not a number).
|
||||
@return: an instance of itself
|
||||
"""
|
||||
|
||||
def negate():
|
||||
"""
|
||||
Set all values to their negative.
|
||||
@return: an instance of its self
|
||||
"""
|
||||
|
||||
def resize2D():
|
||||
"""
|
||||
Resize the vector to 2d.
|
||||
@return: an instance of itself
|
||||
"""
|
||||
|
||||
def resize3D():
|
||||
"""
|
||||
Resize the vector to 3d. New axis will be 0.0.
|
||||
@return: an instance of itself
|
||||
"""
|
||||
|
||||
def resize4D():
|
||||
"""
|
||||
Resize the vector to 4d. New axis will be 0.0.
|
||||
The last component will be 1.0, to make multiplying 3d vectors by 4x4 matrices easier.
|
||||
@return: an instance of itself
|
||||
"""
|
||||
|
||||
def toTrackQuat(track, up):
|
||||
"""
|
||||
Return a quaternion rotation from the vector and the track and up axis.
|
||||
@type track: String.
|
||||
@param track: Possible values:
|
||||
- "x - x-axis up"
|
||||
- "y - y-axis up"
|
||||
- "z - z-axis up"
|
||||
- "-x - negative x-axis up"
|
||||
- "-y - negative y-axis up"
|
||||
- "-z - negative z-axis up"
|
||||
@type up: String.
|
||||
@param up: Possible values:
|
||||
- "x - x-axis up"
|
||||
- "y - y-axis up"
|
||||
- "z - z-axis up"
|
||||
@rtype: Quaternion
|
||||
@return: Return a quaternion rotation from the vector and the track and up axis.
|
||||
"""
|
||||
|
||||
def reflect(mirror):
|
||||
"""
|
||||
Return the reflection vector from the mirror vector argument.
|
||||
@type mirror: Vector object
|
||||
@param mirror: This vector could be a normal from the reflecting surface.
|
||||
@rtype: Vector object matching the size of this vector.
|
||||
@return: The reflected vector.
|
||||
"""
|
||||
|
||||
def cross(other):
|
||||
"""
|
||||
Return the cross product of this vector and another.
|
||||
@note: both vectors must be 3D.
|
||||
@type other: Vector object
|
||||
@param other: The other vector to perform the cross product with.
|
||||
@rtype: Vector
|
||||
@return: The cross product.
|
||||
"""
|
||||
|
||||
def dot(other):
|
||||
"""
|
||||
Return the dot product of this vector and another.
|
||||
@note: both vectors must be the same size.
|
||||
@type other: Vector object
|
||||
@param other: The other vector to perform the dot product with.
|
||||
@rtype: float
|
||||
@return: The dot product.
|
||||
"""
|
||||
|
||||
class Euler:
|
||||
"""
|
||||
The Euler object
|
||||
@@ -470,43 +147,6 @@ class Euler:
|
||||
@note: Values are in degrees.
|
||||
"""
|
||||
|
||||
def zero():
|
||||
"""
|
||||
Set all values to zero.
|
||||
@return: an instance of itself
|
||||
"""
|
||||
|
||||
def copy():
|
||||
"""
|
||||
@return: a copy of this euler.
|
||||
"""
|
||||
|
||||
def unique():
|
||||
"""
|
||||
Calculate a unique rotation for this euler. Avoids gimble lock.
|
||||
@return: an instance of itself
|
||||
"""
|
||||
|
||||
def toMatrix():
|
||||
"""
|
||||
Return a matrix representation of the euler.
|
||||
@rtype: Matrix object
|
||||
@return: A 3x3 roation matrix representation of the euler.
|
||||
"""
|
||||
|
||||
def toQuat():
|
||||
"""
|
||||
Return a quaternion representation of the euler.
|
||||
@rtype: Quaternion object
|
||||
@return: Quaternion representation of the euler.
|
||||
"""
|
||||
def makeCompatible(eul_compat):
|
||||
"""
|
||||
Make this euler compatible with another, so interpolating between them works as expected.
|
||||
@rtype: Euler object
|
||||
@return: an instance of itself
|
||||
"""
|
||||
|
||||
class Quaternion:
|
||||
"""
|
||||
The Quaternion object
|
||||
@@ -571,76 +211,6 @@ class Quaternion:
|
||||
- (): An identity 4 dimensional quaternion.
|
||||
"""
|
||||
|
||||
def identity():
|
||||
"""
|
||||
Set the quaternion to the identity quaternion.
|
||||
@return: an instance of itself
|
||||
"""
|
||||
|
||||
def copy():
|
||||
"""
|
||||
make a copy of the quaternion.
|
||||
@return: a copy of itself
|
||||
"""
|
||||
|
||||
def negate():
|
||||
"""
|
||||
Set the quaternion to its negative.
|
||||
@return: an instance of itself
|
||||
"""
|
||||
|
||||
def conjugate():
|
||||
"""
|
||||
Set the quaternion to its conjugate.
|
||||
@return: an instance of itself
|
||||
"""
|
||||
|
||||
def inverse():
|
||||
"""
|
||||
Set the quaternion to its inverse
|
||||
@return: an instance of itself
|
||||
"""
|
||||
|
||||
def normalize():
|
||||
"""
|
||||
Normalize the quaternion.
|
||||
@return: an instance of itself
|
||||
"""
|
||||
|
||||
def toEuler(eul_compat):
|
||||
"""
|
||||
Return Euler representation of the quaternion.
|
||||
@type eul_compat: L{Euler}
|
||||
@param eul_compat: Optional euler argument the new euler will be made compatible with (no axis flipping between them). Useful for converting a series of matrices to animation curves.
|
||||
@rtype: Euler object
|
||||
@return: Euler representation of the quaternion.
|
||||
"""
|
||||
|
||||
def toMatrix():
|
||||
"""
|
||||
Return a matrix representation of the quaternion.
|
||||
@rtype: Matrix object
|
||||
@return: A 3x3 rotation matrix representation of the quaternion.
|
||||
"""
|
||||
|
||||
def cross(other):
|
||||
"""
|
||||
Return the cross product of this quaternion and another.
|
||||
@type other: Quaterion object
|
||||
@param other: The other quaternion to perform the cross product with.
|
||||
@rtype: Vector
|
||||
@return: The cross product.
|
||||
"""
|
||||
|
||||
def dot(other):
|
||||
"""
|
||||
Return the dot product of this quaternion and another.
|
||||
@type other: Quaterion object
|
||||
@param other: The other quaternion to perform the dot product with.
|
||||
@rtype: float
|
||||
@return: The dot product.
|
||||
"""
|
||||
|
||||
class Matrix:
|
||||
"""
|
||||
The Matrix Object
|
||||
@@ -699,99 +269,3 @@ class Matrix:
|
||||
- (list1, etc.): Matrix object initialized with the given values;
|
||||
- (): An empty 3 dimensional matrix.
|
||||
"""
|
||||
|
||||
def zero():
|
||||
"""
|
||||
Set all matrix values to 0.
|
||||
@return: an instance of itself
|
||||
"""
|
||||
|
||||
|
||||
def copy():
|
||||
"""
|
||||
Returns a copy of this matrix
|
||||
@return: a copy of itself
|
||||
"""
|
||||
|
||||
def identity():
|
||||
"""
|
||||
Set the matrix to the identity matrix.
|
||||
An object with zero location and rotation, a scale of 1, will have an identity matrix.
|
||||
|
||||
See U{http://en.wikipedia.org/wiki/Identity_matrix}
|
||||
@return: an instance of itself
|
||||
"""
|
||||
|
||||
def transpose():
|
||||
"""
|
||||
Set the matrix to its transpose.
|
||||
|
||||
See U{http://en.wikipedia.org/wiki/Transpose}
|
||||
@return: None
|
||||
"""
|
||||
|
||||
def determinant():
|
||||
"""
|
||||
Return the determinant of a matrix.
|
||||
|
||||
See U{http://en.wikipedia.org/wiki/Determinant}
|
||||
@rtype: float
|
||||
@return: Return a the determinant of a matrix.
|
||||
"""
|
||||
|
||||
def invert():
|
||||
"""
|
||||
Set the matrix to its inverse.
|
||||
|
||||
See U{http://en.wikipedia.org/wiki/Inverse_matrix}
|
||||
@return: an instance of itself.
|
||||
@raise ValueError: When matrix is singular.
|
||||
"""
|
||||
|
||||
def rotationPart():
|
||||
"""
|
||||
Return the 3d submatrix corresponding to the linear term of the
|
||||
embedded affine transformation in 3d. This matrix represents rotation
|
||||
and scale. Note that the (4,4) element of a matrix can be used for uniform
|
||||
scaling, too.
|
||||
@rtype: Matrix object.
|
||||
@return: Return the 3d matrix for rotation and scale.
|
||||
"""
|
||||
|
||||
def translationPart():
|
||||
"""
|
||||
Return a the translation part of a 4 row matrix.
|
||||
@rtype: Vector object.
|
||||
@return: Return a the translation of a matrix.
|
||||
"""
|
||||
|
||||
def scalePart():
|
||||
"""
|
||||
Return a the scale part of a 3x3 or 4x4 matrix.
|
||||
@note: This method does not return negative a scale on any axis because it is not possible to obtain this data from the matrix alone.
|
||||
@rtype: Vector object.
|
||||
@return: Return a the scale of a matrix.
|
||||
"""
|
||||
|
||||
def resize4x4():
|
||||
"""
|
||||
Resize the matrix to by 4x4
|
||||
@return: an instance of itself.
|
||||
"""
|
||||
|
||||
def toEuler(eul_compat):
|
||||
"""
|
||||
Return an Euler representation of the rotation matrix (3x3 or 4x4 matrix only).
|
||||
@type eul_compat: L{Euler}
|
||||
@param eul_compat: Optional euler argument the new euler will be made compatible with (no axis flipping between them). Useful for converting a series of matrices to animation curves.
|
||||
@rtype: Euler object
|
||||
@return: Euler representation of the rotation matrix.
|
||||
"""
|
||||
|
||||
def toQuat():
|
||||
"""
|
||||
Return a quaternion representation of the rotation matrix
|
||||
@rtype: Quaternion object
|
||||
@return: Quaternion representation of the rotation matrix
|
||||
"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user