Wildmeshing Toolkit
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
wmtk::components::topological_offset::Parameters Struct Reference

What the offset needs on top of the parameters every wmtk optimizer shares. More...

#include <Parameters.h>

Inheritance diagram for wmtk::components::topological_offset::Parameters:
wmtk::OptimizerParameters

Public Member Functions

 Parameters (const nlohmann::json &json_params)
 
void init (const VectorXd &min_, const VectorXd &max_)
 
- Public Member Functions inherited from wmtk::OptimizerParameters
void init_lengths_from_diagonal (const double diag)
 Derive the edge-length and envelope quantities from the bounding-box diagonal.
 

Public Attributes

ExpressionPtr offset_selection
 
std::set< std::string > offset_output_tag
 
std::set< std::string > protected_tags
 
bool respect_all_topologies
 
bool offset_in
 
bool offset_out
 
double target_distance
 
double target_distance_rel
 
double convergence_target
 
double convergence_target_rel
 
double convergence_normal_deviation
 
bool throw_on_nonconvergence
 
double envelope_size
 
double envelope_size_rel
 
bool region_envelope_from_input
 
double relative_ball_threshold
 
double edge_search_term_len
 
bool sorted_marching
 
std::string output_path
 
bool optimize
 
bool save_vtu
 
int num_threads
 
int optimization_iterations
 
double max_normal_deviation_deg
 
double min_normal_deviation_deg
 
double min_edge_length
 
double smooth_quadrics_weight
 
double smooth_laplacian_weight
 
double quadrics_svd_threshold
 
double min_sizing_scalar
 
double max_sizing_scalar
 
double sizing_mrm_threshold
 
double sizing_gradation
 
VectorXd box_min
 
VectorXd box_max
 
- Public Attributes inherited from wmtk::OptimizerParameters
double epsr = 1e-3
 
double eps = -1.
 
double lr = 5e-2
 
double l = -1.
 
double l_min = -1
 
double diag_l = -1.
 
bool preserve_topology = false
 
bool optimize_envelope_around_simplified = false
 
int split_high_valence_threshold = 200
 
double stuck_refine_stall_eps = 0.1
 
int stuck_refine_cooldown = 0
 
int stuck_refine_num_worst = 0
 
int stuck_refine_rings = 0
 
double stuck_refine_factor = 0.5
 
double stuck_refine_min_scalar = 1e-3
 
double stuck_refine_gradation = 2.0
 
bool stuck_refine_force_split = true
 
bool skip_good_regions = false
 
double skip_good_regions_margin = 0.9
 
double splitting_l2 = -1.
 
double collapsing_l2
 
double stop_energy = 100
 
double w_amips = 1e-4
 
std::string smoothing_mode = "projected"
 "projected" or "exact"; see SmoothVertexOptions::SmoothingMode.
 
int project_line_search_steps = 12
 Bisections tried before the projected search gives up. See SmoothVertexOptions.
 
int project_line_search_nested_steps = 0
 Partial-projection bisections tried after it gives up; 0 disables that pass.
 
double w_envelope = 1. - 1e-4
 
int num_smoothing_passes = 2
 Number and placement of smoothing passes in the shared Wild optimization driver.
 
bool interleaved_smoothing = true
 
int interleaved_smoothing_passes = 1
 
bool coarsen_pass = false
 
bool coarsen_unbounded = true
 
int coarsen_local_smoothing_passes = 0
 
int coarsen_smooth_ring = 1
 
int coarsen_global_smoothing_passes = 1
 
int coarsen_max_rounds = 2
 
int coarsen_max_inner_passes = 1
 
bool debug_output = false
 
bool perform_sanity_checks = false
 

Detailed Description

What the offset needs on top of the parameters every wmtk optimizer shares.

The optimization phase reuses wmtk::TetOptimizerMesh, so the quantities that phase reads – the target edge length and the split/collapse thresholds derived from it, the smoothing weights and pass count, the sizing-refinement knobs, the debug switch – come from wmtk::OptimizerParameters rather than being spelled out again here. The json keys are unchanged: length/length_rel feed the base's l/lr, smoothing_iterations feeds num_smoothing_passes, DEBUG_output feeds debug_output.

The bounding box stays here, as it does in every application: the base deliberately does not own it, because its type and meaning differ per application.


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