Blender V2.61 - r43446
Defines | Functions

BLI_math_matrix.h File Reference

Go to the source code of this file.

Defines

#define MAT4_UNITY
#define MAT3_UNITY

Functions

void zero_m3 (float R[3][3])
void zero_m4 (float R[4][4])
void unit_m3 (float R[3][3])
void unit_m4 (float R[4][4])
void copy_m3_m3 (float R[3][3], float A[3][3])
void copy_m4_m4 (float R[4][4], float A[4][4])
void copy_m3_m4 (float R[3][3], float A[4][4])
void copy_m4_m3 (float R[4][4], float A[3][3])
void swap_m3m3 (float A[3][3], float B[3][3])
void swap_m4m4 (float A[4][4], float B[4][4])
void add_m3_m3m3 (float R[3][3], float A[3][3], float B[3][3])
void add_m4_m4m4 (float R[4][4], float A[4][4], float B[4][4])
void sub_m3_m3m3 (float R[3][3], float A[3][3], float B[3][3])
void sub_m4_m4m4 (float R[4][4], float A[4][4], float B[4][4])
void mul_m3_m3m3 (float R[3][3], float A[3][3], float B[3][3])
void mul_m4_m3m4 (float R[4][4], float A[3][3], float B[4][4])
void mul_m4_m4m3 (float R[4][4], float A[4][4], float B[3][3])
void mult_m4_m4m4 (float R[4][4], float A[4][4], float B[4][4])
void mult_m3_m3m4 (float R[3][3], float A[4][4], float B[3][3])
void mul_serie_m3 (float R[3][3], float M1[3][3], float M2[3][3], float M3[3][3], float M4[3][3], float M5[3][3], float M6[3][3], float M7[3][3], float M8[3][3])
void mul_serie_m4 (float R[4][4], float M1[4][4], float M2[4][4], float M3[4][4], float M4[4][4], float M5[4][4], float M6[4][4], float M7[4][4], float M8[4][4])
void mul_m4_v3 (float M[4][4], float r[3])
void mul_v3_m4v3 (float r[3], float M[4][4], const float v[3])
void mul_mat3_m4_v3 (float M[4][4], float r[3])
void mul_m4_v4 (float M[4][4], float r[4])
void mul_v4_m4v4 (float r[4], float M[4][4], float v[4])
void mul_project_m4_v3 (float M[4][4], float vec[3])
void mul_m3_v3 (float M[3][3], float r[3])
void mul_v3_m3v3 (float r[3], float M[3][3], float a[3])
void mul_transposed_m3_v3 (float M[3][3], float r[3])
void mul_m3_v3_double (float M[3][3], double r[3])
void mul_m3_fl (float R[3][3], float f)
void mul_m4_fl (float R[4][4], float f)
void mul_mat3_m4_fl (float R[4][4], float f)
int invert_m3 (float R[3][3])
int invert_m3_m3 (float R[3][3], float A[3][3])
int invert_m4 (float R[4][4])
int invert_m4_m4 (float R[4][4], float A[4][4])
void transpose_m3 (float R[3][3])
void transpose_m4 (float R[4][4])
void normalize_m3 (float R[3][3])
void normalize_m3_m3 (float R[3][3], float A[3][3])
void normalize_m4 (float R[4][4])
void normalize_m4_m4 (float R[4][4], float A[4][4])
void orthogonalize_m3 (float R[3][3], int axis)
void orthogonalize_m4 (float R[4][4], int axis)
int is_orthogonal_m3 (float mat[3][3])
int is_orthogonal_m4 (float mat[4][4])
void adjoint_m3_m3 (float R[3][3], float A[3][3])
void adjoint_m4_m4 (float R[4][4], float A[4][4])
float determinant_m2 (float a, float b, float c, float d)
float determinant_m3 (float a, float b, float c, float d, float e, float f, float g, float h, float i)
float determinant_m4 (float A[4][4])
void svd_m4 (float U[4][4], float s[4], float V[4][4], float A[4][4])
void pseudoinverse_m4_m4 (float Ainv[4][4], float A[4][4], float epsilon)
void scale_m3_fl (float R[3][3], float scale)
void scale_m4_fl (float R[4][4], float scale)
float mat3_to_scale (float M[3][3])
float mat4_to_scale (float M[4][4])
void size_to_mat3 (float R[3][3], const float size[3])
void size_to_mat4 (float R[4][4], const float size[3])
void mat3_to_size (float r[3], float M[3][3])
void mat4_to_size (float r[3], float M[4][4])
void translate_m4 (float mat[4][4], float tx, float ty, float tz)
void rotate_m4 (float mat[4][4], const char axis, const float angle)
void mat3_to_rot_size (float rot[3][3], float size[3], float mat3[][3])
void mat4_to_loc_rot_size (float loc[3], float rot[3][3], float size[3], float wmat[][4])
void loc_eul_size_to_mat4 (float R[4][4], const float loc[3], const float eul[3], const float size[3])
void loc_eulO_size_to_mat4 (float R[4][4], const float loc[3], const float eul[3], const float size[3], const short order)
void loc_quat_size_to_mat4 (float R[4][4], const float loc[3], const float quat[4], const float size[3])
void loc_axisangle_size_to_mat4 (float R[4][4], const float loc[3], const float axis[4], const float angle, const float size[3])
void blend_m3_m3m3 (float R[3][3], float A[3][3], float B[3][3], const float t)
void blend_m4_m4m4 (float R[4][4], float A[4][4], float B[4][4], const float t)
int is_negative_m3 (float mat[3][3])
int is_negative_m4 (float mat[4][4])
void print_m3 (const char *str, float M[3][3])
void print_m4 (const char *str, float M[3][4])

