|
Blender V4.3
|
#include <cstddef>#include <cstring>#include <optional>#include "CLG_log.h"#include "MEM_guardedalloc.h"#include "BLI_endian_switch.h"#include "BLI_ghash.h"#include "BLI_listbase.h"#include "BLI_math_geom.h"#include "BLI_math_matrix.h"#include "BLI_math_vector.h"#include "BLI_string.h"#include "BLI_string_utils.hh"#include "BLI_utildefines.h"#include "BLT_translation.hh"#include "DNA_defaults.h"#include "DNA_mask_types.h"#include "BKE_animsys.h"#include "BKE_curve.hh"#include "BKE_idtype.hh"#include "BKE_anim_data.hh"#include "BKE_image.hh"#include "BKE_lib_id.hh"#include "BKE_lib_query.hh"#include "BKE_main.hh"#include "BKE_mask.h"#include "BKE_movieclip.h"#include "BKE_tracking.h"#include "DEG_depsgraph_build.hh"#include "DRW_engine.hh"#include "BLO_read_write.hh"Go to the source code of this file.
Variables | ||
| static CLG_LogRef | LOG = {"bke.mask"} | |
| IDTypeInfo | IDType_ID_MSK | |
| struct { | ||
| ListBase splines | ||
| GHash * id_hash | ||
| } | mask_clipboard = {{nullptr}} | |
| void BKE_mask_calc_handle_adjacent_interp | ( | MaskSpline * | spline, |
| MaskSplinePoint * | point, | ||
| const float | u ) |
Definition at line 1378 of file blenkernel/intern/mask.cc.
References MaskSplinePoint::bezt, BKE_mask_get_handle_point_adjacent(), BLI_assert, dist_ensure_v2_v2fl(), float, len_v2v2(), BezTriple::vec, and BezTriple::weight.
Referenced by setup_vertex_point().
| void BKE_mask_calc_handle_point | ( | MaskSpline * | spline, |
| MaskSplinePoint * | point ) |
Definition at line 1369 of file blenkernel/intern/mask.cc.
References BKE_mask_get_handle_point_adjacent(), and mask_calc_point_handle().
Referenced by BKE_mask_layer_calc_handles(), and BKE_mask_layer_evaluate_deform().
| void BKE_mask_calc_handle_point_auto | ( | struct MaskSpline * | spline, |
| struct MaskSplinePoint * | point, | ||
| bool | do_recalc_length ) |
Resets auto handles even for non-auto bezier points.
Useful for giving sane defaults.
Definition at line 1424 of file blenkernel/intern/mask.cc.
References MaskSplinePoint::bezt, BKE_mask_get_handle_point_adjacent(), dist_ensure_v2_v2fl(), BezTriple::h1, HD_AUTO, len_v3v3(), and mask_calc_point_handle().
Referenced by add_vertex_handle_cyclic_at_point(), and mask_normals_make_consistent_exec().
| void BKE_mask_calc_tangent_polyline | ( | struct MaskSpline * | spline, |
| struct MaskSplinePoint * | point, | ||
| float | t[2] ) |
Calculates the tangent of a point by its previous and next (ignoring handles - as if its a poly line).
Definition at line 1341 of file blenkernel/intern/mask.cc.
References add_v2_v2v2(), MaskSplinePoint::bezt, BKE_mask_get_handle_point_adjacent(), normalize_v2(), sub_v2_v2v2(), BezTriple::vec, and zero_v2().
Referenced by add_vertex_extrude().
| void BKE_mask_clipboard_copy_from_layer | ( | struct MaskLayer * | mask_layer | ) |
Copy selected visible splines from the given layer to clipboard.
Definition at line 1965 of file blenkernel/intern/mask.cc.
References BKE_mask_spline_copy(), BLI_addtail(), BLI_ghash_insert(), BLI_ghash_lookup(), BLI_ghash_ptr_new(), len, LISTBASE_FOREACH, mask_clipboard, mask_clipboard_free_ex(), MASK_HIDE_SELECT, MEM_mallocN, MaskSpline::points, SELECT, MaskLayer::splines, MaskSpline::tot_point, and MaskLayer::visibility_flag.
Referenced by copy_splines_exec().
| void BKE_mask_clipboard_free | ( | void | ) |
Free the clipboard.
Definition at line 1960 of file blenkernel/intern/mask.cc.
References mask_clipboard_free_ex().
Referenced by WM_exit_ex().
| bool BKE_mask_clipboard_is_empty | ( | void | ) |
Check clipboard is empty.
Definition at line 1997 of file blenkernel/intern/mask.cc.
References BLI_listbase_is_empty(), and mask_clipboard.
Referenced by paste_splines_poll().
Paste the contents of clipboard to given mask layer.
Definition at line 2002 of file blenkernel/intern/mask.cc.
References BKE_mask_spline_copy(), BLI_addtail(), BLI_assert, BLI_findstring(), BLI_ghash_lookup(), GS, id_name(), LISTBASE_FOREACH, mask_clipboard, offsetof, MaskSpline::points, MaskLayer::splines, MaskSpline::tot_point, and which_libbase().
Referenced by paste_splines_exec().
Definition at line 1113 of file blenkernel/intern/mask.cc.
Referenced by BKE_mask_coord_from_image(), BKE_mask_coord_from_movieclip(), and create_primitive_from_points().
| void BKE_mask_coord_from_image | ( | Image * | image, |
| ImageUser * | iuser, | ||
| float | r_co[2], | ||
| const float | co[2] ) |
Definition at line 1146 of file blenkernel/intern/mask.cc.
References BKE_image_get_aspect(), BKE_image_get_size_fl(), and BKE_mask_coord_from_frame().
Referenced by calculateCenterCursor2D(), ED_mask_mouse_pos(), and ED_mask_point_pos().
| void BKE_mask_coord_from_movieclip | ( | MovieClip * | clip, |
| MovieClipUser * | user, | ||
| float | r_co[2], | ||
| const float | co[2] ) |
Definition at line 1129 of file blenkernel/intern/mask.cc.
References BKE_mask_coord_from_frame(), BKE_movieclip_get_aspect(), and BKE_movieclip_get_size_fl().
Referenced by BKE_mask_point_parent_matrix_get(), calculateCenterCursor2D(), ED_mask_mouse_pos(), ED_mask_point_pos(), mask_parent_set_exec(), mask_point_undistort_pos(), and mask_point_undistort_pos().
Inverse of BKE_mask_coord_from_image.
Definition at line 1159 of file blenkernel/intern/mask.cc.
Referenced by BKE_mask_coord_to_image(), and BKE_mask_coord_to_movieclip().
Definition at line 1192 of file blenkernel/intern/mask.cc.
References BKE_image_get_aspect(), BKE_image_get_size_fl(), and BKE_mask_coord_to_frame().
Referenced by ED_mask_point_pos__reverse(), and projectIntViewEx().
| void BKE_mask_coord_to_movieclip | ( | MovieClip * | clip, |
| MovieClipUser * | user, | ||
| float | r_co[2], | ||
| const float | co[2] ) |
Definition at line 1175 of file blenkernel/intern/mask.cc.
References BKE_mask_coord_to_frame(), BKE_movieclip_get_aspect(), and BKE_movieclip_get_size_fl().
Referenced by ED_mask_point_pos__reverse(), mask_point_undistort_pos(), mask_point_undistort_pos(), projectIntViewEx(), and selected_boundbox().
Definition at line 1495 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_evaluate(), and LISTBASE_FOREACH.
Referenced by blender::realtime_compositor::get_mask_raster_handles(), blender::compositor::MaskOperation::init_execution(), and seq_render_mask().
Definition at line 1939 of file blenkernel/intern/mask.cc.
References max_ii().
Referenced by SEQ_add_mask_strip(), and SEQ_add_reload_new_file().
| void BKE_mask_get_handle_point_adjacent | ( | MaskSpline * | spline, |
| MaskSplinePoint * | point, | ||
| MaskSplinePoint ** | r_point_prev, | ||
| MaskSplinePoint ** | r_point_next ) |
Definition at line 1329 of file blenkernel/intern/mask.cc.
References BKE_mask_spline_point_array_from_point(), mask_spline_point_next(), and mask_spline_point_prev().
Referenced by BKE_mask_calc_handle_adjacent_interp(), BKE_mask_calc_handle_point(), BKE_mask_calc_handle_point_auto(), BKE_mask_calc_tangent_polyline(), and BKE_mask_point_normal().
Definition at line 304 of file blenkernel/intern/mask.cc.
References BLI_findlink().
Referenced by add_vertex_exec(), animdata_filter_mask_data(), copy_splines_exec(), ED_mask_draw_frames(), ED_mask_layer_ensure(), find_prev_next_keyframes(), keyframe_jump_exec(), mask_hide_view_set_exec(), mask_layer_remove_exec(), and paste_splines_exec().
Definition at line 309 of file blenkernel/intern/mask.cc.
References BLI_findindex().
Referenced by mask_hide_view_set_exec().
| void BKE_mask_layer_calc_handles | ( | MaskLayer * | masklay | ) |
Definition at line 1452 of file blenkernel/intern/mask.cc.
References BKE_mask_calc_handle_point(), LISTBASE_FOREACH, and MaskLayer::splines.
Referenced by BKE_mask_layer_evaluate_deform().
Definition at line 349 of file blenkernel/intern/mask.cc.
References MaskLayer::act_point, MaskLayer::act_spline, MaskLayer::alpha, BKE_mask_spline_copy(), MaskLayer::blend, MaskLayer::blend_flag, BLI_addtail(), MaskLayerShape::data, MaskLayer::falloff, ListBase::first, MaskLayer::flag, MaskLayerShape::flag, MaskLayerShape::frame, LISTBASE_FOREACH, MEM_dupallocN, MaskLayer::name, MaskSpline::points, MaskLayer::splines, MaskLayer::splines_shapes, STRNCPY, MaskLayerShape::tot_vert, and MaskLayer::visibility_flag.
Referenced by BKE_mask_layer_copy_list().
Definition at line 396 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_copy(), BLI_addtail(), and LISTBASE_FOREACH.
Referenced by mask_copy_data().
Definition at line 1485 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_evaluate_animation(), and BKE_mask_layer_evaluate_deform().
Referenced by BKE_mask_evaluate(), and mask_shape_key_rekey_exec().
| void BKE_mask_layer_free | ( | MaskLayer * | masklay | ) |
Definition at line 1088 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_free_shapes(), BKE_mask_spline_free_list(), MEM_freeN(), and MaskLayer::splines.
Referenced by BKE_mask_layer_free_list(), and BKE_mask_layer_remove().
| void BKE_mask_layer_free_list | ( | ListBase * | masklayers | ) |
Definition at line 1099 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_free(), BLI_remlink(), ListBase::first, and MaskLayer::next.
Referenced by mask_free_data().
| void BKE_mask_layer_free_shapes | ( | MaskLayer * | masklay | ) |
Free all animation keys for a mask layer.
Definition at line 1072 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_shape_free(), BLI_remlink(), ListBase::first, MaskLayerShape::next, and MaskLayer::splines_shapes.
Referenced by BKE_mask_layer_free(), and delete_exec().
Definition at line 285 of file blenkernel/intern/mask.cc.
References MaskLayer::alpha, BKE_mask_layer_unique_name(), MaskLayer::blend, BLI_addtail(), DATA_, MaskLayer::flag, MASK_BLEND_MERGE_ADD, MASK_LAYERFLAG_FILL_DISCRETE, MASK_LAYERFLAG_FILL_OVERLAP, MaskLayer::name, and STRNCPY.
Referenced by add_vertex_new(), ED_mask_layer_ensure(), mask_layer_new_exec(), and paste_splines_exec().
Definition at line 314 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_free(), and BLI_remlink().
Referenced by animchannels_delete_exec(), and mask_layer_remove_exec().
| void BKE_mask_layer_rename | ( | Mask * | mask, |
| MaskLayer * | masklay, | ||
| const char * | oldname, | ||
| const char * | newname ) |
Definition at line 336 of file blenkernel/intern/mask.cc.
References BKE_animdata_fix_paths_rename_all(), BKE_mask_layer_unique_name(), MaskLayer::name, and STRNCPY.
| MaskLayerShape * BKE_mask_layer_shape_alloc | ( | struct MaskLayer * | masklay, |
| int | frame ) |
Definition at line 1050 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_shape_totvert(), MaskLayerShape::data, MaskLayerShape::frame, MASK_OBJECT_SHAPE_ELEM_SIZE, and MaskLayerShape::tot_vert.
Referenced by BKE_mask_layer_shape_verify_frame(), and mask_shape_key_feather_reset_exec().
| void BKE_mask_layer_shape_changed_add | ( | struct MaskLayer * | masklay, |
| int | index, | ||
| bool | do_init, | ||
| bool | do_init_interpolate ) |
When a new points added, resizing all shape-key arrays.
Definition at line 1811 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_shape_spline_from_index(), BKE_mask_layer_shape_totvert(), CLOG_ERROR, interp_weights_uv_v2_apply(), interp_weights_uv_v2_calc(), LISTBASE_FOREACH, LOG, mask_layer_shape_from_mask_point(), MASK_OBJECT_SHAPE_ELEM_SIZE, MEM_freeN(), MaskLayer::splines_shapes, and MaskSpline::tot_point.
Referenced by add_vertex_extrude(), add_vertex_new(), add_vertex_subdivide(), create_primitive_from_points(), and mask_duplicate_exec().
Move array elements to account for removed point.
Definition at line 1902 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_shape_totvert(), CLOG_ERROR, count, LISTBASE_FOREACH, LOG, MASK_OBJECT_SHAPE_ELEM_SIZE, MEM_freeN(), and MaskLayer::splines_shapes.
Referenced by delete_exec().
| MaskLayerShape * BKE_mask_layer_shape_duplicate | ( | MaskLayerShape * | masklay_shape | ) |
Definition at line 1705 of file blenkernel/intern/mask.cc.
References MaskLayerShape::data, LIKELY, and MEM_dupallocN.
Referenced by ED_masklayer_frames_duplicate().
| MaskLayerShape * BKE_mask_layer_shape_find_frame | ( | MaskLayer * | masklay, |
| const int | frame ) |
Definition at line 1636 of file blenkernel/intern/mask.cc.
References LISTBASE_FOREACH, and MaskLayer::splines_shapes.
Referenced by BKE_mask_layer_shape_verify_frame(), ED_mask_select_frame(), mask_shape_key_clear_exec(), and mask_shape_key_rekey_exec().
| int BKE_mask_layer_shape_find_frame_range | ( | struct MaskLayer * | masklay, |
| float | frame, | ||
| struct MaskLayerShape ** | r_masklay_shape_a, | ||
| struct MaskLayerShape ** | r_masklay_shape_b ) |
When returning 2 - the frame isn't found but before/after frames are.
Definition at line 1650 of file blenkernel/intern/mask.cc.
References ListBase::first, MaskLayerShape::frame, ListBase::last, MaskLayerShape::next, MaskLayerShape::prev, and MaskLayer::splines_shapes.
Referenced by BKE_mask_layer_evaluate_animation().
| void BKE_mask_layer_shape_free | ( | MaskLayerShape * | masklay_shape | ) |
Definition at line 1063 of file blenkernel/intern/mask.cc.
References MaskLayerShape::data, and MEM_freeN().
Referenced by BKE_mask_layer_free_shapes(), BKE_mask_layer_shape_unlink(), mask_shape_key_feather_reset_exec(), and mask_shape_key_rekey_exec().
| void BKE_mask_layer_shape_from_mask | ( | struct MaskLayer * | masklay, |
| struct MaskLayerShape * | masklay_shape ) |
Inverse of BKE_mask_layer_shape_to_mask
Definition at line 1541 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_shape_totvert(), CLOG_ERROR, MaskLayerShape::data, MaskLayerShape::frame, LISTBASE_FOREACH, LOG, mask_layer_shape_from_mask_point(), MASK_OBJECT_SHAPE_ELEM_SIZE, MaskLayer::splines, and MaskLayerShape::tot_vert.
Referenced by ED_mask_layer_shape_auto_key(), blender::compositor::MaskOperation::init_execution(), mask_shape_key_feather_reset_exec(), mask_shape_key_insert_exec(), and mask_shape_key_rekey_exec().
| void BKE_mask_layer_shape_sort | ( | MaskLayer * | masklay | ) |
Definition at line 1739 of file blenkernel/intern/mask.cc.
References BLI_listbase_sort(), mask_layer_shape_sort_cb(), and MaskLayer::splines_shapes.
Referenced by BKE_mask_layer_shape_verify_frame().
| bool BKE_mask_layer_shape_spline_from_index | ( | MaskLayer * | masklay, |
| int | index, | ||
| MaskSpline ** | r_masklay_shape, | ||
| int * | r_index ) |
Definition at line 1744 of file blenkernel/intern/mask.cc.
References LISTBASE_FOREACH, MaskLayer::splines, and MaskSpline::tot_point.
Referenced by BKE_mask_layer_shape_changed_add().
| int BKE_mask_layer_shape_spline_to_index | ( | MaskLayer * | masklay, |
| MaskSpline * | spline ) |
Definition at line 1761 of file blenkernel/intern/mask.cc.
References ListBase::first, MaskSpline::next, MaskLayer::splines, and MaskSpline::tot_point.
Referenced by add_vertex_extrude(), add_vertex_new(), add_vertex_subdivide(), BKE_mask_spline_direction_switch(), create_primitive_from_points(), and mask_duplicate_exec().
| void BKE_mask_layer_shape_to_mask | ( | struct MaskLayer * | masklay, |
| struct MaskLayerShape * | masklay_shape ) |
Inverse of BKE_mask_layer_shape_from_mask
Definition at line 1564 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_shape_totvert(), CLOG_ERROR, MaskLayerShape::data, MaskLayerShape::frame, LISTBASE_FOREACH, LOG, mask_layer_shape_to_mask_point(), MASK_OBJECT_SHAPE_ELEM_SIZE, MaskLayer::splines, and MaskLayerShape::tot_vert.
Referenced by BKE_mask_layer_evaluate_animation().
| void BKE_mask_layer_shape_to_mask_interp | ( | struct MaskLayer * | masklay, |
| struct MaskLayerShape * | masklay_shape_a, | ||
| struct MaskLayerShape * | masklay_shape_b, | ||
| float | fac ) |
Definition at line 1594 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_shape_totvert(), CLOG_ERROR, MaskLayerShape::data, MaskLayerShape::frame, interp_v2_v2v2_flfl(), LISTBASE_FOREACH, LOG, BezTriple::radius, MaskLayer::splines, MaskLayerShape::tot_vert, BezTriple::vec, and BezTriple::weight.
Referenced by BKE_mask_layer_evaluate_animation().
Definition at line 1510 of file blenkernel/intern/mask.cc.
References LISTBASE_FOREACH, and MaskLayer::splines.
Referenced by BKE_mask_layer_shape_alloc(), BKE_mask_layer_shape_changed_add(), BKE_mask_layer_shape_changed_remove(), BKE_mask_layer_shape_from_mask(), BKE_mask_layer_shape_to_mask(), and BKE_mask_layer_shape_to_mask_interp().
| void BKE_mask_layer_shape_unlink | ( | MaskLayer * | masklay, |
| MaskLayerShape * | masklay_shape ) |
Definition at line 1716 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_shape_free(), BLI_remlink(), and MaskLayer::splines_shapes.
Referenced by ED_masklayer_frames_delete(), mask_shape_key_clear_exec(), and posttrans_mask_clean().
| MaskLayerShape * BKE_mask_layer_shape_verify_frame | ( | MaskLayer * | masklay, |
| const int | frame ) |
Definition at line 1690 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_shape_alloc(), BKE_mask_layer_shape_find_frame(), BKE_mask_layer_shape_sort(), BLI_addtail(), and MaskLayer::splines_shapes.
Referenced by ED_mask_layer_shape_auto_key(), blender::compositor::MaskOperation::init_execution(), mask_shape_key_insert_exec(), and mask_shape_key_rekey_exec().
Definition at line 326 of file blenkernel/intern/mask.cc.
References BLI_uniquename(), DATA_, MaskLayer::name, and offsetof.
Referenced by BKE_mask_layer_new(), and BKE_mask_layer_rename().
Definition at line 957 of file blenkernel/intern/mask.cc.
References DATA_, DEG_relations_tag_update(), mask(), mask_alloc(), MAX_ID_NAME, and STRNCPY.
Referenced by ED_mask_new().
| void BKE_mask_parent_init | ( | MaskParent * | parent | ) |
Definition at line 1502 of file blenkernel/intern/mask.cc.
References ID_MC, and MaskParent::id_type.
Referenced by BKE_mask_spline_add(), blo_do_versions_270(), create_primitive_from_points(), and setup_vertex_point().
| void BKE_mask_point_add_uw | ( | MaskSplinePoint * | point, |
| float | u, | ||
| float | w ) |
Definition at line 873 of file blenkernel/intern/mask.cc.
References BKE_mask_point_sort_uw(), MEM_reallocN, MaskSplinePointUW::u, and w().
Referenced by add_feather_vertex_exec().
| void BKE_mask_point_direction_switch | ( | MaskSplinePoint * | point | ) |
Definition at line 441 of file blenkernel/intern/mask.cc.
References copy_v2_v2(), and MaskSplinePointUW::u.
Referenced by BKE_mask_spline_direction_switch().
| void BKE_mask_point_free | ( | MaskSplinePoint * | point | ) |
Definition at line 975 of file blenkernel/intern/mask.cc.
References MEM_freeN().
Referenced by BKE_mask_layer_evaluate_deform(), BKE_mask_spline_ensure_deform(), BKE_mask_spline_free(), and delete_exec().
| void BKE_mask_point_handle | ( | const MaskSplinePoint * | point, |
| eMaskWhichHandle | which_handle, | ||
| float | r_handle[2] ) |
Definition at line 610 of file blenkernel/intern/mask.cc.
References BLI_assert_msg, copy_v2_v2(), MASK_WHICH_HANDLE_LEFT, MASK_WHICH_HANDLE_RIGHT, MASK_WHICH_HANDLE_STICK, sub_v2_v2v2(), and BezTriple::vec.
| eMaskhandleMode BKE_mask_point_handles_mode_get | ( | const MaskSplinePoint * | point | ) |
Definition at line 599 of file blenkernel/intern/mask.cc.
References BezTriple::h1, BezTriple::h2, HD_ALIGN, MASK_HANDLE_MODE_INDIVIDUAL_HANDLES, and MASK_HANDLE_MODE_STICK.
| void BKE_mask_point_normal | ( | MaskSpline * | spline, |
| MaskSplinePoint * | point, | ||
| float | u, | ||
| float | n[2] ) |
Definition at line 712 of file blenkernel/intern/mask.cc.
References add_v2_v2v2(), BKE_mask_get_handle_point_adjacent(), BKE_mask_point_segment_co(), normalize_v2(), orthogonal_direction_get(), and sub_v2_v2v2().
Referenced by BKE_mask_point_segment_feather_diff(), BKE_mask_spline_feather_points(), BKE_mask_spline_project_co(), mask_spline_feather_differentiated_points_with_resolution__even(), slide_point_customdata(), and slide_point_modal().
| void BKE_mask_point_parent_matrix_get | ( | MaskSplinePoint * | point, |
| float | ctime, | ||
| float | parent_matrix[3][3] ) |
Definition at line 1206 of file blenkernel/intern/mask.cc.
References BKE_mask_coord_from_movieclip(), BKE_movieclip_get_aspect(), BKE_movieclip_get_size_fl(), BKE_movieclip_remap_scene_to_clip_frame(), BKE_movieclip_user_set_frame(), BKE_tracking_homography_between_two_quads(), BKE_tracking_marker_get_subframe_position(), BKE_tracking_object_find_plane_track_with_name(), BKE_tracking_object_find_track_with_name(), BKE_tracking_object_get_named(), BKE_tracking_plane_marker_get_subframe_corners(), DNA_struct_default_get, H, MaskParent::id, ID_MC, MaskParent::id_type, invert_m3_m3(), MASK_PARENT_POINT_TRACK, mul_m3_series, MaskParent::parent, MaskParent::parent_corners_orig, MaskParent::parent_orig, MaskParent::sub_parent, sub_v2_v2v2(), MaskParent::type, and unit_m3().
Referenced by mask_evaluate_apply_point_parent(), MaskPointToTransData(), and setup_vertex_point().
| void BKE_mask_point_segment_co | ( | MaskSpline * | spline, |
| MaskSplinePoint * | point, | ||
| float | u, | ||
| float | co[2] ) |
Definition at line 688 of file blenkernel/intern/mask.cc.
References BKE_mask_spline_point_array_from_point(), BKE_mask_spline_point_next_bezt(), copy_v2_v2(), interp_v2_v2v2v2v2_cubic(), and BezTriple::vec.
Referenced by BKE_mask_point_normal(), BKE_mask_point_segment_feather_diff(), BKE_mask_spline_feather_points(), BKE_mask_spline_project_co(), mask_spline_feather_differentiated_points_with_resolution__double(), mask_spline_feather_differentiated_points_with_resolution__even(), slide_point_customdata(), slide_point_modal(), and slide_spline_curvature_customdata().
| void BKE_mask_point_select_set | ( | MaskSplinePoint * | point, |
| const bool | do_select ) |
Definition at line 892 of file blenkernel/intern/mask.cc.
References MASKPOINT_DESEL_ALL, MASKPOINT_SEL_ALL, and SELECT.
Referenced by box_select_exec(), circle_select_exec(), create_primitive_from_points(), do_lasso_select_mask(), ED_mask_select_toggle_all(), ED_mask_spline_select_set(), mask_duplicate_exec(), mask_select_more_less(), select_exec(), and select_sliding_point().
| void BKE_mask_point_select_set_handle | ( | MaskSplinePoint * | point, |
| const eMaskWhichHandle | which_handle, | ||
| const bool | do_select ) |
Definition at line 911 of file blenkernel/intern/mask.cc.
References BLI_assert_msg, ELEM, MASK_WHICH_HANDLE_BOTH, MASK_WHICH_HANDLE_LEFT, MASK_WHICH_HANDLE_RIGHT, MASK_WHICH_HANDLE_STICK, and SELECT.
Referenced by box_select_exec(), circle_select_exec(), do_lasso_select_mask(), and select_exec().
| void BKE_mask_point_set_handle | ( | MaskSplinePoint * | point, |
| eMaskWhichHandle | which_handle, | ||
| float | loc[2], | ||
| bool | keep_direction, | ||
| float | orig_handle[2], | ||
| float | orig_vec[3][3] ) |
Definition at line 635 of file blenkernel/intern/mask.cc.
References add_v2_v2v2(), BLI_assert_msg, copy_v2_v2(), copy_v3_v3(), dot_v2v2(), len, len_v2(), MASK_WHICH_HANDLE_LEFT, MASK_WHICH_HANDLE_RIGHT, MASK_WHICH_HANDLE_STICK, mul_v2_fl(), project_v2_v2v2(), sub_v2_v2v2(), v2, and BezTriple::vec.
Referenced by flushTransMasking(), and slide_point_modal().
| MaskSplinePointUW * BKE_mask_point_sort_uw | ( | MaskSplinePoint * | point, |
| MaskSplinePointUW * | uw ) |
Definition at line 848 of file blenkernel/intern/mask.cc.
References MaskSplinePointUW::u.
Referenced by BKE_mask_point_add_uw(), and slide_point_modal().
| float BKE_mask_point_weight | ( | MaskSpline * | spline, |
| MaskSplinePoint * | point, | ||
| const float | u ) |
Definition at line 793 of file blenkernel/intern/mask.cc.
References BKE_mask_spline_point_array_from_point(), BKE_mask_spline_point_next_bezt(), mask_point_interp_weight(), MASK_SPLINE_INTERP_EASE, and BezTriple::weight.
Referenced by add_feather_vertex_exec(), BKE_mask_point_segment_feather_diff(), BKE_mask_spline_feather_points(), mask_spline_feather_differentiated_points_with_resolution__double(), and mask_spline_feather_differentiated_points_with_resolution__even().
| float BKE_mask_point_weight_scalar | ( | MaskSpline * | spline, |
| MaskSplinePoint * | point, | ||
| const float | u ) |
Definition at line 773 of file blenkernel/intern/mask.cc.
References BKE_mask_spline_point_array_from_point(), BKE_mask_spline_point_next_bezt(), mask_point_interp_weight(), and BezTriple::weight.
Referenced by add_feather_vertex_exec(), mask_spline_feather_differentiated_points_with_resolution__double(), slide_point_customdata(), and slide_point_modal().
| MaskSpline * BKE_mask_spline_add | ( | MaskLayer * | masklay | ) |
Definition at line 407 of file blenkernel/intern/mask.cc.
References BKE_mask_parent_init(), BLI_addtail(), MASK_SPLINE_CYCLIC, MASK_SPLINE_INTERP_EASE, and MaskLayer::splines.
Referenced by add_vertex_new(), create_primitive_from_points(), and mask_duplicate_exec().
| MaskSpline * BKE_mask_spline_copy | ( | const MaskSpline * | spline | ) |
Definition at line 1034 of file blenkernel/intern/mask.cc.
References mask_spline_points_copy(), MaskSpline::points, and MaskSpline::points_deform.
Referenced by BKE_mask_clipboard_copy_from_layer(), BKE_mask_clipboard_paste_to_layer(), and BKE_mask_layer_copy().
| void BKE_mask_spline_direction_switch | ( | MaskLayer * | masklay, |
| MaskSpline * | spline ) |
Definition at line 472 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_shape_spline_to_index(), BKE_mask_point_direction_switch(), ListBase::first, LISTBASE_FOREACH, and MaskLayer::splines_shapes.
Referenced by mask_switch_direction_exec().
| void BKE_mask_spline_ensure_deform | ( | MaskSpline * | spline | ) |
Definition at line 1461 of file blenkernel/intern/mask.cc.
References BKE_mask_point_free(), MEM_allocN_len, and MEM_freeN().
Referenced by BKE_mask_layer_evaluate_deform().
| void BKE_mask_spline_free | ( | MaskSpline * | spline | ) |
Definition at line 982 of file blenkernel/intern/mask.cc.
References BKE_mask_point_free(), MEM_freeN(), and point.
Referenced by BKE_mask_spline_free_list(), BKE_mask_spline_remove(), delete_exec(), free_slide_point_data(), and slide_point_modal().
| void BKE_mask_spline_free_list | ( | ListBase * | splines | ) |
Definition at line 1006 of file blenkernel/intern/mask.cc.
References BKE_mask_spline_free(), BLI_remlink(), and MaskSpline::next.
Referenced by BKE_mask_layer_free(), and mask_clipboard_free_ex().
| MaskSplinePoint * BKE_mask_spline_point_array | ( | MaskSpline * | spline | ) |
Definition at line 261 of file blenkernel/intern/mask.cc.
Referenced by BKE_mask_spline_differentiate_with_resolution(), BKE_mask_spline_feather_points(), box_select_exec(), circle_select_exec(), do_lasso_select_mask(), draw_spline_points(), ED_mask_point_find_nearest(), ED_mask_selected_minmax(), mask_spline_feather_differentiated_points_with_resolution__double(), mask_spline_feather_differentiated_points_with_resolution__even(), and spline_under_mouse_get().
| MaskSplinePoint * BKE_mask_spline_point_array_from_point | ( | MaskSpline * | spline, |
| const MaskSplinePoint * | point_ref ) |
Definition at line 266 of file blenkernel/intern/mask.cc.
References BLI_assert_msg.
Referenced by BKE_mask_get_handle_point_adjacent(), BKE_mask_point_segment_co(), BKE_mask_point_weight(), and BKE_mask_point_weight_scalar().
| BezTriple * BKE_mask_spline_point_next_bezt | ( | MaskSpline * | spline, |
| MaskSplinePoint * | points_array, | ||
| MaskSplinePoint * | point ) |
Definition at line 246 of file blenkernel/intern/mask.cc.
References MaskSplinePoint::bezt, and MASK_SPLINE_CYCLIC.
Referenced by BKE_mask_point_segment_co(), BKE_mask_point_segment_diff(), BKE_mask_point_weight(), BKE_mask_point_weight_scalar(), BKE_mask_spline_resolution(), and slide_spline_curvature_customdata().
| float BKE_mask_spline_project_co | ( | MaskSpline * | spline, |
| MaskSplinePoint * | point, | ||
| float | start_u, | ||
| const float | co[2], | ||
| const eMaskSign | sign ) |
Definition at line 517 of file blenkernel/intern/mask.cc.
References abs(), angle_v2v2(), BKE_mask_point_normal(), BKE_mask_point_segment_co(), BLI_assert, dot_v2v2(), e, float, len_squared_v2(), M_PI, M_PI_2, MASK_PROJ_ANY, MASK_PROJ_NEG, MASK_PROJ_POS, N, sub_v2_v2v2(), and v2.
Referenced by ED_mask_find_nearest_diff_point(), and slide_point_modal().
| bool BKE_mask_spline_remove | ( | MaskLayer * | mask_layer, |
| MaskSpline * | spline ) |
Definition at line 430 of file blenkernel/intern/mask.cc.
References BKE_mask_spline_free(), BLI_remlink_safe(), and MaskLayer::splines.
| BLI_INLINE void interp_v2_v2v2_flfl | ( | float | target[2], |
| const float | a[2], | ||
| const float | b[2], | ||
| const float | t, | ||
| const float | s ) |
Definition at line 1587 of file blenkernel/intern/mask.cc.
References b.
Referenced by BKE_mask_layer_shape_to_mask_interp().
|
static |
Definition at line 1796 of file blenkernel/intern/mask.cc.
References madd_v2_v2v2fl().
Referenced by BKE_mask_layer_shape_changed_add().
|
static |
Definition at line 1776 of file blenkernel/intern/mask.cc.
References closest_to_line_v2(), len_v2v2(), and line_point_side_v2().
Referenced by BKE_mask_layer_shape_changed_add().
Definition at line 948 of file blenkernel/intern/mask.cc.
References BKE_libblock_alloc(), id_fake_user_set(), ID_MSK, and mask().
Referenced by BKE_mask_new().
|
static |
Definition at line 136 of file blenkernel/intern/mask.cc.
References BLO_read_float_array(), BLO_read_struct, BLO_read_struct_array, BLO_read_struct_list, LISTBASE_FOREACH, and MASK_OBJECT_SHAPE_ELEM_SIZE.
|
static |
Definition at line 98 of file blenkernel/intern/mask.cc.
References BKE_id_blend_write(), BLO_write_float_array(), BLO_write_id_struct, BLO_write_struct, BLO_write_struct_array, Mask::id, LISTBASE_FOREACH, and MASK_OBJECT_SHAPE_ELEM_SIZE.
|
static |
Definition at line 1279 of file blenkernel/intern/mask.cc.
References add_v3_v3v3(), MaskSplinePoint::bezt, BKE_nurb_handle_calc(), copy_v3_v3(), ELEM, HD_ALIGN, HD_ALIGN_DOUBLESIDE, HD_AUTO, HD_VECT, len_squared_v3(), sub_v3_v3v3(), v2, and BezTriple::vec.
Referenced by BKE_mask_calc_handle_point(), and BKE_mask_calc_handle_point_auto().
|
static |
Definition at line 1946 of file blenkernel/intern/mask.cc.
References BKE_mask_spline_free_list(), BLI_ghash_clear(), BLI_ghash_free(), BLI_listbase_clear(), mask_clipboard, and MEM_freeN().
Referenced by BKE_mask_clipboard_copy_from_layer(), and BKE_mask_clipboard_free().
|
static |
Definition at line 53 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_copy_list(), BLI_listbase_clear(), Mask::drawdata, Mask::id, id_fake_user_set(), and Mask::masklayers.
|
static |
Definition at line 83 of file blenkernel/intern/mask.cc.
References BKE_LIB_FOREACHID_PROCESS_ID, IDWALK_CB_USER, and LISTBASE_FOREACH.
|
static |
Definition at line 73 of file blenkernel/intern/mask.cc.
References BKE_mask_layer_free_list(), and DRW_drawdata_free().
|
static |
Definition at line 1521 of file blenkernel/intern/mask.cc.
References copy_v2_v2(), BezTriple::radius, BezTriple::vec, and BezTriple::weight.
Referenced by BKE_mask_layer_shape_changed_add(), and BKE_mask_layer_shape_from_mask().
|
static |
Definition at line 1723 of file blenkernel/intern/mask.cc.
References MaskLayerShape::frame.
Referenced by BKE_mask_layer_shape_sort().
|
static |
Definition at line 1531 of file blenkernel/intern/mask.cc.
References copy_v2_v2(), BezTriple::radius, BezTriple::vec, and BezTriple::weight.
Referenced by BKE_mask_layer_shape_to_mask().
|
static |
Definition at line 768 of file blenkernel/intern/mask.cc.
References BezTriple::weight.
Referenced by BKE_mask_point_weight(), and BKE_mask_point_weight_scalar().
|
static |
Definition at line 216 of file blenkernel/intern/mask.cc.
References MASK_SPLINE_CYCLIC.
Referenced by BKE_mask_get_handle_point_adjacent().
|
static |
Definition at line 231 of file blenkernel/intern/mask.cc.
References MASK_SPLINE_CYCLIC.
Referenced by BKE_mask_get_handle_point_adjacent().
|
static |
Definition at line 1019 of file blenkernel/intern/mask.cc.
References MEM_dupallocN, and MaskSplinePoint::uw.
Referenced by BKE_mask_spline_copy().
| BLI_INLINE void orthogonal_direction_get | ( | const float | vec[2], |
| float | result[2] ) |
Definition at line 705 of file blenkernel/intern/mask.cc.
References normalize_v2().
Referenced by BKE_mask_point_normal().
| GHash* id_hash |
Definition at line 213 of file blenkernel/intern/mask.cc.
| IDTypeInfo IDType_ID_MSK |
Definition at line 181 of file blenkernel/intern/mask.cc.
|
static |
Definition at line 51 of file blenkernel/intern/mask.cc.
Referenced by BKE_mask_layer_shape_changed_add(), BKE_mask_layer_shape_changed_remove(), BKE_mask_layer_shape_from_mask(), BKE_mask_layer_shape_to_mask(), and BKE_mask_layer_shape_to_mask_interp().
| struct { ... } mask_clipboard |
| ListBase splines |
Definition at line 212 of file blenkernel/intern/mask.cc.