Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-03-06Cleanup: Fix forward declaration of headersDalai Felinto
2019-09-03Drivers: support decomposing rotation into swing followed by twist.Alexander Gavrilov
In order to correctly drive corrective shape keys from a freely rotating organic joint it is very often found necessary to decompose the rotation into separate bending and twisting motions. This type of decomposition cannot be reproduced by any Euler order or a single quaternion. Instead this is done by using a helper bone with a Damped Track constraint aimed at the tail of the control to pick up the bending, and its helper child with Copy Transforms to separate the twist. Requiring two additional bones to drive a shape key or a correction bone seems inconvenient, so this implements the necessary math as new options in the recently introduced Rotation Mode dropdown of the Transform Channel driver variable type. The data is also accessible as a Transformation constraint input. The output is in the form of Quaternion-derived 'pseudo-angles', which for `Swing and Y Twist` would represent the following: * W: true bend angle, independent of bend direction. * Y: true twist angle. * X, Z: pseudo-angles representing the proportion of bending around X/Z. Reviewers: brecht Differential Revision: https://developer.blender.org/D5651
2019-04-18Armature: remove remains of the object-level deformation data cache.Alexander Gavrilov
Now that B-Bone shape data is kept in bPoseChannel_Runtime, the armature level cache only holds one quaternion value per bone. It can also be moved to runtime, and the structure removed. This has an additional effect that, as far as I can tell, now the Armature modifier can run as soon as all of the bones it actually needs are done, thus making T59848 a purely depsgraph level problem.
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-16Cleanup: trailing commasCampbell Barton
2019-03-19BLI_math: add utility to calculate compatible quaternionsCampbell Barton
2019-02-25Cleanup: use const args for BLI_math_rotationCampbell Barton
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2018-12-23BLI_math_rotation: properly name the quaternion power function.Alexander Gavrilov
"angular mult factor" is a completely unintelligible description for a function that raises a unit quaternion to the scalar power.
2018-06-29Cleanup: trailing newlinesCampbell Barton
2017-12-19Math Lib: signed versions of quaternion angleCampbell Barton
There was no simple way to get the shortest quaternion angle.
2017-06-09Math Lib: Add mat3_from_axis_conversion_singleCampbell Barton
Single axis version of mat3_from_axis_conversion, when the second axis isn't important (orienting an arrow for eg).
2016-11-25Math Lib: rotate matrix cleanupCampbell Barton
- Remove 'rotate_m2', unlike 'rotate_m4' it created a new matrix duplicating 'angle_to_mat2' - now used instead. (better avoid matching functions having different behavior). - Add 'axis_angle_to_mat4_single', convenience wrapper for 'axis_angle_to_mat3_single'. - Replace 'unit_m4(), rotate_m4()' with a single call to 'axis_angle_to_mat4_single'.
2015-10-23BLI_math: add mat3_normalized_to_* functionsCampbell Barton
Many uses of matrices for rotation keep them normalized, so no need to normalize each time.
2015-10-23BLI_math: add invert_qt_normalizedCampbell Barton
When the quat is known to be unit length, so we can avoid scaling (just conjugate_qt which asserts on non unit quats).
2015-10-22BLI_math: axis_angle_to_quat_singleCampbell Barton
Useful to avoid defining a vector for an axis-aligned rotation. Matches axis_angle_to_mat3_single behavior.
2015-02-01mathutils: added exponential map to QuaternionSybren A. Stüvel
Added conversion to and from exponential map representation. This representation is useful for interpolation of > 2 quaternions, or in PD controllers. Implementation in C functions quat_to_expmap, quat_normalized_to_expmap, and expmap_to_quat with Python API, unit tests and documentation. Added Quaternion.to_exponential_map() and Quaternion(3-vector) to Python API. Reviewers: campbellbarton Projects: #bf_blender Differential Revision: https://developer.blender.org/D1049
2014-04-20Math Lib: faster version of rotation_between_vecs_to_mat3Campbell Barton
Use axis/angle calculation but avoid calls to sin/cos
2014-04-19Math Lib: add rotation_between_vecs_to_mat3Campbell Barton
- behaves like rotation_between_vecs_to_quat - avoids calling sin,cos calls (approx 1.6x faster).
2014-03-31Py API: Vector.slerp(). also added interp_v3_v3v3_slerp(_safe) functionsCampbell Barton
2014-03-30Convenience macro for print_ funcs, saves passing id each timeCampbell Barton
2014-03-20Math Lib: add angle_qt functionsCampbell Barton
2014-02-27Fix T38858: Crazy spaces was unpredictable with co-linear edgesCampbell Barton
2014-02-01Math lib: add axis_angle_normalized_to_quat, use when length is knownCampbell Barton
2013-09-11add angle_to_mat2 utility function.Campbell Barton
2013-08-23set function args in BLI_math_rotation as const where possible.Campbell Barton
2013-06-23remove vec_rot_to_mat3(), replace with axis_angle_normalized_to_mat3()Campbell Barton
2013-04-15rename axis_angle_to_mat3_no_norm() --> axis_angle_normalized_to_mat3().Campbell Barton
this matches closer to convention from existing functions - angle_v3v3() angle_normalized_v3v3(). also added assert to ensure argument given to axis_angle_normalized_to_mat3() is in fact normalized.
2013-04-15New implementation for twist brushes.Antony Riakiotakis
It has much better rotation and avoids the compression effect that old twist brushes have. Also twisting is now non periodic, meaning you can twist beyond 180 degrees. The amount of twist is also calculated relative to the angle formed after first translating the mouse away from the brush center.
2013-03-26style cleanup:Campbell Barton
also rename mesh_getVertexCos() --> BKE_mesh_vertexCos_get() to match curve function.
2013-02-19fix for [#34283] wasn't working in my tests (attached to original report),Campbell Barton
made bone roll get compatible angle values with the original roll.
2013-01-21mesh-cache deform modifier,Campbell Barton
supports MDD and PC2 formats. see wiki docs: http://wiki.blender.org/index.php/Doc:2.6/Manual/Modifiers/Deform/Mesh_Cache
2012-09-27incorrect spelling in commentsCampbell Barton
2012-09-25fix [#32646] Duplifaces can have wrong orientation with ngonsCampbell Barton
concave ngons could flip the dupliface, now use the faces normal when calculating the dupli-face.
2012-08-25add conjugate_qt_qt(), also some code cleanup and use const for 'rotOrders' ↵Campbell Barton
var in math_rotation.c
2012-08-25minor code cleanupCampbell Barton
2012-07-22code cleanup: remove unused math functions (where already noted as deprecated)Campbell Barton
2012-05-13code cleanup: header cleanup and remove some duplicate defines.Campbell Barton
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2011-11-04Configurable sensor size:Sergey Sharybin
- Added support of variable size sensor width and height. - Added presets for most common cameras, also new presets can be defined by user. - Added option to control which dimension (vertical or horizontal) of sensor size defines FOV. Old behavior of automatic FOV calculation is also kept. - Renderer, viewport, game engine and collada importer/exporter should deal fine with this changes. Other exporters would be updated soon.
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-09-19Move function out of mathutils to: BLI_math_rotation --- ↵Campbell Barton
single_axis_angle_to_mat3(mat3, axis, angle), copied out from mathutils, axis arg is a char 'X/Y/Z' rather then a vector like axis_angle_to_mat3().
2011-08-27remove deprecated & unused mat3_to_vec_rot and mat4_to_vec_rot functions.Campbell Barton
2011-04-02add angle wrapping functions: angle_wrap_rad(), angle_wrap_deg().Campbell Barton
use with mathutils.
2011-03-27interface: floats were being implicitly promoted to doubles, adjust to use ↵Campbell Barton
floats (in most cases) otherwise cast to double.
2011-03-08remove unused RegionView3D retopo pointer and set quat printing to const args. Campbell Barton
2011-02-18doxygen: add blenlib under core as module.Nathan Letwory
2011-02-02- some parts of the code to remove rotation were not removing axis/angle ↵Campbell Barton
rotation (only functional change of this commit). - use BLI_math functions for removing rotations from objects and pose channels. - add unit_axis_angle() to avoid setting the Y axis inline anywhere rotation needs removing.