Detailed Description

Definition in file BLI_math_matrix.h.


Define Documentation

#define MAT3_UNITY
Value:
{{ 1.0, 0.0, 0.0},\
                    { 0.0, 1.0, 0.0},\
                    { 0.0, 0.0, 1.0}}

Definition at line 44 of file BLI_math_matrix.h.

Referenced by setUserConstraint(), transformEvent(), and ui_draw_but_WAVEFORM().

#define MAT4_UNITY

Function Documentation

void add_m3_m3m3 ( float  R[3][3],
float  A[3][3],
float  B[3][3] 
)
void add_m4_m4m4 ( float  R[4][4],
float  A[4][4],
float  B[4][4] 
)

Referenced by add_weighted_dq_dq().

void adjoint_m3_m3 ( float  R[3][3],
float  A[3][3] 
)

Referenced by invert_m3_m3(), and Matrix_invert().

void adjoint_m4_m4 ( float  R[4][4],
float  A[4][4] 
)

Referenced by Matrix_invert().

void blend_m3_m3m3 ( float  R[3][3],
float  A[3][3],
float  B[3][3],
const float  t 
)

Referenced by execute_posetree(), and Matrix_lerp().

void blend_m4_m4m4 ( float  R[4][4],
float  A[4][4],
float  B[4][4],
const float  t 
)
void copy_m3_m3 ( float  R[3][3],
float  A[3][3] 
)
void copy_m3_m4 ( float  R[3][3],
float  A[4][4] 
)

Referenced by add_pose_transdata(), add_primitive_bone(), add_render_lamp(), apply_armature_pose2bones_exec(), apply_targetless_ik(), applyModifier(), armature_bone_primitive_add_exec(), armature_calc_roll_exec(), armature_click_extrude_exec(), armature_deform_verts(), assign_dupligroup_dupli(), b_bone_deform(), b_bone_spline_setup(), BKE_text_to_curve(), calc_manipulator_stats(), calculateCenterCursor(), camera_view_frame_fit_to_scene(), contarget_get_mesh_mat(), createObjectSpace(), createTransArmatureVerts(), createTransCurveVerts(), createTransEdge(), createTransEditVerts(), createTransLatticeVerts(), createTransMBallVerts(), createTransTexspace(), do_version_bone_roll_256(), ED_armature_apply_transform(), ED_object_new_primitive_matrix(), ED_view3d_from_m4(), ElementRotation(), env_rotate_scene(), execute_posetree(), extrude_repeat_mesh_exec(), face_duplilist(), find_dupli_instances(), fix_bonelist_roll(), flyApply(), flyEnd(), getTransformOrientation(), gimbal_axis(), init_curve_deform(), init_render_mball(), init_render_mesh(), init_render_world(), initFlyInfo(), initTransformOrientation(), locktrack_evaluate(), make_envmaps(), make_render_halos(), mat4_to_compatible_eulO(), mat4_to_eul(), mat4_to_eulO(), mat4_to_loc_rot_size(), mat4_to_quat(), mat4_to_scale(), Matrix_to_euler(), meshdeformModifier_do(), minmax_verts(), mul_v3m3_dq(), ntap_bump_compute(), object_hook_recenter_exec(), object_origin_clear_exec(), ObjectToTransData(), obmat_to_viewmat(), pchan_deform_mat_add(), peelDerivedMesh(), pivotcon_evaluate(), project_paint_begin(), psys_get_dupli_path_transform(), RE_addRenderInstance(), RE_Database_Baking(), render_envmap(), render_new_particle_system(), RotationBetween(), setLocalConstraint(), Shear(), sk_convertStroke(), sk_retargetStroke(), snap_curs_to_sel(), snap_sel_to_curs(), snap_sel_to_grid(), snapDerivedMesh(), solve_parenting(), spin_mesh(), spin_nurb(), transformEvent(), viewops_data_create(), visualkey_get_value(), vpaint_stroke_test_start(), and wpaint_stroke_test_start().

void copy_m4_m3 ( float  R[4][4],
float  A[3][3] 
)
void copy_m4_m4 ( float  R[4][4],
float  A[4][4] 
)

