Libs/Groom/GroomParameters.h
Namespaces
Classes
Source code
#pragma once
#include <Libs/Project/Project.h>
namespace shapeworks {
class GroomParameters {
enum class MeshSmoothingOption {
laplacian,
sinc
};
enum class AlignmentOption {
none,
center,
icp
};
public:
explicit GroomParameters(ProjectHandle project, std::string domain_name = "");
void set_domain_name(std::string domain_name);
void save_to_project();
std::string get_groom_output_prefix();
void set_groom_output_prefix(std::string prefix);
bool get_groom_all_domains_the_same();
void set_groom_all_domains_the_same(bool value);
bool get_alignment_enabled();
void set_alignment_enabled(bool value);
std::string get_alignment_method();
void set_alignment_method(std::string method);
bool get_isolate_tool();
void set_isolate_tool(bool value);
bool get_fill_holes_tool();
void set_fill_holes_tool(bool value);
bool get_fill_mesh_holes_tool();
void set_fill_mesh_holes_tool(bool value);
bool get_auto_pad_tool();
void set_auto_pad_tool(bool value);
int get_padding_amount();
void set_padding_amount(int padding_amount);
bool get_antialias_tool();
void set_antialias_tool(bool value);
int get_antialias_iterations();
void set_antialias_iterations(int iterations);
bool get_blur_tool();
void set_blur_tool(bool value);
double get_blur_amount();
void set_blur_amount(double blur_amount);
bool get_fast_marching();
void set_fast_marching(bool value);
bool get_mesh_smooth();
void set_mesh_smooth(bool value);
std::string get_mesh_smoothing_method();
void set_mesh_smoothing_method(std::string method);
int get_mesh_vtk_laplacian_iterations();
void set_mesh_vtk_laplacian_iterations(int iterations);
double get_mesh_vtk_laplacian_relaxation();
void set_mesh_vtk_laplacian_relaxation(double relaxation);
int get_mesh_vtk_windowed_sinc_iterations();
void set_mesh_vtk_windowed_sinc_iterations(int iterations);
double get_mesh_vtk_windowed_sinc_passband();
void set_mesh_vtk_windowed_sinc_passband(double passband);
bool get_use_icp();
bool get_use_center();
bool get_use_landmarks();
bool get_crop();
void set_crop(bool crop);
bool get_convert_to_mesh();
void set_convert_to_mesh(bool value);
// reflection
bool get_reflect();
void set_reflect(bool reflect);
std::string get_reflect_column();
void set_reflect_column(std::string column);
std::string get_reflect_choice();
void set_reflect_choice(std::string choice);
std::string get_reflect_axis();
void set_reflect_axis(std::string axies);
// resampling
bool get_resample();
void set_resample(bool resample);
bool get_isotropic();
void set_isotropic(bool isotropic);
double get_iso_spacing();
void set_iso_spacing(double spacing);
std::vector<double> get_spacing();
void set_spacing(std::vector<double> spacing);
bool get_remesh();
void set_remesh(bool remesh);
bool get_remesh_percent_mode();
void set_remesh_percent_mode(bool mode);
double get_remesh_percent();
void set_remesh_percent(double percent);
int get_remesh_num_vertices();
void set_remesh_num_vertices(int num_vertices);
double get_remesh_gradation();
void set_remesh_gradation(double gradation);
void restore_defaults();
// constants
const static std::string GROOM_SMOOTH_VTK_LAPLACIAN_C;
const static std::string GROOM_SMOOTH_VTK_WINDOWED_SINC_C;
const static std::string GROOM_ALIGNMENT_CENTER_C;
const static std::string GROOM_ALIGNMENT_ICP_C;
const static std::string GROOM_ALIGNMENT_LANDMARK_C;
private:
Parameters params_;
ProjectHandle project_;
std::string domain_name_;
};
}
Updated on 2022-07-23 at 16:40:07 -0600