Log inGet started
World

Builtin Library

Branchmain
Branchesmainpublish
Commite8beb5604c

README.md

core.realize (procNode)

Copy source geometries onto points: every point stands a copy of its source (one source for all, or the one its variant names), the copy placed by the point's position, orientation and scale.

Built from core.concat (the sources as one catalog), core.join (each source's counts and starts), scan of the per-point element counts, the expand kernel (one row per copied element), gather of the catalog's columns, math operators for the placement, and gather to renumber vertex.pt and primitive.vstart into the copies. Every attribute of an instance point, orient, scale and variant included, stands on each point of its copy.

Inputs

  • points (Points). The instance points.
  • sources (List<Geometry>). The geometries copied, in the order variant counts them.
  • variant (String). Default "". The point attribute that picks a source by number, 0 for the first; empty gives every point the first source.
  • orient (String). Default "orient". The point attribute holding each point's rotation as a quaternion; empty places without rotation.
  • scale (String). Default "scale". The point attribute holding each point's scale; empty places at full size.

Outputs

  • geometry: the copies as one geometry.

Example

local points = g.points.grid({ countX = 4, countZ = 1, spacing = 1 })
local placed = g.core.realize({ points = points, sources = { g.mesh.box({}) } })

A box stands on each of the four points: 96 points and 48 primitives.