Skip to main content

Module quantities

Module quantities 

Source
Expand description

On-surface vector quantities (intrinsic vectors, Whitney one-forms). On-surface vector quantity utilities.

Converts intrinsic (tangent-plane) vector fields and edge one-forms into world-space GlyphItems ready for submission to SceneFrame::glyphs.

§Quick-start

use viewport_lib::quantities::{vertex_intrinsic_to_glyphs, edge_one_form_to_glyphs};

// Vertex intrinsic vectors : e.g. a tangential vortex field on a sphere.
let glyph = vertex_intrinsic_to_glyphs(
    &mesh.positions,
    &mesh.normals,
    mesh.tangents.as_deref(),
    &intrinsic_vecs,   // &[[f32; 2]] : (u, v) per vertex
    0.3,               // arrow scale
);
frame.scene.glyphs.push(glyph);

// Edge one-forms : Whitney reconstruction per triangle.
let glyph = edge_one_form_to_glyphs(
    &mesh.positions,
    &mesh.indices,
    &edge_values,      // &[f32] : 3 values per triangle (e01, e12, e20)
    0.3,
);
frame.scene.glyphs.push(glyph);

§Tangent frames

All functions accept an optional explicit tangent buffer ([tx, ty, tz, w] format, matching MeshData::tangents). When omitted, smooth per-vertex frames are derived from the normals via Gram-Schmidt orthogonalisation.

Re-exports§

pub use intrinsic_vectors::face_intrinsic_to_glyphs;
pub use intrinsic_vectors::vertex_intrinsic_to_glyphs;
pub use one_forms::edge_one_form_to_glyphs;
pub use polyline_vectors::polyline_edge_vectors_to_glyphs;
pub use polyline_vectors::polyline_node_vectors_to_glyphs;
pub use tangent_frames::compute_face_tangent_frames;
pub use tangent_frames::compute_vertex_tangent_frames;
pub use tangent_frames::tangents_from_explicit;
pub use volume_mesh_vectors::volume_mesh_cell_vectors_to_glyphs;
pub use volume_mesh_vectors::volume_mesh_vertex_vectors_to_glyphs;

Modules§

intrinsic_vectors
Convert tangent-plane (intrinsic) vector fields to world-space GlyphItems.
one_forms
Whitney one-form reconstruction and conversion to GlyphItems.
polyline_vectors
Curve-network vector quantity utilities.
tangent_frames
Tangent frame computation helpers.
volume_mesh_vectors
Helper functions to convert volume mesh vector quantities into GlyphItems.