46 #define ORIGINDEX_NONE -1
66 #define CD_TYPE_AS_MASK(_type) (eCustomDataMask)((eCustomDataMask)1 << (eCustomDataMask)(_type))
71 const void **sources,
const float *weights,
const float *sub_weights,
int count,
void *
dest);
120 int type,
const void *source,
void *
dest,
int mixmode,
float mixfactor);
322 int destination_index,
344 const int *src_indices,
345 const float *weights,
346 const float *sub_weights,
354 const void **src_blocks,
355 const float *weights,
356 const float *sub_weights,
361 const void **src_blocks,
362 const float *weights,
363 const float *sub_weights,
507 bool use_default_init);
593 const void **sources,
594 const float *weights,
bool CustomData_free_layer_named(struct CustomData *data, const char *name, const int totelem)
const CustomData_MeshMasks CD_MASK_EVERYTHING
bool CustomData_merge(const struct CustomData *source, struct CustomData *dest, eCustomDataMask mask, eCDAllocType alloctype, int totelem)
int CustomData_get_active_layer_index(const struct CustomData *data, int type)
void CustomData_copy_data_named(const struct CustomData *source, struct CustomData *dest, int source_index, int dest_index, int count)
bool CustomData_layer_validate(struct CustomDataLayer *layer, uint totitems, bool do_fixes)
bool CustomData_has_math(const struct CustomData *data)
void CustomData_set_layer_stencil_index(struct CustomData *data, int type, int n)
void CustomData_free(struct CustomData *data, int totelem)
void CustomData_blend_read(struct BlendDataReader *reader, struct CustomData *data, int count)
const char * CustomData_get_layer_name(const struct CustomData *data, int type, int n)
void CustomData_copy_layer_type_data(const struct CustomData *source, struct CustomData *destination, int type, int source_index, int destination_index, int count)
bool CustomData_free_layer_active(struct CustomData *data, int type, int totelem)
int CustomData_number_of_layers(const struct CustomData *data, int type)
const CustomData_MeshMasks CD_MASK_BAREMESH_ORIGINDEX
void * CustomData_set_layer_n(const struct CustomData *data, int type, int n, void *ptr)
int CustomData_layertype_layers_max(int type)
int CustomData_get_clone_layer(const struct CustomData *data, int type)
bool CustomData_free_layer(struct CustomData *data, int type, int totelem, int index)
void CustomData_set_layer_active(struct CustomData *data, int type, int n)
void CustomData_external_write(struct CustomData *data, struct ID *id, eCustomDataMask mask, int totelem, int free)
void CustomData_bmesh_free_block_data_exclude_by_type(struct CustomData *data, void *block, eCustomDataMask mask_exclude)
void * CustomData_duplicate_referenced_layer_anonymous(CustomData *data, int type, const struct AnonymousAttributeID *anonymous_id, int totelem)
void CustomData_from_bmesh_block(const struct CustomData *source, struct CustomData *dest, void *src_block, int dest_index)
void CustomData_clear_layer_flag(struct CustomData *data, int type, int flag)
void CustomData_external_add(struct CustomData *data, struct ID *id, int type, int totelem, const char *filepath)
bool CustomData_layer_has_interp(const struct CustomData *data, int layer_n)
void CustomData_bmesh_interp_n(struct CustomData *data, const void **src_blocks, const float *weights, const float *sub_weights, int count, void *dst_block_ofs, int n)
void CustomData_copy(const struct CustomData *source, struct CustomData *dest, eCustomDataMask mask, eCDAllocType alloctype, int totelem)
int CustomData_get_render_layer_index(const struct CustomData *data, int type)
void CustomData_free_layers(struct CustomData *data, int type, int totelem)
int CustomData_get_stencil_layer_index(const struct CustomData *data, int type)
bool CustomData_has_layer(const struct CustomData *data, int type)
bool CustomData_layertype_is_singleton(int type)
void CustomData_MeshMasks_update(CustomData_MeshMasks *mask_dst, const CustomData_MeshMasks *mask_src)
int CustomData_get_named_layer_index(const struct CustomData *data, int type, const char *name)
void CustomData_set_layer_render_index(struct CustomData *data, int type, int n)
void CustomData_set_layer_unique_name(struct CustomData *data, int index)
bool CustomData_data_equals(int type, const void *data1, const void *data2)
void * CustomData_set_layer(const struct CustomData *data, int type, void *ptr)
int CustomData_get_layer_index_n(const struct CustomData *data, int type, int n)
void CustomData_debug_info_from_layers(const struct CustomData *data, const char *indent, struct DynStr *dynstr)
void(* cd_datatransfer_interp)(const struct CustomDataTransferLayerMap *laymap, void *dest, const void **sources, const float *weights, int count, float mix_factor)
void CustomData_data_transfer(const struct MeshPairRemap *me_remap, const CustomDataTransferLayerMap *laymap)
int CustomData_get_offset_named(const CustomData *data, int type, const char *name)
void * CustomData_duplicate_referenced_layer_named(struct CustomData *data, int type, const char *name, int totelem)
bool CustomData_MeshMasks_are_matching(const CustomData_MeshMasks *mask_ref, const CustomData_MeshMasks *mask_required)
void * CustomData_add_layer_named(struct CustomData *data, int type, eCDAllocType alloctype, void *layer, int totelem, const char *name)
void CustomData_data_add(int type, void *data1, const void *data2)
bool CustomData_has_referenced(const struct CustomData *data)
void CustomData_set_layer_clone(struct CustomData *data, int type, int n)
const char * CustomData_get_active_layer_name(const struct CustomData *data, int type)
void CustomData_copy_data_layer(const CustomData *source, CustomData *dest, int src_layer_index, int dst_layer_index, int src_index, int dst_index, int count)
const CustomData_MeshMasks CD_MASK_BAREMESH
void CustomData_external_reload(struct CustomData *data, struct ID *id, eCustomDataMask mask, int totelem)
int CustomData_get_active_layer(const struct CustomData *data, int type)
void CustomData_bmesh_update_active_layers(struct CustomData *fdata, struct CustomData *ldata)
void CustomData_interp(const struct CustomData *source, struct CustomData *dest, const int *src_indices, const float *weights, const float *sub_weights, int count, int dest_index)
void * CustomData_get_layer_named(const struct CustomData *data, int type, const char *name)
bool CustomData_layertype_is_dynamic(int type)
int CustomData_get_stencil_layer(const struct CustomData *data, int type)
struct CustomDataTransferLayerMap CustomDataTransferLayerMap
bool CustomData_is_referenced_layer(struct CustomData *data, int type)
void CustomData_set_layer_render(struct CustomData *data, int type, int n)
void * CustomData_get_n(const struct CustomData *data, int type, int index, int n)
void CustomData_set(const struct CustomData *data, int index, int type, const void *source)
void CustomData_set_only_copy(const struct CustomData *data, eCustomDataMask mask)
void CustomData_data_copy_value(int type, const void *source, void *dest)
void CustomData_bmesh_init_pool(struct CustomData *data, int totelem, char htype)
void CustomData_bmesh_set_n(struct CustomData *data, void *block, int type, int n, const void *source)
void CustomData_layers__print(struct CustomData *data)
const CustomData_MeshMasks CD_MASK_BMESH
void CustomData_bmesh_set_default(struct CustomData *data, void **block)
void CustomData_data_multiply(int type, void *data, float fac)
const char * CustomData_layertype_name(int type)
void CustomData_set_layer_clone_index(struct CustomData *data, int type, int n)
void * CustomData_get_layer_n(const struct CustomData *data, int type, int n)
void CustomData_bmesh_copy_data(const struct CustomData *source, struct CustomData *dest, void *src_block, void **dest_block)
int CustomData_get_layer_index(const struct CustomData *data, int type)
bool(* cd_validate)(void *item, uint totitems, bool do_fixes)
void CustomData_data_initminmax(int type, void *min, void *max)
void * CustomData_get_layer(const struct CustomData *data, int type)
int CustomData_sizeof(int type)
void * CustomData_bmesh_get_layer_n(const struct CustomData *data, void *block, int n)
void CustomData_bmesh_free_block_data(struct CustomData *data, void *block)
void CustomData_file_write_info(int type, const char **r_struct_name, int *r_struct_num)
int CustomData_get_clone_layer_index(const struct CustomData *data, int type)
bool CustomData_external_test(struct CustomData *data, int type)
@ CDT_MIX_REPLACE_BELOW_THRESHOLD
@ CDT_MIX_REPLACE_ABOVE_THRESHOLD
int CustomData_get_named_layer(const struct CustomData *data, int type, const char *name)
void CustomData_free_temporary(struct CustomData *data, int totelem)
void * CustomData_bmesh_get(const struct CustomData *data, void *block, int type)
void CustomData_set_layer_active_index(struct CustomData *data, int type, int n)
void * CustomData_add_layer(struct CustomData *data, int type, eCDAllocType alloctype, void *layer, int totelem)
int CustomData_get_n_offset(const struct CustomData *data, int type, int n)
void CustomData_set_layer_flag(struct CustomData *data, int type, int flag)
bool CustomData_has_interp(const struct CustomData *data)
void CustomData_external_read(struct CustomData *data, struct ID *id, eCustomDataMask mask, int totelem)
const CustomData_MeshMasks CD_MASK_DERIVEDMESH
void * CustomData_add_layer_anonymous(struct CustomData *data, int type, eCDAllocType alloctype, void *layer, int totelem, const struct AnonymousAttributeID *anonymous_id)
bool CustomData_layer_has_math(const struct CustomData *data, int layer_n)
void CustomData_free_elem(struct CustomData *data, int index, int count)
void CustomData_realloc(struct CustomData *data, int totelem)
void * CustomData_get(const struct CustomData *data, int index, int type)
void(* cd_copy)(const void *source, void *dest, int count)
void * CustomData_duplicate_referenced_layer(struct CustomData *data, int type, int totelem)
void CustomData_copy_elements(int type, void *src_data_ofs, void *dst_data_ofs, int count)
void CustomData_swap_corners(struct CustomData *data, int index, const int *corner_indices)
void CustomData_duplicate_referenced_layers(CustomData *data, int totelem)
void CustomData_data_dominmax(int type, const void *data, void *min, void *max)
void CustomData_data_mix_value(int type, const void *source, void *dest, int mixmode, float mixfactor)
void CustomData_set_layer_stencil(struct CustomData *data, int type, int n)
bool CustomData_set_layer_name(const struct CustomData *data, int type, int n, const char *name)
void CustomData_external_remove(struct CustomData *data, struct ID *id, int type, int totelem)
void CustomData_swap(struct CustomData *data, int index_a, int index_b)
void(* cd_interp)(const void **sources, const float *weights, const float *sub_weights, int count, void *dest)
void * CustomData_duplicate_referenced_layer_n(struct CustomData *data, int type, int n, int totelem)
void CustomData_bmesh_set_layer_n(struct CustomData *data, void *block, int n, const void *source)
void CustomData_copy_data(const struct CustomData *source, struct CustomData *dest, int source_index, int dest_index, int count)
bool CustomData_bmesh_has_free(const struct CustomData *data)
int CustomData_get_offset(const struct CustomData *data, int type)
const CustomData_MeshMasks CD_MASK_MESH
void CustomData_bmesh_interp(struct CustomData *data, const void **src_blocks, const float *weights, const float *sub_weights, int count, void *dst_block)
bool CustomData_bmesh_merge(const struct CustomData *source, struct CustomData *dest, eCustomDataMask mask, eCDAllocType alloctype, struct BMesh *bm, char htype)
void CustomData_free_typemask(struct CustomData *data, int totelem, eCustomDataMask mask)
int CustomData_number_of_layers_typemask(const struct CustomData *data, eCustomDataMask mask)
void CustomData_bmesh_set(const struct CustomData *data, void *block, int type, const void *source)
void customData_mask_layers__print(const struct CustomData_MeshMasks *mask)
void CustomData_validate_layer_name(const struct CustomData *data, int type, const char *name, char *outname)
void CustomData_bmesh_free_block(struct CustomData *data, void **block)
void CustomData_reset(struct CustomData *data)
void CustomData_update_typemap(struct CustomData *data)
void CustomData_bmesh_copy_data_exclude_by_type(const struct CustomData *source, struct CustomData *dest, void *src_block, void **dest_block, eCustomDataMask mask_exclude)
void * CustomData_bmesh_get_n(const struct CustomData *data, void *block, int type, int n)
int CustomData_get_render_layer(const struct CustomData *data, int type)
void CustomData_to_bmesh_block(const struct CustomData *source, struct CustomData *dest, int src_index, void **dest_block, bool use_default_init)
bool CustomData_verify_versions(struct CustomData *data, int index)
void BLI_kdtree_nd_() free(KDTree *tree)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
ATTR_WARN_UNUSED_RESULT BMesh * bm
void CustomData_blend_write(BlendWriter *writer, CustomData *data, Span< CustomDataLayer > layers_to_write, int count, eCustomDataMask cddata_mask, ID *id)
void CustomData_blend_write_prepare(CustomData &data, Vector< CustomDataLayer, 16 > &layers_to_write)
SyclQueue void void size_t num_bytes void
static const float data2[18 *GP_PRIM_DATABUF_SIZE]
static const float data1[33 *GP_PRIM_DATABUF_SIZE]
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
const blender::CPPType * custom_data_type_to_cpp_type(const eCustomDataType type)
eCustomDataType cpp_type_to_custom_data_type(const blender::CPPType &type)
unsigned __int64 uint64_t
struct CustomDataTransferLayerMap * next
struct CustomDataTransferLayerMap * prev
const float * mix_weights
cd_datatransfer_interp interp