Blender V4.3
LayerTypeInfo Struct Reference

Public Attributes

int size
 
int alignment
 
const char * structname
 
int structnum
 
const char * defaultname
 
cd_copy copy
 
cd_free free
 
cd_interp interp
 
void(* swap )(void *data, const int *corner_indices)
 
cd_set_default_value set_default_value
 
void(* construct )(void *data, int count)
 
cd_validate validate
 
bool(* equal )(const void *data1, const void *data2)
 
void(* multiply )(void *data, float fac)
 
void(* initminmax )(void *min, void *max)
 
void(* add )(void *data1, const void *data2)
 
void(* dominmax )(const void *data1, void *min, void *max)
 
void(* copyvalue )(const void *source, void *dest, int mixmode, const float mixfactor)
 
bool(* read )(CDataFile *cdf, void *data, int count)
 
bool(* write )(CDataFile *cdf, const void *data, int count)
 
size_t(* filesize )(CDataFile *cdf, const void *data, int count)
 
int(* layers_max )()
 

Detailed Description

Definition at line 117 of file customdata.cc.

Member Data Documentation

◆ add

void(* LayerTypeInfo::add) (void *data1, const void *data2)

Definition at line 185 of file customdata.cc.

Referenced by CustomData_data_add(), and CustomData_layer_has_math().

◆ alignment

int LayerTypeInfo::alignment

◆ construct

void(* LayerTypeInfo::construct) (void *data, int count)

Construct and fill a valid value for the type. Necessary for non-trivial types. Memory pointed to by #data is expected to be uninitialized.

Definition at line 176 of file customdata.cc.

Referenced by customData_add_layer__internal(), and CustomData_realloc().

◆ copy

cd_copy LayerTypeInfo::copy

◆ copyvalue

void(* LayerTypeInfo::copyvalue) (const void *source, void *dest, int mixmode, const float mixfactor)

Definition at line 187 of file customdata.cc.

Referenced by CustomData_data_mix_value().

◆ defaultname

const char* LayerTypeInfo::defaultname

◆ dominmax

void(* LayerTypeInfo::dominmax) (const void *data1, void *min, void *max)

Definition at line 186 of file customdata.cc.

Referenced by CustomData_data_dominmax(), and CustomData_layer_has_math().

◆ equal

bool(* LayerTypeInfo::equal) (const void *data1, const void *data2)

functions necessary for geometry collapse

Definition at line 182 of file customdata.cc.

Referenced by CustomData_data_equals(), and CustomData_layer_has_math().

◆ filesize

size_t(* LayerTypeInfo::filesize) (CDataFile *cdf, const void *data, int count)

a function to determine file size

Definition at line 196 of file customdata.cc.

Referenced by CustomData_external_write().

◆ free

cd_free LayerTypeInfo::free

a function to free any dynamically allocated components of this layer's data (note the data pointer itself should not be freed) size should be the size of one element of this layer's data (e.g. LayerTypeInfo.size)

Definition at line 147 of file customdata.cc.

Referenced by CustomData_bmesh_copy_block(), CustomData_bmesh_copy_map_calc(), CustomData_bmesh_free_block(), CustomData_bmesh_free_block_data(), CustomData_bmesh_free_block_data_exclude_by_type(), CustomData_bmesh_has_free(), CustomData_external_reload(), CustomData_external_write(), CustomData_free_elem(), CustomData_layertype_is_dynamic(), and free_layer_data().

◆ initminmax

void(* LayerTypeInfo::initminmax) (void *min, void *max)

Definition at line 184 of file customdata.cc.

Referenced by CustomData_data_initminmax(), and CustomData_layer_has_math().

◆ interp

cd_interp LayerTypeInfo::interp

a function to interpolate between count source elements of this layer's data and store the result in dest if weights == null or sub_weights == null, they should default to 1

weights gives the weight for each element in sources sub_weights gives the sub-element weights for each element in sources (there should be (sub element count)^2 weights per element) count gives the number of elements in sources

Note
in some cases dest pointer is in sources so all functions have to take this into account and delay applying changes while reading from sources. See #32395.

Definition at line 162 of file customdata.cc.

Referenced by CustomData_bmesh_interp(), CustomData_bmesh_interp_n(), customdata_data_transfer_interp_generic(), customdata_data_transfer_interp_normal_normals(), CustomData_interp(), and CustomData_layer_has_interp().

◆ layers_max

int(* LayerTypeInfo::layers_max) ()

a function to determine max allowed number of layers, should be null or return -1 if no limit

Definition at line 200 of file customdata.cc.

Referenced by CustomData_layertype_layers_max().

◆ multiply

void(* LayerTypeInfo::multiply) (void *data, float fac)

Definition at line 183 of file customdata.cc.

Referenced by CustomData_data_multiply(), and CustomData_layer_has_math().

◆ read

bool(* LayerTypeInfo::read) (CDataFile *cdf, void *data, int count)

a function to read data from a cdf file

Definition at line 190 of file customdata.cc.

Referenced by CustomData_external_read().

◆ set_default_value

cd_set_default_value LayerTypeInfo::set_default_value

Set values to the type's default. If undefined, the default is assumed to be zeroes. Memory pointed to by #data is expected to be uninitialized.

Definition at line 171 of file customdata.cc.

Referenced by customData_add_layer__internal(), CustomData_bmesh_copy_map_calc(), CustomData_data_set_default_value(), CustomData_layer_ensure_data_exists(), and CustomData_realloc().

◆ size

◆ structname

const char* LayerTypeInfo::structname

name of the struct used, for file writing

Definition at line 122 of file customdata.cc.

Referenced by CustomData_file_write_info().

◆ structnum

int LayerTypeInfo::structnum

number of structs per element, for file writing

Definition at line 124 of file customdata.cc.

Referenced by CustomData_file_write_info(), and CustomData_verify_versions().

◆ swap

void(* LayerTypeInfo::swap) (void *data, const int *corner_indices)

a function to swap the data in corners of the element

Definition at line 165 of file customdata.cc.

Referenced by CustomData_swap_corners().

◆ validate

cd_validate LayerTypeInfo::validate

A function used by mesh validating code, must ensures passed item has valid data.

Definition at line 179 of file customdata.cc.

Referenced by CustomData_layer_validate().

◆ write

bool(* LayerTypeInfo::write) (CDataFile *cdf, const void *data, int count)

a function to write data to a cdf file

Definition at line 193 of file customdata.cc.

Referenced by CustomData_external_write().


The documentation for this struct was generated from the following file: