46 static int rna_Curves_curve_offset_data_length(
PointerRNA *
ptr)
49 return curves->geometry.curve_num + 1;
56 (
void *)
curves->geometry.curve_offsets,
58 curves->geometry.curve_num + 1,
63 static int rna_CurvePoint_index_get_const(
const PointerRNA *
ptr)
75 return curves->geometry.point_num;
89 return rna_CurvePoint_index_get_const(
ptr);
92 static void rna_CurvePoint_location_get(
PointerRNA *
ptr,
float value[3])
97 static void rna_CurvePoint_location_set(
PointerRNA *
ptr,
const float value[3])
110 return radii[rna_CurvePoint_index_get_const(
ptr)];
113 static void rna_CurvePoint_radius_set(
PointerRNA *
ptr,
float value)
121 radii[rna_CurvePoint_index_get_const(
ptr)] = value;
126 return BLI_sprintfN(
"points[%d]", rna_CurvePoint_index_get_const(
ptr));
129 static int rna_CurveSlice_index_get_const(
const PointerRNA *
ptr)
132 return (
int)((
int *)
ptr->
data -
curves->geometry.curve_offsets);
137 return rna_CurveSlice_index_get_const(
ptr);
142 return BLI_sprintfN(
"curves[%d]", rna_CurveSlice_index_get_const(
ptr));
145 static int rna_CurveSlice_first_point_index_get(
PointerRNA *
ptr)
147 const int *offset_ptr = (
int *)
ptr->
data;
153 const int *offset_ptr = (
int *)
ptr->
data;
154 const int offset = *offset_ptr;
155 return *(offset_ptr + 1) -
offset;
161 const int offset = rna_CurveSlice_first_point_index_get(
ptr);
162 const int size = rna_CurveSlice_points_length_get(
ptr);
169 static void rna_Curves_update_data(
struct Main *
UNUSED(bmain),
204 prop,
"rna_CurvePoint_location_get",
"rna_CurvePoint_location_set",
NULL);
210 prop,
"rna_CurvePoint_radius_get",
"rna_CurvePoint_radius_set",
NULL);
233 "rna_CurveSlice_points_begin",
234 "rna_iterator_array_next",
235 "rna_iterator_array_end",
236 "rna_iterator_array_get",
237 "rna_CurveSlice_points_length_get",
246 prop,
"First Point Index",
"The index of this curve's first control point");
278 "rna_Curves_position_data_begin",
279 "rna_iterator_array_next",
280 "rna_iterator_array_end",
281 "rna_iterator_array_get",
282 "rna_Curves_position_data_length",
293 "rna_Curves_position_data_begin",
294 "rna_iterator_array_next",
295 "rna_iterator_array_end",
296 "rna_iterator_array_get",
297 "rna_Curves_position_data_length",
309 "rna_Curves_curve_offset_data_begin",
310 "rna_iterator_array_next",
311 "rna_iterator_array_end",
312 "rna_iterator_array_get",
313 "rna_Curves_curve_offset_data_length",
339 "The name of the attribute on the surface mesh used to define the "
340 "attachment of each curve");
typedef float(TangentPoint)[2]
Generic geometry attributes built on CustomData.
Low-level operations for curves that cannot be defined in the C++ header yet.
void * CustomData_get_layer_named(const struct CustomData *data, int type, const char *name)
MINLINE void copy_v3_v3(float r[3], const float a[3])
size_t size_t char * BLI_sprintfN(const char *__restrict format,...) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1) ATTR_MALLOC ATTR_PRINTF_FORMAT(1
void DEG_id_tag_update(struct ID *id, int flag)
@ CV_SCULPT_SELECTION_ENABLED
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 curves
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
ccl_gpu_kernel_postfix ccl_global float int int int int float bool int offset
MutableSpan< float3 > positions
MutableSpan< float > radii
void rna_iterator_array_begin(CollectionPropertyIterator *iter, void *ptr, int itemsize, int length, bool free_ptr, IteratorSkipFunc skip)
void rna_def_animdata_common(StructRNA *srna)
const EnumPropertyItem rna_enum_attribute_curves_domain_items[]
void rna_def_attributes_common(StructRNA *srna)
static void rna_def_curves_point(BlenderRNA *brna)
void RNA_def_curves(BlenderRNA *brna)
static void rna_def_curves(BlenderRNA *brna)
const EnumPropertyItem rna_enum_curves_types[]
static void rna_def_curves_curve(BlenderRNA *brna)
void RNA_def_struct_path_func(StructRNA *srna, const char *path)
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t bit)
void RNA_def_property_float_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_define_verify_sdna(bool verify)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
void RNA_def_property_string_sdna(PropertyRNA *prop, const char *structname, const char *propname)
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_property_array(PropertyRNA *prop, int length)
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_property_update(PropertyRNA *prop, int noteflag, const char *func)
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
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_int_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_struct_ui_icon(StructRNA *srna, int icon)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
void WM_main_add_notifier(unsigned int type, void *reference)