curves: pushout curve points#

Sample points along curves in the input curvesBundle. When a range of these points falls within the bounding sphere / box of the prims within the collisionBundle, this node attempts to push those subsections of points outside the bounding volume in some reasonable way. This node outputs two bundles: a pointsBundle that contains one prim per polyline containing the displaced points of that polyline, and a curvesBundle that contains curve prims fit to those displaced points.

Installation#

To use this Node, you must enable omni.genproc.core in the Extension Manager.

Inputs#

Name

Type

Description

Default

Transform Bundle (curvesBundle)

bundle

Bundle containing curves data

Samples per Segment (samplesPerSegment)

int

Number of points in each curve segment’s tessellation

20

Transform Bundle (collisionBundle)

bundle

Input meshes. The bounding spheres / boxes of each of these meshes will be used as the pushout volumes.

Collision Proxy (collisionProxy)

int

0 = Sphere, 1 = Axis-Oriented Box

0

Push Out Horizontally (pushoutHorizontally)

bool

If true, pushout will not modify any particle’s vertical position (as defined by the specified up vector)

False

Up Axis Source (upAxisSource)

int

0 = Use Scene Up, 1 = Use Node UpAxis

0

Up Axis (upAxis)

float[3]

Up axis to be used when ‘Node UpAxis’ is specified as the up axis source.

[0, 1, 0]

Number of Segments (numberOfSegments)

int

Number of segments per curve for each output curve. If this value is not positive, the number of segments in the corresponding input curve will be used.

0

Outputs#

Name

Type

Description

Default

Points Bundle (pointsBundle)

bundle

Bundle containing displaced points data sampled from curves

Transform Bundle (curvesBundle)

bundle

Bundle containing curves fit to displaced points