Wildmeshing Toolkit
|
Classes | |
struct | bbox |
class | Segment |
struct | EdgeInsOptions |
struct | ExportCacheOptions |
struct | GetAllMeshesOptions |
struct | ImportCacheOptions |
struct | MeshInfoOptions |
class | MultiMeshFromTag |
This class generates a multi-mesh from a mesh where the substructure is represented by a tag. More... | |
class | TagAttribute |
class | RegularSpace |
struct | RegularSpaceOptions |
struct | TagIntersectionAttributes |
struct | TagIntersectionValues |
struct | TagIntersectionOptions |
struct | WindingNumberOptions |
Functions | |
std::shared_ptr< wmtk::TetMesh > | CDT_internal (const wmtk::TriMesh &m, std::vector< std::array< bool, 4 >> &local_f_on_input, bool inner_only, bool rational_output) |
std::tuple< std::pair< std::vector< double >, uint32_t >, std::pair< std::vector< uint32_t >, uint32_t > > | get_vf (const TriMesh &trimesh) |
std::tuple< Eigen::MatrixXd, Eigen::MatrixXi > | delaunay_2d (Eigen::Ref< const RowVectors2d > points) |
std::tuple< Eigen::MatrixXd, Eigen::MatrixXi > | delaunay_3d (Eigen::Ref< const RowVectors3d > points) |
std::tuple< Eigen::MatrixXd, Eigen::MatrixXi > | delaunay_geogram (Eigen::Ref< const Eigen::MatrixXd > points) |
wmtk::Rational | det (const wmtk::Vector2r &a, const wmtk::Vector2r &b) |
int | is_point_inside_triangle (const wmtk::Vector2r &P, const wmtk::Vector2r &A, const wmtk::Vector2r &B, const wmtk::Vector2r &C) |
bool | segment_segment_inter (const Vector2r &s0, const Vector2r &e0, const Vector2r &s1, const Vector2r &e1, Vector2r &res, Rational &t0, Rational &t1) |
bool | is_point_in_bbox (const Vector2r &point, const Vector2r &bbox_min, const Vector2r &bbox_max) |
bool | is_bbox_intersect (const Vector2r &bbox_min_0, const Vector2r &bbox_max_0, const Vector2r &bbox_min_1, const Vector2r &bbox_max_1) |
std::array< wmtk::Vector2r, 2 > | compute_bbox (const wmtk::Vector2r &p0, const wmtk::Vector2r &p1, const wmtk::Vector2r &p2) |
std::array< wmtk::Vector2r, 2 > | compute_bbox (const wmtk::Vector2r &p0, const wmtk::Vector2r &p1) |
bool | is_colinear (const Vector2r &p0, const Vector2r &p1, const Vector2r &q0, const Vector2r &q1) |
std::vector< int64_t > | cyclic_order (const std::vector< Vector2r > &V) |
void | dfs_triangulate_aux (int64_t v, std::vector< std::vector< std::tuple< int64_t, bool, bool >>> &VV, std::vector< Vector2r > &V_pos, std::vector< int64_t > &stack, std::vector< int > &in_stack, std::vector< int > &is_on_input, std::vector< int > &is_used, std::vector< std::vector< int64_t >> &in_stack_idx, const Vector2r &prev_vector, const int64_t v_prev, std::vector< std::array< int64_t, 3 >> &FV, std::vector< std::array< int, 3 >> &local_e_on_input) |
void | dfs_triangulate (std::vector< std::vector< std::tuple< int64_t, bool, bool >>> &VV, std::vector< Vector2r > &V_pos, std::vector< std::array< int64_t, 3 >> &FV, std::vector< std::array< int, 3 >> &local_e_on_input) |
void | edge_insertion (TriMesh &_trimesh, EdgeMesh &edgemesh, std::vector< Vector2r > &v_final, std::vector< std::array< int64_t, 3 >> &FV_new, std::vector< std::array< int, 3 >> &local_e_on_input) |
bool | segment_segment_inter (const Vector2r &s0, const Vector2r &e0, const Vector2r &s1, const Vector2r &e1, Vector2r &res) |
include the intersection on edgepoints More... | |
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE (EdgeInsOptions, edges, triangles, output) | |
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE (ExportCacheOptions, folder) | |
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE (GetAllMeshesOptions, input, name) | |
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE (ImportCacheOptions, folder) | |
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE (MeshInfoOptions, input) | |
void | write (const Mesh &mesh, const std::string &out_dir, const std::string &name, const std::string &vname, const int64_t index, const bool intermediate_output) |
void | adjust_sizing_field (Mesh &m, const TypedAttributeHandle< double > &coordinate_handle, const TypedAttributeHandle< double > &edge_length_handle, const TypedAttributeHandle< double > &sizing_field_scalar_handle, const TypedAttributeHandle< double > &energy_handle, const TypedAttributeHandle< double > &target_edge_length_handle, const TypedAttributeHandle< char > &visited_handle, const double stop_energy, const double current_max_energy, const double initial_target_edge_length, const double min_target_edge_length) |
void | set_operation_energy_filter (Mesh &m, const TypedAttributeHandle< double > &coordinate_handle, const TypedAttributeHandle< double > &energy_handle, const TypedAttributeHandle< char > &energy_filter_handle, const TypedAttributeHandle< char > &visited_handle, const double stop_energy, const double current_max_energy, const double initial_target_edge_length) |
void | periodic_optimization (Mesh &periodic_mesh, Mesh &position_mesh, Mesh &surface_mesh, const double target_edge_length, const double max_amips_energy, const int64_t passes, const double envelope_size, const bool intermediate_output, std::vector< attribute::MeshAttributeHandle > &pass_through_attributes, std::string output_dir, std::string output) |
void | to_json (nlohmann::json &j, RegularSpaceOptions &o) |
void | from_json (const nlohmann::json &j, RegularSpaceOptions &o) |
void | to_json (nlohmann::json &j, TagIntersectionOptions &o) |
void | from_json (const nlohmann::json &j, TagIntersectionOptions &o) |
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE (TagIntersectionAttributes, vertex_labels, edge_labels, face_labels, tetrahedron_labels) | |
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE (TagIntersectionValues, vertex_values, edge_values, face_values, tetrahedron_values) | |
std::vector< std::pair< std::shared_ptr< Mesh >, std::string > > | wildmeshing2d (const WildMeshingOptions &options) |
std::vector< std::pair< std::shared_ptr< Mesh >, std::string > > | wildmeshing3d (const WildMeshingOptions &options) |
void | adjust_sizing_field (Mesh &m, const TypedAttributeHandle< Rational > &coordinate_handle, const TypedAttributeHandle< double > &edge_length_handle, const TypedAttributeHandle< double > &sizing_field_scalar_handle, const TypedAttributeHandle< double > &energy_handle, const TypedAttributeHandle< double > &target_edge_length_handle, const TypedAttributeHandle< char > &visited_handle, const double stop_energy, const double current_max_energy, const double initial_target_edge_length, const double min_target_edge_length) |
void | set_operation_energy_filter (Mesh &m, const TypedAttributeHandle< Rational > &coordinate_handle, const TypedAttributeHandle< double > &energy_handle, const TypedAttributeHandle< char > &energy_filter_handle, const TypedAttributeHandle< char > &visited_handle, const double stop_energy, const double current_max_energy, const double initial_target_edge_length) |
void | set_operation_energy_filter_after_sizing_field (Mesh &m, const TypedAttributeHandle< Rational > &coordinate_handle, const TypedAttributeHandle< double > &energy_handle, const TypedAttributeHandle< char > &energy_filter_handle, const TypedAttributeHandle< char > &visited_handle, const double stop_energy, const double current_max_energy, const double initial_target_edge_length) |
void | write (const std::shared_ptr< Mesh > &mesh, const std::string &out_dir, const std::string &name, const std::string &vname, const int64_t index, const bool intermediate_output) |
Eigen::VectorXd | winding_number (const Mesh &m, const TriMesh &surface) |
Eigen::VectorXd | winding_number_internal (const Eigen::MatrixXd &query_points, const Eigen::MatrixXd &surface_V, const MatrixX< int64_t > &surface_F) |
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE (WindingNumberOptions, input, filtering_base, output, threshold) | |
void wmtk::components::internal::adjust_sizing_field | ( | Mesh & | m, |
const TypedAttributeHandle< double > & | coordinate_handle, | ||
const TypedAttributeHandle< double > & | edge_length_handle, | ||
const TypedAttributeHandle< double > & | sizing_field_scalar_handle, | ||
const TypedAttributeHandle< double > & | energy_handle, | ||
const TypedAttributeHandle< double > & | target_edge_length_handle, | ||
const TypedAttributeHandle< char > & | visited_handle, | ||
const double | stop_energy, | ||
const double | current_max_energy, | ||
const double | initial_target_edge_length, | ||
const double | min_target_edge_length | ||
) |
Definition at line 1185 of file periodic_optimization.cpp.
References wmtk::Mesh::create_accessor(), wmtk::Mesh::create_const_accessor(), wmtk::Edge, wmtk::Mesh::get_all(), wmtk::simplex::link(), wmtk::logger(), wmtk::Mesh::orient_vertices(), wmtk::Mesh::switch_tuple(), wmtk::Tetrahedron, wmtk::Mesh::top_simplex_type(), wmtk::Vertex, wmtk::simplex::Simplex::vertex(), and wmtk::simplex::vertices().
Referenced by periodic_optimization(), and wildmeshing3d().
void wmtk::components::internal::adjust_sizing_field | ( | Mesh & | m, |
const TypedAttributeHandle< Rational > & | coordinate_handle, | ||
const TypedAttributeHandle< double > & | edge_length_handle, | ||
const TypedAttributeHandle< double > & | sizing_field_scalar_handle, | ||
const TypedAttributeHandle< double > & | energy_handle, | ||
const TypedAttributeHandle< double > & | target_edge_length_handle, | ||
const TypedAttributeHandle< char > & | visited_handle, | ||
const double | stop_energy, | ||
const double | current_max_energy, | ||
const double | initial_target_edge_length, | ||
const double | min_target_edge_length | ||
) |
Definition at line 1507 of file wildmeshing3d.cpp.
References wmtk::Mesh::create_accessor(), wmtk::Mesh::create_const_accessor(), wmtk::Edge, wmtk::Mesh::get_all(), wmtk::simplex::link(), wmtk::logger(), wmtk::Mesh::orient_vertices(), wmtk::Mesh::switch_tuple(), wmtk::Tetrahedron, wmtk::Mesh::top_simplex_type(), wmtk::Vertex, wmtk::simplex::Simplex::vertex(), and wmtk::simplex::vertices().
std::shared_ptr< wmtk::TetMesh > wmtk::components::internal::CDT_internal | ( | const wmtk::TriMesh & | m, |
std::vector< std::array< bool, 4 >> & | local_f_on_input, | ||
bool | inner_only, | ||
bool | rational_output | ||
) |
Definition at line 18 of file CDT.cpp.
References cdt_lib::cdt_to_string(), get_vf(), wmtk::logger(), wmtk::Scheduler::run_operation_on_all(), wmtk::mesh_utils::set_matrix_attribute(), wmtk::Vertex, and wmtk::utils::wmtk_orient3d().
Referenced by wmtk::components::CDT().
std::array<wmtk::Vector2r, 2> wmtk::components::internal::compute_bbox | ( | const wmtk::Vector2r & | p0, |
const wmtk::Vector2r & | p1 | ||
) |
Definition at line 190 of file edge_insertion.cpp.
std::array<wmtk::Vector2r, 2> wmtk::components::internal::compute_bbox | ( | const wmtk::Vector2r & | p0, |
const wmtk::Vector2r & | p1, | ||
const wmtk::Vector2r & | p2 | ||
) |
Definition at line 163 of file edge_insertion.cpp.
Referenced by edge_insertion().
std::vector<int64_t> wmtk::components::internal::cyclic_order | ( | const std::vector< Vector2r > & | V | ) |
Definition at line 221 of file edge_insertion.cpp.
Referenced by dfs_triangulate_aux().
std::tuple< Eigen::MatrixXd, Eigen::MatrixXi > wmtk::components::internal::delaunay_2d | ( | Eigen::Ref< const RowVectors2d > | points | ) |
Definition at line 8 of file delaunay_2d.cpp.
References delaunay_geogram().
Referenced by wmtk::components::delaunay_exec(), and TEST_CASE().
std::tuple< Eigen::MatrixXd, Eigen::MatrixXi > wmtk::components::internal::delaunay_3d | ( | Eigen::Ref< const RowVectors3d > | points | ) |
Definition at line 7 of file delaunay_3d.cpp.
References delaunay_geogram().
Referenced by wmtk::components::delaunay_exec(), and TEST_CASE().
std::tuple< Eigen::MatrixXd, Eigen::MatrixXi > wmtk::components::internal::delaunay_geogram | ( | Eigen::Ref< const Eigen::MatrixXd > | points | ) |
Definition at line 11 of file delaunay_geogram.cpp.
References wmtk::logger(), and wmtk::simplex::vertices().
Referenced by delaunay_2d(), delaunay_3d(), and TEST_CASE().
wmtk::Rational wmtk::components::internal::det | ( | const wmtk::Vector2r & | a, |
const wmtk::Vector2r & | b | ||
) |
Definition at line 27 of file edge_insertion.cpp.
Referenced by is_point_inside_triangle(), wmtk::utils::wmtk_orient2d(), and wmtk::utils::wmtk_orient3d().
void wmtk::components::internal::dfs_triangulate | ( | std::vector< std::vector< std::tuple< int64_t, bool, bool >>> & | VV, |
std::vector< Vector2r > & | V_pos, | ||
std::vector< std::array< int64_t, 3 >> & | FV, | ||
std::vector< std::array< int, 3 >> & | local_e_on_input | ||
) |
Definition at line 431 of file edge_insertion.cpp.
References dfs_triangulate_aux().
Referenced by edge_insertion().
void wmtk::components::internal::dfs_triangulate_aux | ( | int64_t | v, |
std::vector< std::vector< std::tuple< int64_t, bool, bool >>> & | VV, | ||
std::vector< Vector2r > & | V_pos, | ||
std::vector< int64_t > & | stack, | ||
std::vector< int > & | in_stack, | ||
std::vector< int > & | is_on_input, | ||
std::vector< int > & | is_used, | ||
std::vector< std::vector< int64_t >> & | in_stack_idx, | ||
const Vector2r & | prev_vector, | ||
const int64_t | v_prev, | ||
std::vector< std::array< int64_t, 3 >> & | FV, | ||
std::vector< std::array< int, 3 >> & | local_e_on_input | ||
) |
Definition at line 259 of file edge_insertion.cpp.
References cyclic_order().
Referenced by dfs_triangulate().
void wmtk::components::internal::edge_insertion | ( | TriMesh & | _trimesh, |
EdgeMesh & | edgemesh, | ||
std::vector< Vector2r > & | v_final, | ||
std::vector< std::array< int64_t, 3 >> & | FV_new, | ||
std::vector< std::array< int, 3 >> & | local_e_on_input | ||
) |
Definition at line 483 of file edge_insertion.cpp.
References wmtk::components::internal::Segment::bbox_max, wmtk::components::internal::Segment::bbox_min, wmtk::operations::composite::TriFaceSplit::collapse(), compute_bbox(), wmtk::Mesh::consolidate(), wmtk::operations::CopyOther, wmtk::MeshCRTP< Derived >::create_accessor(), dfs_triangulate(), wmtk::Edge, wmtk::simplex::Simplex::edge(), wmtk::simplex::edges(), wmtk::simplex::Simplex::face(), wmtk::Mesh::get_all(), wmtk::Mesh::get_attribute_handle(), wmtk::utils::EigenMatrixWriter::get_EV_matrix(), wmtk::utils::EigenMatrixWriter::get_FV_matrix(), wmtk::utils::EigenMatrixWriter::get_position_matrix(), is_bbox_intersect(), wmtk::TriMesh::is_boundary(), is_colinear(), wmtk::components::internal::Segment::is_on_input, is_point_in_bbox(), is_point_inside_triangle(), wmtk::operations::None, wmtk::components::internal::Segment::p0, wmtk::components::internal::Segment::p1, wmtk::components::internal::Segment::points_on_segment, wmtk::Mesh::register_attribute(), segment_segment_inter(), wmtk::Mesh::serialize(), wmtk::operations::EdgeCollapse::set_new_attribute_strategy(), wmtk::operations::EdgeSplit::set_new_attribute_strategy(), wmtk::operations::composite::TriFaceSplit::split(), wmtk::TriMesh::switch_tuple(), wmtk::MeshCRTP< Derived >::switch_tuples(), wmtk::Triangle, and wmtk::Vertex.
Referenced by wmtk::components::edge_insertion().
void wmtk::components::internal::from_json | ( | const nlohmann::json & | j, |
RegularSpaceOptions & | o | ||
) |
Definition at line 17 of file RegularSpaceOptions.cpp.
References wmtk::components::internal::RegularSpaceOptions::attributes, wmtk::components::internal::RegularSpaceOptions::input, wmtk::log_and_throw_error(), wmtk::components::internal::RegularSpaceOptions::output, wmtk::components::internal::RegularSpaceOptions::pass_through, and wmtk::components::internal::RegularSpaceOptions::values.
Referenced by wmtk::components::isotropic_remeshing::IsotropicRemeshingOptions::load_json().
void wmtk::components::internal::from_json | ( | const nlohmann::json & | j, |
TagIntersectionOptions & | o | ||
) |
Definition at line 19 of file TagIntersectionOptions.cpp.
References wmtk::components::internal::TagIntersectionOptions::attributes, wmtk::components::internal::TagIntersectionAttributes::edge_labels, wmtk::components::internal::TagIntersectionValues::edge_values, wmtk::components::internal::TagIntersectionAttributes::face_labels, wmtk::components::internal::TagIntersectionValues::face_values, wmtk::components::internal::TagIntersectionOptions::input, wmtk::log_and_throw_error(), wmtk::components::internal::TagIntersectionOptions::output, wmtk::components::internal::TagIntersectionOptions::output_attributes, wmtk::components::internal::TagIntersectionOptions::output_values, wmtk::components::internal::TagIntersectionOptions::pass_through, wmtk::components::internal::TagIntersectionAttributes::tetrahedron_labels, wmtk::components::internal::TagIntersectionValues::tetrahedron_values, wmtk::components::internal::TagIntersectionOptions::values, wmtk::components::internal::TagIntersectionAttributes::vertex_labels, and wmtk::components::internal::TagIntersectionValues::vertex_values.
std::tuple< std::pair< std::vector< double >, uint32_t >, std::pair< std::vector< uint32_t >, uint32_t > > wmtk::components::internal::get_vf | ( | const TriMesh & | trimesh | ) |
Definition at line 9 of file get_vf.cpp.
References wmtk::utils::EigenMatrixWriter::get_FV_matrix(), wmtk::utils::EigenMatrixWriter::get_position_matrix(), wmtk::logger(), and wmtk::Mesh::serialize().
Referenced by CDT_internal().
bool wmtk::components::internal::is_bbox_intersect | ( | const Vector2r & | bbox_min_0, |
const Vector2r & | bbox_max_0, | ||
const Vector2r & | bbox_min_1, | ||
const Vector2r & | bbox_max_1 | ||
) |
Definition at line 147 of file edge_insertion.cpp.
Referenced by edge_insertion().
bool wmtk::components::internal::is_colinear | ( | const Vector2r & | p0, |
const Vector2r & | p1, | ||
const Vector2r & | q0, | ||
const Vector2r & | q1 | ||
) |
Definition at line 212 of file edge_insertion.cpp.
References wmtk::utils::wmtk_orient2d().
Referenced by edge_insertion().
bool wmtk::components::internal::is_point_in_bbox | ( | const Vector2r & | point, |
const Vector2r & | bbox_min, | ||
const Vector2r & | bbox_max | ||
) |
Definition at line 138 of file edge_insertion.cpp.
Referenced by edge_insertion().
int wmtk::components::internal::is_point_inside_triangle | ( | const wmtk::Vector2r & | P, |
const wmtk::Vector2r & | A, | ||
const wmtk::Vector2r & | B, | ||
const wmtk::Vector2r & | C | ||
) |
point | |
t1 | |
t2 | |
t3 |
Definition at line 32 of file edge_insertion.cpp.
References wmtk::abs(), and det().
Referenced by edge_insertion().
wmtk::components::internal::NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE | ( | EdgeInsOptions | , |
edges | , | ||
triangles | , | ||
output | |||
) |
wmtk::components::internal::NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE | ( | ExportCacheOptions | , |
folder | |||
) |
wmtk::components::internal::NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE | ( | GetAllMeshesOptions | , |
input | , | ||
name | |||
) |
wmtk::components::internal::NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE | ( | ImportCacheOptions | , |
folder | |||
) |
wmtk::components::internal::NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE | ( | MeshInfoOptions | , |
input | |||
) |
wmtk::components::internal::NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE | ( | TagIntersectionAttributes | , |
vertex_labels | , | ||
edge_labels | , | ||
face_labels | , | ||
tetrahedron_labels | |||
) |
wmtk::components::internal::NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE | ( | TagIntersectionValues | , |
vertex_values | , | ||
edge_values | , | ||
face_values | , | ||
tetrahedron_values | |||
) |
wmtk::components::internal::NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE | ( | WindingNumberOptions | , |
input | , | ||
filtering_base | , | ||
output | , | ||
threshold | |||
) |
void wmtk::components::internal::periodic_optimization | ( | Mesh & | periodic_mesh, |
Mesh & | position_mesh, | ||
Mesh & | surface_mesh, | ||
const double | target_edge_length, | ||
const double | max_amips_energy, | ||
const int64_t | passes, | ||
const double | envelope_size, | ||
const bool | intermediate_output, | ||
std::vector< attribute::MeshAttributeHandle > & | pass_through_attributes, | ||
std::string | output_dir, | ||
std::string | output | ||
) |
Definition at line 112 of file periodic_optimization.cpp.
References adjust_sizing_field(), wmtk::function::utils::amips(), wmtk::SchedulerStats::collecting_time, wmtk::multimesh::consolidate(), wmtk::operations::Copy, wmtk::Mesh::create_accessor(), wmtk::Mesh::create_const_accessor(), wmtk::Edge, wmtk::SchedulerStats::executing_time, wmtk::Mesh::get_all(), wmtk::Mesh::get_attribute_handle(), wmtk::simplex::link_condition(), wmtk::logger(), wmtk::operations::Mean, wmtk::operations::None, wmtk::SchedulerStats::number_of_failed_operations(), wmtk::SchedulerStats::number_of_performed_operations(), wmtk::SchedulerStats::number_of_successful_operations(), wmtk::Mesh::orient_vertices(), wmtk::components::output::output(), wmtk::PE, PF, PT, wmtk::PV, wmtk::Mesh::register_attribute(), wmtk::Scheduler::run_operation_on_all(), wmtk::SchedulerStats::sorting_time, wmtk::Mesh::switch_tuple(), wmtk::Mesh::switch_tuples(), wmtk::function::Tet_AMIPS_energy(), wmtk::function::utils::Tet_AMIPS_energy(), wmtk::Tetrahedron, wmtk::Mesh::top_simplex_type(), wmtk::Triangle, wmtk::Vertex, wmtk::simplex::vertices(), wmtk::utils::wmtk_orient3d(), and write().
Referenced by wmtk::components::periodic_optimization().
bool wmtk::components::internal::segment_segment_inter | ( | const Vector2r & | s0, |
const Vector2r & | e0, | ||
const Vector2r & | s1, | ||
const Vector2r & | e1, | ||
Vector2r & | res | ||
) |
include the intersection on edgepoints
bool wmtk::components::internal::segment_segment_inter | ( | const Vector2r & | s0, |
const Vector2r & | e0, | ||
const Vector2r & | s1, | ||
const Vector2r & | e1, | ||
Vector2r & | res, | ||
Rational & | t0, | ||
Rational & | t1 | ||
) |
Definition at line 102 of file edge_insertion.cpp.
References wmtk::Rational::get_sign().
Referenced by edge_insertion().
void wmtk::components::internal::set_operation_energy_filter | ( | Mesh & | m, |
const TypedAttributeHandle< double > & | coordinate_handle, | ||
const TypedAttributeHandle< double > & | energy_handle, | ||
const TypedAttributeHandle< char > & | energy_filter_handle, | ||
const TypedAttributeHandle< char > & | visited_handle, | ||
const double | stop_energy, | ||
const double | current_max_energy, | ||
const double | initial_target_edge_length | ||
) |
Definition at line 1323 of file periodic_optimization.cpp.
References wmtk::Mesh::create_accessor(), wmtk::Mesh::create_const_accessor(), wmtk::Mesh::get_all(), wmtk::simplex::k_ring(), wmtk::Mesh::orient_vertices(), wmtk::Tetrahedron, wmtk::Mesh::top_simplex_type(), wmtk::Vertex, wmtk::simplex::Simplex::vertex(), and wmtk::simplex::vertices().
Referenced by wildmeshing3d().
void wmtk::components::internal::set_operation_energy_filter | ( | Mesh & | m, |
const TypedAttributeHandle< Rational > & | coordinate_handle, | ||
const TypedAttributeHandle< double > & | energy_handle, | ||
const TypedAttributeHandle< char > & | energy_filter_handle, | ||
const TypedAttributeHandle< char > & | visited_handle, | ||
const double | stop_energy, | ||
const double | current_max_energy, | ||
const double | initial_target_edge_length | ||
) |
Definition at line 1645 of file wildmeshing3d.cpp.
References wmtk::Mesh::create_accessor(), wmtk::Mesh::create_const_accessor(), wmtk::Mesh::get_all(), wmtk::simplex::k_ring(), wmtk::Mesh::orient_vertices(), wmtk::Tetrahedron, wmtk::Mesh::top_simplex_type(), wmtk::Vertex, wmtk::simplex::Simplex::vertex(), and wmtk::simplex::vertices().
void wmtk::components::internal::set_operation_energy_filter_after_sizing_field | ( | Mesh & | m, |
const TypedAttributeHandle< Rational > & | coordinate_handle, | ||
const TypedAttributeHandle< double > & | energy_handle, | ||
const TypedAttributeHandle< char > & | energy_filter_handle, | ||
const TypedAttributeHandle< char > & | visited_handle, | ||
const double | stop_energy, | ||
const double | current_max_energy, | ||
const double | initial_target_edge_length | ||
) |
Definition at line 1692 of file wildmeshing3d.cpp.
References wmtk::Mesh::create_accessor(), wmtk::Mesh::create_const_accessor(), wmtk::Mesh::get_all(), wmtk::simplex::link(), wmtk::Mesh::orient_vertices(), wmtk::Tetrahedron, wmtk::Mesh::top_simplex_type(), wmtk::Vertex, wmtk::simplex::Simplex::vertex(), and wmtk::simplex::vertices().
void wmtk::components::internal::to_json | ( | nlohmann::json & | j, |
RegularSpaceOptions & | o | ||
) |
Definition at line 7 of file RegularSpaceOptions.cpp.
References wmtk::components::internal::RegularSpaceOptions::attributes, wmtk::components::internal::RegularSpaceOptions::input, wmtk::components::internal::RegularSpaceOptions::output, wmtk::components::internal::RegularSpaceOptions::pass_through, and wmtk::components::internal::RegularSpaceOptions::values.
Referenced by wmtk::components::isotropic_remeshing::IsotropicRemeshingOptions::write_json().
void wmtk::components::internal::to_json | ( | nlohmann::json & | j, |
TagIntersectionOptions & | o | ||
) |
Definition at line 7 of file TagIntersectionOptions.cpp.
References wmtk::components::internal::TagIntersectionOptions::attributes, wmtk::components::internal::TagIntersectionOptions::input, wmtk::components::internal::TagIntersectionOptions::output, wmtk::components::internal::TagIntersectionOptions::output_attributes, wmtk::components::internal::TagIntersectionOptions::output_values, wmtk::components::internal::TagIntersectionOptions::pass_through, and wmtk::components::internal::TagIntersectionOptions::values.
std::vector< std::pair< std::shared_ptr< Mesh >, std::string > > wmtk::components::internal::wildmeshing2d | ( | const WildMeshingOptions & | options | ) |
Definition at line 85 of file wildmeshing2d.cpp.
References wmtk::operations::Operation::add_invariant(), wmtk::operations::Operation::add_transfer_strategy(), wmtk::function::utils::amips(), wmtk::SchedulerStats::collecting_time, wmtk::multimesh::consolidate(), wmtk::operations::Copy, wmtk::Edge, wmtk::components::WildMeshingOptions::envelopes, wmtk::SchedulerStats::executing_time, wmtk::components::WildMeshingOptions::input_mesh, wmtk::components::WildMeshingOptions::input_mesh_position, wmtk::components::WildMeshingOptions::intermediate_output, wmtk::components::WildMeshingOptions::intermediate_output_name, wmtk::components::WildMeshingOptions::intermediate_output_path, wmtk::simplex::link_condition(), wmtk::logger(), wmtk::operations::attribute_update::make_cast_attribute_transfer_strategy(), wmtk::components::WildMeshingOptions::max_passes, wmtk::operations::Mean, wmtk::operations::None, wmtk::SchedulerStats::number_of_failed_operations(), wmtk::SchedulerStats::number_of_performed_operations(), wmtk::SchedulerStats::number_of_successful_operations(), wmtk::components::WildMeshingOptions::pass_through, wmtk::operations::Operation::primitive_type(), wmtk::components::WildMeshingOptions::replace_double_coordinate, wmtk::Scheduler::run_operation_on_all(), wmtk::components::WildMeshingOptions::scheduler_update_frequency, wmtk::operations::Operation::set_priority(), wmtk::Scheduler::set_update_frequency(), wmtk::components::WildMeshingOptions::skip_collapse, wmtk::components::WildMeshingOptions::skip_smooth, wmtk::components::WildMeshingOptions::skip_split, wmtk::components::WildMeshingOptions::skip_swap, wmtk::SchedulerStats::sorting_time, wmtk::components::WildMeshingOptions::target_edge_length, wmtk::components::WildMeshingOptions::target_max_amips, wmtk::function::Tet_AMIPS_energy(), wmtk::function::Tri_AMIPS_energy(), wmtk::Vertex, wmtk::simplex::Simplex::vertex(), wmtk::simplex::vertices(), wmtk::utils::wmtk_orient2d(), and write().
Referenced by wmtk::components::wildmeshing().
std::vector< std::pair< std::shared_ptr< Mesh >, std::string > > wmtk::components::internal::wildmeshing3d | ( | const WildMeshingOptions & | options | ) |
Definition at line 88 of file wildmeshing3d.cpp.
References adjust_sizing_field(), wmtk::function::utils::amips(), wmtk::SchedulerStats::collecting_time, wmtk::multimesh::consolidate(), wmtk::operations::Copy, wmtk::Edge, wmtk::components::WildMeshingOptions::envelopes, wmtk::SchedulerStats::executing_time, wmtk::components::WildMeshingOptions::input_mesh, wmtk::components::WildMeshingOptions::input_mesh_position, wmtk::components::WildMeshingOptions::intermediate_output, wmtk::components::WildMeshingOptions::intermediate_output_name, wmtk::components::WildMeshingOptions::intermediate_output_path, wmtk::simplex::link_condition(), wmtk::logger(), wmtk::operations::attribute_update::make_cast_attribute_transfer_strategy(), wmtk::components::WildMeshingOptions::max_passes, wmtk::operations::Mean, wmtk::operations::None, wmtk::SchedulerStats::number_of_failed_operations(), wmtk::SchedulerStats::number_of_performed_operations(), wmtk::SchedulerStats::number_of_successful_operations(), wmtk::components::WildMeshingOptions::pass_through, wmtk::PE, PF, PT, wmtk::PV, wmtk::components::WildMeshingOptions::replace_double_coordinate, wmtk::Scheduler::run_operation_on_all(), wmtk::components::WildMeshingOptions::scheduler_update_frequency, set_operation_energy_filter(), wmtk::Scheduler::set_update_frequency(), wmtk::components::WildMeshingOptions::skip_collapse, wmtk::components::WildMeshingOptions::skip_smooth, wmtk::components::WildMeshingOptions::skip_split, wmtk::components::WildMeshingOptions::skip_swap, wmtk::SchedulerStats::sorting_time, wmtk::components::WildMeshingOptions::target_edge_length, wmtk::components::WildMeshingOptions::target_max_amips, wmtk::function::Tet_AMIPS_energy(), wmtk::function::utils::Tet_AMIPS_energy(), wmtk::Tetrahedron, wmtk::function::Tri_AMIPS_energy(), wmtk::Triangle, wmtk::Vertex, wmtk::simplex::vertices(), wmtk::utils::wmtk_orient3d(), and write().
Referenced by wmtk::components::wildmeshing().
Eigen::VectorXd wmtk::components::internal::winding_number | ( | const Mesh & | m, |
const TriMesh & | surface | ||
) |
Definition at line 21 of file winding_number.cpp.
References wmtk::Edge, wmtk::utils::EigenMatrixWriter::get_EV_matrix(), wmtk::utils::EigenMatrixWriter::get_FV_matrix(), wmtk::utils::EigenMatrixWriter::get_position_matrix(), wmtk::utils::EigenMatrixWriter::get_TV_matrix(), wmtk::Mesh::serialize(), wmtk::Tetrahedron, wmtk::Mesh::top_simplex_type(), wmtk::Triangle, and winding_number_internal().
Referenced by wmtk::components::winding_number().
Eigen::VectorXd wmtk::components::internal::winding_number_internal | ( | const Eigen::MatrixXd & | query_points, |
const Eigen::MatrixXd & | surface_V, | ||
const MatrixX< int64_t > & | surface_F | ||
) |
Definition at line 78 of file winding_number.cpp.
Referenced by winding_number().
void wmtk::components::internal::write | ( | const Mesh & | mesh, |
const std::string & | out_dir, | ||
const std::string & | name, | ||
const std::string & | vname, | ||
const int64_t | index, | ||
const bool | intermediate_output | ||
) |
Definition at line 1161 of file periodic_optimization.cpp.
References data_dir, and wmtk::Mesh::serialize().
Referenced by periodic_optimization(), wmtk::components::wildmeshing(), wildmeshing2d(), and wildmeshing3d().
void wmtk::components::internal::write | ( | const std::shared_ptr< Mesh > & | mesh, |
const std::string & | out_dir, | ||
const std::string & | name, | ||
const std::string & | vname, | ||
const int64_t | index, | ||
const bool | intermediate_output | ||
) |
Definition at line 6 of file wildmeshing_utils.cpp.
References data_dir, wmtk::Edge, wmtk::Tetrahedron, and wmtk::Triangle.