Simstim

VEX Dictionary / xyzdist

xyzdist

Finds the closest spot on another geometry's surface: its distance, primitive and parametric uv.

group: measuremeasureproximity

Available in every context

Usage

float xyzdist(<geometry>, vector origin)
float xyzdist(<geometry>, vector origin, int &prim, vector &uv)
float xyzdist(<geometry>, vector origin, int &prim, vector &uv, float maxdist)
float xyzdist(<geometry>, string primgroup, vector origin)
float xyzdist(<geometry>, string primgroup, vector origin, int &prim, vector &uv)
float xyzdist(<geometry>, string primgroup, vector origin, int &prim, vector &uv, float maxdist)

Examples

Snap points onto a surface sop
// Input 1: the target surface
int prim;
vector uv;
float dist = xyzdist(1, @P, prim, uv);
@P = primuv(1, "P", prim, uv);
f@dist = dist;

xyzdist finds the closest primitive and its parametric uv. primuv then samples any attribute at that exact spot. Here it samples P, which snaps the point onto the surface.

Use cases

Signatures (from vcc -X)

Related

Full SideFX documentation ↗