Blender V4.3
BKE_mesh.hh File Reference
#include "BLI_index_mask_fwd.hh"
#include "BLI_offset_indices.hh"
#include "BLI_string_ref.hh"
#include "BKE_mesh.h"
#include "BKE_mesh_types.hh"

Go to the source code of this file.

Classes

struct  blender::bke::mesh::CornerNormalSpace
 
struct  blender::bke::mesh::CornerNormalSpaceArray
 

Namespaces

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

Functions

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_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_ensure_default_color_attribute_on_add (Mesh &mesh, StringRef id, AttrDomain domain, eCustomDataType data_type)
 
void blender::bke::mesh_data_update (Depsgraph &depsgraph, const Scene &scene, Object &ob, const CustomData_MeshMasks &dataMask)
 
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, Span< int2 > edges, OffsetIndices< int > faces, Span< int > corner_verts, Span< int > corner_edges, Span< int > corner_to_face_map, Span< float3 > vert_normals, Span< float3 > face_normals, Span< bool > sharp_edges, Span< bool > sharp_faces, const short2 *clnors_data, CornerNormalSpaceArray *r_lnors_spacearr, MutableSpan< float3 > r_corner_normals)
 
void blender::bke::mesh::normals_corner_custom_set (Span< float3 > vert_positions, Span< int2 > edges, OffsetIndices< int > faces, Span< int > corner_verts, Span< int > corner_edges, 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, Span< int2 > edges, OffsetIndices< int > faces, Span< int > corner_verts, Span< int > corner_edges, 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)
 
Topology Queries
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)
 
Selection Interpolation
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)