Blender V5.0
blender::bke::mesh::CornerNormalSpaceArray Struct Reference

#include <BKE_mesh.hh>

Public Attributes

Vector< CornerNormalSpacespaces
Array< int > corner_space_indices
Vector< Array< int > > corners_by_space
bool create_corners_by_space = false

Detailed Description

Storage for corner fan coordinate spaces for an entire mesh. For performance reason the distribution of spaces and index mapping of them in corner_space_indices are non-deterministic.

Definition at line 158 of file BKE_mesh.hh.

Member Data Documentation

◆ corner_space_indices

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 171 of file BKE_mesh.hh.

Referenced by apply_weights_vertex_normal(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), and blender::bke::mesh::mesh_normals_corner_custom_set().

◆ corners_by_space

Vector<Array<int> > blender::bke::mesh::CornerNormalSpaceArray::corners_by_space

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 177 of file BKE_mesh.hh.

Referenced by blender::bke::mesh::mesh_normals_corner_custom_set().

◆ create_corners_by_space

bool blender::bke::mesh::CornerNormalSpaceArray::create_corners_by_space = false

Whether to create the above map when calculating normals.

Definition at line 179 of file BKE_mesh.hh.

Referenced by blender::bke::mesh::mesh_normals_corner_custom_set().

◆ spaces

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 165 of file BKE_mesh.hh.

Referenced by apply_weights_vertex_normal(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), and blender::bke::mesh::mesh_normals_corner_custom_set().


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