Project Geode-Numerics
namespace geode
Namespaces
Records
- ComputationGrid
- CutGridFDMCurvatureMinimization
- CutGridScalarFunction
- CutGrid
- DataConstraintsManager
- DataPointsManager
- FDMCurvatureMinimization
- FieldLines
- FrameFieldParameterization
- FrameFieldSmoother
- FrameField
- FrameTransform
- LinearSolver
- MeshElement
- NumericsCoreLibrary
- NumericsFrameFieldLibrary
- NumericsScalarFunctionLibrary
- NumericsSurfaceLibrary
- uuid
Functions
smooth_attribute_values
vector smooth_attribute_values(const Mesh & mesh, VariableAttribute<AttributeType> & attribute, double smoothing_factor, Span vertices_to_treat)
vector smooth_attribute_values(const Mesh & mesh, VariableAttribute<AttributeType> & attribute, double smoothing_factor, Span vertices_to_treat)
Smooth attribute on mesh points using adjacent vertices. Given attribute should have operator++ and operator*(double) available, as well as generic attribute conversion.
mesh [in] Input mesh
attribute [in] attribute to smooth
smoothing_factor [in] factor between 0 and 1 to control how much adjacent vertices affect value: 0 means no smoothing, 1 means value is computed only from adjacent vertices.
vertices_to_treat [in] vertices on which to apply the smoothing.
return max ratio between initial and smoothed values, computed from genericable values.
smooth_attribute_values
void smooth_attribute_values(const Mesh & mesh, VariableAttribute<AttributeType> & attribute, double smoothing_factor)
void smooth_attribute_values(const Mesh & mesh, VariableAttribute<AttributeType> & attribute, double smoothing_factor)
iterative_attribute_values_smoothing
void iterative_attribute_values_smoothing(const Mesh & mesh, VariableAttribute<AttributeType> & attribute, double max_change_ratio, index_t max_iterations)
void iterative_attribute_values_smoothing(const Mesh & mesh, VariableAttribute<AttributeType> & attribute, double max_change_ratio, index_t max_iterations)
Smooth attribute on mesh points using adjacent vertices. Given attribute should have operator++ and operator*(double) available. Smoothing will be applied iteratively until change ratio is inferior to given max_change_ratio
mesh [in] Input mesh
attribute [in] attribute to smooth
max_change_ratio [in] maximum factor between values from one iteration to the other. Under it iterations will stop.
convert_surface3d_into_2d
unique_ptr convert_surface3d_into_2d(const TriangulatedSurface3D & mesh, basic_string_view attribute_name)
unique_ptr convert_surface3d_into_2d(const TriangulatedSurface3D & mesh, basic_string_view attribute_name)
Compute a 2D mesh from a 3D mesh and its parametric coordinates
mesh [in] Input triangulated mesh
attribute_name [in] The VariableAttribute< Point2D > name which holds the parametric values. Values are stored on the vertices.
compute_LSCM_parameterization
void compute_LSCM_parameterization(const TriangulatedSurface3D & mesh, basic_string_view attribute_name)
void compute_LSCM_parameterization(const TriangulatedSurface3D & mesh, basic_string_view attribute_name)
Compute Least Squares Conformal Maps
mesh [in] Input triangulated mesh
attribute_name [in] The VariableAttribute< Point2D > name which holds the parametric values. Values are stored on the vertices.
mean_plane_around_points
OwnerPlane mean_plane_around_points(const PointSet3D & mesh)
OwnerPlane mean_plane_around_points(const PointSet3D & mesh)
Compute mean plane around mesh Points with Least Squares
mesh [in] Input mesh
mean_plane_around_curve_points
OwnerPlane mean_plane_around_curve_points(const EdgedCurve3D & mesh)
OwnerPlane mean_plane_around_curve_points(const EdgedCurve3D & mesh)
mean_plane_around_surface_points
OwnerPlane mean_plane_around_surface_points(const SurfaceMesh3D & mesh)
OwnerPlane mean_plane_around_surface_points(const SurfaceMesh3D & mesh)