Blender
V3.3
|
Go to the source code of this file.
Enumerations | |
enum | eMaskWhichHandle { MASK_WHICH_HANDLE_NONE = 0 , MASK_WHICH_HANDLE_STICK = 1 , MASK_WHICH_HANDLE_LEFT = 2 , MASK_WHICH_HANDLE_RIGHT = 3 , MASK_WHICH_HANDLE_BOTH = 4 } |
enum | eMaskhandleMode { MASK_HANDLE_MODE_STICK = 1 , MASK_HANDLE_MODE_INDIVIDUAL_HANDLES = 2 } |
Clipboard | |
#define | MASKPOINT_ISSEL_ANY(p) ((((p)->bezt.f1 | (p)->bezt.f2 | (p)->bezt.f3) & SELECT) != 0) |
#define | MASKPOINT_ISSEL_KNOT(p) (((p)->bezt.f2 & SELECT) != 0) |
#define | MASKPOINT_ISSEL_HANDLE(point, which_handle) |
#define | MASKPOINT_SEL_ALL(p) |
#define | MASKPOINT_DESEL_ALL(p) |
#define | MASKPOINT_INVSEL_ALL(p) |
void | BKE_mask_clipboard_free (void) |
void | BKE_mask_clipboard_copy_from_layer (struct MaskLayer *mask_layer) |
bool | BKE_mask_clipboard_is_empty (void) |
void | BKE_mask_clipboard_paste_to_layer (struct Main *bmain, struct MaskLayer *mask_layer) |
Splines | |
enum | eMaskSign { MASK_PROJ_NEG = -1 , MASK_PROJ_ANY = 0 , MASK_PROJ_POS = 1 } |
struct MaskSplinePoint * | BKE_mask_spline_point_array (struct MaskSpline *spline) |
struct MaskSplinePoint * | BKE_mask_spline_point_array_from_point (struct MaskSpline *spline, const struct MaskSplinePoint *point_ref) |
struct MaskSpline * | BKE_mask_spline_add (struct MaskLayer *masklay) |
bool | BKE_mask_spline_remove (struct MaskLayer *mask_layer, struct MaskSpline *spline) |
void | BKE_mask_point_direction_switch (struct MaskSplinePoint *point) |
void | BKE_mask_spline_direction_switch (struct MaskLayer *masklay, struct MaskSpline *spline) |
struct BezTriple * | BKE_mask_spline_point_next_bezt (struct MaskSpline *spline, struct MaskSplinePoint *points_array, struct MaskSplinePoint *point) |
float | BKE_mask_spline_project_co (struct MaskSpline *spline, struct MaskSplinePoint *point, float start_u, const float co[2], eMaskSign sign) |
Rasterization | |
typedef struct MaskRasterHandle | MaskRasterHandle |
MaskRasterHandle * | BKE_maskrasterize_handle_new (void) |
void | BKE_maskrasterize_handle_free (MaskRasterHandle *mr_handle) |
void | BKE_maskrasterize_handle_init (MaskRasterHandle *mr_handle, struct Mask *mask, int width, int height, bool do_aspect_correct, bool do_mask_aa, bool do_feather) |
float | BKE_maskrasterize_handle_sample (MaskRasterHandle *mr_handle, const float xy[2]) |
void | BKE_maskrasterize_buffer (MaskRasterHandle *mr_handle, unsigned int width, unsigned int height, float *buffer) |
Rasterize a buffer from a single mask (threaded execution). More... | |
#define MASK_RESOL_MAX 128 |
Definition at line 333 of file BKE_mask.h.
#define MASKPOINT_DESEL_ALL | ( | p | ) |
#define MASKPOINT_INVSEL_ALL | ( | p | ) |
Definition at line 296 of file BKE_mask.h.
Definition at line 299 of file BKE_mask.h.
Definition at line 297 of file BKE_mask.h.
#define MASKPOINT_SEL_ALL | ( | p | ) |
typedef struct MaskRasterHandle MaskRasterHandle |
Definition at line 381 of file BKE_mask.h.
enum eMaskhandleMode |
Enumerator | |
---|---|
MASK_HANDLE_MODE_STICK | |
MASK_HANDLE_MODE_INDIVIDUAL_HANDLES |
Definition at line 39 of file BKE_mask.h.
enum eMaskSign |
Enumerator | |
---|---|
MASK_PROJ_NEG | |
MASK_PROJ_ANY | |
MASK_PROJ_POS |
Definition at line 94 of file BKE_mask.h.
enum eMaskWhichHandle |
Enumerator | |
---|---|
MASK_WHICH_HANDLE_NONE | |
MASK_WHICH_HANDLE_STICK | |
MASK_WHICH_HANDLE_LEFT | |
MASK_WHICH_HANDLE_RIGHT | |
MASK_WHICH_HANDLE_BOTH |
Definition at line 31 of file BKE_mask.h.
void BKE_mask_calc_handle_adjacent_interp | ( | struct MaskSpline * | spline, |
struct MaskSplinePoint * | point, | ||
float | u | ||
) |
Definition at line 1449 of file mask.c.
References MaskSplinePoint::bezt, BKE_mask_get_handle_point_adjacent(), BLI_assert, dist_ensure_v2_v2fl(), float(), len_v2v2(), point, BezTriple::vec, and BezTriple::weight.
Referenced by setup_vertex_point().
void BKE_mask_calc_handle_point | ( | struct MaskSpline * | spline, |
struct MaskSplinePoint * | point | ||
) |
Definition at line 1440 of file mask.c.
References BKE_mask_get_handle_point_adjacent(), mask_calc_point_handle(), and point.
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 1495 of file mask.c.
References BKE_mask_get_handle_point_adjacent(), dist_ensure_v2_v2fl(), HD_AUTO, len_v3v3(), mask_calc_point_handle(), and point.
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 1412 of file mask.c.
References add_v2_v2v2(), MaskSplinePoint::bezt, BKE_mask_get_handle_point_adjacent(), normalize_v2(), point, sub_v2_v2v2(), t, BezTriple::vec, and zero_v2().
Referenced by add_vertex_extrude().
Copy selected visible splines from the given layer to clipboard.
Definition at line 2054 of file mask.c.
References BKE_mask_spline_copy(), BLI_addtail(), BLI_ghash_insert(), BLI_ghash_lookup(), BLI_ghash_ptr_new(), ListBase::first, MaskSpline::flag, len, mask_clipboard, mask_clipboard_free_ex(), MASK_HIDE_SELECT, MEM_mallocN, MaskSpline::next, NULL, point, MaskSpline::points, SELECT, MaskLayer::splines, MaskSpline::tot_point, and MaskLayer::visibility_flag.
Referenced by copy_splines_exec().
Free the clipboard.
Definition at line 2049 of file mask.c.
References mask_clipboard_free_ex().
Referenced by WM_exit_ex().
Check clipboard is empty.
Definition at line 2088 of file mask.c.
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 2093 of file mask.c.
References BKE_mask_spline_copy(), BLI_addtail(), BLI_assert, BLI_findstring(), BLI_ghash_lookup(), GS, id_name(), mask_clipboard, MaskSpline::next, NULL, point, MaskSpline::points, MaskLayer::splines, MaskSpline::tot_point, and which_libbase().
Referenced by paste_splines_exec().
Definition at line 1184 of file mask.c.
Referenced by BKE_mask_coord_from_image(), BKE_mask_coord_from_movieclip(), and create_primitive_from_points().
void BKE_mask_coord_from_image | ( | struct Image * | image, |
struct ImageUser * | iuser, | ||
float | r_co[2], | ||
const float | co[2] | ||
) |
Definition at line 1217 of file mask.c.
References BKE_image_get_aspect(), BKE_image_get_size_fl(), BKE_mask_coord_from_frame(), and image().
Referenced by calculateCenterCursor2D(), ED_mask_mouse_pos(), and ED_mask_point_pos().
void BKE_mask_coord_from_movieclip | ( | struct MovieClip * | clip, |
struct MovieClipUser * | user, | ||
float | r_co[2], | ||
const float | co[2] | ||
) |
Definition at line 1200 of file mask.c.
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(), and mask_point_undistort_pos().
Inverse of BKE_mask_coord_from_image.
Definition at line 1230 of file mask.c.
Referenced by BKE_mask_coord_to_image(), and BKE_mask_coord_to_movieclip().
void BKE_mask_coord_to_image | ( | struct Image * | image, |
struct ImageUser * | iuser, | ||
float | r_co[2], | ||
const float | co[2] | ||
) |
Definition at line 1263 of file mask.c.
References BKE_image_get_aspect(), BKE_image_get_size_fl(), BKE_mask_coord_to_frame(), and image().
Referenced by ED_mask_point_pos__reverse(), and projectIntViewEx().
void BKE_mask_coord_to_movieclip | ( | struct MovieClip * | clip, |
struct MovieClipUser * | user, | ||
float | r_co[2], | ||
const float | co[2] | ||
) |
Definition at line 1246 of file mask.c.
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(), projectIntViewEx(), and selected_boundbox().
Definition at line 916 of file mask_evaluate.c.
References BKE_mask_layer_evaluate_animation(), DEG_debug_print_eval(), DEG_get_ctime(), depsgraph, mask(), and NULL.
Referenced by blender::deg::DepsgraphNodeBuilder::build_mask().
Definition at line 926 of file mask_evaluate.c.
References MaskSplinePoint::bezt, BKE_mask_layer_evaluate_deform(), DEG_debug_print_eval(), DEG_get_ctime(), DEG_get_original_id(), DEG_is_active(), depsgraph, ListBase::first, mask(), Mask::masklayers, and NULL.
Referenced by blender::deg::DepsgraphNodeBuilder::build_mask().
Definition at line 1568 of file mask.c.
References BKE_mask_layer_evaluate(), mask(), and MaskLayer::next.
Referenced by blender::compositor::MaskOperation::init_execution(), and seq_render_mask().
int BKE_mask_get_duration | ( | struct Mask * | mask | ) |
Definition at line 2028 of file mask.c.
References mask(), and max_ii().
Referenced by SEQ_add_mask_strip(), and SEQ_add_reload_new_file().
void BKE_mask_get_handle_point_adjacent | ( | struct MaskSpline * | spline, |
struct MaskSplinePoint * | point, | ||
struct MaskSplinePoint ** | r_point_prev, | ||
struct MaskSplinePoint ** | r_point_next | ||
) |
Definition at line 1400 of file mask.c.
References BKE_mask_spline_point_array_from_point(), mask_spline_point_next(), mask_spline_point_prev(), and point.
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 361 of file mask.c.
References BLI_findlink(), and mask().
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 366 of file mask.c.
References BLI_findindex(), and mask().
Referenced by mask_hide_view_set_exec().
Definition at line 1523 of file mask.c.
References BKE_mask_calc_handle_point(), ListBase::first, MaskSpline::next, MaskSpline::points, MaskLayer::splines, and MaskSpline::tot_point.
Referenced by BKE_mask_layer_evaluate_deform().
void BKE_mask_layer_copy_list | ( | struct ListBase * | masklayers_new, |
const struct ListBase * | masklayers | ||
) |
Definition at line 1558 of file mask.c.
References BKE_mask_layer_evaluate_animation(), and BKE_mask_layer_evaluate_deform().
Referenced by BKE_mask_evaluate(), and mask_shape_key_rekey_exec().
Definition at line 846 of file mask_evaluate.c.
References BKE_mask_layer_shape_find_frame_range(), BKE_mask_layer_shape_to_mask(), BKE_mask_layer_shape_to_mask_interp(), BLI_assert, BLI_listbase_count(), MaskLayerShape::frame, MaskLayer::splines_shapes, and w().
Referenced by BKE_mask_eval_animation(), and BKE_mask_layer_evaluate().
Definition at line 884 of file mask_evaluate.c.
References MaskSplinePoint::bezt, BKE_mask_calc_handle_point(), BKE_mask_layer_calc_handles(), BKE_mask_point_free(), BKE_mask_spline_ensure_deform(), ELEM, ListBase::first, BezTriple::h1, HD_AUTO, HD_VECT, mask_evaluate_apply_point_parent(), MEM_dupallocN, MaskSpline::next, NULL, point, MaskSpline::points, MaskSpline::points_deform, MaskLayer::splines, MaskSpline::tot_point, and MaskSplinePoint::uw.
Referenced by BKE_mask_eval_update(), and BKE_mask_layer_evaluate().
Definition at line 1159 of file mask.c.
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().
Definition at line 1170 of file mask.c.
References BKE_mask_layer_free(), BLI_remlink(), ListBase::first, and MaskLayer::next.
Referenced by mask_free_data().
Free all animation keys for a mask layer.
Definition at line 1143 of file mask.c.
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 337 of file mask.c.
References MaskLayer::alpha, BKE_mask_layer_unique_name(), MaskLayer::blend, BLI_addtail(), BLI_strncpy(), MaskLayer::flag, mask(), MASK_BLEND_MERGE_ADD, MASK_LAYERFLAG_FILL_DISCRETE, MASK_LAYERFLAG_FILL_OVERLAP, MEM_callocN, and MaskLayer::name.
Referenced by add_vertex_new(), ED_mask_layer_ensure(), mask_layer_new_exec(), and paste_splines_exec().
Definition at line 371 of file mask.c.
References BKE_mask_layer_free(), BLI_remlink(), and mask().
Referenced by animchannels_delete_exec(), and mask_layer_remove_exec().
void BKE_mask_layer_rename | ( | struct Mask * | mask, |
struct MaskLayer * | masklay, | ||
char * | oldname, | ||
char * | newname | ||
) |
Definition at line 393 of file mask.c.
References BKE_animdata_fix_paths_rename_all(), BKE_mask_layer_unique_name(), BLI_strncpy(), mask(), and MaskLayer::name.
struct MaskLayerShape* BKE_mask_layer_shape_alloc | ( | struct MaskLayer * | masklay, |
int | frame | ||
) |
Definition at line 1120 of file mask.c.
References BKE_mask_layer_shape_totvert(), MaskLayerShape::data, MaskLayerShape::frame, MASK_OBJECT_SHAPE_ELEM_SIZE, MEM_mallocN, 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 1894 of file mask.c.
References MaskSplinePoint::bezt, BKE_mask_layer_shape_spline_from_index(), BKE_mask_layer_shape_totvert(), CLOG_ERROR, MaskLayerShape::data, ListBase::first, MaskLayerShape::frame, if(), interp_weights_uv_v2_apply(), interp_weights_uv_v2_calc(), LOG, mask_layer_shape_from_mask_point(), MASK_OBJECT_SHAPE_ELEM_SIZE, MEM_freeN, MEM_mallocN, MaskLayerShape::next, MaskSpline::points, MaskLayer::splines_shapes, MaskSpline::tot_point, MaskLayerShape::tot_vert, and BezTriple::vec.
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 1988 of file mask.c.
References BKE_mask_layer_shape_totvert(), CLOG_ERROR, count, MaskLayerShape::data, ListBase::first, MaskLayerShape::frame, LOG, MASK_OBJECT_SHAPE_ELEM_SIZE, MEM_freeN, MEM_mallocN, MaskLayerShape::next, MaskLayer::splines_shapes, and MaskLayerShape::tot_vert.
Referenced by delete_exec().
struct MaskLayerShape* BKE_mask_layer_shape_duplicate | ( | struct MaskLayerShape * | masklay_shape | ) |
Definition at line 1786 of file mask.c.
References MaskLayerShape::data, LIKELY, and MEM_dupallocN.
Referenced by ED_masklayer_frames_duplicate().
struct MaskLayerShape* BKE_mask_layer_shape_find_frame | ( | struct MaskLayer * | masklay, |
int | frame | ||
) |
Definition at line 1715 of file mask.c.
References ListBase::first, MaskLayerShape::frame, MaskLayerShape::next, NULL, 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 1732 of file mask.c.
References ListBase::first, MaskLayerShape::frame, ListBase::last, MaskLayerShape::next, NULL, MaskLayerShape::prev, and MaskLayer::splines_shapes.
Referenced by BKE_mask_layer_evaluate_animation().
void BKE_mask_layer_shape_free | ( | struct MaskLayerShape * | masklay_shape | ) |
Definition at line 1134 of file mask.c.
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 1617 of file mask.c.
References MaskSplinePoint::bezt, BKE_mask_layer_shape_totvert(), CLOG_ERROR, MaskLayerShape::data, ListBase::first, MaskLayerShape::frame, LOG, mask_layer_shape_from_mask_point(), MASK_OBJECT_SHAPE_ELEM_SIZE, MaskSpline::next, MaskSpline::points, MaskLayer::splines, MaskSpline::tot_point, 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().
Definition at line 1822 of file mask.c.
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 | ( | struct MaskLayer * | masklay, |
int | index, | ||
struct MaskSpline ** | r_masklay_shape, | ||
int * | r_index | ||
) |
Definition at line 1827 of file mask.c.
References ListBase::first, MaskSpline::next, MaskLayer::splines, and MaskSpline::tot_point.
Referenced by BKE_mask_layer_shape_changed_add().
int BKE_mask_layer_shape_spline_to_index | ( | struct MaskLayer * | masklay, |
struct MaskSpline * | spline | ||
) |
Definition at line 1846 of file mask.c.
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 1641 of file mask.c.
References MaskSplinePoint::bezt, BKE_mask_layer_shape_totvert(), CLOG_ERROR, MaskLayerShape::data, ListBase::first, MaskLayerShape::frame, LOG, mask_layer_shape_to_mask_point(), MASK_OBJECT_SHAPE_ELEM_SIZE, MaskSpline::next, MaskSpline::points, MaskLayer::splines, MaskSpline::tot_point, 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 1672 of file mask.c.
References MaskSplinePoint::bezt, BKE_mask_layer_shape_totvert(), CLOG_ERROR, MaskLayerShape::data, ListBase::first, MaskLayerShape::frame, interp_v2_v2v2_flfl(), LOG, MaskSpline::next, MaskSpline::points, BezTriple::radius, MaskLayer::splines, MaskSpline::tot_point, MaskLayerShape::tot_vert, BezTriple::vec, and BezTriple::weight.
Referenced by BKE_mask_layer_evaluate_animation().
int BKE_mask_layer_shape_totvert | ( | struct MaskLayer * | masklay | ) |
Definition at line 1585 of file mask.c.
References ListBase::first, MaskSpline::next, MaskLayer::splines, and MaskSpline::tot_point.
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 | ( | struct MaskLayer * | masklay, |
struct MaskLayerShape * | masklay_shape | ||
) |
Definition at line 1799 of file mask.c.
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().
struct MaskLayerShape* BKE_mask_layer_shape_verify_frame | ( | struct MaskLayer * | masklay, |
int | frame | ||
) |
Definition at line 1771 of file mask.c.
References BKE_mask_layer_shape_alloc(), BKE_mask_layer_shape_find_frame(), BKE_mask_layer_shape_sort(), BLI_addtail(), NULL, 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 383 of file mask.c.
References BLI_uniquename(), DATA_, mask(), and MaskLayer::name.
Referenced by BKE_mask_layer_new(), and BKE_mask_layer_rename().
Definition at line 1022 of file mask.c.
References BLI_strncpy(), DEG_relations_tag_update(), mask(), mask_alloc(), and MAX_ID_NAME.
Referenced by ED_mask_new().
void BKE_mask_parent_init | ( | struct MaskParent * | parent | ) |
Definition at line 1577 of file mask.c.
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 | ( | struct MaskSplinePoint * | point, |
float | u, | ||
float | w | ||
) |
Definition at line 937 of file mask.c.
References BKE_mask_point_sort_uw(), MEM_mallocN, MEM_reallocN, point, and w().
Referenced by add_feather_vertex_exec().
void BKE_mask_point_direction_switch | ( | struct MaskSplinePoint * | point | ) |
Definition at line 504 of file mask.c.
References copy_v2_v2(), point, SWAP, and MaskSplinePointUW::u.
Referenced by BKE_mask_spline_direction_switch().
void BKE_mask_point_free | ( | struct MaskSplinePoint * | point | ) |
Definition at line 1045 of file mask.c.
References MEM_freeN, and point.
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 struct MaskSplinePoint * | point, |
eMaskWhichHandle | which_handle, | ||
float | r_handle[2] | ||
) |
eMaskhandleMode BKE_mask_point_handles_mode_get | ( | const struct MaskSplinePoint * | point | ) |
void BKE_mask_point_normal | ( | struct MaskSpline * | spline, |
struct MaskSplinePoint * | point, | ||
float | u, | ||
float | n[2] | ||
) |
Definition at line 776 of file mask.c.
References add_v2_v2v2(), BKE_mask_get_handle_point_adjacent(), BKE_mask_point_segment_co(), normalize_v2(), NULL, orthogonal_direction_get(), point, 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 | ( | struct MaskSplinePoint * | point, |
float | ctime, | ||
float | parent_matrix[3][3] | ||
) |
Definition at line 1277 of file mask.c.
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_get_named(), BKE_tracking_plane_marker_get_subframe_corners(), BKE_tracking_plane_track_get_named(), BKE_tracking_track_get_named(), 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, point, MaskParent::sub_parent, sub_v2_v2v2(), MovieClip::tracking, MaskParent::type, and unit_m3().
Referenced by mask_evaluate_apply_point_parent(), MaskPointToTransData(), and setup_vertex_point().
void BKE_mask_point_segment_co | ( | struct MaskSpline * | spline, |
struct MaskSplinePoint * | point, | ||
float | u, | ||
float | co[2] | ||
) |
Definition at line 752 of file mask.c.
References BKE_mask_spline_point_array_from_point(), BKE_mask_spline_point_next_bezt(), copy_v2_v2(), interp_v2_v2v2v2v2_cubic(), point, 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().
float* BKE_mask_point_segment_diff | ( | struct MaskSpline * | spline, |
struct MaskSplinePoint * | point, | ||
int | width, | ||
int | height, | ||
unsigned int * | r_tot_diff_point | ||
) |
Definition at line 799 of file mask_evaluate.c.
References BKE_curve_forward_diff_bezier(), BKE_mask_spline_point_array_from_point(), BKE_mask_spline_point_next_bezt(), BKE_mask_spline_resolution(), copy_v2_v2(), height, MEM_callocN, NULL, point, BezTriple::vec, and width.
Referenced by ED_mask_find_nearest_diff_point().
float* BKE_mask_point_segment_feather_diff | ( | struct MaskSpline * | spline, |
struct MaskSplinePoint * | point, | ||
int | width, | ||
int | height, | ||
unsigned int * | tot_feather_point | ||
) |
Definition at line 771 of file mask_evaluate.c.
References BKE_mask_point_normal(), BKE_mask_point_segment_co(), BKE_mask_point_weight(), BKE_mask_spline_feather_resolution(), float(), height, MEM_callocN, point, and width.
Referenced by ED_mask_find_nearest_diff_point().
void BKE_mask_point_select_set | ( | struct MaskSplinePoint * | point, |
bool | do_select | ||
) |
Definition at line 955 of file mask.c.
References MASKPOINT_DESEL_ALL, MASKPOINT_SEL_ALL, point, 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 | ( | struct MaskSplinePoint * | point, |
eMaskWhichHandle | which_handle, | ||
bool | do_select | ||
) |
Definition at line 974 of file mask.c.
References BLI_assert_msg, ELEM, MASK_WHICH_HANDLE_BOTH, MASK_WHICH_HANDLE_LEFT, MASK_WHICH_HANDLE_RIGHT, MASK_WHICH_HANDLE_STICK, point, and SELECT.
Referenced by box_select_exec(), circle_select_exec(), do_lasso_select_mask(), and select_exec().
void BKE_mask_point_set_handle | ( | struct MaskSplinePoint * | point, |
eMaskWhichHandle | which_handle, | ||
float | loc[2], | ||
bool | keep_direction, | ||
float | orig_handle[2], | ||
float | orig_vec[3][3] | ||
) |
Definition at line 699 of file mask.c.
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(), point, project_v2_v2v2(), sub_v2_v2v2(), v1, v2, and BezTriple::vec.
Referenced by flushTransMasking(), and slide_point_modal().
struct MaskSplinePointUW* BKE_mask_point_sort_uw | ( | struct MaskSplinePoint * | point, |
struct MaskSplinePointUW * | uw | ||
) |
Definition at line 912 of file mask.c.
References point, SWAP, and MaskSplinePointUW::u.
Referenced by BKE_mask_point_add_uw(), and slide_point_modal().
float BKE_mask_point_weight | ( | struct MaskSpline * | spline, |
struct MaskSplinePoint * | point, | ||
float | u | ||
) |
Definition at line 857 of file mask.c.
References BKE_mask_spline_point_array_from_point(), BKE_mask_spline_point_next_bezt(), mask_point_interp_weight(), MASK_SPLINE_INTERP_EASE, point, BezTriple::weight, and MaskSpline::weight_interp.
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 | ( | struct MaskSpline * | spline, |
struct MaskSplinePoint * | point, | ||
float | u | ||
) |
Definition at line 837 of file mask.c.
References BKE_mask_spline_point_array_from_point(), BKE_mask_spline_point_next_bezt(), mask_point_interp_weight(), point, and BezTriple::weight.
Referenced by add_feather_vertex_exec(), mask_spline_feather_differentiated_points_with_resolution__double(), slide_point_customdata(), and slide_point_modal().
struct MaskSpline* BKE_mask_spline_add | ( | struct MaskLayer * | masklay | ) |
Definition at line 469 of file mask.c.
References BKE_mask_parent_init(), BLI_addtail(), MaskSpline::flag, MASK_SPLINE_CYCLIC, MASK_SPLINE_INTERP_EASE, MEM_callocN, MaskSpline::parent, MaskSpline::points, MaskLayer::splines, MaskSpline::tot_point, and MaskSpline::weight_interp.
Referenced by add_vertex_new(), create_primitive_from_points(), and mask_duplicate_exec().
struct MaskSpline* BKE_mask_spline_copy | ( | const struct MaskSpline * | spline | ) |
Referenced by slide_point_modal().
float(* BKE_mask_spline_differentiate | ( | struct MaskSpline * | spline, |
int | width, | ||
int | height, | ||
unsigned int * | r_tot_diff_point | ||
) | )[2] |
Definition at line 178 of file mask_evaluate.c.
References BKE_mask_spline_differentiate_with_resolution(), BKE_mask_spline_resolution(), height, and width.
int BKE_mask_spline_differentiate_calc_total | ( | const struct MaskSpline * | spline, |
unsigned int | resol | ||
) |
float(* BKE_mask_spline_differentiate_with_resolution | ( | struct MaskSpline * | spline, |
unsigned int | resol, | ||
unsigned int * | r_tot_diff_point | ||
) | )[2] |
Definition at line 114 of file mask_evaluate.c.
References Freestyle::a, MaskSplinePoint::bezt, BKE_curve_forward_diff_bezier(), BKE_mask_spline_differentiate_calc_total(), BKE_mask_spline_point_array(), copy_v2_v2(), float(), MASK_SPLINE_CYCLIC, MEM_mallocN, NULL, and BezTriple::vec.
Referenced by BKE_mask_spline_differentiate(), BKE_maskrasterize_handle_init(), and draw_spline_curve().
void BKE_mask_spline_direction_switch | ( | struct MaskLayer * | masklay, |
struct MaskSpline * | spline | ||
) |
Definition at line 535 of file mask.c.
References BKE_mask_layer_shape_spline_to_index(), BKE_mask_point_direction_switch(), MaskLayerShape::data, ListBase::first, MaskLayerShape::next, MaskSpline::points, spline_index, MaskLayer::splines_shapes, SWAP, MaskSpline::tot_point, MaskSplinePoint::tot_uw, and MaskSplinePoint::uw.
Referenced by mask_switch_direction_exec().
void BKE_mask_spline_ensure_deform | ( | struct MaskSpline * | spline | ) |
Definition at line 1533 of file mask.c.
References BKE_mask_point_free(), MEM_allocN_len, MEM_callocN, MEM_freeN, NULL, point, MaskSpline::points_deform, and MaskSpline::tot_point.
Referenced by BKE_mask_layer_evaluate_deform().
void BKE_mask_spline_feather_collapse_inner_loops | ( | struct MaskSpline * | spline, |
float(*) | feather_points[2], | ||
unsigned int | tot_feather_point | ||
) |
Definition at line 317 of file mask_evaluate.c.
References BUCKET_INDEX, fabsf, feather_bucket_add_edge(), feather_bucket_check_intersect(), feather_bucket_get_diagonal(), MaskSpline::flag, INIT_MINMAX2, MASK_SPLINE_CYCLIC, max, MAX2, MEM_callocN, MEM_freeN, min, min_ii(), minmax_v2v2_v2(), and next.
Referenced by BKE_maskrasterize_handle_init(), mask_spline_feather_differentiated_points_with_resolution__double(), and mask_spline_feather_differentiated_points_with_resolution__even().
float(* BKE_mask_spline_feather_differentiated_points_with_resolution | ( | struct MaskSpline * | spline, |
unsigned int | resol, | ||
bool | do_feather_isect, | ||
unsigned int * | r_tot_feather_point | ||
) | )[2] |
values align with BKE_mask_spline_differentiate_with_resolution when resol arguments match.
Definition at line 707 of file mask_evaluate.c.
References mask_spline_feather_differentiated_points_with_resolution__double(), mask_spline_feather_differentiated_points_with_resolution__even(), MASK_SPLINE_OFFSET_EVEN, MASK_SPLINE_OFFSET_SMOOTH, and MaskSpline::offset_mode.
Referenced by BKE_maskrasterize_handle_init(), and draw_spline_curve().
float(* BKE_mask_spline_feather_points | ( | struct MaskSpline * | spline, |
int * | tot_feather_point | ||
) | )[2] |
Definition at line 724 of file mask_evaluate.c.
References BKE_mask_point_normal(), BKE_mask_point_segment_co(), BKE_mask_point_weight(), BKE_mask_spline_point_array(), float(), madd_v2_v2v2fl(), MEM_mallocN, point, MaskSpline::tot_point, and BezTriple::vec.
Referenced by draw_spline_points(), and ED_mask_feather_find_nearest().
unsigned int BKE_mask_spline_feather_resolution | ( | struct MaskSpline * | spline, |
int | width, | ||
int | height | ||
) |
Definition at line 66 of file mask_evaluate.c.
References BKE_mask_spline_resolution(), CLAMPIS, fabsf, height, jump(), MASK_RESOL_MAX, max_ff(), point, MaskSpline::points, MaskSpline::tot_point, and width.
Referenced by BKE_mask_point_segment_feather_diff(), BKE_maskrasterize_handle_init(), and draw_spline_curve().
void BKE_mask_spline_free | ( | struct MaskSpline * | spline | ) |
Definition at line 1052 of file mask.c.
References BKE_mask_point_free(), MEM_freeN, point, MaskSpline::points, MaskSpline::points_deform, and MaskSpline::tot_point.
Referenced by BKE_mask_spline_free_list(), BKE_mask_spline_remove(), delete_exec(), free_slide_point_data(), and slide_point_modal().
Definition at line 1076 of file mask.c.
References BKE_mask_spline_free(), BLI_remlink(), ListBase::first, MaskSpline::next, and splines.
Referenced by BKE_mask_layer_free(), and mask_clipboard_free_ex().
struct MaskSplinePoint* BKE_mask_spline_point_array | ( | struct MaskSpline * | spline | ) |
Definition at line 314 of file mask.c.
References MaskSpline::points, and MaskSpline::points_deform.
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().
struct MaskSplinePoint* BKE_mask_spline_point_array_from_point | ( | struct MaskSpline * | spline, |
const struct MaskSplinePoint * | point_ref | ||
) |
Referenced by BKE_mask_point_segment_diff().
struct BezTriple* BKE_mask_spline_point_next_bezt | ( | struct MaskSpline * | spline, |
struct MaskSplinePoint * | points_array, | ||
struct MaskSplinePoint * | point | ||
) |
Definition at line 299 of file mask.c.
References MaskSplinePoint::bezt, MaskSpline::flag, MASK_SPLINE_CYCLIC, NULL, point, and MaskSpline::tot_point.
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 | ( | struct MaskSpline * | spline, |
struct MaskSplinePoint * | point, | ||
float | start_u, | ||
const float | co[2], | ||
eMaskSign | sign | ||
) |
Definition at line 583 of file mask.c.
References blender::math::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, point, KDL::sign(), sub_v2_v2v2(), u1, u2, v1, and v2.
Referenced by ED_mask_find_nearest_diff_point(), and slide_point_modal().
bool BKE_mask_spline_remove | ( | struct MaskLayer * | mask_layer, |
struct MaskSpline * | spline | ||
) |
Definition at line 493 of file mask.c.
References BKE_mask_spline_free(), BLI_remlink_safe(), and MaskLayer::splines.
unsigned int BKE_mask_spline_resolution | ( | struct MaskSpline * | spline, |
int | width, | ||
int | height | ||
) |
Definition at line 27 of file mask_evaluate.c.
References Freestyle::a, usdtokens::b(), BKE_mask_spline_point_next_bezt(), Freestyle::c, CLAMPIS, float(), height, len, len_v3v3(), MASK_RESOL_MAX, MAX2, max_ii(), NULL, point, MaskSpline::points, MaskSpline::tot_point, BezTriple::vec, and width.
Referenced by BKE_mask_point_segment_diff(), BKE_mask_spline_differentiate(), BKE_mask_spline_feather_resolution(), BKE_maskrasterize_handle_init(), and draw_spline_curve().
void BKE_maskrasterize_buffer | ( | MaskRasterHandle * | mr_handle, |
unsigned int | width, | ||
unsigned int | height, | ||
float * | buffer | ||
) |
Rasterize a buffer from a single mask (threaded execution).
Definition at line 1457 of file mask_rasterize.c.
References BLI_parallel_range_settings_defaults(), BLI_task_parallel_range(), buffer, data, float(), height, maskrasterize_buffer_cb(), TaskParallelSettings::use_threading, and width.
Referenced by edit_uv_mask_texture(), mask_rasterize(), and seq_render_mask().
void BKE_maskrasterize_handle_free | ( | MaskRasterHandle * | mr_handle | ) |
Definition at line 218 of file mask_rasterize.c.
References MaskRasterLayer::buckets_face, MaskRasterLayer::buckets_x, MaskRasterLayer::buckets_y, MaskRasterLayer::face_array, MaskRasterLayer::face_coords, MaskRasterHandle::layers, MaskRasterHandle::layers_tot, and MEM_freeN.
Referenced by blender::compositor::MaskOperation::deinit_execution(), edit_uv_mask_texture(), mask_rasterize(), and seq_render_mask().
void BKE_maskrasterize_handle_init | ( | MaskRasterHandle * | mr_handle, |
struct Mask * | mask, | ||
int | width, | ||
int | height, | ||
bool | do_aspect_correct, | ||
bool | do_mask_aa, | ||
bool | do_feather | ||
) |
Definition at line 564 of file mask_rasterize.c.
References add_v2_v2v2(), MaskRasterLayer::alpha, MaskLayer::alpha, angle(), BKE_mask_spline_differentiate_with_resolution(), BKE_mask_spline_feather_collapse_inner_loops(), BKE_mask_spline_feather_differentiated_points_with_resolution(), BKE_mask_spline_feather_resolution(), BKE_mask_spline_resolution(), MaskRasterLayer::blend, MaskLayer::blend, MaskRasterLayer::blend_flag, MaskLayer::blend_flag, BLI_assert, BLI_listbase_count(), BLI_memarena_free(), BLI_memarena_new(), BLI_movelisttolist(), BLI_rctf_do_minmax_v(), BLI_rctf_init_minmax(), BLI_rctf_isect(), BLI_rctf_union(), BLI_remlink(), BLI_SCANFILL_ARENA_SIZE, BLI_scanfill_begin_arena(), BLI_scanfill_calc_ex(), BLI_SCANFILL_CALC_HOLES, BLI_SCANFILL_CALC_POLYS, BLI_scanfill_calc_self_isect(), BLI_scanfill_edge_add(), BLI_scanfill_end_arena(), bounds(), MaskRasterLayer::bounds, MaskRasterHandle::bounds, ScanFillEdge::c, CALC_CAP_RESOL, CLAMPIS, ScanFillVert::co, copy_v3_v3(), KDL::cos(), MaskRasterLayer::face_array, FACE_ASSERT, MaskRasterLayer::face_coords, MaskRasterLayer::face_tot, MaskRasterLayer::falloff, MaskLayer::falloff, ScanFillContext::filledgebase, ScanFillContext::fillfacebase, ScanFillContext::fillvertbase, ListBase::first, MaskSpline::flag, MaskLayer::flag, float(), height, MaskRasterSplineInfo::is_cyclic, is_cyclic(), ScanFillVert::keyindex, ListBase::last, layer_bucket_init(), layer_bucket_init_dummy(), MaskRasterHandle::layers, MaskRasterHandle::layers_tot, M_PI, mask(), MASK_HIDE_RENDER, MASK_LAYERFLAG_FILL_DISCRETE, MASK_LAYERFLAG_FILL_OVERLAP, MASK_SPLINE_CYCLIC, MASK_SPLINE_NOFILL, MASK_SPLINE_NOINTERSECT, maskrasterize_spline_differentiate_point_outset(), MAX2, MEM_callocN, MEM_freeN, MEM_mallocN, MEM_reallocN, min_ii(), ScanFillVert::next, ScanFillEdge::next, ScanFillFace::next, MaskSpline::next, MaskLayer::next, NULL, ScanFillContext::poly_nr, rotate_point_v2(), scanfill_vert_add_v2_with_depth(), SF_EDGE_IS_BOUNDARY, SF_KEYINDEX_TEMP_ID, MaskLayer::splines, sub_v2_v2v2(), ScanFillVert::tmp, ScanFillEdge::tmp, TRI_VERT, ScanFillVert::u, ScanFillEdge::v1, ScanFillFace::v1, ScanFillEdge::v2, ScanFillFace::v2, ScanFillFace::v3, MaskRasterSplineInfo::vertex_offset, MaskRasterSplineInfo::vertex_total, MaskRasterSplineInfo::vertex_total_cap_head, MaskRasterSplineInfo::vertex_total_cap_tail, MaskLayer::visibility_flag, void, and width.
Referenced by edit_uv_mask_texture(), blender::compositor::MaskOperation::init_execution(), mask_rasterize(), and seq_render_mask().
MaskRasterHandle* BKE_maskrasterize_handle_new | ( | void | ) |
Definition at line 209 of file mask_rasterize.c.
References MEM_callocN.
Referenced by edit_uv_mask_texture(), blender::compositor::MaskOperation::init_execution(), mask_rasterize(), and seq_render_mask().
float BKE_maskrasterize_handle_sample | ( | MaskRasterHandle * | mr_handle, |
const float | xy[2] | ||
) |
Definition at line 1328 of file mask_rasterize.c.
References MaskRasterLayer::alpha, MaskRasterLayer::blend, MaskRasterLayer::blend_flag, BLI_assert, BLI_rctf_isect_pt_v(), MaskRasterLayer::bounds, CLAMP, CLOG_ERROR, fabsf, MaskRasterLayer::falloff, layer_bucket_depth_from_xy(), MaskRasterHandle::layers, MaskRasterHandle::layers_tot, LOG, MASK_BLEND_ADD, MASK_BLEND_DARKEN, MASK_BLEND_DIFFERENCE, MASK_BLEND_LIGHTEN, MASK_BLEND_MERGE_ADD, MASK_BLEND_MERGE_SUBTRACT, MASK_BLEND_MUL, MASK_BLEND_REPLACE, MASK_BLEND_SUBTRACT, MASK_BLENDFLAG_INVERT, max_ff(), min_ff(), PROP_INVSQUARE, PROP_LIN, PROP_ROOT, PROP_SHARP, PROP_SMOOTH, PROP_SPHERE, sqrtf, and xy.
Referenced by blender::compositor::MaskOperation::execute_pixel_sampled(), maskrasterize_buffer_cb(), and blender::compositor::MaskOperation::update_memory_buffer_partial().