Lagrange
Loading...
Searching...
No Matches
SmoothDirectionFieldOptions Struct Reference

Options for compute_smooth_direction_field(). More...

#include <lagrange/polyddg/compute_smooth_direction_field.h>

Public Attributes

uint8_t nrosy = 4
 Symmetry order of the direction field (e.g.
 
double lambda = 1.0
 Stabilization weight for the VEM projection term in the connection Laplacian.
 
std::string_view alignment_attribute = ""
 Name of a per-vertex 3-D tangent vector field attribute used as alignment constraints.
 
double alignment_weight = 1.0
 Scaling factor for the spectral shift in the alignment solve, following the fieldgen formulation (Knöppel et al.
 
std::string_view direction_field_attribute = "@smooth_direction_field"
 Output attribute name for the smooth direction field (3-D vector, per vertex).
 

Detailed Description

Options for compute_smooth_direction_field().

Member Data Documentation

◆ nrosy

uint8_t nrosy = 4

Symmetry order of the direction field (e.g.

1 = vector field, 2 = line field, 4 = cross field).

◆ alignment_attribute

std::string_view alignment_attribute = ""

Name of a per-vertex 3-D tangent vector field attribute used as alignment constraints.

Each vertex with a non-zero vector is softly constrained to align to that direction. Vertices with a zero vector are unconstrained. If empty (the default), no alignment constraints are applied and the globally smoothest field is computed via inverse power iteration.

◆ alignment_weight

double alignment_weight = 1.0

Scaling factor for the spectral shift in the alignment solve, following the fieldgen formulation (Knöppel et al.

2013). The actual shift is \( \alpha = s \cdot \sigma_{\min} \), where \( s \) is this value and \( \sigma_{\min} \) is the smallest eigenvalue of the connection Laplacian (computed automatically). At the default value of 1.0, the shift equals \( \sigma_{\min} \), giving maximum alignment. Values in (0, 1) give weaker alignment (more smoothness).


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