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

General options for one-to-many geodesic computations. More...

#include <lagrange/geodesic/GeodesicEngine.h>

Public Attributes

size_t source_facet_id = 0
 The facet id of the seed facet.
 
std::array< double, 2 > source_facet_bc = {0.0f, 0.0f}
 The barycentric coordinates of the seed facet.
 
std::array< double, 3 > ref_dir = {0.0f, 1.0f, 0.0f}
 The reference up direction for the geodesic polar coordinates.
 
std::array< double, 3 > second_ref_dir = {1.0f, 0.0f, 0.0f}
 The secondary reference up direction for the geodesic polar coordinates.
 
double radius = -1.0f
 The maximum geodesic distance from the seed point to consider.
 
std::string_view output_geodesic_attribute_name = "@geodesic_distance"
 The name of the output attribute to store the geodesic distance.
 
std::string_view output_polar_angle_attribute_name = "@polar_angle"
 The name of the output attribute to store the geodesic polar coordinates.
 

Detailed Description

General options for one-to-many geodesic computations.

Member Data Documentation

◆ source_facet_bc

std::array<double, 2> source_facet_bc = {0.0f, 0.0f}

The barycentric coordinates of the seed facet.

Given a triangle (p1, p2, p3), the barycentric coordinates (u, v) are such that the surface point is represented by p = (1 - u - v) * p1 + u * p2 + v * p3.

◆ ref_dir

std::array<double, 3> ref_dir = {0.0f, 1.0f, 0.0f}

The reference up direction for the geodesic polar coordinates.

Note
The projection of the reference up direction onto the tangent plane of the seed point will be used as the actual up tangent direction.

◆ second_ref_dir

std::array<double, 3> second_ref_dir = {1.0f, 0.0f, 0.0f}

The secondary reference up direction for the geodesic polar coordinates.

This direction will only be used as reference direction if ref_dir is perpendicular to the the seed facet.

◆ radius

double radius = -1.0f

The maximum geodesic distance from the seed point to consider.

Note
Negative value means there is no limit, and the entire mesh will be considered.
Regions outside this distance will have invalid<Scalar> as geodesic distance and polar angle.

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