Referenced by actcon_evaluate(), actcon_get_tarmat(), TransformWriter::add_node_transform(), add_render_lamp(), add_render_object(), add_weighted_dq_dq(), AnimationImporter::apply_matrix_curves(), apply_targetless_ik(), applyModifier(), armature_deform_verts(), armature_mat_pose_to_bone(), arrayModifier_doArray(), assign_dupligroup_dupli(), b_bone_spline_setup(), base_callback(), bc_set_parent(), BKE_tracking_get_interpolated_camera(), BKE_tracking_projection_matrix(), BL_ArmatureConstraint::BL_ArmatureConstraint(), BL_SkinDeformer::BL_SkinDeformer(), BL_SkinDeformer::BlenderDeformVerts(), box_clip_bounds_m4(), bundle_midpoint(), AnimationImporter::calc_joint_parent_mat_rest(), calc_manipulator_stats(), calculate_speedvectors(), calculate_strandsurface_speedvectors(), camerasolver_evaluate(), child_get_inverse_matrix(), childof_evaluate(), clampto_evaluate(), clip_render_object(), constraint_mat_convertspace(), constraint_target_to_mat4(), constraintRotLim(), constraints_clear_evalob(), constraints_make_evalob(), constraintSizeLim(), constraintTransLim(), contarget_get_lattice_mat(), contarget_get_mesh_mat(), convert_pose(), convert_tree(), copy_dbase_object_vectors(), copy_pose_channel_data(), copy_pose_result(), AnimationExporter::create_4x4_source(), damptrack_evaluate(), database_init_objects(), deformVerts_do(), draw_dupli_objects_color(), draw_ebones(), draw_manipulator_rotate(), draw_manipulator_rotate_cyl(), draw_manipulator_scale(), draw_new_particle_system(), draw_pose_bones(), draw_pose_dofs(), drawcamera(), drawlamp(), drawPropCircle(), dvar_eval_locDiff(), dvar_eval_transChan(), dynamicPaint_brushMeshCalculateVelocity(), dynamicPaint_brushObjectCalculateVelocity(), dynamicPaint_generateBakeData(), dynamicPaint_updateBrushMaterials(), ED_view3d_draw_offscreen_imbuf_simple(), env_rotate_scene(), envmap_transmatrix(), AnimationImporter::evaluate_transform_at_frame(), execute_posetree(), face_duplilist(), find_dupli_instances(), find_next_pano_slice(), followpath_evaluate(), followpath_get_tarmat(), followtrack_evaluate(), font_duplilist(), frames_duplilist(), free_object_duplilist(), get_constraint_target_matrix(), SkinInfo::get_joint_inv_bind_matrix(), TransformReader::get_node_mat(), get_objectspace_bone_matrix(), GPU_lamp_shadow_buffer_bind(), GPU_lamp_update(), gpu_update_lamps_shadows(), group_duplilist(), i_multmatrix(), init_meta(), invert_m4(), isb_bsp_fillfaces(), kinematic_get_tarmat(), SkinInfo::link_armature(), load_fluidsimspeedvectors(), locktrack_evaluate(), make_dmats(), make_envmaps(), make_object_duplilist_real(), UnitConverter::mat4_to_dae(), mat4_to_dquat(), material_lights(), Matrix_resize_4x4(), mesh_deform_bind(), minmax_evaluate(), mul_m4_m4m3(), mul_serie_m4(), mult_m4_m4m4(), new_dupli_object(), new_particle_duplilist(), next_object(), ob_parbone(), ob_parcurve(), object_camera_dof_distance(), object_duplilist_recursive(), object_handle_update(), object_make_proxy(), object_tfm_backup(), object_tfm_restore(), objectsolver_evaluate(), ObjectToTransData(), obmat_to_viewmat(), pose_visual_transform_apply_exec(), precache_init_parts(), preOrthoFront(), project_camera_info(), project_paint_begin(), psys_render_set(), RE_addRenderInstance(), re_camera_params_get(), RE_DataBase_GetView(), RE_GetCameraWindow(), RE_init_sample_material(), RE_rayobject_instance_create(), RE_SetView(), AnimationImporter::read_node_transform(), render_envmap(), render_new_particle_system(), resizelattice(), BL_ArmatureConstraint::RestoreTarget(), AnimationExporter::sample_animation(), screen_opengl_render_apply(), setTransformViewMatrices(), shade_input_set_shade_texco(), shadowbuf_autoclip(), SimpleDeformModifier_do(), SkinInfo::SkinInfo(), solve_constraints(), solve_parenting(), spin_exec(), splineik_evaluate_bone(), stretchto_evaluate(), svd_m4(), target_callback(), trackto_evaluate(), AnimationImporter::translate_animation_OLD(), translike_evaluate(), uv_from_view_exec(), uv_map_rotation_matrix(), uvprojectModifier_do(), vertex_dupli__mapFunc(), vertex_duplilist(), view3d_camera_to_view_selected_exec(), view3d_get_transformation(), view3d_main_area_setup_view(), view3d_opengl_select(), visualkey_get_value(), what_does_obaction(), where_is_pose(), where_is_pose_bone(), zbuf_make_winmat(), zbuffer_abuf(), zbuffer_shadow(), zbuffer_solid(), zbuffer_sss(), and zbuffer_strands_abuf().

float determinant_m2 ( float  a,
float  b,
float  c,
float  d 
)

Definition at line 910 of file math_matrix.c.

Referenced by determinant_m3(), and matrix_determinant_internal().

float determinant_m3 ( float  a,
float  b,
float  c,
float  d,
float  e,
float  f,
float  g,
float  h,
float  i 
)
float determinant_m4 ( float  A[4][4])
int invert_m3 ( float  R[3][3])
int invert_m3_m3 ( float  R[3][3],
float  A[3][3] 
)
int invert_m4 ( float  R[4][4])
int invert_m4_m4 ( float  R[4][4],
float  A[4][4] 
)

Definition at line 533 of file math_matrix.c.

References fabs(), fabsf, i, max, and SWAP.

