Blender
V3.3
|
#include "MEM_guardedalloc.h"
#include "BLI_math.h"
#include "BKE_context.h"
#include "BKE_mask.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "DNA_mask_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "ED_clip.h"
#include "ED_image.h"
#include "ED_mask.h"
#include "UI_view2d.h"
#include "mask_intern.h"
Go to the source code of this file.
Functions | |
Spatial Queries | |
bool | ED_mask_find_nearest_diff_point (const bContext *C, struct Mask *mask_orig, const float normal_co[2], int threshold, bool feather, float tangent[2], const bool use_deform, const bool use_project, MaskLayer **r_mask_layer, MaskSpline **r_spline, MaskSplinePoint **r_point, float *r_u, float *r_score) |
static void | mask_point_scaled_handle (const MaskSplinePoint *point, const eMaskWhichHandle which_handle, const float scalex, const float scaley, float handle[2]) |
MaskSplinePoint * | ED_mask_point_find_nearest (const bContext *C, Mask *mask_orig, const float normal_co[2], const float threshold, MaskLayer **r_mask_layer, MaskSpline **r_spline, eMaskWhichHandle *r_which_handle, float *r_score) |
bool | ED_mask_feather_find_nearest (const bContext *C, Mask *mask_orig, const float normal_co[2], const float threshold, MaskLayer **r_mask_layer, MaskSpline **r_spline, MaskSplinePoint **r_point, MaskSplinePointUW **r_uw, float *r_score) |
void | ED_mask_mouse_pos (ScrArea *area, ARegion *region, const int mval[2], float co[2]) |
void | ED_mask_point_pos (ScrArea *area, ARegion *region, float x, float y, float *xr, float *yr) |
void | ED_mask_point_pos__reverse (ScrArea *area, ARegion *region, float x, float y, float *xr, float *yr) |
static void | handle_position_for_minmax (const MaskSplinePoint *point, eMaskWhichHandle which_handle, bool handles_as_control_point, float r_handle[2]) |
bool | ED_mask_selected_minmax (const bContext *C, float min[2], float max[2], bool handles_as_control_point) |
Generic 2D View Queries | |
void | ED_mask_get_size (ScrArea *area, int *width, int *height) |
void | ED_mask_zoom (ScrArea *area, ARegion *region, float *zoomx, float *zoomy) |
void | ED_mask_get_aspect (ScrArea *area, ARegion *UNUSED(region), float *aspx, float *aspy) |
void | ED_mask_pixelspace_factor (ScrArea *area, ARegion *region, float *scalex, float *scaley) |
void | ED_mask_cursor_location_get (ScrArea *area, float cursor[2]) |
Definition at line 813 of file mask_query.c.
References blender::compositor::area(), BLI_assert, copy_v2_v2(), SpaceImage::cursor, SpaceClip::cursor, SPACE_CLIP, SPACE_IMAGE, SPACE_SEQ, and zero_v2().
Referenced by primitive_add_invoke().
bool ED_mask_feather_find_nearest | ( | const bContext * | C, |
Mask * | mask_orig, | ||
const float | normal_co[2], | ||
const float | threshold, | ||
MaskLayer ** | r_mask_layer, | ||
MaskSpline ** | r_spline, | ||
MaskSplinePoint ** | r_point, | ||
MaskSplinePointUW ** | r_uw, | ||
float * | r_score | ||
) |
Definition at line 353 of file mask_query.c.
References blender::compositor::area(), BKE_mask_spline_feather_points(), C, CTX_data_ensure_evaluated_depsgraph(), CTX_wm_area(), CTX_wm_region(), DEG_get_evaluated_id(), depsgraph, ED_mask_get_size(), ED_mask_pixelspace_factor(), ListBase::first, float(), height, Mask::id, len, len_squared_v2v2(), MASK_HIDE_SELECT, MASK_HIDE_VIEW, Mask::masklayers, MEM_freeN, NULL, point, sqrtf, threshold, MaskSplinePoint::tot_uw, MaskSplinePoint::uw, and width.
bool ED_mask_find_nearest_diff_point | ( | const bContext * | C, |
struct Mask * | mask_orig, | ||
const float | normal_co[2], | ||
int | threshold, | ||
bool | feather, | ||
float | tangent[2], | ||
const bool | use_deform, | ||
const bool | use_project, | ||
MaskLayer ** | r_mask_layer, | ||
MaskSpline ** | r_spline, | ||
MaskSplinePoint ** | r_point, | ||
float * | r_u, | ||
float * | r_score | ||
) |
Definition at line 34 of file mask_query.c.
References Freestyle::a, blender::compositor::area(), usdtokens::b(), BKE_mask_point_segment_diff(), BKE_mask_point_segment_feather_diff(), BKE_mask_spline_project_co(), C, CTX_data_ensure_evaluated_depsgraph(), CTX_wm_area(), CTX_wm_region(), DEG_get_evaluated_id(), depsgraph, dist_squared_to_line_segment_v2(), ED_mask_get_size(), ED_mask_pixelspace_factor(), ListBase::first, float(), height, Mask::id, MASK_HIDE_SELECT, MASK_HIDE_VIEW, MASK_PROJ_ANY, Mask::masklayers, MEM_freeN, NULL, point, sub_v2_v2v2(), threshold, and width.
Definition at line 739 of file mask_query.c.
References blender::compositor::area(), BLI_assert, ED_space_clip_get_aspect(), ED_space_image_get_aspect(), SPACE_CLIP, SPACE_IMAGE, and SPACE_SEQ.
Definition at line 674 of file mask_query.c.
References blender::compositor::area(), BLI_assert, ED_space_clip_get_size(), ED_space_image_get_size(), height, SPACE_CLIP, SPACE_IMAGE, SPACE_SEQ, and width.
Referenced by circle_select_exec(), clip_main_region_draw(), create_primitive_from_points(), ED_mask_feather_find_nearest(), ED_mask_find_nearest_diff_point(), ED_mask_point_find_nearest(), primitive_add_invoke(), slide_point_customdata(), and spline_under_mouse_get().
void ED_mask_mouse_pos | ( | struct ScrArea * | area, |
struct ARegion * | region, | ||
const int | mval[2], | ||
float | co[2] | ||
) |
Takes event->mval
.
Definition at line 478 of file mask_query.c.
References blender::compositor::area(), BKE_mask_coord_from_image(), BKE_mask_coord_from_movieclip(), BLI_assert, SpaceClip::clip, ED_clip_mouse_pos(), ED_image_mouse_pos(), SpaceImage::image, SpaceImage::iuser, SPACE_CLIP, SPACE_IMAGE, SPACE_SEQ, UI_view2d_region_to_view(), SpaceClip::user, ARegion::v2d, and zero_v2().
Referenced by add_feather_vertex_invoke(), add_vertex_invoke(), mask_select_linked_pick_invoke(), select_invoke(), slide_point_customdata(), slide_point_modal(), slide_spline_curvature_check(), slide_spline_curvature_customdata(), and slide_spline_curvature_modal().
Definition at line 770 of file mask_query.c.
References blender::compositor::area(), BLI_assert, ED_space_clip_get_aspect(), ED_space_image_get_aspect(), SPACE_CLIP, SPACE_IMAGE, SPACE_SEQ, UI_view2d_scale_get(), and ARegion::v2d.
Referenced by ED_mask_feather_find_nearest(), ED_mask_find_nearest_diff_point(), ED_mask_point_find_nearest(), and mask_point_make_pixel_space().
MaskSplinePoint* ED_mask_point_find_nearest | ( | const bContext * | C, |
Mask * | mask_orig, | ||
const float | normal_co[2], | ||
const float | threshold, | ||
MaskLayer ** | r_mask_layer, | ||
MaskSpline ** | r_spline, | ||
eMaskWhichHandle * | r_which_handle, | ||
float * | r_score | ||
) |
Definition at line 199 of file mask_query.c.
References blender::compositor::area(), MaskSplinePoint::bezt, BKE_mask_point_handles_mode_get(), BKE_mask_spline_point_array(), C, CTX_data_ensure_evaluated_depsgraph(), CTX_wm_area(), CTX_wm_region(), DEG_get_evaluated_id(), depsgraph, ED_mask_get_size(), ED_mask_pixelspace_factor(), ListBase::first, BezTriple::h1, BezTriple::h2, HD_VECT, height, Mask::id, len_squared_v2v2(), MASK_HANDLE_MODE_STICK, MASK_HIDE_SELECT, MASK_HIDE_VIEW, mask_point_scaled_handle(), MASK_WHICH_HANDLE_LEFT, MASK_WHICH_HANDLE_NONE, MASK_WHICH_HANDLE_RIGHT, MASK_WHICH_HANDLE_STICK, Mask::masklayers, NULL, point, sqrtf, threshold, BezTriple::vec, and width.
void ED_mask_point_pos | ( | struct ScrArea * | area, |
struct ARegion * | region, | ||
float | x, | ||
float | y, | ||
float * | xr, | ||
float * | yr | ||
) |
x/y | input, mval space. |
xr/yr | output, mask point space. |
Definition at line 511 of file mask_query.c.
References blender::compositor::area(), BKE_mask_coord_from_image(), BKE_mask_coord_from_movieclip(), BLI_assert, SpaceClip::clip, ED_clip_point_stable_pos(), ED_image_point_pos(), SpaceImage::image, SpaceImage::iuser, SPACE_CLIP, SPACE_IMAGE, SPACE_SEQ, SpaceClip::user, x, y, and zero_v2().
Referenced by box_select_exec(), and circle_select_exec().
void ED_mask_point_pos__reverse | ( | ScrArea * | area, |
ARegion * | region, | ||
float | x, | ||
float | y, | ||
float * | xr, | ||
float * | yr | ||
) |
Definition at line 548 of file mask_query.c.
References blender::compositor::area(), BKE_mask_coord_to_image(), BKE_mask_coord_to_movieclip(), BLI_assert, SpaceClip::clip, ED_clip_point_stable_pos__reverse(), ED_image_point_pos__reverse(), SpaceImage::image, SpaceImage::iuser, SPACE_CLIP, SPACE_IMAGE, SPACE_SEQ, SpaceClip::user, x, y, and zero_v2().
Referenced by do_lasso_select_mask().
bool ED_mask_selected_minmax | ( | const bContext * | C, |
float | min[2], | ||
float | max[2], | ||
bool | handles_as_control_point | ||
) |
Definition at line 602 of file mask_query.c.
References MaskSplinePoint::bezt, BKE_mask_point_handles_mode_get(), BKE_mask_spline_point_array(), C, CTX_data_depsgraph_pointer(), CTX_data_edit_mask(), DEG_get_evaluated_id(), depsgraph, BezTriple::f1, BezTriple::f2, BezTriple::f3, ListBase::first, BezTriple::h1, BezTriple::h2, handle_position_for_minmax(), HD_VECT, INIT_MINMAX2, mask(), MASK_HANDLE_MODE_STICK, MASK_HIDE_SELECT, MASK_HIDE_VIEW, MASK_WHICH_HANDLE_LEFT, MASK_WHICH_HANDLE_RIGHT, MASK_WHICH_HANDLE_STICK, Mask::masklayers, MASKPOINT_ISSEL_ANY, max, min, minmax_v2v2_v2(), NULL, point, SELECT, and BezTriple::vec.
Definition at line 708 of file mask_query.c.
References blender::compositor::area(), BLI_assert, ED_space_clip_get_zoom(), ED_space_image_get_zoom(), SPACE_CLIP, SPACE_IMAGE, and SPACE_SEQ.
Referenced by circle_select_exec().
|
static |
Definition at line 590 of file mask_query.c.
References BKE_mask_point_handle(), copy_v2_v2(), and point.
Referenced by ED_mask_selected_minmax().
|
static |
Definition at line 188 of file mask_query.c.
References BKE_mask_point_handle(), and point.
Referenced by ED_mask_point_find_nearest().