runmat-meshing-core 0.6.0

Deterministic meshing preparation contracts for RunMat
Documentation
extern crate self as runmat_meshing_core;

pub mod contracts;
pub mod fixtures;
pub mod quality;
pub use quality::{predicate, spatial_index, tolerance};
pub mod validation;

pub use contracts::artifact::{
    analysis_mesh_field_topology, AnalysisBoundaryEdge, AnalysisBoundaryFace,
    AnalysisFieldTopologyDescriptor, AnalysisFieldTopologyLocation, AnalysisMeshArtifact,
    AnalysisMeshNode, AnalysisVolumeElement, MeshBackendSummary,
    ANALYSIS_MESH_BOUNDARY_EDGE_TOPOLOGY_ID, ANALYSIS_MESH_BOUNDARY_FACE_TOPOLOGY_ID,
    ANALYSIS_MESH_FIELD_TOPOLOGY_ID, TETRAHEDRON4_FIELD_ELEMENT_KIND, TRI3_FIELD_ELEMENT_KIND,
};
pub use contracts::backend::{select_volume_backend, MeshBackendKind, MeshBackendSelection};
pub use contracts::boundary::{BoundaryMeshInput, BoundaryMeshTriangle};
pub use contracts::options::{
    AdaptiveMeshingOptions, MeshElementOrder, MeshKindRequest, MeshProfile, MeshRefinementOptions,
    MeshTargetSize, MeshValidationPolicyOptions, RefinementConvergenceOptions,
    RefinementFocusLevel, RefinementFocusOptions, RefinementIndicatorMode,
    RefinementIndicatorOverrides, RefinementStrategy, VolumeMeshingOptions,
};
pub use contracts::provenance::{AnalysisMeshProvenance, MeshEntityProvenance, SourceEntityKind};
pub use contracts::topology::{BoundaryElementKind, VolumeElementKind};
pub use contracts::{
    validate_meshing_stage_order, CadEdgeContract, CadEvaluatorCapabilities, CadFaceContract,
    CadModel, CadShellContract, CadVertexContract, CadVolumeContract, CurveMesh, CurveMeshElement,
    CurveMeshNode, MeshingStage, MeshingStageArtifacts, MeshingStageContractError, PlcFacet,
    PlcNode, PlcProtectedEdge, PlcValidationSummary, ProtectedBoundaryComplex, SizingFieldContract,
    SolveReadinessReport, StageEvidence, StageEvidenceStatus,
    SurfaceCadCurveBoundaryEdgeProvenance, SurfaceCadCurveBoundaryProvenance,
    SurfaceCurveBoundaryValidation, SurfaceLoopCoverage, SurfaceMesh, SurfaceMeshNode,
    SurfaceMeshTriangle, Tetrahedron4Element, TetrahedronBoundaryFace, TetrahedronMesh,
    TetrahedronMeshNode, TopologyEntityId, MESHING_CONTRACT_SCHEMA_VERSION,
};
pub use predicate::{
    closest_point_on_triangle, distance, distance_squared, point_in_closed_triangle_surface,
    point_triangle_distance, ray_triangle_intersection, tetrahedron_centroid,
    tetrahedron_circumsphere, tetrahedron_circumsphere_contains_point,
    tetrahedron_edge_aspect_ratio, tetrahedron_signed_volume, tetrahedron_volume, triangle_area,
    triangle_centroid, Point3, PointInClosedSurface, RayTriangleHit, Tetrahedron3, Triangle3,
};
pub use quality::boundary::{
    evaluate_boundary_quality_candidate, BoundaryQualityCandidateConstraints,
    BoundaryQualityCandidateError, BoundaryQualityCandidateEvaluation,
    BoundaryQualityCandidateOptions, BoundaryQualityCandidateRejectionReason,
};
pub use quality::{AnalysisMeshQualityReport, ElementQuality, QualityThresholds};
pub use runmat_meshing_size::adaptive::{
    build_refinement_markers_from_samples, default_refinement_indicators_for_analysis,
    evaluate_adaptive_convergence, plan_refinement_indicators,
    structural_static_default_refinement_indicators, AdaptiveConvergenceMetrics,
    AdaptiveConvergenceStatus, AdaptiveIterationSummary, RefinementIndicatorAvailability,
    RefinementIndicatorKey, RefinementIndicatorSample, RefinementIndicatorStatus,
    RefinementIndicatorSummary, RefinementMarker, RefinementMarkerError, RefinementMarkerOptions,
    SizingFieldUpdate,
};
pub use runmat_meshing_size::field::{
    AnisotropicSizingSample, MeshSizingField, PointSizingQuery, SegmentSizingQuery,
    SizingFieldService, SizingQueryResult, SizingQuerySource, SizingSample,
    SizingSampleApplication, SizingSampleRejection,
};
pub use spatial_index::{Aabb3, LinearSpatialIndex, SpatialEntry, UniformGridSpatialIndex};
pub use tolerance::MeshingTolerance;
pub use validation::{
    analysis_mesh_validation_error_code, validate_analysis_mesh,
    validate_analysis_mesh_with_options, volume_component_count, AnalysisMeshValidationError,
    AnalysisMeshValidationOptions,
};