Referenced by add_hook_object(), TransformWriter::add_node_transform(), TransformWriter::add_node_transform_ob(), add_object_to_effectors(), add_primitive_bone(), add_render_lamp(), addvert_Nurb(), AnimationImporter::apply_matrix_curves(), apply_targetless_ik(), applyarmature_fix_boneparents(), applyModifier(), applyProject(), armature_bone_primitive_add_exec(), armature_deform_verts(), armature_fill_bones_exec(), armature_mat_pose_to_bone(), armature_mat_pose_to_delta(), armature_mat_world_to_pose(), arrayModifier_doArray(), assign_dupligroup_dupli(), b_bone_spline_setup(), base_callback(), bc_set_parent(), BKE_text_to_curve(), BKE_tracking_projection_matrix(), BKE_tracking_stabdata_to_mat4(), brush_add(), brush_edit_apply(), brush_puff(), calc_local_clipping(), child_get_inverse_matrix(), clip_draw_main(), clipMirrorModifier(), cloth_to_object(), connect_hair(), constraint_mat_convertspace(), constraints_clear_evalob(), convert_pose(), convert_tree(), AnimationExporter::create_4x4_source(), createTransParticleVerts(), cuboid_do(), database_fromscene_vectors(), database_init_objects(), deformVerts_do(), do_clay_tubes_brush(), do_rotate_brush(), docenter_armature(), doMirrorOnAxis(), draw_depth(), draw_depth_gpencil(), draw_ebones(), draw_forcefield(), draw_motion_path_instance(), draw_new_particle_system(), draw_object(), draw_pose_bones(), draw_viewport_object_reconstruction(), drawmball(), drawPropCircle(), drawSnapping(), dupli_extrude_cursor(), dynamicPaint_updateBrushMaterials(), ED_clip_point_stable_pos(), ED_view3d_camera_lock_sync(), ED_view3d_draw_offscreen_imbuf_simple(), ED_view3d_from_m4(), em_snap_to_cursor(), env_rotate_scene(), env_set_imats(), execute_posetree(), explodeMesh(), extrudeflag_edge(), extrudeflag_vert(), find_dupli_instances(), flushTransParticles(), followtrack_evaluate(), foreach_mouse_hit_key(), get_texture_coords(), gp_session_initdata(), GPU_lamp_shadow_buffer_bind(), GPU_lamp_update(), GPU_material_bind_uniforms(), gpu_update_lamps_shadows(), ignore_parent_tx(), init_curve_deform(), init_latt_deform(), init_meta(), init_render_curve(), init_render_mball(), init_render_mesh(), init_render_object(), init_render_surf(), initshadowbuf(), invert_m4(), join_armature_exec(), join_curve_exec(), join_mesh_exec(), SkinInfo::link_armature(), load_fluidsimspeedvectors(), make_dmats(), make_envmaps(), make_object_duplilist_real(), mat4_to_dquat(), meshdeformModifier_do(), minmax_evaluate(), move_camera(), new_particle_duplilist(), NewBooleanDerivedMesh_intern(), node_composit_transform(), object_apply_mat4(), object_camera_dof_distance(), object_handle_update(), object_hook_reset_exec(), object_origin_set_exec(), objectsolver_evaluate(), obmat_to_viewmat(), parent_set_exec(), particle_system_update(), pchan_b_bone_defmats(), pe_deflect_emitter(), PE_mirror_particle(), peelDerivedMesh(), pointdensity_cache_psys(), project_paint_begin(), psys_apply_hair_lattice(), RE_Database_Baking(), RE_Database_FromScene(), RE_init_sample_material(), RE_make_stars(), RE_make_sticky(), RE_rayobject_instance_create(), RE_SetView(), render_envmap(), render_new_particle_system(), AnimationExporter::sample_animation(), save_hair(), sculpt_stroke_get_location(), sculpt_update_brush_delta(), set_axis(), set_dupli_tex_mat(), SimpleDeformModifier_do(), sk_convertStroke(), sk_retargetStroke(), snap_sel_to_curs(), snap_sel_to_grid(), snapArmature(), snapDerivedMesh(), softbody_to_object(), sort_faces_exec(), space_transform_from_matrixs(), sphere_do(), spin_exec(), AnimationImporter::translate_animation_OLD(), uvprojectModifier_do(), v3d_editvertex_buts(), vertex_parent_set_exec(), view3d_main_area_setup_view(), vpaint_stroke_test_start(), warpModifier_do(), waveModifier_do(), where_is_pose(), and wpaint_stroke_test_start().

int is_negative_m3 ( float  mat[3][3])
int is_negative_m4 ( float  mat[4][4])
int is_orthogonal_m3 ( float  mat[3][3])
int is_orthogonal_m4 ( float  mat[4][4])
void loc_axisangle_size_to_mat4 ( float  R[4][4],
const float  loc[3],
const float  axis[4],
const float  angle,
const float  size[3] 
)
void loc_eul_size_to_mat4 ( float  R[4][4],
const float  loc[3],
const float  eul[3],
const float  size[3] 
)

Definition at line 1189 of file math_matrix.c.

References copy_m4_m3(), eul_to_mat3(), mul_m3_m3m3(), size_to_mat3(), and unit_m4().

Referenced by armature_mat_pose_to_bone().

