Blender V5.0
BKE_mesh.hh File Reference

Go to the source code of this file.

Classes

struct  blender::bke::mesh::CornerNormalSpace
struct  blender::bke::mesh::CornerNormalSpaceArray
class  blender::bke::mesh::NormalJoinInfo

Namespaces

namespace  blender
namespace  blender::bke
namespace  blender::bke::mesh

Functions

void blender::bke::mesh_set_custom_normals (Mesh &mesh, MutableSpan< float3 > corner_normals)
void blender::bke::mesh_set_custom_normals_normalized (Mesh &mesh, MutableSpan< float3 > corner_normals)
void blender::bke::mesh_set_custom_normals_from_verts (Mesh &mesh, MutableSpan< float3 > vert_normals)
void blender::bke::mesh_set_custom_normals_from_verts_normalized (Mesh &mesh, MutableSpan< float3 > vert_normals)
int blender::bke::mesh::face_corner_prev (const IndexRange face, const int corner)
int blender::bke::mesh::face_corner_next (const IndexRange face, const int corner)
int blender::bke::mesh::face_find_corner_from_vert (const IndexRange face, const Span< int > corner_verts, const int vert)
int2 blender::bke::mesh::face_find_adjacent_verts (const IndexRange face, const Span< int > corner_verts, const int vert)
int blender::bke::mesh::face_triangles_num (const int face_size)
IndexRange blender::bke::mesh::face_triangles_range (OffsetIndices< int > faces, int face_i)
int blender::bke::mesh::edge_other_vert (const int2 edge, const int vert)
Polygon Data Evaluation
float3 blender::bke::mesh::face_normal_calc (Span< float3 > vert_positions, Span< int > face_verts)
void blender::bke::mesh::corner_tris_calc (Span< float3 > vert_positions, OffsetIndices< int > faces, Span< int > corner_verts, MutableSpan< int3 > corner_tris)
void blender::bke::mesh::corner_tris_calc_with_normals (Span< float3 > vert_positions, OffsetIndices< int > faces, Span< int > corner_verts, Span< float3 > face_normals, MutableSpan< int3 > corner_tris)
void blender::bke::mesh::corner_tris_calc_face_indices (OffsetIndices< int > faces, MutableSpan< int > tri_faces)
void blender::bke::mesh::vert_tris_from_corner_tris (Span< int > corner_verts, Span< int3 > corner_tris, MutableSpan< int3 > vert_tris)
int3 blender::bke::mesh::corner_tri_get_real_edges (Span< int2 > edges, Span< int > corner_verts, Span< int > corner_edges, const int3 &corner_tri)
float3 blender::bke::mesh::face_center_calc (Span< float3 > vert_positions, Span< int > face_verts)
float blender::bke::mesh::face_area_calc (Span< float3 > vert_positions, Span< int > face_verts)
void blender::bke::mesh::face_angles_calc (Span< float3 > vert_positions, Span< int > face_verts, MutableSpan< float > angles)
Medium-Level Normals Calculation
void blender::bke::mesh::normals_calc_faces (Span< float3 > vert_positions, OffsetIndices< int > faces, Span< int > corner_verts, MutableSpan< float3 > face_normals)
void blender::bke::mesh::normals_calc_verts (Span< float3 > vert_positions, OffsetIndices< int > faces, Span< int > corner_verts, GroupedSpan< int > vert_to_face_map, Span< float3 > face_normals, MutableSpan< float3 > vert_normals)
Face Corner Normal Calculation
short2 blender::bke::mesh::corner_space_custom_normal_to_data (const CornerNormalSpace &lnor_space, const float3 &custom_lnor)
void blender::bke::mesh::normals_calc_corners (Span< float3 > vert_positions, OffsetIndices< int > faces, Span< int > corner_verts, Span< int > corner_edges, GroupedSpan< int > vert_to_face_map, Span< float3 > face_normals, Span< bool > sharp_edges, Span< bool > sharp_faces, Span< short2 > custom_normals, CornerNormalSpaceArray *r_fan_spaces, MutableSpan< float3 > r_corner_normals)
void blender::bke::mesh::normals_corner_custom_set (Span< float3 > vert_positions, OffsetIndices< int > faces, Span< int > corner_verts, Span< int > corner_edges, GroupedSpan< int > vert_to_face_map, Span< float3 > vert_normals, Span< float3 > face_normals, Span< bool > sharp_faces, MutableSpan< bool > sharp_edges, MutableSpan< float3 > r_custom_corner_normals, MutableSpan< short2 > r_clnors_data)
void blender::bke::mesh::normals_corner_custom_set_from_verts (Span< float3 > vert_positions, OffsetIndices< int > faces, Span< int > corner_verts, Span< int > corner_edges, GroupedSpan< int > vert_to_face_map, Span< float3 > vert_normals, Span< float3 > face_normals, Span< bool > sharp_faces, MutableSpan< bool > sharp_edges, MutableSpan< float3 > r_custom_vert_normals, MutableSpan< short2 > r_clnors_data)
void blender::bke::mesh::edges_sharp_from_angle_set (OffsetIndices< int > faces, Span< int > corner_verts, Span< int > corner_edges, Span< float3 > face_normals, Span< int > corner_to_face, Span< bool > sharp_faces, const float split_angle, MutableSpan< bool > sharp_edges)
bool blender::bke::mesh::is_corner_fan_normals (const AttributeMetaData &meta_data)
Topology Queries
Meshblender::bke::mesh_new_no_attributes (int verts_num, int edges_num, int faces_num, int corners_num)
void blender::bke::mesh_calc_edges (Mesh &mesh, bool keep_existing_edges, bool select_new_edges)
void blender::bke::mesh_calc_edges (Mesh &mesh, bool keep_existing_edges, bool select_new_edges, const AttributeFilter &attribute_filter)
void blender::bke::mesh_translate (Mesh &mesh, const float3 &translation, bool do_shape_keys)
void blender::bke::mesh_transform (Mesh &mesh, const float4x4 &transform, bool do_shape_keys)
void blender::bke::mesh_flip_faces (Mesh &mesh, const IndexMask &selection)
void blender::bke::mesh_ensure_required_data_layers (Mesh &mesh)
void blender::bke::mesh_vert_normals_assign (Mesh &mesh, Span< float3 > vert_normals)
void blender::bke::mesh_vert_normals_assign (Mesh &mesh, Vector< float3 > vert_normals)
void blender::bke::mesh_smooth_set (Mesh &mesh, bool use_smooth, bool keep_sharp_edges=false)
void blender::bke::mesh_sharp_edges_set_from_angle (Mesh &mesh, float angle, bool keep_sharp_edges=false)
void blender::bke::mesh_edge_hide_from_vert (Span< int2 > edges, Span< bool > hide_vert, MutableSpan< bool > hide_edge)
void blender::bke::mesh_face_hide_from_vert (OffsetIndices< int > faces, Span< int > corner_verts, Span< bool > hide_vert, MutableSpan< bool > hide_poly)
void blender::bke::mesh_hide_vert_flush (Mesh &mesh)
void blender::bke::mesh_hide_face_flush (Mesh &mesh)
void blender::bke::mesh_select_vert_flush (Mesh &mesh)
void blender::bke::mesh_select_edge_flush (Mesh &mesh)
void blender::bke::mesh_select_face_flush (Mesh &mesh)
void blender::bke::mesh_ensure_default_color_attribute_on_add (Mesh &mesh, StringRef id, AttrDomain domain, bke::AttrType data_type)
void blender::bke::mesh_data_update (Depsgraph &depsgraph, const Scene &scene, Object &ob, const CustomData_MeshMasks &dataMask)
void blender::bke::mesh_remove_invalid_attribute_strings (Mesh &mesh)
void blender::bke::mesh_apply_spatial_organization (Mesh &mesh)
const AttributeAccessorFunctionsblender::bke::mesh_attribute_accessor_functions ()