|
Blender V4.5
|
#include <BKE_mesh.hh>
Public Attributes | |
| Mutex | build_mutex |
| Vector< CornerNormalSpace > | spaces |
| Array< int > | corner_space_indices |
| Vector< Array< int > > | corners_by_space |
| bool | create_corners_by_space = false |
Storage for corner fan coordinate spaces for an entire mesh.
Definition at line 152 of file BKE_mesh.hh.
| Mutex blender::bke::mesh::CornerNormalSpaceArray::build_mutex |
Results are added from multiple threads. The lock is an easy way to parallelize adding results for each corner fan. This method means the order of spaces in the spaces vector and corners_by_face is non-deterministic. That shouldn't affect the final output for the user though.
Definition at line 159 of file BKE_mesh.hh.
Referenced by blender::bke::mesh::handle_fan_result_and_custom_normals().
| Array<int> blender::bke::mesh::CornerNormalSpaceArray::corner_space_indices |
The index of the data in the spaces array for each face corner (the array size is the same as Mesh::corners_num). Rare -1 values define face corners without a coordinate space.
Definition at line 172 of file BKE_mesh.hh.
Referenced by apply_weights_vertex_normal(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), blender::bke::mesh::handle_fan_result_and_custom_normals(), blender::bke::mesh::mesh_normals_corner_custom_set(), and blender::bke::mesh::normals_calc_corners().
A map containing the face corners that make up each space, in the order that they were processed (winding around a vertex).
Definition at line 178 of file BKE_mesh.hh.
Referenced by blender::bke::mesh::handle_fan_result_and_custom_normals(), blender::bke::mesh::mesh_normals_corner_custom_set(), and blender::bke::mesh::normals_calc_corners().
| bool blender::bke::mesh::CornerNormalSpaceArray::create_corners_by_space = false |
Whether to create the above map when calculating normals.
Definition at line 180 of file BKE_mesh.hh.
Referenced by blender::bke::mesh::handle_fan_result_and_custom_normals(), blender::bke::mesh::mesh_normals_corner_custom_set(), and blender::bke::mesh::normals_calc_corners().
| Vector<CornerNormalSpace> blender::bke::mesh::CornerNormalSpaceArray::spaces |
The normal coordinate spaces, potentially shared between multiple face corners in a smooth fan connected to a vertex (and not per face corner). Depending on the mesh (the amount of sharing / number of sharp edges / size of each fan), there may be many fewer spaces than face corners, so they are stored in a separate vector.
Definition at line 166 of file BKE_mesh.hh.
Referenced by apply_weights_vertex_normal(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), blender::bke::mesh::handle_fan_result_and_custom_normals(), blender::bke::mesh::mesh_normals_corner_custom_set(), and blender::bke::mesh::normals_calc_corners().