59 #define ORIGINDEX_NONE -1
79 #define CD_TYPE_AS_MASK(_type) (CustomDataMask)((CustomDataMask)1 << (CustomDataMask)(_type))
84 const void **sources,
const float *weights,
const float *sub_weights,
int count,
void *dest);
85 typedef void (*
cd_copy)(
const void *source,
void *dest,
int count);
86 typedef bool (*
cd_validate)(
void *item,
const uint totitems,
const bool do_fixes);
120 int type,
const void *source,
void *dest,
const int mixmode,
const float mixfactor);
283 int destination_index,
305 const int *src_indices,
306 const float *weights,
307 const float *sub_weights,
311 const void **src_blocks,
312 const float *weights,
313 const float *sub_weights,
318 const void **src_blocks,
319 const float *weights,
320 const float *sub_weights,
421 bool use_default_init);
464 const bool do_fixes);
492 const void **sources,
493 const float *weights,
586 size_t write_layers_size);
void CustomData_swap(struct CustomData *data, const int index_a, const int index_b)
const CustomData_MeshMasks CD_MASK_EVERYTHING
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_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_bmesh_copy_data_exclude_by_type(const struct CustomData *source, struct CustomData *dest, void *src_block, void **dest_block, const CustomDataMask mask_exclude)
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)
void CustomData_blend_write(struct BlendWriter *writer, struct CustomData *data, CustomDataLayer *layers, int count, CustomDataMask cddata_mask, struct ID *id)
const CustomData_MeshMasks CD_MASK_BAREMESH_ORIGINDEX
void * CustomData_set_layer_n(const struct CustomData *data, int type, int n, void *ptr)
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_data_mix_value(int type, const void *source, void *dest, const int mixmode, const float mixfactor)
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)
@ CDT_MIX_REPLACE_BELOW_THRESHOLD
@ CDT_MIX_REPLACE_ABOVE_THRESHOLD
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)
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_duplicate_referenced_layer_n(struct CustomData *data, const int type, const int n, const int totelem)
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_only_copy(const struct CustomData *data, CustomDataMask mask)
void * CustomData_duplicate_referenced_layer_named(struct CustomData *data, const int type, const char *name, const int totelem)
void CustomData_external_write(struct CustomData *data, struct ID *id, CustomDataMask mask, int totelem, int free)
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_data_transfer(const struct MeshPairRemap *me_remap, const CustomDataTransferLayerMap *laymap)
bool CustomData_layer_validate(struct CustomDataLayer *layer, const uint totitems, const bool do_fixes)
void CustomData_blend_write_prepare(struct CustomData *data, struct CustomDataLayer **r_write_layers, struct CustomDataLayer *write_layers_buff, size_t write_layers_size)
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)
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)
void CustomData_bmesh_init_pool(struct CustomData *data, int totelem, const char htype)
void CustomData_external_reload(struct CustomData *data, struct ID *id, CustomDataMask mask, int totelem)
const CustomData_MeshMasks CD_MASK_BAREMESH
int CustomData_get_active_layer(const struct CustomData *data, int type)
void(* cd_datatransfer_interp)(const struct CustomDataTransferLayerMap *laymap, void *dest, const void **sources, const float *weights, const int count, const float mix_factor)
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)
int CustomData_layertype_layers_max(const 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_data_copy_value(int type, const void *source, void *dest)
void CustomData_bmesh_do_versions_update_active_layers(struct CustomData *fdata, struct CustomData *ldata)
void CustomData_external_add(struct CustomData *data, struct ID *id, int type, int totelem, const char *filename)
void * CustomData_duplicate_referenced_layer(struct CustomData *data, const int type, const int totelem)
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
bool CustomData_from_bmeshpoly_test(CustomData *fdata, CustomData *ldata, bool fallback)
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_to_bmeshpoly(struct CustomData *fdata, struct CustomData *ldata, int totloop)
bool(* cd_validate)(void *item, const uint totitems, const bool do_fixes)
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 CustomData_bmesh_merge(const struct CustomData *source, struct CustomData *dest, CustomDataMask mask, eCDAllocType alloctype, struct BMesh *bm, const char htype)
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)
void CustomData_bmesh_free_block_data_exclude_by_type(struct CustomData *data, void *block, const CustomDataMask mask_exclude)
int CustomData_get_named_layer(const struct CustomData *data, int type, const char *name)
void CustomData_from_bmeshpoly(struct CustomData *fdata, struct CustomData *ldata, int total)
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, CustomDataMask mask, int totelem)
const CustomData_MeshMasks CD_MASK_EDITMESH
const CustomData_MeshMasks CD_MASK_DERIVEDMESH
bool CustomData_merge(const struct CustomData *source, struct CustomData *dest, CustomDataMask mask, eCDAllocType alloctype, int totelem)
int CustomData_number_of_layers_typemask(const struct CustomData *data, CustomDataMask mask)
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_copy(const struct CustomData *source, struct CustomData *dest, CustomDataMask mask, eCDAllocType alloctype, int totelem)
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_free_typemask(struct CustomData *data, int totelem, CustomDataMask mask)
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_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(* cd_interp)(const void **sources, const float *weights, const float *sub_weights, int count, void *dest)
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)
const CustomData_MeshMasks CD_MASK_FACECORNERS
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_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
static const float data2[18 *GP_PRIM_DATABUF_SIZE]
static const float data1[33 *GP_PRIM_DATABUF_SIZE]
unsigned __int64 uint64_t
struct CustomDataTransferLayerMap * next
struct CustomDataTransferLayerMap * prev
const float * mix_weights
cd_datatransfer_interp interp
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)