Blender V5.0
MLoopNorSpace Struct Reference

#include <BKE_mesh.h>

Public Attributes

float vec_lnor [3]
float vec_ref [3]
float vec_ortho [3]
float ref_alpha
float ref_beta
struct LinkNodeloops
char flags

Detailed Description

References a contiguous loop-fan. Combined with the automatically calculated face corner normal, this gives a dimensional coordinate space used to convert normals between the "custom normal" short2 representation and a regular float3 format.

Definition at line 239 of file BKE_mesh.h.

Member Data Documentation

◆ flags

◆ loops

struct LinkNode* MLoopNorSpace::loops

All loops using this lnor space (i.e. smooth fan of loops), as (depending on owning MLoopNorSpaceArrary.data_type):

  • Indices (uint_in_ptr), or
  • BMLoop pointers.

Definition at line 271 of file BKE_mesh.h.

Referenced by BKE_lnor_space_add_loop(), bm_loop_normal_mark_indiv_do_loop(), bm_mesh_loops_assign_normal_data(), bm_mesh_loops_split_lnor_fans(), and normals_merge().

◆ ref_alpha

float MLoopNorSpace::ref_alpha

Reference angle around vec_ortho, in ]0, pi] range, between vec_lnor and the reference edge.

A 0.0 value marks that space as invalid, as it can only happen in extremely degenerate geometry cases (it would mean that the default normal is perfectly aligned with the reference edge).

Definition at line 256 of file BKE_mesh.h.

Referenced by BKE_lnor_space_custom_data_to_normal(), BKE_lnor_space_custom_normal_to_data(), BKE_lnor_space_define(), and BM_lnorspace_err().

◆ ref_beta

float MLoopNorSpace::ref_beta

Reference angle around vec_lnor, in ]0, 2pi] range, between the reference edge and the other border edge of the fan.

A 0.0 value marks that space as invalid, as it can only happen in degenerate geometry cases (it would mean that all the edges connected to that corner of the smooth fan are perfectly aligned).

Definition at line 265 of file BKE_mesh.h.

Referenced by BKE_lnor_space_custom_data_to_normal(), BKE_lnor_space_custom_normal_to_data(), BKE_lnor_space_define(), and BM_lnorspace_err().

◆ vec_lnor

float MLoopNorSpace::vec_lnor[3]

The automatically computed face corner normal, not including influence of custom normals.

Definition at line 241 of file BKE_mesh.h.

Referenced by BKE_lnor_space_custom_data_to_normal(), BKE_lnor_space_custom_normal_to_data(), BKE_lnor_space_define(), and BM_lnorspace_err().

◆ vec_ortho

float MLoopNorSpace::vec_ortho[3]

◆ vec_ref

float MLoopNorSpace::vec_ref[3]

Reference vector, orthogonal to vec_lnor, aligned with one of the edges (borders) of the smooth fan, called 'reference edge'.

Definition at line 246 of file BKE_mesh.h.

Referenced by BKE_lnor_space_custom_data_to_normal(), BKE_lnor_space_custom_normal_to_data(), BKE_lnor_space_define(), and BM_lnorspace_err().


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