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.