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];
118 const bool is_prop_edit,
124 float parent_matrix[3][3], parent_inverse_matrix[3][3];
129 if (is_prop_edit || is_sel_point) {
134 for (
int i = 0;
i < 3;
i++) {
143 td2d->
loc[0] *= asp[0];
144 td2d->
loc[1] *= asp[1];
199 parent_inverse_matrix);
214 parent_inverse_matrix);
236 parent_inverse_matrix);
261 int count = 0, countsel = 0;
282 for (
i = 0;
i < spline->tot_point;
i++) {
325 tc->
data_len,
"TransDataMasking(Mask Editing)");
337 for (
i = 0;
i < spline->tot_point;
i++) {
385 float asp[2], inv[2];
390 inv[0] = 1.0f / asp[0];
391 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 * nodetree
void WM_event_add_notifier(const bContext *C, uint type, void *reference)