#[cfg(not(feature = "f32"))]
pub type Float = f64;
#[cfg(feature = "f32")]
pub type Float = f32;
#[cfg(feature = "f32")]
pub use std::f32::consts::PI;
#[cfg(not(feature = "f32"))]
pub use std::f64::consts::PI;
pub mod block;
pub mod block_analysis;
pub mod block_face_functions;
pub mod connectivity;
pub mod cylindrical;
pub mod differencing;
pub mod dual_graph;
pub mod face_pool;
pub mod face_record;
pub mod flat_data;
pub(crate) mod geometry;
pub mod graph;
pub mod merge_blocks;
pub mod mesh_quality;
pub mod metrics;
pub mod point_match;
pub mod read;
pub mod rotational_periodicity;
pub mod split_block;
pub mod translational_periodicity;
pub mod utils;
pub mod verification;
pub mod write;
pub use block::{Block, FaceData};
pub use block_analysis::{
block_connection_matrix, build_connectivity_graph, calculate_outward_normals,
check_collinearity, find_bounding_faces, find_closest_block, get_outer_bounds,
standardize_block_orientation, BlockConnectionOptions,
};
pub use block_face_functions::{
create_face_from_diagonals, full_face_match, full_face_match_transformed, get_outer_faces,
reduce_blocks, rotate_block, Face,
};
pub use connectivity::{
align_face_orientations, connectivity, connectivity_fast, face_matches_to_dict,
get_face_intersection,
};
pub use cylindrical::{find_angular_bounding_faces, to_radius, to_theta};
pub use differencing::{find_edges, find_face_edges, BlockDiff, FaceDiff};
pub use face_record::{
FaceKey, FaceMatch, FaceMatchPrinter, FaceRecord, FaceRecordTraits, MatchPoint, Orientation,
OrientationPlane, PeriodicPair, PERMUTATION_MATRICES,
};
pub use graph::{build_weighted_graph_from_face_matches, write_ddcmp, BlockGraph, WeightAggregate};
pub use metrics::{compute_cell_centers, compute_cell_volumes, compute_face_metrics, FaceMetrics};
pub use mesh_quality::{
block_handedness, cell_aspect_ratio, cell_signed_volume, cell_skewness, make_right_handed,
run_all as run_mesh_quality, CellLocation, Handedness, MeshQualityReport, Severity,
Thresholds, Violation,
};
pub use merge_blocks::{
combine_2_blocks_mixed_pairing, combine_blocks_mixed_pairs, combine_nxnxn_cubes_mixed_pairs,
};
pub use point_match::point_match;
pub use read::{read_ap_nasa, read_plot3d_ascii, read_plot3d_binary, BinaryFormat, FloatPrecision};
pub use rotational_periodicity::{
create_rotation_matrix, rotate_block_with_matrix, rotated_periodicity, rotational_periodicity,
};
pub mod serialization;
pub use serialization::{
face_match_from_json, face_match_to_json, face_record_from_json, face_record_to_json,
permutation_matrices_json,
};
pub use split_block::{split_blocks, SplitDirection};
pub use translational_periodicity::translational_periodicity;
pub use utils::{apply_rotation, compute_min_gcd, Endian};
pub use verification::{
apply_permutation, determine_plane, extract_canonical_grid, try_all_permutations,
verify_connectivity, verify_match, verify_partial_match, verify_periodicity,
verify_translational_periodicity,
};
pub use write::write_plot3d;
pub use dual_graph::{build_cell_graph, cell_index, global_cell_id, CellGraph};
pub use flat_data::{build_flat_mesh, FlatMesh};