|
Blender V5.0
|
Go to the source code of this file.
Classes | |
| struct | CustomDataLayer |
| struct | CustomDataExternal |
| struct | CustomData |
| struct | CustomData_MeshMasks |
Typedefs | |
| typedef struct CustomDataLayer | CustomDataLayer |
| typedef struct CustomDataExternal | CustomDataExternal |
| typedef struct CustomData | CustomData |
| typedef enum eCustomDataType | eCustomDataType |
| typedef struct CustomData_MeshMasks | CustomData_MeshMasks |
Enumerations | |
| enum | eCustomDataType { CD_AUTO_FROM_NAME = -1 , CD_MDEFORMVERT = 2 , CD_MFACE = 4 , CD_MTFACE = 5 , CD_MCOL = 6 , CD_ORIGINDEX = 7 , CD_NORMAL = 8 , CD_PROP_FLOAT = 10 , CD_PROP_INT32 = 11 , CD_PROP_STRING = 12 , CD_ORIGSPACE = 13 , CD_ORCO = 14 , CD_PROP_BYTE_COLOR = 17 , CD_TANGENT = 18 , CD_MDISPS = 19 , CD_PROP_FLOAT4X4 = 20 , CD_PROP_INT16_2D = 22 , CD_CLOTH_ORCO = 23 , CD_SHAPE_KEYINDEX = 27 , CD_SHAPEKEY = 28 , CD_ORIGSPACE_MLOOP = 31 , CD_BM_ELEM_PYPTR = 33 , CD_GRID_PAINT_MASK = 35 , CD_MVERT_SKIN = 36 , CD_MLOOPTANGENT = 39 , CD_TESSLOOPNORMAL = 40 , CD_PROP_INT8 = 45 , CD_PROP_INT32_2D = 46 , CD_PROP_COLOR = 47 , CD_PROP_FLOAT3 = 48 , CD_PROP_FLOAT2 = 49 , CD_PROP_BOOL = 50 , CD_PROP_QUATERNION = 52 , CD_NUMTYPES = 53 } |
| enum | { CD_FLAG_NOCOPY = (1 << 0) , CD_FLAG_UNUSED = (1 << 1) , CD_FLAG_TEMPORARY = ((1 << 2) | CD_FLAG_NOCOPY) , CD_FLAG_EXTERNAL = (1 << 3) , CD_FLAG_IN_MEMORY = (1 << 4) } |
Used for custom mesh data types (stored per vert/edge/loop/face)
Definition in file DNA_customdata_types.h.
| #define CD_MASK_ALL (~0LL) |
All data layers.
Definition at line 227 of file DNA_customdata_types.h.
Referenced by blender::bke::CurvesGeometry::blend_write(), blender::geometry::reorder_customdata(), and blender::geometry::reorder_customdata_groups().
| #define CD_MASK_BM_ELEM_PYPTR (1LL << CD_BM_ELEM_PYPTR) |
Definition at line 207 of file DNA_customdata_types.h.
Referenced by bpy_bm_elem_copy_from().
| #define CD_MASK_CLOTH_ORCO (1 << CD_CLOTH_ORCO) |
Definition at line 202 of file DNA_customdata_types.h.
Referenced by blender::bke::mesh_calc_modifiers(), and required_data_mask().
| #define CD_MASK_COLOR_ALL (CD_MASK_PROP_COLOR | CD_MASK_PROP_BYTE_COLOR) |
All color attributes
Definition at line 237 of file DNA_customdata_types.h.
Referenced by blender::ed::sculpt_paint::color::active_color_attribute(), blender::ed::sculpt_paint::color::active_color_attribute_for_write(), BKE_color_attribute_supported(), BKE_id_attributes_color_find(), bmo_get_loop_color_ref(), color_clamp_index(), color_name_from_index(), color_name_to_index(), data_transfer_mesh_attributes_transfer_active_color_string(), data_transfer_mesh_attributes_transfer_default_color_string(), edbm_reverse_colors_exec(), edbm_rotate_colors_exec(), blender::ed::geometry::geometry_color_attribute_convert_poll(), blender::bke::mesh_ensure_default_color_attribute_on_add(), and blender::bke::mesh_remove_invalid_attribute_strings().
| #define CD_MASK_GRID_PAINT_MASK (1LL << CD_GRID_PAINT_MASK) |
Definition at line 209 of file DNA_customdata_types.h.
| #define CD_MASK_MCOL (1 << CD_MCOL) |
Definition at line 192 of file DNA_customdata_types.h.
| #define CD_MASK_MDEFORMVERT (1 << CD_MDEFORMVERT) |
Definition at line 189 of file DNA_customdata_types.h.
Referenced by BKE_object_data_transfer_dttypes_to_cdmask(), BKE_object_handle_data_update(), blender::deg::DepsgraphRelationBuilder::build_constraints(), blender::deg::DepsgraphRelationBuilder::build_ik_pose(), blender::bke::CurvesGeometry::CurvesGeometry(), ED_view3d_datamask(), blender::bke::object_get_datamask(), psys_emitter_customdata_mask(), blender::required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), and required_data_mask().
| #define CD_MASK_MDISPS (1 << CD_MDISPS) |
Definition at line 201 of file DNA_customdata_types.h.
Referenced by convert_mfaces_to_mpolys(), multires_ensure_external_read(), multires_force_external_reload(), and multires_topology_changed().
| #define CD_MASK_MFACE (1 << CD_MFACE) |
Definition at line 190 of file DNA_customdata_types.h.
| #define CD_MASK_MLOOPTANGENT (1LL << CD_MLOOPTANGENT) |
Definition at line 211 of file DNA_customdata_types.h.
| #define CD_MASK_MTFACE (1 << CD_MTFACE) |
Definition at line 191 of file DNA_customdata_types.h.
Referenced by blender::bke::object_get_datamask(), psys_emitter_customdata_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), required_data_mask(), and required_data_mask().
| #define CD_MASK_MULTIRES_GRIDS (CD_MASK_MDISPS | CD_GRID_PAINT_MASK) |
Multi-resolution loop data.
Definition at line 224 of file DNA_customdata_types.h.
Referenced by blender::bke::subdiv::subdiv_mesh_topology_info().
| #define CD_MASK_MVERT_SKIN (1LL << CD_MVERT_SKIN) |
Definition at line 210 of file DNA_customdata_types.h.
Referenced by blender::bke::object_get_datamask(), and required_data_mask().
| #define CD_MASK_NORMAL (1 << CD_NORMAL) |
Definition at line 194 of file DNA_customdata_types.h.
Referenced by triangulate_mesh().
| #define CD_MASK_ORCO (1 << CD_ORCO) |
Definition at line 199 of file DNA_customdata_types.h.
Referenced by BKE_modifier_calc_data_masks(), BKE_object_handle_data_update(), ED_view3d_datamask(), blender::bke::editbmesh_calc_modifiers(), blender::bke::mesh_calc_modifiers(), and psys_emitter_customdata_mask().
| #define CD_MASK_ORIGINDEX (1 << CD_ORIGINDEX) |
Definition at line 193 of file DNA_customdata_types.h.
Referenced by BKE_mesh_mirror_bisect_on_mirror_plane_for_modifier(), blender::deg::DepsgraphRelationBuilder::build_object_parent(), doEdgeSplit(), blender::bke::editbmesh_calc_modifiers(), blender::bke::mesh_build_data(), blender::bke::mesh_calc_modifiers(), mesh_new_from_mesh_object_with_layers(), modify_mesh(), modify_mesh(), psys_emitter_customdata_mask(), required_data_mask(), triangulate_mesh(), and WireframeModifier_do().
| #define CD_MASK_ORIGSPACE (1 << CD_ORIGSPACE) |
Definition at line 198 of file DNA_customdata_types.h.
| #define CD_MASK_ORIGSPACE_MLOOP (1LL << CD_ORIGSPACE_MLOOP) |
Definition at line 206 of file DNA_customdata_types.h.
Referenced by blender::bke::editbmesh_calc_modifiers(), blender::bke::mesh_calc_modifiers(), and psys_emitter_customdata_mask().
| #define CD_MASK_PROP_ALL |
All generic attributes.
Definition at line 230 of file DNA_customdata_types.h.
Referenced by blender::ed::geometry::attribute_set_poll(), BKE_attribute_duplicate(), BKE_attribute_rename(), bke_attribute_rename_if_exists(), BKE_attributes_active_name_get(), BKE_attributes_active_set(), BKE_object_handle_data_update(), cd_layer_find_dupe(), blender::ed::sculpt_paint::dyntopo::dyntopo_supports_layer(), edbm_select_by_attribute_exec(), edbm_select_by_attribute_poll(), blender::ed::mesh::set_attribute::mesh_set_attribute_exec(), blender::ed::mesh::set_attribute::mesh_set_attribute_invoke(), blender::ed::mesh::set_attribute::mesh_set_attribute_ui(), rename_mesh_uv_seam_attribute(), blender::required_data_mask(), and blender::ed::sculpt_paint::undo::set_active_layer().
| #define CD_MASK_PROP_BOOL (1ULL << CD_PROP_BOOL) |
Definition at line 216 of file DNA_customdata_types.h.
| #define CD_MASK_PROP_BYTE_COLOR (1 << CD_PROP_BYTE_COLOR) |
Definition at line 200 of file DNA_customdata_types.h.
Referenced by data_transfer_mesh_attributes_transfer_active_color_string(), data_transfer_mesh_attributes_transfer_default_color_string(), blender::ed::object::dt_layers_select_src_itemf(), ED_view3d_datamask(), blender::bke::object_get_datamask(), required_data_mask(), and required_data_mask().
| #define CD_MASK_PROP_COLOR (1ULL << CD_PROP_COLOR) |
Definition at line 213 of file DNA_customdata_types.h.
Referenced by data_transfer_mesh_attributes_transfer_active_color_string(), data_transfer_mesh_attributes_transfer_default_color_string(), blender::ed::object::dt_layers_select_src_itemf(), and ED_view3d_datamask().
| #define CD_MASK_PROP_FLOAT (1 << CD_PROP_FLOAT) |
Definition at line 195 of file DNA_customdata_types.h.
| #define CD_MASK_PROP_FLOAT2 (1ULL << CD_PROP_FLOAT2) |
Definition at line 215 of file DNA_customdata_types.h.
Referenced by BKE_object_data_transfer_dttypes_to_cdmask(), ED_view3d_datamask(), blender::bke::object_get_datamask(), required_data_mask(), and required_data_mask().
| #define CD_MASK_PROP_FLOAT3 (1ULL << CD_PROP_FLOAT3) |
Definition at line 214 of file DNA_customdata_types.h.
| #define CD_MASK_PROP_FLOAT4X4 (1ULL << CD_PROP_FLOAT4X4) |
Definition at line 221 of file DNA_customdata_types.h.
| #define CD_MASK_PROP_INT16_2D (1ULL << CD_PROP_INT16_2D) |
Definition at line 218 of file DNA_customdata_types.h.
| #define CD_MASK_PROP_INT32 (1 << CD_PROP_INT32) |
Definition at line 196 of file DNA_customdata_types.h.
Referenced by required_data_mask().
| #define CD_MASK_PROP_INT32_2D (1ULL << CD_PROP_INT32_2D) |
Definition at line 219 of file DNA_customdata_types.h.
| #define CD_MASK_PROP_INT8 (1ULL << CD_PROP_INT8) |
Definition at line 217 of file DNA_customdata_types.h.
| #define CD_MASK_PROP_QUATERNION (1ULL << CD_PROP_QUATERNION) |
Definition at line 220 of file DNA_customdata_types.h.
| #define CD_MASK_PROP_STRING (1 << CD_PROP_STRING) |
Definition at line 197 of file DNA_customdata_types.h.
| #define CD_MASK_SHAPE_KEYINDEX (1 << CD_SHAPE_KEYINDEX) |
Definition at line 204 of file DNA_customdata_types.h.
Referenced by undomesh_from_editmesh().
| #define CD_MASK_SHAPEKEY (1 << CD_SHAPEKEY) |
Definition at line 205 of file DNA_customdata_types.h.
Referenced by BKE_mesh_mirror_apply_mirror_on_axis(), and BM_mesh_bm_to_me_for_eval().
| #define CD_MASK_TESSLOOPNORMAL (1LL << CD_TESSLOOPNORMAL) |
Definition at line 212 of file DNA_customdata_types.h.
| #define MAX_CUSTOMDATA_LAYER_NAME 68 |
Definition at line 47 of file DNA_customdata_types.h.
Referenced by BKE_attribute_duplicate(), BKE_attribute_remove(), BKE_attribute_rename(), BKE_uv_map_pin_name_get(), blender::bm_face_loop_table_build(), BM_mesh_bm_from_me(), BM_uv_map_attr_pin_ensure_for_all_layers(), BM_uv_map_attr_pin_ensure_named(), BM_uv_map_attr_pin_exists(), BM_uv_map_offsets_from_layer(), CustomData_name_maxncpy_calc(), CustomData_validate_layer_name(), dynamicPaint_createUVSurface(), dynamicPaint_setInitialColor(), ED_mesh_uv_map_pin_layer_ensure(), ED_mesh_uv_map_pin_layer_get(), MOD_get_texture_coords(), and modify_mesh().
| #define MAX_CUSTOMDATA_LAYER_NAME_NO_PREFIX 64 |
Definition at line 48 of file DNA_customdata_types.h.
Referenced by CustomData_name_maxncpy_calc(), blender::ed::object::OBJECT_OT_bake(), RNA_api_mesh(), rna_def_attribute_group_mesh(), rna_def_mloopcol(), rna_def_mloopuv(), rna_def_modifier_explode(), rna_def_skin_vertices(), and rna_def_tex_slot().
| #define MAX_MTFACE 8 |
Limits.
Definition at line 267 of file DNA_customdata_types.h.
Referenced by BKE_mesh_validate_all_customdata(), ED_mesh_uv_add(), blender::draw::extract_edituv_stretch_angle_subdiv(), blender::draw::extract_tan_init_common(), blender::draw::extract_uv_maps(), blender::draw::extract_uv_maps_subdiv(), layerMaxNum_tface(), blender::draw::mesh_extract_uv_format_init(), blender::io::alembic::read_custom_data(), and blender::bke::subdiv::subdiv_mesh_ctx_cache_uv_layers().
| typedef struct CustomData CustomData |
CustomData stores an arbitrary number of typed data "layers" for multiple elements. The layers are typically geometry attributes, and the elements are typically geometry elements like vertices, edges, or curves.
Each layer has a type, often with certain semantics beyond the type of the raw data. However, a subset of the layer types are exposed as attributes and accessed with a higher level API built around #AttributeAccessor.
For BMesh, CustomData is adapted to store the data from all layers in a single "block" which is allocated for each element. Each layer's data is stored at a certain offset into every block's data.
| typedef struct CustomData_MeshMasks CustomData_MeshMasks |
| typedef struct CustomDataExternal CustomDataExternal |
| typedef struct CustomDataLayer CustomDataLayer |
Descriptor and storage for a custom data layer.
| anonymous enum |
#CustomData.flag
| Enumerator | |
|---|---|
| CD_FLAG_NOCOPY | Indicates layer should not be copied by #CustomData_from_template or CustomData_copy_data. |
| CD_FLAG_UNUSED | |
| CD_FLAG_TEMPORARY | Indicates the layer is only temporary, also implies no copy |
| CD_FLAG_EXTERNAL | Indicates the layer is stored in an external file |
| CD_FLAG_IN_MEMORY | Indicates external data is read into memory |
Definition at line 248 of file DNA_customdata_types.h.
| enum eCustomDataType |
| Enumerator | |
|---|---|
| CD_AUTO_FROM_NAME | Used by GPU attributes in the cases when we don't know which layer we are addressing in advance. |
| CD_MDEFORMVERT | |
| CD_MFACE | |
| CD_MTFACE | |
| CD_MCOL | |
| CD_ORIGINDEX | |
| CD_NORMAL | Used as temporary storage for some areas that support interpolating custom normals. Using a separate type from generic 3D vectors is a simple way of keeping values normalized. |
| CD_PROP_FLOAT | |
| CD_PROP_INT32 | |
| CD_PROP_STRING | |
| CD_ORIGSPACE | |
| CD_ORCO | |
| CD_PROP_BYTE_COLOR | |
| CD_TANGENT | Previously used for runtime corner tangent storage in mesh CustomData. Currently only used as an identifier to choose tangents in a few places. |
| CD_MDISPS | |
| CD_PROP_FLOAT4X4 | |
| CD_PROP_INT16_2D | |
| CD_CLOTH_ORCO | |
| CD_SHAPE_KEYINDEX | |
| CD_SHAPEKEY | |
| CD_ORIGSPACE_MLOOP | |
| CD_BM_ELEM_PYPTR | |
| CD_GRID_PAINT_MASK | |
| CD_MVERT_SKIN | |
| CD_MLOOPTANGENT | |
| CD_TESSLOOPNORMAL | |
| CD_PROP_INT8 | |
| CD_PROP_INT32_2D | |
| CD_PROP_COLOR | |
| CD_PROP_FLOAT3 | |
| CD_PROP_FLOAT2 | |
| CD_PROP_BOOL | |
| CD_PROP_QUATERNION | |
| CD_NUMTYPES | |
Definition at line 86 of file DNA_customdata_types.h.