58 const float parent_matrix[3][3],
59 const float parent_inverse_matrix[3][3])
77 td2d->
loc[0] *= asp[0];
78 td2d->
loc[1] *= asp[1];
117 const bool is_prop_edit,
123 float parent_matrix[3][3], parent_inverse_matrix[3][3];
128 if (is_prop_edit || is_sel_point) {
133 for (
int i = 0;
i < 3;
i++) {
142 td2d->
loc[0] *= asp[0];
143 td2d->
loc[1] *= asp[1];
196 parent_inverse_matrix);
211 parent_inverse_matrix);
233 parent_inverse_matrix);
258 int count = 0, countsel = 0;
279 for (
i = 0;
i < spline->tot_point;
i++) {
322 tc->
data_len,
"TransDataMasking(Mask Editing)");
334 for (
i = 0;
i < spline->tot_point;
i++) {
382 float asp[2], inv[2];
387 inv[0] = 1.0f / asp[0];
388 inv[1] = 1.0f / asp[1];
Functions to insert, delete or modify keyframes.
Mask * CTX_data_edit_mask(const bContext *C)
Scene * CTX_data_scene(const bContext *C)
#define MASKPOINT_ISSEL_ANY(p)
@ MASK_WHICH_HANDLE_RIGHT
@ MASK_WHICH_HANDLE_STICK
#define MASKPOINT_ISSEL_KNOT(p)
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])
void BKE_mask_point_handle(const struct MaskSplinePoint *point, eMaskWhichHandle which_handle, float r_handle[2])
void BKE_mask_point_parent_matrix_get(struct MaskSplinePoint *point, float ctime, float parent_matrix[3][3])
eMaskhandleMode BKE_mask_point_handles_mode_get(const struct MaskSplinePoint *point)
#define LISTBASE_FOREACH(type, var, list)
void copy_m3_m3(float m1[3][3], const float m2[3][3])
void unit_m3(float m[3][3])
void mul_m3_v2(const float m[3][3], float r[2])
bool invert_m3_m3(float inverse[3][3], const float mat[3][3])
void mul_v2_m3v2(float r[2], const float m[3][3], const float v[2])
MINLINE void copy_v2_v2(float r[2], const float a[2])
MINLINE void copy_v3_v3(float r[3], const float a[3])
void DEG_id_tag_update(ID *id, unsigned int flags)
Mask * ED_space_clip_get_mask(const SpaceClip *sc)
Mask * ED_space_image_get_mask(const SpaceImage *sima)
void ED_mask_get_aspect(ScrArea *area, ARegion *region, float *r_aspx, float *r_aspy)
bool ED_mask_layer_shape_auto_key_select(Mask *mask, int frame)
bool ED_maskedit_mask_visible_splines_poll(bContext *C)
Read Guarded memory(de)allocation.
void * MEM_calloc_arrayN(size_t len, size_t size, const char *str)
ccl_device_inline float2 mask(const MaskType mask, const float2 a)
bool is_autokey_on(const Scene *scene)
struct bNodeTree * compositing_node_group
void WM_event_add_notifier(const bContext *C, uint type, void *reference)