void loc_eulO_size_to_mat4 ( float  R[4][4],
const float  loc[3],
const float  eul[3],
const float  size[3],
const short  order 
)
void loc_quat_size_to_mat4 ( float  R[4][4],
const float  loc[3],
const float  quat[4],
const float  size[3] 
)
void mat3_to_rot_size ( float  rot[3][3],
float  size[3],
float  mat3[][3] 
)
float mat3_to_scale ( float  M[3][3])
void mat3_to_size ( float  r[3],
float  M[3][3] 
)
void mat4_to_loc_rot_size ( float  loc[3],
float  rot[3][3],
float  size[3],
float  wmat[][4] 
)
float mat4_to_scale ( float  M[4][4])
void mat4_to_size ( float  r[3],
float  M[4][4] 
)
void mul_m3_fl ( float  R[3][3],
float  f 
)
void mul_m3_m3m3 ( float  R[3][3],
float  A[3][3],
float  B[3][3] 
)
void mul_m3_v3 ( float  M[3][3],
float  r[3] 
)

Definition at line 383 of file math_matrix.c.

References copy_v3_v3(), and mul_v3_m3v3().

Referenced by add_render_lamp(), apply_objects_internal(), applyAxisConstraintVec(), applyObjectConstraintVec(), applyProject(), applyTranslation(), area_lamp_energy_multisample(), armature_calc_roll_exec(), armature_click_extrude_exec(), bake_set_vlr_dxyco(), bake_shade(), calculateCenterCursor(), camera_view_frame_fit_to_scene(), connectivity_edge(), contarget_get_mesh_mat(), displace_render_vert(), do_lamp_tex(), drawlamp(), ED_armature_from_edit(), ED_object_new_primitive_matrix(), ED_view3d_from_m4(), ElementResize(), ElementRotation(), env_rotate_scene(), envmaptex(), execute_posetree(), extrude_repeat_mesh_exec(), flyApply(), flyEnd(), getTransformOrientation(), ImageRender::ImageRender(), imapaint_tri_weights(), initFlyInfo(), initWarp(), lamp_get_visibility(), mat3_to_quat_is_ok(), mat3_to_scale(), meshdeformModifier_do(), minmax_verts(), mul_v3m3_dq(), multires_apply_smat(), ntap_bump_compute(), ob_draw_RE_motion(), object_hook_recenter_exec(), object_origin_clear_exec(), occ_face(), peelDerivedMesh(), pivotcon_evaluate(), postConstraintChecks(), project_paint_begin(), psys_get_dupli_path_transform(), ray_shadow_jitter(), ray_shadow_qmc(), recalcData_view3d(), render_lighting_halo(), render_new_particle_system(), ResizeBetween(), rotateflag(), rotateflagNurb(), RotationBetween(), sculpt_flush_pbvhvert_deform(), set_prop_dist(), setBoneRollFromNormal(), shade_input_set_shade_texco(), shade_input_set_triangle_i(), shadeSkyView(), shadeSunView(), Shear(), sk_pointToNode(), sk_strokeToArc(), snap_curs_to_sel(), snap_sel_to_curs(), snap_sel_to_grid(), snapDerivedMesh(), snapEdge(), snapVertex(), spin_mesh(), spothalo(), spotvolume(), tri_to_quat(), Vector_rotate(), viewops_data_create(), viewrotate_apply(), and Warp().

void mul_m3_v3_double ( float  M[3][3],
double  r[3] 
)

Referenced by spothalo().

void mul_m4_fl ( float  R[4][4],
float  f 
)

Definition at line 411 of file math_matrix.c.

References i.

Referenced by add_weighted_dq_dq(), normalize_dq(), and paint_calc_redraw_planes().

void mul_m4_m3m4 ( float  R[4][4],
float  A[3][3],
float  B[4][4] 
)
void mul_m4_m4m3 ( float  R[4][4],
float  A[4][4],
float  B[3][3] 
)
void mul_m4_v3 ( float  M[4][4],
float  r[3] 
)

