|
Blender V5.0
|
#include <algorithm>#include "BLI_math_base.h"#include "BLI_math_vector.h"#include "BLI_math_base_safe.h"#include "BLI_math_geom.h"#include "BLI_math_rotation.h"#include "BLI_strict_flags.h"Go to the source code of this file.
Macros | |
| #define | SWAP_AXIS(a, b) |
Functions | |
Interpolation | |
| void | interp_v2_v2v2 (float r[2], const float a[2], const float b[2], const float t) |
| void | interp_v2_v2v2v2 (float r[2], const float a[2], const float b[2], const float c[2], const float t[3]) |
| void | interp_v3_v3v3 (float r[3], const float a[3], const float b[3], const float t) |
| void | interp_v4_v4v4 (float r[4], const float a[4], const float b[4], const float t) |
| bool | interp_v3_v3v3_slerp (float target[3], const float a[3], const float b[3], const float t) |
| void | interp_v3_v3v3_slerp_safe (float target[3], const float a[3], const float b[3], const float t) |
| void | interp_v2_v2v2v2v2_cubic (float p[2], const float v1[2], const float v2[2], const float v3[2], const float v4[2], const float u) |
| void | interp_v3_v3v3v3 (float p[3], const float v1[3], const float v2[3], const float v3[3], const float w[3]) |
| void | interp_v3_v3v3v3v3 (float p[3], const float v1[3], const float v2[3], const float v3[3], const float v4[3], const float w[4]) |
| void | interp_v4_v4v4v4 (float p[4], const float v1[4], const float v2[4], const float v3[4], const float w[3]) |
| void | interp_v4_v4v4v4v4 (float p[4], const float v1[4], const float v2[4], const float v3[4], const float v4[4], const float w[4]) |
| void | interp_v3_v3v3v3_uv (float p[3], const float v1[3], const float v2[3], const float v3[3], const float uv[2]) |
| void | interp_v3_v3v3_uchar (uchar target[3], const uchar a[3], const uchar b[3], const float t) |
| void | mid_v3_v3v3 (float r[3], const float a[3], const float b[3]) |
| void | mid_v2_v2v2 (float r[2], const float a[2], const float b[2]) |
| void | mid_v2_v2v2v2 (float v[2], const float v1[2], const float v2[2], const float v3[2]) |
| void | mid_v3_v3v3v3 (float v[3], const float v1[3], const float v2[3], const float v3[3]) |
| void | mid_v3_v3v3v3v3 (float v[3], const float v1[3], const float v2[3], const float v3[3], const float v4[3]) |
| void | mid_v3_v3_array (float r[3], const float(*vec_arr)[3], const uint vec_arr_num) |
| void | mid_v3_v3v3_angle_weighted (float r[3], const float a[3], const float b[3]) |
Angles | |
| float | angle_v3v3v3 (const float a[3], const float b[3], const float c[3]) |
| float | cos_v3v3v3 (const float p1[3], const float p2[3], const float p3[3]) |
| float | angle_v3v3 (const float a[3], const float b[3]) |
| float | angle_v2v2v2 (const float a[2], const float b[2], const float c[2]) |
| float | cos_v2v2v2 (const float p1[2], const float p2[2], const float p3[2]) |
| float | angle_v2v2 (const float a[2], const float b[2]) |
| float | angle_signed_v2v2 (const float v1[2], const float v2[2]) |
| float | angle_normalized_v3v3 (const float v1[3], const float v2[3]) |
| float | angle_normalized_v2v2 (const float a[2], const float b[2]) |
| float | angle_on_axis_v3v3_v3 (const float v1[3], const float v2[3], const float axis[3]) |
| float | angle_signed_on_axis_v3v3_v3 (const float v1[3], const float v2[3], const float axis[3]) |
| float | angle_on_axis_v3v3v3_v3 (const float v1[3], const float v2[3], const float v3[3], const float axis[3]) |
| float | angle_signed_on_axis_v3v3v3_v3 (const float v1[3], const float v2[3], const float v3[3], const float axis[3]) |
| void | angle_tri_v3 (float angles[3], const float v1[3], const float v2[3], const float v3[3]) |
| void | angle_quad_v3 (float angles[4], const float v1[3], const float v2[3], const float v3[3], const float v4[3]) |
| void | angle_poly_v3 (float *angles, const float *verts[3], int len) |
Geometry | |
| void | project_v2_v2v2 (float out[2], const float p[2], const float v_proj[2]) |
| void | project_v3_v3v3 (float out[3], const float p[3], const float v_proj[3]) |
| void | project_v2_v2v2_normalized (float out[2], const float p[2], const float v_proj[2]) |
| void | project_v3_v3v3_normalized (float out[3], const float p[3], const float v_proj[3]) |
| void | project_plane_v3_v3v3 (float out[3], const float p[3], const float v_plane[3]) |
| void | project_plane_normalized_v3_v3v3 (float out[3], const float p[3], const float v_plane[3]) |
| void | project_v3_plane (float out[3], const float plane_no[3], const float plane_co[3]) |
| void | bisect_v3_v3v3v3 (float r[3], const float a[3], const float b[3], const float c[3]) |
| void | reflect_v3_v3v3 (float out[3], const float v[3], const float normal[3]) |
| void | ortho_basis_v3v3_v3 (float r_n1[3], float r_n2[3], const float n[3]) |
| void | ortho_v3_v3 (float out[3], const float v[3]) |
| void | ortho_v2_v2 (float out[2], const float v[2]) |
| void | rotate_v2_v2fl (float r[2], const float p[2], const float angle) |
| void | rotate_normalized_v3_v3v3fl (float out[3], const float p[3], const float axis[3], const float angle) |
| void | rotate_v3_v3v3fl (float r[3], const float p[3], const float axis[3], const float angle) |
Other | |
| void | print_v2 (const char *str, const float v[2]) |
| void | print_v3 (const char *str, const float v[3]) |
| void | print_v4 (const char *str, const float v[4]) |
| void | print_vn (const char *str, const float v[], const int n) |
| void | minmax_v4v4_v4 (float min[4], float max[4], const float vec[4]) |
| void | minmax_v3v3_v3 (float min[3], float max[3], const float vec[3]) |
| void | minmax_v2v2_v2 (float min[2], float max[2], const float vec[2]) |
| void | dist_ensure_v3_v3fl (float v1[3], const float v2[3], const float dist) |
| void | dist_ensure_v2_v2fl (float v1[2], const float v2[2], const float dist) |
| void | axis_sort_v3 (const float axis_values[3], int r_axis_order[3]) |
Array Functions | |
| MINLINE double | sqr_db (double f) |
| double | dot_vn_vn (const float *array_src_a, const float *array_src_b, const int size) |
| double | len_squared_vn (const float *array, const int size) |
| float | normalize_vn_vn (float *array_tar, const float *array_src, const int size) |
| float | normalize_vn (float *array_tar, const int size) |
| void | range_vn_i (int *array_tar, const int size, const int start) |
| void | range_vn_u (uint *array_tar, const int size, const uint start) |
| void | range_vn_fl (float *array_tar, const int size, const float start, const float step) |
| void | negate_vn (float *array_tar, const int size) |
| void | negate_vn_vn (float *array_tar, const float *array_src, const int size) |
| void | mul_vn_vn (float *array_tar, const float *array_src, const int size) |
| void | mul_vn_vnvn (float *array_tar, const float *array_src_a, const float *array_src_b, const int size) |
| void | mul_vn_fl (float *array_tar, const int size, const float f) |
| void | mul_vn_vn_fl (float *array_tar, const float *array_src, const int size, const float f) |
| void | add_vn_vn (float *array_tar, const float *array_src, const int size) |
| void | add_vn_vnvn (float *array_tar, const float *array_src_a, const float *array_src_b, const int size) |
| void | sub_vn_vn (float *array_tar, const float *array_src, const int size) |
| void | sub_vn_vnvn (float *array_tar, const float *array_src_a, const float *array_src_b, const int size) |
| void | interp_vn_vn (float *array_tar, const float *array_src, const float t, const int size) |
| void | copy_vn_i (int *array_tar, const int size, const int val) |
| void | copy_vn_short (short *array_tar, const int size, const short val) |
| void | copy_vn_fl (float *array_tar, const int size, const float val) |
Double precision versions 'db'. | |
| void | add_vn_vn_d (double *array_tar, const double *array_src, const int size) |
| void | add_vn_vnvn_d (double *array_tar, const double *array_src_a, const double *array_src_b, const int size) |
| void | mul_vn_db (double *array_tar, const int size, const double f) |
| void | interp_v3_v3v3_db (double target[3], const double a[3], const double b[3], const double t) |
| void | interp_v2_v2v2_db (double target[2], const double a[2], const double b[2], const double t) |
| #define SWAP_AXIS | ( | a, | |
| b ) |
Referenced by axis_sort_v3().
Definition at line 933 of file math_vector.cc.
Referenced by Color_iadd(), and Vector_iadd().
| void add_vn_vn_d | ( | double * | array_tar, |
| const double * | array_src, | ||
| const int | size ) |
Definition at line 1027 of file math_vector.cc.
Referenced by BLI_quadric_add_qu_qu().
| void add_vn_vnvn | ( | float * | array_tar, |
| const float * | array_src_a, | ||
| const float * | array_src_b, | ||
| const int | size ) |
Definition at line 943 of file math_vector.cc.
Referenced by Color_add(), Matrix_add(), and Vector_add().
| void add_vn_vnvn_d | ( | double * | array_tar, |
| const double * | array_src_a, | ||
| const double * | array_src_b, | ||
| const int | size ) |
Definition at line 1037 of file math_vector.cc.
Referenced by BLI_quadric_add_qu_ququ().
Definition at line 350 of file math_vector.cc.
References b, BLI_ASSERT_UNIT_V2, dot_v2v2(), float, len_v2v2(), M_PI, negate_v2_v2(), and safe_asinf().
Referenced by angle_v2v2(), angle_v2v2v2(), computeBindWeights(), edbm_rip_edge_invoke(), blender::draw::edituv_get_edituv_stretch_angle(), and blender::ed::transform::InputAngle().
Definition at line 334 of file math_vector.cc.
References BLI_ASSERT_UNIT_V3, dot_v3v3(), float, len_v3v3(), M_PI, negate_v3_v3(), safe_asinf(), and v2.
Referenced by blender::nodes::node_fn_align_euler_to_vector_cc::align_rotations_auto_pivot(), blender::nodes::node_fn_align_rotation_to_vector_cc::align_rotations_auto_pivot(), angle_poly_v3(), angle_quad_v3(), angle_tri_v3(), angle_v3v3(), angle_v3v3v3(), bevel_list_flip_tangents(), bevel_list_smooth(), BM_edge_calc_face_angle_ex(), BM_edge_calc_face_angle_signed_ex(), BM_edge_calc_face_angle_with_imat3_ex(), bm_edge_calc_rotate_beauty__angle(), bm_edge_is_delimit(), bm_edgering_pair_interpolate(), bm_interior_face_group_calc_cost(), build_emats_stack(), calc_solidify_normals(), blender::bke::curves::poly::calculate_next_normal(), compute_alignment(), computeBindWeights(), connection_node_mat(), curve_nurb_select_similar_type(), DRW_text_edit_mesh_measure_stats(), edbm_dupli_extrude_cursor_invoke(), edge_face_angle(), blender::draw::edituv_get_edituv_stretch_angle(), blender::bke::mesh::face_angles_calc(), blender::nodes::node_geo_input_mesh_edge_angle_cc::AngleFieldInput::get_varray_for_context(), blender::nodes::node_geo_input_mesh_edge_angle_cc::SignedAngleFieldInput::get_varray_for_context(), gizmo_ruler_draw(), knifetool_draw_angle(), make_bevel_list_3D_minimum_twist(), map_to_plane_v2_v3v3(), mball_select_similar_type(), mesh_calc_hq_normal(), minimum_twist_between_two_points(), MOD_solidify_extrude_modifyMesh(), offset_meet_edge(), pipe_test(), point_between_edges(), quad_calc_error(), rotation_between_vecs_to_quat(), similar_edge_select_exec(), similar_face_select_exec(), similar_vert_select_exec(), blender::draw::statvis_calc_distort(), blender::draw::statvis_calc_overhang(), blender::draw::statvis_calc_sharp(), viewrotate_apply(), and viewrotate_apply_snap().
Angle between 2 vectors, about an axis (axis can be considered a plane).
Definition at line 366 of file math_vector.cc.
References angle_v3v3(), project_plane_normalized_v3_v3v3(), and v2.
Referenced by angle_on_axis_v3v3v3_v3(), and blender::write_weights_for_drawing().
| float angle_on_axis_v3v3v3_v3 | ( | const float | v1[3], |
| const float | v2[3], | ||
| const float | v3[3], | ||
| const float | axis[3] ) |
Angle between 2 vectors defined by 3 coords, about an axis (axis can be considered a plane).
Definition at line 397 of file math_vector.cc.
References angle_on_axis_v3v3_v3(), sub_v3_v3v3(), and v2.
Referenced by BM_mesh_wireframe(), and bmo_vert_calc_edge_angle_blended().
Definition at line 462 of file math_vector.cc.
References angle_normalized_v3v3(), float, i, len, M_PI, normalize_v3(), sub_v3_v3v3(), and verts.
Referenced by solidify_add_thickness().
| void angle_quad_v3 | ( | float | angles[4], |
| const float | v1[3], | ||
| const float | v2[3], | ||
| const float | v3[3], | ||
| const float | v4[3] ) |
Definition at line 441 of file math_vector.cc.
References angle_normalized_v3v3(), float, M_PI, normalize_v3(), sub_v3_v3v3(), and v2.
Definition at line 377 of file math_vector.cc.
References angle(), angle_v3v3(), cross_v3_v3v3(), dot_v3v3(), float, M_PI, project_plane_normalized_v3_v3v3(), and v2.
Referenced by blender::nodes::node_fn_align_euler_to_vector_cc::align_rotations_fixed_pivot(), blender::nodes::node_fn_align_rotation_to_vector_cc::align_rotations_fixed_pivot(), angle_signed_on_axis_v3v3v3_v3(), blender::bke::curves::poly::calculate_normals_minimum(), blender::nodes::node_geo_curve_primitive_arc_cc::create_arc_curve_from_points(), dial_ghostarc_get_angles(), ED_view3d_cursor3d_update(), gizmo_bisect_prop_angle_get(), gizmo_bisect_prop_angle_set(), gizmo_spin_prop_axis_angle_get(), gizmo_spin_prop_axis_angle_set(), knife_snap_v3_angle(), MOD_solidify_extrude_modifyMesh(), rotate_to_plane(), and blender::ed::transform::RotationBetween().
| float angle_signed_on_axis_v3v3v3_v3 | ( | const float | v1[3], |
| const float | v2[3], | ||
| const float | v3[3], | ||
| const float | axis[3] ) |
Definition at line 410 of file math_vector.cc.
References angle_signed_on_axis_v3v3_v3(), sub_v3_v3v3(), and v2.
Referenced by bm_face_split_edgenet_find_loop_walk(), BM_verts_sort_radial_plane(), and edbm_face_split_by_edges_exec().
Definition at line 328 of file math_vector.cc.
References atan2f, dot_v2v2(), and v2.
Referenced by angle_signed_v2v2_pos(), computeBindWeights(), blender::bke::pbvh::uv_islands::UVBorder::outside_angle(), slide_marker_modal(), ui_but_isect_pie_seg(), Vector_angle_signed(), and wm_gesture_straightline_do_angle_snap().
Definition at line 423 of file math_vector.cc.
References angle_normalized_v3v3(), float, M_PI, normalize_v3(), sub_v3_v3v3(), and v2.
Return the shortest angle in radians between the 2 vectors.
Definition at line 312 of file math_vector.cc.
References angle_normalized_v2v2(), b, and normalize_v2().
Referenced by bezt_edge_handle_angle(), BKE_mask_spline_project_co(), bm_loop_calc_uv_angle_from_dir(), get_updated_data_for_edge(), and uv_rip_pairs_calc_uv_angle().
Definition at line 284 of file math_vector.cc.
References angle_normalized_v2v2(), b, and normalize_v2().
Referenced by MOD_lineart_chain_split_angle(), and blender::geometry::p_chart_minimum_area_angle().
Return the shortest angle in radians between the 2 vectors.
Definition at line 274 of file math_vector.cc.
References angle_normalized_v3v3(), b, and normalize_v3_v3().
Referenced by angle_on_axis_v3v3_v3(), angle_signed_on_axis_v3v3_v3(), blender::ed::transform::axisProjection(), bevel_vert_construct(), blender::geometry::calculate_angles(), blender::ed::sculpt_paint::brushes::do_multiplane_scrape_brush(), ED_armature_ebone_roll_to_vector(), blender::nodes::node_fn_compare_cc::get_multi_function(), make_unit_square_map(), mix_normals(), modify_mesh(), nearly_parallel(), offset_meet(), select_similar_direction(), similar_face_select_exec(), and viewrotate_apply_snap().
Return the angle in radians between vecs 1-2 and 2-3 in radians If v1 is a shoulder, v2 is the elbow and v3 is the hand, this would return the angle at the elbow.
note that when v1/v2/v3 represent 3 points along a straight line that the angle returned will be pi (180deg), rather than 0.0.
Definition at line 250 of file math_vector.cc.
References angle_normalized_v3v3(), b, normalize_v3(), and sub_v3_v3v3().
Referenced by BM_loop_calc_face_angle(), BM_vert_calc_edge_angle_ex(), bmo_vert_calc_edge_angle_blended(), DRW_text_edit_mesh_measure_stats(), edbm_fill_grid_vert_tag_angle(), geometry_collide_offset(), knifetool_draw_visible_angles(), laplacian_triangle_area(), blender::ed::transform::mesh_customdatacorrect_init_vert(), MOD_solidify_nonmanifold_modifyMesh(), blender::geometry::p_edge_boundary_angle(), blender::geometry::p_triangle_angles(), ruler_item_as_string(), square_out_adj_vmesh(), and VoronoiVertexWeight::VoronoiVertexWeight().
| void axis_sort_v3 | ( | const float | axis_values[3], |
| int | r_axis_order[3] ) |
Definition at line 756 of file math_vector.cc.
References copy_v3_v3(), SWAP_AXIS, and v.
Referenced by bm_vert_tri_find_unique_edge(), draw_view_axis(), and splineik_evaluate_bone().
Returns a vector bisecting the angle at b formed by a, b and c.
Definition at line 547 of file math_vector.cc.
References add_v3_v3v3(), b, normalize_v3(), and sub_v3_v3v3().
Referenced by bevel_list_calc_bisect(), bm_edgering_pair_interpolate(), and make_bevel_list_2D().
Definition at line 1012 of file math_vector.cc.
Referenced by blender::math::bilinear_fl_impl(), BKE_defvert_extract_vgroup_to_edgeweights(), BKE_defvert_extract_vgroup_to_faceweights(), BKE_defvert_extract_vgroup_to_loopweights(), BKE_defvert_extract_vgroup_to_vertweights(), BKE_mesh_remap_calc_edges_from_mesh(), BKE_mesh_remap_calc_faces_from_mesh(), BLI_astar_graph_solve(), blo_do_versions_260(), BM_mesh_calc_path_edge(), BM_mesh_calc_path_face(), BM_mesh_calc_path_uv_edge(), BM_mesh_calc_path_uv_face(), BM_mesh_calc_path_uv_vert(), BM_mesh_calc_path_vert(), BM_vert_loop_groups_data_layer_create(), C_Vector_Fill(), calc_deltas(), calc_tangent_spaces(), blender::ed::transform::calcEdgeSlide_mval_range(), CustomData_bmesh_interp(), CustomData_interp(), initNumInput(), Matrix_zero(), MOD_solidify_extrude_modifyMesh(), normalize_vn_vn(), smooth_verts(), blender::draw::statvis_calc_sharp(), blender::draw::statvis_calc_thickness(), v3d_editvertex_buts(), Vector_CreatePyObject(), Vector_length_set(), Vector_resize(), Vector_resized(), Vector_vectorcall(), and Vector_zero().
| void copy_vn_i | ( | int * | array_tar, |
| const int | size, | ||
| const int | val ) |
Definition at line 994 of file math_vector.cc.
Referenced by arrayModifier_doArray(), BM_face_split_edgenet_connect_islands(), BM_mesh_decimate_dissolve_ex(), bm_uv_build_islands(), CustomData_reset(), filelist_cache_clear(), FileListEntryCache::FileListEntryCache(), initNumInput(), layerDefault_origindex(), mesh_calc_path_region_elem(), mesh_calc_path_region_elem(), mesh_merge_transform(), mesh_remove_doubles_on_axis(), MOD_solidify_extrude_modifyMesh(), blender::ed::vse::sequencer_select_side_exec(), skin_set_orig_indices(), and blender::ed::transform::transform_convert_mesh_islands_calc().
| void copy_vn_short | ( | short * | array_tar, |
| const int | size, | ||
| const short | val ) |
Definition at line 1003 of file math_vector.cc.
Referenced by initNumInput().
Quicker than full angle computation.
Definition at line 300 of file math_vector.cc.
References dot_v2v2(), normalize_v2(), and sub_v2_v2v2().
Referenced by get_updated_data_for_edge(), and scanfill().
Quicker than full angle computation.
Definition at line 262 of file math_vector.cc.
References dot_v3v3(), normalize_v3(), and sub_v3_v3v3().
Referenced by bm_vert_collapse_is_degenerate(), and blender::geometry::p_vec_cos().
Definition at line 745 of file math_vector.cc.
References equals_v2v2(), madd_v2_v2v2fl(), nor, normalize_v2(), sub_v2_v2v2(), and v2.
Referenced by BKE_mask_calc_handle_adjacent_interp(), BKE_mask_calc_handle_point_auto(), mask_spline_feather_differentiated_points_with_resolution__double(), and ui_numedit_but_HSVCIRCLE().
ensure v1 is dist from v2
Definition at line 734 of file math_vector.cc.
References equals_v3v3(), madd_v3_v3v3fl(), nor, normalize_v3(), sub_v3_v3v3(), and v2.
Referenced by blender::ed::transform::Bend(), BKE_nurbList_handles_recalculate(), and brush_puff().
Definition at line 799 of file math_vector.cc.
Referenced by Vector_dot(), Vector_length_get(), Vector_length_set(), Vector_length_squared_get(), Vector_matmul(), and Vector_slerp().
Definition at line 24 of file math_vector.cc.
References b.
Referenced by annotation_add_missing_events(), annotation_draw_apply(), annotation_smooth_buffer(), BKE_fcurve_bezt_subdivide_handles(), BKE_tracking_marker_get_interpolated(), BKE_tracking_marker_get_subframe_position(), BKE_tracking_plane_marker_get_subframe_corners(), BKE_tracking_tracks_join(), edbm_rip_edgedist_squared(), find_nearest_edge__doClosest(), insert_point_to_segment(), interp_v2_v2v2v2v2_cubic(), interpolate_averaged_track_contributions(), project_paint_face_init(), resolve_quad_uv_v2_deriv(), slide_spline_curvature_modal(), blender::ed::curves::stroke_elem_interp(), stroke_elem_interp(), track_plane_from_existing_motion(), and uv_warp_compute().
| void interp_v2_v2v2_db | ( | double | target[2], |
| const double | a[2], | ||
| const double | b[2], | ||
| const double | t ) |
Definition at line 1069 of file math_vector.cc.
References b.
Referenced by lineart_edge_first_bounding_area().
| void interp_v2_v2v2v2 | ( | float | r[2], |
| const float | a[2], | ||
| const float | b[2], | ||
| const float | c[2], | ||
| const float | t[3] ) |
Weight 3 2D vectors, w must be unit length but is not a vector, just 3 weights.
Definition at line 32 of file math_vector.cc.
References b.
Referenced by project_bucket_clip_face(), project_face_pixel(), project_paint_PickColor(), rect_to_uvspace_ortho(), and rect_to_uvspace_persp().
| void interp_v2_v2v2v2v2_cubic | ( | float | p[2], |
| const float | v1[2], | ||
| const float | v2[2], | ||
| const float | v3[2], | ||
| const float | v4[2], | ||
| float | u ) |
Cubic curve interpolation (bezier spline).
Definition at line 103 of file math_vector.cc.
References interp_v2_v2v2(), and v2.
Referenced by BKE_mask_point_segment_co(), and wm_xr_navigation_fly_modal().
Definition at line 39 of file math_vector.cc.
References b.
Referenced by alter_co(), BKE_lattice_deform_data_eval_co(), BKE_mesh_remap_calc_edges_from_mesh(), blend_m3_m3m3(), blend_m4_m4m4(), bm_bridge_splice_loops(), bm_decim_edge_collapse(), bm_edgering_pair_interpolate(), bm_face_split_edge_find(), bm_grid_fill_array(), bm_isect_tri_tri(), bm_subdivide_edge_addvert(), bmo_planar_faces_exec(), bmo_smooth_vert_exec(), boid_find_ground(), bone_locked_color_shade(), calculate_new_bezier_point(), calculate_profile_segments(), blender::nodes::node_shader_curves_cc::rgb::CurveRGBFunction::call(), blender::nodes::node_shader_curves_cc::vec::CurveVecFunction::call(), blender::bke::pbvh::clip_ray_ortho(), closest_ray_to_segment_v3(), cloth_calc_average_acceleration(), cloth_calc_force(), cloth_collision_response_static(), cloth_continuum_step(), collision_move_object(), collision_newton_rhapson(), collision_response(), compute_collision_point_edge_tri(), constraint_target_to_mat4(), converge(), dist_squared_ray_to_seg_v3(), distlimit_evaluate(), do_clump_level(), do_guides(), do_kink(), do_kink_spiral(), blender::draw::gpencil::Instance::draw(), edbm_blend_from_shape_exec(), evaluate_cubic_bezier(), find_nearest_edge__doClosest(), flyApply(), blender::draw::View::frustum_culling_sphere_calc(), get_bezier_interpolated_point(), hook_co_apply(), blender::ed::transform::interp_line_v3_v3v3v3(), interp_m3_m3m3(), interp_m4_m4m4(), interp_slerp_co_no_v3(), interpolate_pathcache(), blender::io::alembic::interpolate_to_zup(), intersect_line_tri(), isect_tri_tri_v3_ex(), knife_closest_constrain_to_edge(), limit_dist_v3(), lineart_chain_create_crossing_point(), loop_interp_multires_cb(), mesh_symmetry_snap_exec(), meshcache_do(), mixColors(), blender::ed::space_node::nodelink_get_draw_config(), offset_on_edge_between(), pipe_adj_vmesh(), position_tail_on_spline(), project_paint_face_init(), psys_cache_edit_paths_iter(), psys_get_particle_state(), ptcache_rigidbody_interpolate(), blender::ed::sculpt_paint::rake_data_update(), blender::io::alembic::read_mverts_interp(), rotateBevelPiece(), shrinkwrap_calc_nearest_surface_point_cb_ex(), shrinkwrap_calc_nearest_vertex_cb_ex(), shrinkwrap_calc_normal_projection_cb_ex(), shrinkwrap_get_tarmat(), shrinkwrap_snap_with_side(), SIM_cloth_solve(), SIM_hair_volume_add_segment(), SIM_hair_volume_grid_velocity(), SIM_hair_volume_solve_divergence(), simple_helper(), skin_smooth_hulls(), blender::ed::transform::SnapData::snap_edge_points_impl(), splineik_evaluate_bone(), square_out_adj_vmesh(), state_calc_co_pair(), blender::ed::curves::stroke_elem_interp(), stroke_elem_interp(), subdivide_base(), subdividenurb(), target_project_edge(), timeline_cache_draw_single(), track_channel_color(), blender::ed::transform::transdata_elem_bend(), transform_point_by_seg_v3(), tri_v3_scale(), blender::ed::transform::vert_slide_apply_elem(), view3d_preselect_mesh_edgering_update_edges_from_edge(), view3d_preselect_mesh_edgering_update_verts_from_edge(), view3d_smoothview_apply_with_interp(), viewrotate_apply(), warpModifier_do(), blender::ed::transform::WIDGETGROUP_xform_shear_setup(), and wm_xr_navigation_teleport_ground_plane().
| void interp_v3_v3v3_db | ( | double | target[3], |
| const double | a[3], | ||
| const double | b[3], | ||
| const double | t ) |
Definition at line 1060 of file math_vector.cc.
References b.
Referenced by lineart_do_closest_segment(), lineart_shadow_cast_onto_triangle(), lineart_shadow_create_shadow_edge_array(), lineart_shadow_register_enclosed_shapes(), lineart_shadow_segment_slice_get(), lineart_triangle_2v_intersection_math(), lineart_triangle_cull_single(), lineart_triangle_edge_image_space_occlusion(), and MOD_lineart_chain_feature_lines().
slerp, treat vectors as spherical coordinates
Definition at line 58 of file math_vector.cc.
References b, BLI_ASSERT_UNIT_V3, dot_v3v3(), interp_dot_slerp(), UNLIKELY, and w().
Referenced by interp_slerp_co_no_v3(), and interp_v3_v3v3_slerp_safe().
Same as interp_v3_v3v3_slerp but uses fallback values for opposite vectors.
Definition at line 81 of file math_vector.cc.
References b, BLI_assert, copy_v3_v3(), interp_v3_v3v3_slerp(), normalize_v3(), ortho_v3_v3(), and UNLIKELY.
Referenced by BKE_mesh_remap_calc_edges_from_mesh(), layerCopyValue_normal(), mix_normals(), and blender::ed::object::object_rand_transverts().
Definition at line 172 of file math_vector.cc.
Referenced by widget_tab().
| void interp_v3_v3v3v3 | ( | float | p[3], |
| const float | v1[3], | ||
| const float | v2[3], | ||
| const float | v3[3], | ||
| const float | w[3] ) |
Weight 3 vectors, w must be unit length but is not a vector, just 3 weights.
Definition at line 122 of file math_vector.cc.
Referenced by BKE_shrinkwrap_compute_smooth_normal(), blender::ed::sculpt_paint::paint::image::calc_pixel_position(), dynamic_paint_generate_bake_data_cb(), dynamic_paint_paint_mesh_cell_point_cb_ex(), dynamic_paint_set_init_color_tex_to_imseq_cb(), project_paint_face_init(), project_paint_occlude_ptv_clip(), project_paint_op(), psys_interpolate_face(), blender::nodes::node_geo_distribute_points_on_faces_cc::sample_mesh_surface(), screen_px_from_ortho(), screen_px_from_persp(), target_project_solve_point_tri(), target_project_tri_deviation(), and transform_point_by_tri_v3().
| void interp_v3_v3v3v3_uv | ( | float | p[3], |
| const float | v1[3], | ||
| const float | v2[3], | ||
| const float | v3[3], | ||
| const float | uv[2] ) |
Definition at line 164 of file math_vector.cc.
References v2.
Referenced by bmbvh_ray_cast_handle_hit(), knife_ray_intersect_face(), and blender::draw::statvis_calc_thickness().
| void interp_v3_v3v3v3v3 | ( | float | p[3], |
| const float | v1[3], | ||
| const float | v2[3], | ||
| const float | v3[3], | ||
| const float | v4[3], | ||
| const float | w[4] ) |
Weight 3 vectors, w must be unit length but is not a vector, just 4 weights.
Definition at line 130 of file math_vector.cc.
Referenced by BKE_where_on_path(), psys_interpolate_face(), psys_interpolate_particle(), and psys_thread_create_path().
Definition at line 48 of file math_vector.cc.
References b.
Referenced by blender::ed::sculpt_paint::color::color_filter_task(), drw_shgroup_bone_envelope(), get_pchan_color_constraint(), gizmo_axis_draw(), interp_bpoint(), psys_thread_create_path(), setkeys(), version_principled_bsdf_specular_tint(), and version_principled_bsdf_subsurface().
| void interp_v4_v4v4v4 | ( | float | p[4], |
| const float | v1[4], | ||
| const float | v2[4], | ||
| const float | v3[4], | ||
| const float | w[3] ) |
Definition at line 142 of file math_vector.cc.
Referenced by dynamic_paint_set_init_color_vcol_to_imseq_cb(), and blender::bke::attribute_math::mix3().
| void interp_v4_v4v4v4v4 | ( | float | p[4], |
| const float | v1[4], | ||
| const float | v2[4], | ||
| const float | v3[4], | ||
| const float | v4[4], | ||
| const float | w[4] ) |
Definition at line 151 of file math_vector.cc.
Referenced by blender::bke::attribute_math::mix4(), and blender::bke::attribute_math::mix4().
Definition at line 981 of file math_vector.cc.
Referenced by meshcache_do(), and Vector_lerp().
| double len_squared_vn | ( | const float * | array, |
| const int | size ) |
Definition at line 811 of file math_vector.cc.
References i, size(), and sqr_db().
Referenced by normalize_vn_vn(), and Vector_richcmpr().
Definition at line 188 of file math_vector.cc.
References b.
Referenced by computeBindWeights(), ED_mask_center_from_pivot_ex(), ED_uvedit_center_multi(), edgetag_cut_cost_face_uv(), facetag_cut_cost_edge_uv(), find_nearest_edge__doClosest(), find_nearest_edge_center__doZBuf(), blender::ed::transform::gizmo2d_calc_bounds(), knife_find_line_hits(), knifetool_draw_visible_distances(), blender::geometry::uv_parametrizer_average(), and uvedit_pack_islands_multi().
Definition at line 194 of file math_vector.cc.
Referenced by overlap_tri_tri_uv_test().
Definition at line 215 of file math_vector.cc.
References float, i, madd_v3_v3fl(), and zero_v3().
Referenced by computeBindWeights(), and deformVert().
Definition at line 181 of file math_vector.cc.
References b.
Referenced by _scan_for_ext_spring_forces(), _softbody_calc_forces_slice_in_a_thread(), alter_co(), BKE_curve_texspace_calc(), BKE_mball_center_bounds(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), BKE_mesh_remesh_voxel_fix_poles(), BKE_mesh_texspace_calc(), bm_decim_build_quadrics(), bm_edge_symmetry_map(), BM_editselection_center(), BM_face_calc_center_bounds(), BM_face_calc_center_bounds_vcos(), BM_face_multires_bounds_smooth(), BM_vert_tri_calc_tangent_edge_pair(), bm_vert_tri_find_unique_edge(), BMBVH_EdgeVisible(), bmo_inset_region_exec(), brush_edit_init(), build_vmesh(), bundle_midpoint(), calc_ortho_extent(), blender::ed::transform::calculateCenterBound(), blender::bke::pbvh::clip_ray_ortho(), collapse_face_corners(), compute_mdisp_quad(), blender::ed::transform::createTransEdge(), cutEdges(), draw_bone_name(), draw_primitive_view_impl(), ED_armature_origin_set(), edbm_face_split_by_edges_exec(), edbm_point_normals_modal(), edbm_polybuild_face_at_cursor_invoke(), edbm_polybuild_split_at_cursor_invoke(), edbm_rip_invoke__vert(), EDBM_unified_findnearest_from_raycast(), edgetag_cut_cost_face(), facetag_cut_cost_edge(), find_first_points(), blender::draw::View::frustum_culling_sphere_calc(), blender::ed::transform::gizmo_3d_calc_pos(), interp_slerp_co_no_v3(), blender::ed::transform::isect_face_dst(), blender::ed::transform::isect_face_dst(), knife_find_closest_edge_of_face(), knife_find_line_hits(), knife_verts_edge_in_face(), match_texture_space_exec(), merge_frame_corners(), multires_subdivide_create_object_space_linear_grids(), blender::ed::object::object_origin_set_exec(), offset_meet(), offset_on_edge_between(), blender::bke::pbvh::pbvh_bmesh_collapse_edge(), blender::ed::transform::peelObjectsTransform(), quad_verts_to_barycentric_tri(), set_profile_params(), smoothModifier_do(), snap_curs_to_sel_ex(), blender::ed::transform::SnapData::snap_edge_points_impl(), sort_bmelem_flag(), square_out_adj_vmesh(), uv_map_transform_center(), view3d_from_minmax(), view3d_interactive_add_modal(), view3d_localview_init(), view3d_preselect_update_preview_triangle_from_edge(), blender::ed::object::voxel_size_edit_invoke(), blender::ed::object::voxel_size_parallel_lines_draw(), and blender::ed::transform::WIDGETGROUP_xform_cage_refresh().
Specialized function for calculating normals. Fast-path for:
We can use the length of (a + b) to calculate the angle.
Definition at line 225 of file math_vector.cc.
References acosf, add_v3_v3v3(), angle(), b, BLI_ASSERT_UNIT_V3, float, mul_v3_fl(), and normalize_v3().
Referenced by mesh_calc_hq_normal().
Definition at line 200 of file math_vector.cc.
Referenced by bindVert(), BM_face_calc_point_in_face(), compute_collision_point_edge_tri(), compute_collision_point_tri_tri(), blender::bke::mesh::face_area_centroid_calc(), blender::bke::mesh::face_center_calc(), ob_parvert3(), and tri_v3_scale().
| void mid_v3_v3v3v3v3 | ( | float | v[3], |
| const float | v1[3], | ||
| const float | v2[3], | ||
| const float | v3[3], | ||
| const float | v4[3] ) |
Definition at line 207 of file math_vector.cc.
Referenced by connect_frames(), draw_primitive_view_impl(), blender::bke::mesh::face_center_calc(), and mdisp_in_mdispquad().
Definition at line 725 of file math_vector.cc.
Referenced by BKE_mask_spline_feather_collapse_inner_loops(), BKE_mesh_remap_calc_faces_from_mesh(), BKE_tracking_marker_pattern_minmax(), BKE_tracking_plane_track_add(), BM_face_uv_minmax(), blender::ed::transform::clip_uv_transform_translation(), draw_distortion(), draw_spline_points(), dynamicPaint_createUVSurface(), ED_mask_selected_minmax(), ED_uvedit_minmax_multi(), feather_bucket_check_intersect(), layerDoMinMax_mloop_origspace(), blender::geometry::p_chart_uv_bbox(), pixel_bounds_array(), pixel_bounds_uv(), project_paint_delayed_face_init(), screen_geom_vertices_scale_pass(), selected_tracking_boundbox(), spline_under_mouse_get(), tracking_check_marker_margin(), uv_align(), uv_arrange_islands_exec(), uv_map_clip_correct(), and uvedit_uv_islands_arrange().
Definition at line 714 of file math_vector.cc.
Referenced by BKE_displist_minmax(), BKE_editmesh_cache_calc_minmax(), BKE_lattice_minmax(), BKE_mball_minmax(), BKE_mball_minmax_ex(), BKE_pchan_minmax(), BM_face_calc_bounds_expand(), BM_face_calc_center_bounds(), BM_face_calc_center_bounds_vcos(), boundInsert(), box_minmax_bounds_m4(), bundle_midpoint(), calc_nurb_minmax(), calc_ortho_extent(), blender::ed::transform::calc_tw_center(), blender::ed::transform::calculateCenterBound(), blender::bke::pbvh::clip_ray_ortho(), cuboid_do(), curve_deform_coords_impl(), distribute_grid(), ED_armature_origin_set(), ED_view3d_minmax_verts(), edbm_point_normals_modal(), generate_vert_coordinates(), harmonic_coordinates_bind(), heat_ray_tree_create(), blender::ed::object::object_origin_set_exec(), paintface_minmax(), particle_intersect_mesh(), points_in_planes_minmax_fn(), sb_detect_edge_collisionCached(), scopes_update_cb(), snap_curs_to_sel_ex(), softbody_apply_forces(), view3d_all_exec(), view3d_calc_minmax_selected(), view3d_object_calc_minmax(), and WM_gizmomap_minmax().
Definition at line 701 of file math_vector.cc.
Referenced by layerDoMinMax_propcol().
| void mul_vn_db | ( | double * | array_tar, |
| const int | size, | ||
| const double | f ) |
Definition at line 1051 of file math_vector.cc.
Referenced by BLI_quadric_mul().
Definition at line 914 of file math_vector.cc.
Referenced by BM_vert_loop_groups_data_layer_create(), bm_vert_loop_groups_data_layer_merge_weights__single(), Color_idiv(), Color_imul(), Matrix_imul(), Vector_idiv(), Vector_imul(), and Vector_length_set().
Definition at line 890 of file math_vector.cc.
Referenced by Matrix_imul(), Quaternion_imul(), and Vector_imul().
Definition at line 923 of file math_vector.cc.
Referenced by color_mul_float(), matrix_mul_float(), normalize_vn_vn(), Vector_div(), and vector_mul_float().
| void mul_vn_vnvn | ( | float * | array_tar, |
| const float * | array_src_a, | ||
| const float * | array_src_b, | ||
| const int | size ) |
Definition at line 900 of file math_vector.cc.
Referenced by Matrix_mul(), Quaternion_mul(), and vector_mul_vec().
| void negate_vn | ( | float * | array_tar, |
| const int | size ) |
Definition at line 871 of file math_vector.cc.
Referenced by Vector_negate().
Definition at line 880 of file math_vector.cc.
Referenced by Color_neg(), and Vector_neg().
Definition at line 837 of file math_vector.cc.
References normalize_vn_vn(), and size().
Referenced by M_Noise_random_unit_vector(), Vector_normalize(), and Vector_slerp().
Definition at line 822 of file math_vector.cc.
References copy_vn_fl(), float, len_squared_vn(), mul_vn_vn_fl(), size(), and sqrt.
Referenced by normalize_vn(), and Vector_slerp().
Takes a vector and computes 2 orthogonal directions.
Definition at line 566 of file math_vector.cc.
References BLI_assert, eps, len_squared_v2(), and sqrtf.
Referenced by blender::ed::sculpt_paint::pose::align_pivot_local_space(), alter_co(), axis_dominant_v3_to_m3(), axis_dominant_v3_to_m3_negate(), blender::ed::transform::gizmo_3d_dial_matrixbasis_calc(), mesh_calc_eigen_matrix(), and wm_gizmo_set_matrix_rotation_from_z_axis__internal().
Trivial compared to v3, include for consistency.
Definition at line 616 of file math_vector.cc.
References BLI_assert, out, and v.
Referenced by Vector_orthogonal(), and wm_gesture_draw_line_active_side().
Calculates p - a perpendicular vector to v
Definition at line 591 of file math_vector.cc.
References axis_dominant_v3_single(), BLI_assert, out, and v.
Referenced by bm_vert_pair_to_matrix(), blender::ed::transform::getTransformOrientation_ex(), gizmo_spin_prop_axis_angle_get(), gizmo_spin_prop_axis_angle_set(), interp_v3_v3v3_slerp_safe(), orthogonalize_m3_zero_axes_impl(), rotation_between_vecs_to_mat3(), rotation_between_vecs_to_quat(), and Vector_orthogonal().
| void print_v2 | ( | const char * | str, |
| const float | v[2] ) |
Definition at line 676 of file math_vector.cc.
References printf, str, and v.
Referenced by add_vertex_extrude().
| void print_v3 | ( | const char * | str, |
| const float | v[3] ) |
Definition at line 681 of file math_vector.cc.
References printf, str, and v.
Referenced by raycast_callback().
| void print_v4 | ( | const char * | str, |
| const float | v[4] ) |
Definition at line 686 of file math_vector.cc.
| void print_vn | ( | const char * | str, |
| const float | v[], | ||
| const int | n ) |
Definition at line 527 of file math_vector.cc.
References BLI_ASSERT_UNIT_V3, dot_v3v3(), madd_v3_v3v3fl(), mul(), and out.
Referenced by angle_on_axis_v3v3_v3(), angle_signed_on_axis_v3v3_v3(), bm_vert_pair_to_matrix(), BM_verts_calc_normal_from_cloud_ex(), clip_to_ortho_planes(), blender::bke::pbvh::edge_queue_tri_in_circle(), blender::ed::transform::getTransformOrientation_ex(), gizmo_bisect_prop_angle_get(), gizmo_bisect_prop_angle_set(), gizmo_mesh_bisect_update_from_op(), gizmo_mesh_spin_init_refresh(), gizmo_mesh_spin_redo_draw_prepare(), gizmo_mesh_spin_redo_update_from_op(), gizmo_spin_prop_axis_angle_get(), gizmo_spin_prop_axis_angle_set(), blender::bke::pbvh::long_edge_queue_create(), blender::ed::transform::mesh_customdatacorrect_apply_vert(), and blender::bke::pbvh::short_edge_queue_create().
In this case plane is a 3D vector only (no 4th component).
Projecting will make out a copy of p orthogonal to v_plane.
Definition at line 520 of file math_vector.cc.
References dot_v3v3(), madd_v3_v3v3fl(), mul(), and out.
Referenced by BKE_object_empty_image_data_is_visible_in_view3d(), blender::ed::sculpt_paint::brush_delta_update(), blender::ed::sculpt_paint::calc_brush_plane(), do_vpaint_brush_smear(), do_wpaint_brush_smear(), ED_view3d_cursor3d_position_rotation(), gizmo_arrow_modal(), is_quad_convex_v3(), screen_px_line_point_factor_v2_persp(), sculpt_project_v3_normal_align(), blender::ed::transform::transform_orientations_create_from_axis(), and blender::ed::sculpt_paint::update_sculpt_normal().
Project p onto v_proj
Definition at line 482 of file math_vector.cc.
References dot_v2v2(), is_zero_v2(), mul(), mul_v2_v2fl(), out, UNLIKELY, and zero_v2().
Referenced by BKE_mask_point_set_handle(), and blender::ed::transform::initResize().
Project p onto a unit length v_proj
Definition at line 504 of file math_vector.cc.
References BLI_ASSERT_UNIT_V2, dot_v2v2(), mul(), mul_v2_v2fl(), and out.
Referenced by slide_point_modal().
Project a vector on a plane defined by normal and a plane point p.
Definition at line 535 of file math_vector.cc.
References dot_v3v3(), len_squared_v3(), madd_v3_v3fl(), mul(), out, and sub_v3_v3v3().
Referenced by interp_slerp_co_no_v3(), and blender::bke::mesh_surface_sample::sample_surface_points_spherical().
Project p onto v_proj
Definition at line 493 of file math_vector.cc.
References dot_v3v3(), is_zero_v3(), mul(), mul_v3_v3fl(), out, UNLIKELY, and zero_v3().
Referenced by _scan_for_ext_spring_forces(), blender::ed::transform::axisProjection(), bm_loop_flip_disp(), bm_vert_tri_find_unique_edge(), boid_body(), boid_climb(), do_kink(), do_kink_spiral(), followtrack_distance_from_viewplane_get(), get_effector_data(), blender::ed::transform::getTransformOrientation_ex(), blender::ed::transform::InputHorizontalAbsolute(), blender::ed::transform::InputVerticalAbsolute(), isect_line_line_epsilon_v3(), locktrack_evaluate(), pivotcon_evaluate(), blender::ed::transform::prop_dist_loc_get(), psys_get_birth_coords(), psys_thread_create_path(), blender::ed::transform::ResizeBetween(), rule_average_speed(), blender::ed::transform::setNearestAxis3d(), blender::ed::transform::transdata_elem_push_pull(), update_velocities(), vectomat(), and blender::ed::transform::viewAxisCorrectCenter().
Project p onto a unit length v_proj
Definition at line 512 of file math_vector.cc.
References BLI_ASSERT_UNIT_V3, dot_v3v3(), mul(), mul_v3_v3fl(), and out.
Referenced by dist_squared_to_ray_v3_normalized(), ED_armature_ebone_roll_to_vector(), mesh_remove_doubles_on_axis(), wm_xr_fly_compute_move(), wm_xr_navigation_reset_exec(), and wm_xr_navigation_teleport_pose_calc().
Definition at line 862 of file math_vector.cc.
References i, size(), and step.
Referenced by C_Vector_Linspace(), and C_Vector_Range().
| void range_vn_i | ( | int * | array_tar, |
| const int | size, | ||
| const int | start ) |
Definition at line 842 of file math_vector.cc.
Referenced by bpy_bmelemseq_sort(), ensure_orig_index_layer(), blender::bke::mesh_calc_modifiers(), blender::geometry::mesh_merge_by_distance_connected(), and modify_mesh().
Definition at line 852 of file math_vector.cc.
Referenced by BLI_scanfill_calc_ex(), and material_slot_move_exec().
Returns a reflection vector from a vector and a normal vector reflect = vec - ((2 * dot(vec, mirror)) * mirror).
v + ^ \ | | + normal: axis of reflection / / + out: result (negate for a "bounce").
Definition at line 558 of file math_vector.cc.
References BLI_ASSERT_UNIT_V3, dot_v3v3(), madd_v3_v3v3fl(), out, and v.
Referenced by alter_co(), blender::ed::transform::ElementMirror(), studiolight_lights_eval(), studiolight_radiance_preview(), and Vector_reflect().
| void rotate_normalized_v3_v3v3fl | ( | float | out[3], |
| const float | p[3], | ||
| const float | axis[3], | ||
| float | angle ) |
Rotate a point p by angle around an arbitrary unit length axis. http://local.wasp.uwa.edu.au/~pbourke/geometry/
Definition at line 635 of file math_vector.cc.
References angle(), BLI_ASSERT_UNIT_V3, cosf, out, and sinf.
Referenced by build_emats_stack(), connection_node_mat(), knife_snap_v3_angle(), map_to_plane_axis_angle_v2_v3v3fl(), rotate_to_plane(), rotate_v3_v3v3fl(), and blender::write_weights_for_drawing().
Rotate a point p by angle around origin (0, 0)
Definition at line 624 of file math_vector.cc.
References angle(), BLI_assert, cosf, and sinf.
Referenced by blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_edit_invoke(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_parallel_lines_draw(), blender::ed::transform::rotate_around_center_v2(), vfont_to_curve(), and wm_gesture_straightline_do_angle_snap().
Definition at line 659 of file math_vector.cc.
References angle(), BLI_assert, normalize_v3_v3(), and rotate_normalized_v3_v3v3fl().
Referenced by blender::ed::sculpt_paint::boundary::calc_bend_position(), blender::ed::sculpt_paint::brushes::do_clay_thumb_brush(), blender::ed::sculpt_paint::brushes::do_multiplane_scrape_brush(), do_twist(), blender::ed::transform::gizmo2d_resize_draw_prepare(), and blender::ed::sculpt_paint::brushes::multiplane_scrape_preview_draw().
| MINLINE double sqr_db | ( | double | f | ) |
Definition at line 957 of file math_vector.cc.
Referenced by Color_isub(), and Vector_isub().
| void sub_vn_vnvn | ( | float * | array_tar, |
| const float * | array_src_a, | ||
| const float * | array_src_b, | ||
| const int | size ) |
Definition at line 967 of file math_vector.cc.
Referenced by Color_sub(), Matrix_sub(), v3d_editvertex_buts(), and Vector_sub().