73 float marker_pos_ofs[2], parmask_pos[2];
102 rna_Mask_update_data(bmain,
scene,
ptr);
122 static void rna_MaskParent_id_type_set(
PointerRNA *
ptr,
int value)
146 return mask->masklay_act;
149 static void rna_Mask_layer_active_index_set(
PointerRNA *
ptr,
int value)
153 mask->masklay_act = value;
156 static void rna_Mask_layer_active_index_range(
171 char name_esc[
sizeof(masklay->
name) * 2];
201 static void rna_MaskLayer_name_set(
PointerRNA *
ptr,
const char *value)
205 char oldname[
sizeof(masklay->
name)], newname[
sizeof(masklay->
name)];
244 static void rna_MaskLayer_active_spline_point_set(
PointerRNA *
ptr,
254 for (spline = masklay->
splines.
first; spline; spline = spline->next) {
255 if (
point >= spline->points && point < spline->points + spline->tot_point) {
263 static void rna_MaskSplinePoint_handle1_get(
PointerRNA *
ptr,
float *values)
270 static void rna_MaskSplinePoint_handle1_set(
PointerRNA *
ptr,
const float *values)
277 static void rna_MaskSplinePoint_handle2_get(
PointerRNA *
ptr,
float *values)
284 static void rna_MaskSplinePoint_handle2_set(
PointerRNA *
ptr,
const float *values)
291 static void rna_MaskSplinePoint_ctrlpoint_get(
PointerRNA *
ptr,
float *values)
298 static void rna_MaskSplinePoint_ctrlpoint_set(
PointerRNA *
ptr,
const float *values)
305 static int rna_MaskSplinePoint_handle_type_get(
PointerRNA *
ptr)
316 for (mask_layer =
mask->masklayers.first; mask_layer; mask_layer = mask_layer->
next) {
337 static void rna_MaskSplinePoint_handle_type_set(
PointerRNA *
ptr,
int value)
343 bezt->
h1 = bezt->
h2 = value;
344 mask_point_check_stick(
point);
348 static int rna_MaskSplinePoint_handle_left_type_get(
PointerRNA *
ptr)
356 static void rna_MaskSplinePoint_handle_left_type_set(
PointerRNA *
ptr,
int value)
363 mask_point_check_stick(
point);
367 static int rna_MaskSplinePoint_handle_right_type_get(
PointerRNA *
ptr)
375 static void rna_MaskSplinePoint_handle_right_type_set(
PointerRNA *
ptr,
int value)
382 mask_point_check_stick(
point);
403 "Mask layer '%s' not found in mask '%s'",
415 static void rna_Mask_layers_clear(
Mask *
mask)
434 static void rna_MaskLayer_spline_remove(
ID *
id,
444 reports,
RPT_ERROR,
"Mask layer '%s' does not contain spline given", mask_layer->
name);
453 static void rna_Mask_start_frame_set(
PointerRNA *
ptr,
int value)
465 static void rna_Mask_end_frame_set(
PointerRNA *
ptr,
int value)
480 int active_point_index = -1;
481 int i, spline_shape_index;
487 for (layer =
mask->masklayers.first; layer; layer = layer->
next) {
507 if (active_point_index >= 0) {
513 for (i = 0; i <
count; i++) {
528 static void rna_MaskSpline_point_remove(
ID *
id,
537 int active_point_index = -1;
540 for (layer =
mask->masklayers.first; layer; layer = layer->
next) {
564 "remove mask point");
572 spline->
points = new_point_array;
575 if (active_point_index >= 0) {
603 {
ID_MC,
"MOVIECLIP", ICON_SEQUENCE,
"Movie Clip",
""},
623 prop,
NULL,
"rna_MaskParent_id_set",
"rna_MaskParent_id_typef",
NULL);
625 prop,
"ID",
"ID-block to which masking element would be parented to or to its property");
646 prop,
"Parent",
"Name of parent object in specified data-block to which parenting happens");
655 "Name of parent sub-object in specified data-block to which parenting happens");
667 srna,
"Mask Spline UW Point",
"Single point in spline segment defining feather");
696 {
HD_AUTO,
"AUTO", 0,
"Auto",
""},
697 {
HD_VECT,
"VECTOR", 0,
"Vector",
""},
698 {
HD_ALIGN,
"ALIGNED", 0,
"Aligned Single",
""},
700 {
HD_FREE,
"FREE", 0,
"Free",
""},
708 srna,
"Mask Spline Point",
"Single point in spline used for defining mask");
714 prop,
"rna_MaskSplinePoint_handle1_get",
"rna_MaskSplinePoint_handle1_set",
NULL);
721 prop,
"rna_MaskSplinePoint_ctrlpoint_get",
"rna_MaskSplinePoint_ctrlpoint_set",
NULL);
728 prop,
"rna_MaskSplinePoint_handle2_get",
"rna_MaskSplinePoint_handle2_set",
NULL);
735 prop,
"rna_MaskSplinePoint_handle_type_get",
"rna_MaskSplinePoint_handle_type_set",
NULL);
743 "rna_MaskSplinePoint_handle_left_type_get",
744 "rna_MaskSplinePoint_handle_left_type_set",
753 "rna_MaskSplinePoint_handle_right_type_get",
754 "rna_MaskSplinePoint_handle_right_type_set",
799 parm =
RNA_def_pointer(func,
"spline",
"MaskSpline",
"",
"The newly created spline");
807 parm =
RNA_def_pointer(func,
"spline",
"MaskSpline",
"",
"The spline to remove");
815 prop,
"rna_MaskLayer_active_spline_get",
"rna_MaskLayer_active_spline_set",
NULL,
NULL);
823 "rna_MaskLayer_active_spline_point_get",
824 "rna_MaskLayer_active_spline_point_set",
846 func,
"count", 1, 0, INT_MAX,
"Number",
"Number of points to add to the spline", 0, INT_MAX);
854 parm =
RNA_def_pointer(func,
"point",
"MaskSplinePoint",
"",
"The point to remove");
873 "Calculate feather offset as a second curve"},
890 prop,
"Feather Offset",
"The method used for calculating the feather offset");
898 prop,
"Weight Interpolation",
"The type of weight interpolation for spline");
920 prop,
"Self Intersection Check",
"Prevent feather from self-intersections");
967 "rna_MaskLayer_splines_begin",
968 "rna_iterator_listbase_next",
969 "rna_iterator_listbase_end",
970 "rna_iterator_listbase_get",
1036 prop,
"Calculate Holes",
"Calculate holes when filling overlapping curves");
1042 prop,
"Calculate Overlap",
"Calculate self intersections and overlap before filling");
1062 parm =
RNA_def_pointer(func,
"layer",
"MaskLayer",
"",
"New mask layer");
1068 parm =
RNA_def_pointer(func,
"layer",
"MaskLayer",
"",
"Shape to be removed");
1080 prop,
"rna_Mask_layer_active_get",
"rna_Mask_layer_active_set",
NULL,
NULL);
1099 "rna_Mask_layers_begin",
1100 "rna_iterator_listbase_next",
1101 "rna_iterator_listbase_end",
1102 "rna_iterator_listbase_get",
1116 "rna_Mask_layer_active_index_get",
1117 "rna_Mask_layer_active_index_set",
1118 "rna_Mask_layer_active_index_range");
1120 prop,
"Active Shape Index",
"Index of active layer in list of all mask's layers");
void BKE_mask_layer_shape_changed_add(struct MaskLayer *masklay, int index, bool do_init, bool do_init_interpolate)
void BKE_mask_layer_remove(struct Mask *mask, struct MaskLayer *masklay)
bool BKE_mask_spline_remove(struct MaskLayer *mask_layer, struct MaskSpline *spline)
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.
void BKE_mask_layer_free_list(struct ListBase *masklayers)
void BKE_mask_calc_handle_point(struct MaskSpline *spline, struct MaskSplinePoint *point)
struct MaskLayer * BKE_mask_layer_new(struct Mask *mask, const char *name)
struct MaskLayer * BKE_mask_layer_active(struct Mask *mask)
void BKE_mask_layer_active_set(struct Mask *mask, struct MaskLayer *masklay)
void BKE_mask_layer_rename(struct Mask *mask, struct MaskLayer *masklay, char *oldname, char *newname)
int BKE_mask_layer_shape_spline_to_index(struct MaskLayer *masklay, struct MaskSpline *spline)
void BKE_mask_coord_from_movieclip(struct MovieClip *clip, struct MovieClipUser *user, float r_co[2], const float co[2])
void BKE_mask_layer_shape_changed_remove(struct MaskLayer *masklay, int index, int count)
void BKE_mask_parent_init(struct MaskParent *parent)
struct MaskSpline * BKE_mask_spline_add(struct MaskLayer *masklay)
float BKE_movieclip_remap_scene_to_clip_frame(const struct MovieClip *clip, float framenr)
void BKE_movieclip_user_set_frame(struct MovieClipUser *user, int framenr)
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_report(ReportList *reports, eReportType type, const char *message)
struct MovieTrackingTrack * BKE_tracking_track_get_named(struct MovieTracking *tracking, struct MovieTrackingObject *object, const char *name)
struct MovieTrackingPlaneTrack * BKE_tracking_plane_track_get_named(struct MovieTracking *tracking, struct MovieTrackingObject *object, const char *name)
struct MovieTrackingPlaneMarker * BKE_tracking_plane_marker_get(struct MovieTrackingPlaneTrack *plane_track, int framenr)
struct MovieTrackingObject * BKE_tracking_object_get_named(struct MovieTracking *tracking, const char *name)
struct MovieTrackingMarker * BKE_tracking_marker_get(struct MovieTrackingTrack *track, int framenr)
#define BLI_assert_msg(a, msg)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE int max_ii(int a, int b)
MINLINE void sub_v3_v3v3(float r[3], const float a[3], const float b[3])
MINLINE void copy_v2_v2(float r[2], const float a[2])
MINLINE void add_v3_v3v3(float r[3], const float a[3], const float b[3])
MINLINE void add_v2_v2v2(float r[2], const float a[2], const float b[2])
MINLINE void zero_v2(float r[2])
size_t size_t char * BLI_sprintfN(const char *__restrict format,...) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1) ATTR_MALLOC ATTR_PRINTF_FORMAT(1
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
size_t size_t char size_t BLI_str_escape(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL()
char * BLI_strncpy_utf8(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL(1
#define BLT_I18NCONTEXT_ID_CURVE_LEGACY
void DEG_id_tag_update(struct ID *id, int flag)
#define DNA_struct_default_get(struct_name)
@ MASK_SPLINE_INTERP_EASE
@ MASK_SPLINE_INTERP_LINEAR
@ MASK_LAYERFLAG_FILL_OVERLAP
@ MASK_LAYERFLAG_FILL_DISCRETE
@ MASK_SPLINE_NOINTERSECT
@ MASK_BLEND_MERGE_SUBTRACT
@ MASK_SPLINE_OFFSET_SMOOTH
@ MASK_SPLINE_OFFSET_EVEN
@ MASK_PARENT_PLANE_TRACK
@ MASK_PARENT_POINT_TRACK
Object is a sort of wrapper for general info.
Contains defines and structs used throughout the imbuf module.
Read Guarded memory(de)allocation.
#define MEM_recallocN(vmemh, len)
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position CLAMP
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
#define RNA_POINTER_INVALIDATE(ptr)
StructRNA * ID_code_to_RNA_type(short idcode)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_mallocN)(size_t len, const char *str)
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
void rna_iterator_listbase_begin(CollectionPropertyIterator *iter, ListBase *lb, IteratorSkipFunc skip)
PointerRNA rna_pointer_inherit_refine(PointerRNA *ptr, StructRNA *type, void *data)
void rna_def_animdata_common(StructRNA *srna)
void RNA_def_struct_path_func(StructRNA *srna, const char *path)
PropertyRNA * RNA_def_pointer(StructOrFunctionRNA *cont_, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t bit)
void RNA_def_parameter_clear_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_def_property_string_funcs(PropertyRNA *prop, const char *get, const char *length, const char *set)
void RNA_def_function_return(FunctionRNA *func, PropertyRNA *ret)
void RNA_def_property_enum_default(PropertyRNA *prop, int value)
void RNA_def_property_float_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
void RNA_def_property_ui_icon(PropertyRNA *prop, int icon, int consecutive)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_property_srna(PropertyRNA *prop, const char *type)
void RNA_def_property_collection_funcs(PropertyRNA *prop, const char *begin, const char *next, const char *end, const char *get, const char *length, const char *lookupint, const char *lookupstring, const char *assignint)
void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description)
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
void RNA_def_property_array(PropertyRNA *prop, int length)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
void RNA_def_property_string_maxlength(PropertyRNA *prop, int maxlength)
void RNA_def_property_struct_type(PropertyRNA *prop, const char *type)
void RNA_def_property_collection_sdna(PropertyRNA *prop, const char *structname, const char *propname, const char *lengthpropname)
void RNA_def_function_ui_description(FunctionRNA *func, const char *description)
void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *func)
void RNA_def_property_enum_funcs(PropertyRNA *prop, const char *get, const char *set, const char *item)
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
void RNA_def_struct_name_property(struct StructRNA *srna, struct PropertyRNA *prop)
void RNA_def_function_flag(FunctionRNA *func, int flag)
void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_pointer_funcs(PropertyRNA *prop, const char *get, const char *set, const char *type_fn, const char *poll)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
void RNA_def_property_enum_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_int_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_struct_ui_icon(StructRNA *srna, int icon)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
void RNA_def_property_translation_context(PropertyRNA *prop, const char *context)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
PropertyRNA * RNA_def_int(StructOrFunctionRNA *cont_, const char *identifier, int default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
void RNA_def_property_float_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_ui_range(PropertyRNA *prop, double min, double max, double step, int precision)
void RNA_def_property_int_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_boolean_negative_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
static const EnumPropertyItem parent_type_items[]
static void rna_def_mask(BlenderRNA *brna)
static void rna_def_maskSplinePoints(BlenderRNA *brna)
static void rna_def_mask_layer(BlenderRNA *brna)
static void rna_def_masklayers(BlenderRNA *brna, PropertyRNA *cprop)
static void rna_def_mask_splines(BlenderRNA *brna)
static void rna_def_maskSpline(BlenderRNA *brna)
static void rna_def_maskSplinePointUW(BlenderRNA *brna)
void RNA_def_mask(BlenderRNA *brna)
static void rna_def_maskSplinePoint(BlenderRNA *brna)
static void rna_def_maskParent(BlenderRNA *brna)
const EnumPropertyItem rna_enum_proportional_falloff_curve_only_items[]
struct MaskSplinePoint * act_point
struct MaskSpline * act_spline
float parent_corners_orig[4][2]
struct MovieTracking tracking
void WM_main_add_notifier(unsigned int type, void *reference)