Referenced by add_verts_to_dgroups(), addvert_Nurb(), apply_objects_internal(), apply_targetless_ik(), applyModifier(), applyProject(), armature_bone_primitive_add_exec(), armature_deform_verts(), arrayModifier_doArray(), autosmooth(), b_bone_deform(), b_bone_spline_setup(), box_minmax_bounds_m4(), brush_add(), brush_puff(), cache_strand_surface(), calc_brushdata_symm(), calc_manipulator_stats(), calc_mballco(), calc_overlap(), calc_sculpt_normal(), calc_sculpt_plane(), calculateCenter(), calculateCenter2D(), clipMirrorModifier(), cloth_from_object(), cloth_to_object(), connect_hair(), constraint_mat_convertspace(), createTransParticleVerts(), cuboid_do(), curve_deform_vector(), curve_deform_verts(), deformVerts(), densfunc(), disconnect_hair(), displace_render_vert(), dist_bone_deform(), dl_surf_to_renderdata(), do_bake_shade(), do_guides(), do_hair_dynamics(), do_lamp_tex(), do_material_tex(), do_sky_tex(), do_step_cloth(), do_texture_effector(), do_volume_tex(), docenter_armature(), doMirrorOnAxis(), draw_marker_texts(), draw_new_particle_system(), drawHelpline(), drawPropCircle(), drawRBpivot(), dupli_extrude_cursor(), dvar_eval_locDiff(), dynamicPaint_brushMeshCalculateVelocity(), dynamicPaint_brushObjectCalculateVelocity(), dynamicPaint_generateBakeData(), dynamicPaint_paintMesh(), dynamicPaint_paintSinglePoint(), ED_armature_apply_transform(), ED_mesh_transform(), em_snap_to_cursor(), env_rotate_scene(), explodeMesh(), extrude_mesh(), extrudeflag_edge(), extrudeflag_vert(), face_duplilist(), flushTransParticles(), font_duplilist(), get_cpa_texture(), get_effector_data(), get_texture_coords(), global_bounds_obi(), globallen(), GPU_material_bind_uniforms(), imapaint_project(), init_meta(), init_render_curve(), init_render_dm(), init_render_mball(), init_render_mesh(), initElbeemMesh(), initWarp(), join_armature_exec(), join_curve_exec(), join_mesh_exec(), make_prim(), make_render_halos(), makeraytree_single(), mesh_deform_bind(), meshdeformModifier_do(), minmax_object(), motionpaths_calc_bake_targets(), mul_project_m4_v3(), mul_v3m3_dq(), node_shader_exec_mapping(), object_origin_set_exec(), occ_face(), occ_form_factor(), particle_billboard(), particle_normal_ren(), pchan_bone_deform(), pe_deflect_emitter(), PE_lasso_select(), PE_minmax(), PE_mirror_particle(), PE_update_mirror_cache(), peelDerivedMesh(), pointdensity_cache_object(), pointdensity_cache_psys(), precalc_guides(), precalculate_effector(), project_paint_begin_clone(), psys_apply_hair_lattice(), psys_cache_edit_paths(), psys_get_birth_coordinates(), psys_get_particle_on_path(), psys_get_texture(), psys_thread_create_path(), rayface_from_vlak(), RE_inithalo_particle(), RE_make_stars(), RE_make_sticky(), RE_rayobject_instance_bb(), RE_rayobject_instance_intersect(), RE_sample_material_color(), remove_doubles_exec(), render_new_particle_system(), ResizeBetween(), RotationBetween(), save_hair(), sculpt_get_brush_geometry(), sculpt_stroke_get_location(), setviewmatrixview3d(), shade_input_calc_viewco(), shade_input_set_shade_texco(), shade_input_set_strand_texco(), shade_input_set_uv(), shadowbuf_autoclip(), shrinkwrap_get_tarmat(), sk_convertStroke(), sk_pointToNode(), sk_strokeToArc(), snap_curs_to_active(), snap_curs_to_sel(), snap_sel_to_curs(), snap_sel_to_grid(), snapArmature(), snapDerivedMesh(), snapEdge(), snapVertex(), softbody_reset(), softbody_to_object(), softbody_update_positions(), sort_faces_exec(), sphere_do(), spin_exec(), splineik_evaluate_bone(), springs_from_mesh(), stabilization_auto_scale_factor(), strand_eval_point(), subdivideArcBy(), TargetSnapActive(), TargetSnapCenter(), TargetSnapClosest(), TargetSnapMedian(), tex_strength(), update_world_cos(), uv_cylinder_project(), uv_sphere_project(), uvprojectModifier_do(), v3d_editvertex_buts(), view3d_cached_text_draw_end(), viewpixel_to_lampbuf(), Warp(), and warpModifier_do().

void mul_m4_v4 ( float  M[4][4],
float  r[4] 
)
void mul_mat3_m4_fl ( float  R[4][4],
float  f 
)
void mul_mat3_m4_v3 ( float  M[4][4],
float  r[3] 
)
void mul_project_m4_v3 ( float  M[4][4],
float  vec[3] 
)
void mul_serie_m3 ( float  R[3][3],
float  M1[3][3],
float  M2[3][3],
float  M3[3][3],
float  M4[3][3],
float  M5[3][3],
float  M6[3][3],
float  M7[3][3],
float  M8[3][3] 
)
void mul_serie_m4 ( float  R[4][4],
float  M1[4][4],
float  M2[4][4],
float  M3[4][4],
float  M4[4][4],
float  M5[4][4],
float  M6[4][4],
float  M7[4][4],
float  M8[4][4] 
)
void mul_transposed_m3_v3 ( float  M[3][3],
float  r[3] 
)
void mul_v3_m3v3 ( float  r[3],
float  M[3][3],
float  a[3] 
)
void mul_v3_m4v3 ( float  r[3],
float  M[4][4],
const float  v[3] 
)

Referenced by add_hook_object(), add_primitive_bone(), add_vertex_invoke(), add_verts_to_dgroups(), addvert_Nurb(), armature_circle_select(), armature_fill_bones_exec(), arrayModifier_doArray(), BKE_object_foreach_display_point(), BKE_text_to_curve(), BKE_tracking_stabilize(), brush_puff(), bundle_midpoint(), calc_latt_deform(), calc_local_clipping(), contarget_get_lattice_mat(), contarget_get_mesh_mat(), ConvertCSGDescriptorsToDerivedMesh(), createVertsTrisData(), cuboid_do(), deformVerts_do(), do_lasso_select_armature(), do_lasso_select_meta(), do_lasso_select_pose(), do_rotate_brush(), do_set_scale(), draw_hooks(), draw_motion_path_instance(), draw_new_particle_system(), draw_viewport_object_reconstruction(), dupli_extrude_cursor(), ED_clip_point_stable_pos(), EM_project_snap_verts(), followtrack_evaluate(), get_new_constraint_target(), get_texture_coords(), get_vert2ob_distance(), gp_stroke_convertcoords(), init_curve_deform(), InterpCSGFace(), kinematic_get_tarmat(), mesh_deform_bind(), meshdeformModifier_do(), minmax_object(), minmax_object_duplis(), node_composit_transform(), paint_calc_object_space_radius(), paintface_minmax(), pose_circle_select(), project_from_view(), project_from_view_ortho(), project_paint_begin(), sculpt_brush_test_cube(), sculpt_update_brush_delta(), selected_boundbox(), set_axis(), set_floor_exec(), set_origin_exec(), solve_parenting(), space_transform_apply(), space_transform_invert(), sphere_do(), vertex_dupli__mapFunc(), VertexIt_Fill(), viewselected_exec(), vol_get_precached_scattering(), vol_precache_part(), warpModifier_do(), and where_is_pose_bone().

