pub fn grab(
tx: &mut Transaction<'_>,
options: &GrabOptions,
) -> Result<GrabReport>Expand description
Drags the vertices under the brush along one vector.
- Region: every live vertex closer than
radiustocenter(brute-force distance check), each displaced bystrength * falloff * direction, wherefalloffis theFalloffweight of its normalized distance. Unlikeinflate, the direction is the caller’s, not the normals’. - The move is written once, in a single
set_positionscall over the vertices whose displacement is above 0; an empty region, or a zerodirection, writes nothing. History is untouched.
§Errors
OpsError::InvalidInputwhen the radius is not positive, or any brush number (center, radius, strength) or the direction is not finite.OpsError::Storewhen memory runs out.
Nothing is written in any of these cases.