39 for (
int i = 0; i < spline->tot_point; i++) {
84 int framenr, parent_type;
85 float parmask_pos[2], orig_corners[4][2];
86 const char *sub_parent_name;
97 if (tracking_object ==
NULL) {
103 float marker_pos_ofs[2];
109 sub_parent_name = track->
name;
111 memset(orig_corners, 0,
sizeof(orig_corners));
117 sub_parent_name = plane_track->
name;
119 memcpy(orig_corners, plane_marker->
corners,
sizeof(orig_corners));
131 for (
int i = 0; i < spline->tot_point; i++) {
137 point->parent.type = parent_type;
142 memcpy(
point->parent.parent_corners_orig,
144 sizeof(
point->parent.parent_corners_orig));
struct SpaceClip * CTX_wm_space_clip(const bContext *C)
struct Mask * CTX_data_edit_mask(const bContext *C)
#define MASKPOINT_ISSEL_ANY(p)
void BKE_mask_coord_from_movieclip(struct MovieClip *clip, struct MovieClipUser *user, float r_co[2], const float co[2])
struct MovieTrackingPlaneTrack * BKE_tracking_plane_track_get_active(struct MovieTracking *tracking)
struct MovieTrackingPlaneMarker * BKE_tracking_plane_marker_get(struct MovieTrackingPlaneTrack *plane_track, int framenr)
struct MovieTrackingTrack * BKE_tracking_track_get_active(struct MovieTracking *tracking)
struct MovieTrackingMarker * BKE_tracking_marker_get(struct MovieTrackingTrack *track, int framenr)
struct MovieTrackingObject * BKE_tracking_object_get_active(struct MovieTracking *tracking)
#define LISTBASE_FOREACH(type, var, list)
MINLINE void copy_v2_v2(float r[2], const float a[2])
MINLINE void add_v2_v2v2(float r[2], const float a[2], const float b[2])
MINLINE void zero_v2(float r[2])
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
void DEG_id_tag_update(struct ID *id, int flag)
@ MASK_PARENT_PLANE_TRACK
@ MASK_PARENT_POINT_TRACK
int ED_space_clip_get_clip_frame_number(struct SpaceClip *sc)
bool ED_space_clip_maskedit_mask_poll(struct bContext *C)
struct MovieClip * ED_space_clip_get_clip(struct SpaceClip *sc)
bool ED_maskedit_mask_visible_splines_poll(struct bContext *C)
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Sky Generate a procedural sky texture Noise Generate fractal Perlin noise Wave Generate procedural bands or rings with noise Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks Texture Retrieve multiple types of texture coordinates nTypically used as inputs for texture nodes Vector Convert a point
static int mask_parent_set_exec(bContext *C, wmOperator *UNUSED(op))
void MASK_OT_parent_clear(wmOperatorType *ot)
void MASK_OT_parent_set(wmOperatorType *ot)
static int mask_parent_clear_exec(bContext *C, wmOperator *UNUSED(op))
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
struct MovieTracking tracking
struct MovieClipUser user
bool(* poll)(struct bContext *) ATTR_WARN_UNUSED_RESULT
int(* exec)(struct bContext *, struct wmOperator *) ATTR_WARN_UNUSED_RESULT
void WM_event_add_notifier(const bContext *C, uint type, void *reference)