void mul_v4_m4v4 ( float  r[4],
float  M[4][4],
float  v[4] 
)

Definition at line 357 of file math_matrix.c.

Referenced by draw_tracking_tracks(), and mul_m4_v4().

void mult_m3_m3m4 ( float  R[3][3],
float  A[4][4],
float  B[3][3] 
)
void mult_m4_m4m4 ( float  R[4][4],
float  A[4][4],
float  B[4][4] 
)

Referenced by actcon_evaluate(), TransformWriter::add_node_transform(), TransformWriter::add_node_transform_ob(), add_render_lamp(), AnimationImporter::apply_matrix_curves(), apply_targetless_ik(), applyModifier(), armature_deform_verts(), armature_mat_pose_to_bone(), armature_mat_pose_to_delta(), armature_mat_world_to_pose(), arrayModifier_doArray(), assign_dupligroup_dupli(), b_bone_spline_setup(), base_callback(), bc_set_parent(), BKE_tracking_projection_matrix(), bundle_midpoint(), AnimationImporter::calc_joint_parent_mat_rest(), calculate_speedvectors(), calculate_strandsurface_speedvectors(), camerasolver_evaluate(), child_get_inverse_matrix(), childof_evaluate(), clipMirrorModifier(), constraint_mat_convertspace(), constraint_target_to_mat4(), constraints_clear_evalob(), constraints_make_evalob(), convert_pose(), convert_tree(), copy_dbase_object_vectors(), AnimationExporter::create_4x4_source(), DocumentImporter::create_instance_node(), cuboid_do(), database_init_objects(), deformVerts_do(), do_clay_tubes_brush(), doMirrorOnAxis(), draw_depth(), draw_depth_gpencil(), draw_new_particle_system(), dvar_eval_transChan(), ED_view3d_boundbox_clip(), ED_view3d_camera_lock_sync(), ED_view3d_draw_offscreen_imbuf_simple(), ED_view3d_init_mats_rv3d(), ED_view3d_ob_project_mat_get(), env_rotate_scene(), env_set_imats(), AnimationImporter::evaluate_transform_at_frame(), execute_posetree(), extrudeflag_edge(), extrudeflag_vert(), face_duplilist(), find_dupli_instances(), followpath_get_tarmat(), followtrack_evaluate(), AnimationImporter::get_joint_rest_mat(), TransformReader::get_node_mat(), GPU_lamp_shadow_buffer_bind(), GPU_material_bind_uniforms(), gpu_update_lamps_shadows(), group_duplilist(), init_curve_deform(), init_latt_deform(), init_meta(), init_render_curve(), init_render_mball(), init_render_mesh(), init_render_object(), init_render_surf(), initshadowbuf(), isb_bsp_fillfaces(), join_armature_exec(), join_curve_exec(), join_mesh_exec(), load_fluidsimspeedvectors(), make_dmats(), make_envmaps(), make_render_halos(), makeshadowbuf(), manipulator_selectbuf(), mat4_to_dquat(), meshdeformModifier_do(), minmax_evaluate(), move_camera(), mul_serie_m4(), new_particle_duplilist(), NewBooleanDerivedMesh_intern(), ntap_bump_compute(), ob_parcurve(), object_apply_mat4(), object_camera_dof_distance(), object_handle_update(), object_hook_reset_exec(), object_make_proxy(), object_solver_inverted_matrix(), objectsolver_evaluate(), pointdensity_cache_psys(), project_paint_begin(), psys_mat_hair_to_global(), psys_render_set(), RE_make_sticky(), render_envmap(), render_new_particle_system(), AnimationExporter::sample_animation(), scale_reconstructed_camera(), set_axis(), set_floor_exec(), shade_input_set_shade_texco(), shadowbuf_autoclip(), sort_faces_exec(), sphere_do(), target_callback(), AnimationImporter::translate_animation_OLD(), uvprojectModifier_do(), vertex_duplilist(), view3d_get_transformation(), view3d_main_area_setup_view(), view3d_opengl_select(), vpaint_stroke_test_start(), vpaint_stroke_update_step(), warpModifier_do(), waveModifier_do(), where_is_armature_bone(), where_is_ik_bone(), where_is_pose(), where_is_pose_bone(), wpaint_stroke_test_start(), wpaint_stroke_update_step(), zbuf_make_winmat(), zbuffer_abuf(), zbuffer_shadow(), zbuffer_solid(), zbuffer_sss(), and zbuffer_strands_abuf().

void normalize_m3 ( float  R[3][3])
void normalize_m3_m3 ( float  R[3][3],
float  A[3][3] 
)

Referenced by mat3_to_rot_size().

