Houdini 21.0 Nodes APEX nodes

skel::FindFirstJoint

Finds the first point number in a geometry that matches a pattern.

On this page
Since 21.0

Finds the first point number in a geometry that matches a pattern. The pattern must follow the rules of the APEX path pattern syntax, which allow you to find points based on various criteria such as point names in combination with wildcards, and custom metadata like tags and properties.

If the geometry is a skeleton, the APEX path pattern syntax provides additional options for traversing the skeleton hierarchy to find specific joints. This includes options for finding the leaves and roots of the skeleton, and the parents and children of a set of joints. Joints can also be found using its path in the hierarchy.

Below is an example of a pattern for a skeleton. The pattern performs a traversal of the skeleton hierarchy starting with the joint my_ancestor, and matches any descendant joints that begin with my_joint:

my_ancestor/**/my_joint*

Below is an example of a pattern with tags. The pattern matches any point in the geometry (skeleton or otherwise) that has my_tag and my_other_tag in their tags point attribute.

%tag(my_tag) & %tag(my_other_tag)

If no nodes are found, an empty array is returned.

Inputs

skel: Geometry

The geometry that contains the point to find.

pattern: String

The pattern used to match the points.

Outputs

point: Int

The first point number in the geometry that matches the pattern. If the geometry is a skeleton, the points are matched in hierarchical order. Otherwise, they are matched in ascending order. Returns -1 if no matching joint is found.

success: Bool

Returns True if the search operation is successful.

See also

APEX nodes