Houdini
September 6, 2024

Bounding Line или типа того

Кроме стандартных Bounding Box или Rectangle в Houdini — иногда нужна просто линия,соответствующая размерам объекта по той или иной оси. Как получить такую линию с помощью VEX? А вот так (пример для оси Y):

vector min_bound, max_bound;

getbbox(0, min_bound, max_bound);

float vertical_size = max_bound.y - min_bound.y;
vector center = 0.5 * (min_bound + max_bound);

int pt0 = addpoint(geoself(), set(center.x, min_bound.y, center.z));
int pt1 = addpoint(geoself(), set(center.x, max_bound.y, center.z));

removepoint(0, @ptnum); // удаляем примитив, ведь нам нужна только линия
addprim(geoself(), "polyline", pt0, pt1);