Skip to main content

display_payloads_handles_native

Function display_payloads_handles_native 

Source
pub fn display_payloads_handles_native(
    handles: &[u32],
    lod_factor: f64,
) -> Vec<Result<DisplaySolidPayload, String>>
Expand description

display_payload_handle_native for many resident solids at once, in handles order.

Instances are meshed once. Solids that are rigid copies of one another (an imported assembly places each part many times: 857 instances of 174 parts) share one tessellation: the copy with the finest display chord is meshed, and each other copy gets that mesh and its edge polylines carried by the rigid map between them, with its OWN face/edge ids and names and its own vertices, so picking, selection and per-instance colour see the solid they always saw. A copy is only drawn this way when everything but point positions is identical (ids, senses, knots, weights, pcurves) and one rigid map carries every vertex and control point of the meshed copy onto its own (congruent_pose); anything else, and every solid with no copy, gets the single call’s payload exactly.

Under the parallel feature the meshed solids are copied out of this thread’s registry (it is thread-local) a chunk at a time and meshed across rayon’s pool. Display meshing opens no thread-local mode (the soundness scan’s mode is closed on every worker), so a payload does not depend on the thread that computed it.