void normalize_m4 ( float  R[4][4])
void normalize_m4_m4 ( float  R[4][4],
float  A[4][4] 
)
void orthogonalize_m3 ( float  R[3][3],
int  axis 
)
void orthogonalize_m4 ( float  R[4][4],
int  axis 
)

Referenced by mat4_to_dquat(), and preOrthoFront().

void print_m3 ( const char *  str,
float  M[3][3] 
)
void print_m4 ( const char *  str,
float  M[3][4] 
)

Referenced by fix_bonelist_roll().

void pseudoinverse_m4_m4 ( float  Ainv[4][4],
float  A[4][4],
float  epsilon 
)

Definition at line 1718 of file math_matrix.c.

References i, mul_serie_m4(), NULL, svd_m4(), transpose_m4(), U, V, and zero_m4().

void rotate_m4 ( float  mat[4][4],
const char  axis,
const float  angle 
)
void scale_m3_fl ( float  R[3][3],
float  scale 
)

Referenced by deformMatrices(), and deformMatricesEM().

void scale_m4_fl ( float  R[4][4],
float  scale 
)
void size_to_mat3 ( float  R[3][3],
const float  size[3] 
)
void size_to_mat4 ( float  R[4][4],
const float  size[3] 
)
void sub_m3_m3m3 ( float  R[3][3],
float  A[3][3],
float  B[3][3] 
)
void sub_m4_m4m4 ( float  R[4][4],
float  A[4][4],
float  B[4][4] 
)
void svd_m4 ( float  U[4][4],
float  s[4],
float  V[4][4],
float  A[4][4] 
)

Definition at line 1295 of file math_matrix.c.

References A, copy_m4_m4(), credits_svn_gen::e, eps, fabsf, g, hypotf, i, maxf(), minf(), p, powf, pp, sqrtf, zero_m4(), and zero_v4().

Referenced by pseudoinverse_m4_m4().

void swap_m3m3 ( float  A[3][3],
float  B[3][3] 
)
void swap_m4m4 ( float  A[4][4],
float  B[4][4] 
)
void translate_m4 ( float  mat[4][4],
float  tx,
float  ty,
float  tz 
)
void transpose_m3 ( float  R[3][3])
void transpose_m4 ( float  R[4][4])
void unit_m3 ( float  R[3][3])
void unit_m4 ( float  R[4][4])

Referenced by actcon_get_tarmat(), add_only_object(), AnimationImporter::apply_matrix_curves(), applyModifier(), armature_mat_pose_to_bone(), arrayModifier_doArray(), axis_angle_to_mat4(), b_bone_spline_setup(), BKE_get_tracking_mat(), BKE_tracking_get_interpolated_camera(), BKE_tracking_stabdata_to_mat4(), brush_puff(), calc_brushdata_symm(), AnimationImporter::calc_joint_parent_mat_rest(), calc_manipulator_stats(), child_get_inverse_matrix(), childof_clear_inverse_exec(), childof_new_data(), clampto_evaluate(), clampto_get_tarmat(), clip_draw_main(), constraints_make_evalob(), constraintTransLim(), convert_pose(), convert_tree(), createSlideVerts(), createTransParticleVerts(), TransformReader::dae_translate_to_mat4(), damptrack_evaluate(), default_get_tarmat(), default_tex_mapping(), do_rotate_brush(), do_versions(), draw_dupli_objects_color(), draw_forcefield(), draw_manipulator_rotate(), draw_manipulator_scale(), draw_manipulator_translate(), draw_object(), drawPropCircle(), ED_object_new_primitive_matrix(), env_rotate_scene(), AnimationImporter::evaluate_transform_at_frame(), execute_posetree(), followpath_get_tarmat(), get_constraint_target_matrix(), get_constraint_targets_for_solving(), TransformReader::get_node_mat(), gp_session_initdata(), GPU_lamp_shadow_buffer_bind(), init_meta(), init_tex_mapping(), join_armature_exec(), kinematic_get_tarmat(), loc_eul_size_to_mat4(), loc_eulO_size_to_mat4(), loc_quat_size_to_mat4(), lookat_m4(), Matrix_identity(), minmax_evaluate(), node_composit_transform(), ob_parbone(), ob_parcurve(), ob_parvert3(), object_solver_inverted_matrix(), objectsolver_clear_inverse_exec(), objectsolver_new_data(), orthographic_m4(), parent_clear_exec(), parent_noinv_set_exec(), PE_minmax(), polarview_m4(), psys_face_mat(), psys_get_dupli_path_transform(), psys_get_particle_on_path(), psys_get_particle_state(), pycon_get_tarmat(), RE_Database_Baking(), RE_init_sample_material(), RE_make_stars(), RE_sample_material_color(), resizelattice(), set_axis(), set_floor_exec(), setTransformViewMatrices(), shrinkwrap_get_tarmat(), size_to_mat4(), solve_parenting(), spin_exec(), splineik_get_tarmat(), AnimationImporter::translate_animation_OLD(), uv_map_rotation_matrix(), uv_map_transform(), uvprojectModifier_do(), vec_rot_to_mat4(), verify_pose_channel(), warpModifier_do(), what_does_parent(), and where_is_pose_bone().

void zero_m3 ( float  R[3][3])
void zero_m4 ( float  R[4][4])

Definition at line 41 of file math_matrix.c.

Referenced by pseudoinverse_m4_m4(), svd_m4(), and uv_map_rotation_matrix().