* update to python docs

- update for the old mathutils rewrite
- update for some other methods ive added
- added explaination of wrapped data
- added a .css file for epydoc gives nice blender/python colors :?
This commit is contained in:
2005-11-15 21:14:24 +00:00
parent a85ba68eb4
commit 4ea1c4dc60
7 changed files with 229 additions and 31 deletions

View File

@@ -155,6 +155,7 @@ def AngleBetweenVecs(vec1, vec2):
@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):
@@ -178,6 +179,9 @@ def VecMultMat(vec, mat):
@param mat: A 2d,3d or 4d matrix.
@rtype: Vector object
@return: The row vector that results from the muliplication.
@attention: B{DEPRECATED} You should now multiply vector * matrix direcly
Example::
result = myVector * myMatrix
"""
def ProjectVecs(vec1, vec2):
@@ -280,6 +284,10 @@ def CopyMat(matrix):
@param matrix: A 2d,3d or 4d matrix to be copied.
@rtype: Matrix object.
@return: A new matrix object which is a copy of the one passed in.
@attention: B{DEPRECATED} You should use the matrix constructor to create
a copy of a matrix
Example::
newMat = Matrix(myMat)
"""
def MatMultVec(mat, vec):
@@ -292,6 +300,9 @@ def MatMultVec(mat, vec):
@param mat: A 2d,3d or 4d matrix.
@rtype: Vector object
@return: The column vector that results from the muliplication.
@attention: B{DEPRECATED} You should use direct muliplication on the arguments
Example::
result = myMatrix * myVector
"""
def CopyQuat(quaternion):
@@ -301,6 +312,10 @@ def CopyQuat(quaternion):
@param quaternion: Quaternion to be copied.
@rtype: Quaternion object.
@return: A new quaternion object which is a copy of the one passed in.
@attention: B{DEPRECATED} You should use the Quaterion() constructor directly
to create copies of quaternions
Example::
newQuat = Quaternion(myQuat)
"""
def CrossQuats(quat1, quat2):
@@ -358,6 +373,10 @@ def CopyEuler(euler):
@param euler: The euler to copy
@rtype: Euler object
@return: A copy of the euler object passed in.
@attention: B{DEPRECATED} You should use the Euler constructor directly
to make copies of Euler objects
Example::
newEuler = Euler(myEuler)
"""
def RotateEuler(euler, angle, axis):
@@ -384,16 +403,48 @@ class Vector:
@ivar z: The z value (if any).
@ivar w: The w value (if any).
@ivar length: The magnitude of the vector.
@ivar magnitude: This is a synonym for length.
@ivar wrapped: Whether or not this item is wrapped data
@note: Comparison operators can be done on Vector classes:
- >, >=, <, <= test the vector magnitude
- ==, != test vector values e.g. 1,2,3 != 1,2,4 even if they are the same length
@note: Math can be performed on Vector classes
- vec + vec
- vec - vec
- vec * float/int
- vec * matrix
- vec * vec
- vec * quat
- -vec (this is shorthand for negate())
@note: You can access a vector object like a sequence
- x = vector[0]
@attention: Vector data can be wrapped or non-wrapped. When a object is wrapped it
means that the object will give you direct access to the data inside of blender. Modification
of this object will directly change the data inside of blender. To copy a wrapped object
you need to use the object's constructor. If you copy and object by assignment you will not get
a second copy but a second reference to the same data. Only certain functions will return
wrapped data. This will be indicated in the method description.
Example::
wrappedObject = Object.getAttribute() #this is wrapped data
print wrappedObject.wrapped #prints 'True'
copyOfObject = Object(wrappedObject) #creates a copy of the object
secondPointer = wrappedObject #creates a second pointer to the same data
print wrappedObject.attribute #prints '5'
secondPointer.attribute = 10
print wrappedObject.attribute #prints '10'
print copyOfObject.attribute #prints '5'
"""
def __init__(list = None):
"""
Create a new Vector object from a list.
Create a new 2d, 3d, or 4d Vector object from a list of numbers.
Example::
v = Blender.Mathutils.Vector([1,0,0])
v = Vector(1,0,0)
v = Vector(myVec)
v = Vector(list)
@type list: PyList of float or int
@param list: The list of values for the Vector object.
@param list: The list of values for the Vector object. Can be a sequence or raw numbers.
Must be 2, 3, or 4 values. The list is mapped to the parameters as [x,y,z,w].
@rtype: Vector object.
@return: It depends wheter a parameter was passed:
@@ -404,31 +455,40 @@ class Vector:
def zero():
"""
Set all values to zero.
@return: a copy of itself
"""
def normalize():
"""
Normalize the vector.
@return: a copy of itself
"""
def negate():
"""
Set all values to their negative.
@return: a copy of itself
@attention: B{DEPRECATED} You can use -vector instead
Example::
negVector = -myVec
"""
def resize2D():
"""
Resize the vector to 2d.
@return: a copy of itself
"""
def resize3D():
"""
Resize the vector to 3d.
@return: a copy of itself
"""
def resize4D():
"""
Resize the vector to 4d.
@return: a copy of itself
"""
def toTrackQuat(track, up):
@@ -459,6 +519,24 @@ class Euler:
@ivar x: The heading value in degrees.
@ivar y: The pitch value in degrees.
@ivar z: The roll value in degrees.
@ivar wrapped: Whether or not this object is wrapping data directly
@note: You can access a euler object like a sequence
- x = euler[0]
@attention: Euler data can be wrapped or non-wrapped. When a object is wrapped it
means that the object will give you direct access to the data inside of blender. Modification
of this object will directly change the data inside of blender. To copy a wrapped object
you need to use the object's constructor. If you copy and object by assignment you will not get
a second copy but a second reference to the same data. Only certain functions will return
wrapped data. This will be indicated in the method description.
Example::
wrappedObject = Object.getAttribute() #this is wrapped data
print wrappedObject.wrapped #prints 'True'
copyOfObject = Object(wrappedObject) #creates a copy of the object
secondPointer = wrappedObject #creates a second pointer to the same data
print wrappedObject.attribute #prints '5'
secondPointer.attribute = 10
print wrappedObject.attribute #prints '10'
print copyOfObject.attribute #prints '5'
"""
def __init__(list = None):
@@ -466,7 +544,9 @@ class Euler:
Create a new euler object.
Example::
euler = Euler([45,0,0])
euler = Euler(45,0,0)
euler = Euler(myEuler)
euler = Euler(sequence)
@type list: PyList of float/int
@param list: 3d list to initialize euler
@rtype: Euler object
@@ -477,11 +557,13 @@ class Euler:
def zero():
"""
Set all values to zero.
@return: a copy of itself
"""
def unique():
"""
Calculate a unique rotation for this euler.
Calculate a unique rotation for this euler. Avoids gimble lock.
@return: a copy of itself
"""
def toMatrix():
@@ -489,7 +571,6 @@ class Euler:
Return a matrix representation of the euler.
@rtype: Matrix object
@return: A roation matrix representation of the euler.
"""
def toQuat():
@@ -497,7 +578,6 @@ class Euler:
Return a quaternion representation of the euler.
@rtype: Quaternion object
@return: Quaternion representation of the euler.
"""
class Quaternion:
@@ -509,10 +589,34 @@ class Quaternion:
@ivar x: The x value.
@ivar y: The y value.
@ivar z: The z value.
@ivar wrapped: Wether or not this object wraps data directly
@ivar magnitude: The magnitude of the quaternion.
@ivar axis: Vector representing the axis of rotation.
@ivar angle: A scalar representing the amount of rotation
in degrees.
@note: Math can be performed on Quaternion classes
- quat + quat
- quat - quat
- quat * float/int
- quat * vec
- quat * quat
@note: You can access a quaternion object like a sequence
- x = quat[0]
@attention: Quaternion data can be wrapped or non-wrapped. When a object is wrapped it
means that the object will give you direct access to the data inside of blender. Modification
of this object will directly change the data inside of blender. To copy a wrapped object
you need to use the object's constructor. If you copy and object by assignment you will not get
a second copy but a second reference to the same data. Only certain functions will return
wrapped data. This will be indicated in the method description.
Example::
wrappedObject = Object.getAttribute() #this is wrapped data
print wrappedObject.wrapped #prints 'True'
copyOfObject = Object(wrappedObject) #creates a copy of the object
secondPointer = wrappedObject #creates a second pointer to the same data
print wrappedObject.attribute #prints '5'
secondPointer.attribute = 10
print wrappedObject.attribute #prints '10'
print copyOfObject.attribute #prints '5'
"""
def __init__(list, angle = None):
@@ -520,7 +624,10 @@ class Quaternion:
Create a new quaternion object from initialized values.
Example::
quat = Mathutils.Quaternion([1.0,0.0,0.0])
quat = Quaternion(1,2,3,4)
quat = Quaternion(axis, angle)
quat = Quaternion()
quat = Quaternion(180, list)
@type list: PyList of int/float
@param list: A 3d or 4d list to initialize quaternion.
@@ -537,26 +644,31 @@ class Quaternion:
def identity():
"""
Set the quaternion to the identity quaternion.
@return: a copy of itself
"""
def negate():
"""
Set the quaternion to it's negative.
@return: a copy of itself
"""
def conjugate():
"""
Set the quaternion to it's conjugate.
@return: a copy of itself
"""
def inverse():
"""
Set the quaternion to it's inverse
@return: a copy of itself
"""
def normalize():
"""
Normalize the quaternion.
@return: a copy of itself
"""
def toEuler():
@@ -564,7 +676,6 @@ class Quaternion:
Return Euler representation of the quaternion.
@rtype: Euler object
@return: Euler representation of the quaternion.
"""
def toMatrix():
@@ -572,7 +683,6 @@ class Quaternion:
Return a matrix representation of the quaternion.
@rtype: Matrix object
@return: A rotation matrix representation of the quaternion.
"""
class Matrix:
@@ -582,6 +692,31 @@ class Matrix:
This object gives access to Matrices in Blender.
@ivar rowsize: The row size of the matrix.
@ivar colsize: The column size of the matrix.
@ivar wrapped: Whether or not this object wrapps internal data
@note: Math can be performed on Matrix classes
- mat + mat
- mat - mat
- mat * float/int
- mat * vec
- mat * mat
@note: You can access a quaternion object like a 2d sequence
- x = matrix[0][1]
- vector = matrix[2]
@attention: Quaternion data can be wrapped or non-wrapped. When a object is wrapped it
means that the object will give you direct access to the data inside of blender. Modification
of this object will directly change the data inside of blender. To copy a wrapped object
you need to use the object's constructor. If you copy and object by assignment you will not get
a second copy but a second reference to the same data. Only certain functions will return
wrapped data. This will be indicated in the method description.
Example::
wrappedObject = Object.getAttribute() #this is wrapped data
print wrappedObject.wrapped #prints 'True'
copyOfObject = Object(wrappedObject) #creates a copy of the object
secondPointer = wrappedObject #creates a second pointer to the same data
print wrappedObject.attribute #prints '5'
secondPointer.attribute = 10
print wrappedObject.attribute #prints '10'
print copyOfObject.attribute #prints '5'
"""
def __init__(list1 = None, list2 = None, list3 = None, list4 = None):
@@ -589,7 +724,9 @@ class Matrix:
Create a new matrix object from initialized values.
Example::
matrix = Mathutils.Matrix([1,1,1],[0,1,0],[1,0,0])
matrix = Matrix([1,1,1],[0,1,0],[1,0,0])
matrix = Matrix(mat)
matrix = Matrix(seq1, seq2, vector)
@type list1: PyList of int/float
@param list1: A 2d,3d or 4d list.
@@ -608,29 +745,32 @@ class Matrix:
def zero():
"""
Set all matrix values to 0.
@return: a copy of itself
"""
def identity():
"""
Set the matrix to the identity matrix.
@return: a copy of itself
"""
def transpose():
"""
Set the matrix to it's transpose.
@return: a copy of itself
"""
def determinant():
"""
Return the determinant of a matrix.
@rtype: int
@rtype: float
@return: Return a the determinant of a matrix.
"""
def invert():
"""
Set the matrix to it's inverse.
@return: a copy of itself
"""
def rotationPart():
@@ -641,7 +781,6 @@ class Matrix:
scaling, too.
@rtype: Matrix object.
@return: Return the 3d matrix for rotation and scale.
"""
def translationPart():
@@ -649,12 +788,12 @@ class Matrix:
Return a the translation part of a 4 row matrix.
@rtype: Vector object.
@return: Return a the translation of a matrix.
"""
def resize4x4():
"""
Resize the matrix to by 4x4
@return: a copy of itself
"""
def toEuler():
@@ -662,7 +801,6 @@ class Matrix:
Return an Euler representation of the rotation matrix.
@rtype: Euler object
@return: Euler representation of the rotation matrix.
"""
def toQuat():
@@ -670,6 +808,5 @@ class Matrix:
Return a quaternion representation of the rotation matrix
@rtype: Quaternion object
@return: Quaternion representation of the rotation matrix
"""