[Bf-committers] Re: [Bf-blender-cvs] CVS commit: blender/source/blender/python BPY_interface.c blender/source/blender/python/api2_2x Bone.c Mathutils.c Mathutils.h NMesh.c Object.c Object.h Types.c Window.c euler.c euler.h gen_utils.c gen_utils.h matrix.c matrix.h quat.c quat.h vector.c vector.h

Joseph Gilbert models at paposo.com
Sun May 22 03:17:50 CEST 2005


Good to know that someone appreciates what i do for this project. Thx 
joeedh.

joeedh wrote:

> Joseph Gilbert wrote:
>
>> ascotan (Joseph Gilbert) 2005/05/20 21:28:05 CEST
>>
>>  Modified files:
>>    blender/source/blender/python BPY_interface.c    
>> blender/source/blender/python/api2_2x Bone.c Mathutils.c 
>>                                          Mathutils.h NMesh.c 
>>                                          Object.c Object.h 
>>                                          Types.c Window.c euler.c 
>>                                          euler.h gen_utils.c 
>>                                          gen_utils.h matrix.c 
>>                                          matrix.h quat.c quat.h 
>>                                          vector.c vector.h  
>>  Log:
>>  -rewrite and bugfixes
>>  ----------------------------------
>>  Here's my changelog:
>>  -fixed Rand() so that it doesn't seed everytime and should generate 
>> better random numbers
>>  - changed a few error return types to something more appropriate
>>  - clean up of uninitialized variables & removal of unneccessary objects
>>  - NMesh returns wrapped vectors now
>>  - World returns wrapped matrices now
>>  - Object.getEuler() and Object.getBoundingBox() return Wrapped data 
>> when data is present
>>  - Object.getMatrix() returns wrapped data if it's worldspace, 
>> 'localspace' returns a new matrix
>>  - Vector, Euler, Mat, Quat, call all now internally wrap object 
>> without destroying internal datablocks
>>  - Removed memory allocation (unneeded) from all methods
>>  - Vector's resize methods are only applicable to new vectors not 
>> wrapped data.
>>  - Matrix(), Quat(), Euler(), Vector() now accepts ANY sequence list, 
>> including tuples, list, or a self object to copy - matrices accept 
>> multiple sequences
>>  - Fixed Slerp() so that it now works correctly values are clamped 
>> between 0 and 1
>>  - Euler.rotate does internal rotation now
>>  - Slice assignment now works better for all types
>>  - Vector * Vector and Quat * Quat are defined and return the DOT 
>> product
>>  - Mat * Vec and Vec * Mat are defined now
>>  - Moved #includes to .c file from headers. Also fixed prototypes in 
>> mathutils
>>  - Added new helper functions for incref'ing to genutils
>>  - Major cleanup of header files includes - include Mathutils.h for 
>> access to math types
>>  - matrix.toQuat() and .toEuler() now fixed take appropriate matrix 
>> sizes
>>  - Matrix() with no parameters now returns an identity matrix by 
>> default not a zero matrix
>>  - printf() now prints with 6 digits instead of 4
>>  - printf() now prints output with object descriptor
>>  - Matrices now support [x][y] assignment (e.g. matrix[x][y] = 5.4)
>>  - Matrix[index] = value now expectes a sequence not an integer. This 
>> will now set a ROW of the matrix through a sequence.  index cannot go 
>> above the row size of the matrix.
>>  - slice operations on matrices work with sequences now (rows of the 
>> matrix) example:  mymatrix[0:2] returns a list of 2 wrapped vectors 
>> with access to the matrix data.
>>  - slice assignment will no longer modify the data if the assignment 
>> operation fails
>>  - fixed error in matrix * scalar multiplication
>>  - euler.toMatrix(), toQuat() no longer causes "creep" from repeated use
>>  - Wrapped data will generate wrapped objects when toEuler(), 
>> toQuat(), toMatrix() is used
>>  - Quats can be created with angle/axis, axis/angle
>>  - 4x4 matrices can be multiplied by 3D vectors (by popular demand :))
>>  - vec *quat / quat * vec is now defined
>>  - vec.magnitude alias for vec.length
>>  - all self, internal methods return a pointer to self now so you can 
>> do print vector.internalmethod() or 
>> vector.internalmethod().nextmethod() (no more print matrix.inverse() 
>> returning 'none')
>>  - these methods have been deprecated (still functioning but 
>> suggested to use the corrected functionality):
>>    * CopyVec() - replaced by Vector() functionality
>>    * CopyMat() - replaced by Matrix() functionality
>>    * CopyQuat() - replace by Quaternion() functionality
>>    * CopyEuler() - replaced by Euler() functionality
>>    * RotateEuler() - replaced by Euler.rotate() funtionality
>>    * MatMultVec() - replaced by matrix * vector
>>    * VecMultMat() - replaced by vector * matrix
>>  -  New struct containers references to python object data or 
>> internally allocated blender data for wrapping
>>  * Explaination here:  math structs now function as a 'simple 
>> wrapper' or a 'py_object' - data that is created on the fly will now 
>> be a 'py_object' with its memory managed by python
>>  *    otherwise if the data is returned by blender's G.main then the 
>> math object is a 'simple wrapper' and data can be accessed directly 
>> from the struct just like other python objects.
>>
>>
> cool! thanks man!
> joeedh
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at projects.blender.org
> http://projects.blender.org/mailman/listinfo/bf-committers
>
>
>



More information about the Bf-committers mailing list