Utilities / Fields

Attribute Run

Group mask increments whenever the attribute or the Group ID changes

Fill in gaps in a set of continuous boolean True values, up to a specific size

Inputs

Name Type Description
Name String The Named Attribute to read from the geometry before applying the Integer Run node
Group ID Int The Group ID to use for the Integer Run node

Outputs

Name Type Description
Is Different Bool The current point’s Named Attribute value is different from the previous
Group ID Int The new Group ID, increasing whenever the attribute or the Group ID values change

API Reference: nodes.geometry.AttributeRun

Boolean Any

True for a whole Group ID if any value is True

Inputs

Name Type Description
Boolean Bool
Group ID Int

Outputs

Name Type Description
Boolean Bool

API Reference: nodes.geometry.BooleanAny

Boolean First

Only the first True in each Group ID remains True, all others become False

For each Group ID, every value becomes False except the first True value

Inputs

Name Type Description
Boolean Bool The Boolean field to test
Group ID Int Each Group ID to find the first True element for

Outputs

Name Type Description
Is First Bool True for the first true element in each Group ID

API Reference: nodes.geometry.BooleanFirst

Boolean Last

Index of last time the Boolean is true for each Group ID (not including the current point).

Accumulating on the Point domain for each Group ID, returns the Index where the Boolean was last previously True, excluding the currently evaluating point

Inputs

Name Type Description
Boolean Bool Value to test for True when tracking Index locations

Outputs

Name Type Description
Index of Last Int Accumulating in the point domain, this is the index where the Boolean was last True. For a point where the Boolean is True, the index will be of the previous time this was true, but the next point will then reference this point

API Reference: nodes.geometry.BooleanLast

Boolean Run Fill

Moving down the points, fill in False values that are equal to or less than the Fill Size

Fill in gaps in a set of continuous boolean True values, up to a specific size

Inputs

Name Type Description
Boolean Bool The Boolean field to potentially fill gaps of False with
Fill Size Int A run of False values equal to or less than this size will become True

Outputs

Name Type Description
Boolean Bool The Boolean array with gaps potentially filled

API Reference: nodes.geometry.BooleanRunFill

Boolean Run Trim

Mask a run of boolean values. Potentially trim the start or ending values and specifying a minimum length under which they are considered false

Inputs

Name Type Description
Boolean Bool The Boolean field to check for continuous runs of True values
Start Int The first n values of a run of True values are made to be False
End Int Ther last n values of a run of True values become False
Size Int A run of True values becomes False if shorter than this minimum length

Outputs

Name Type Description
Boolean Bool The Boolean field that has been trimmed

API Reference: nodes.geometry.BooleanRunTrim

Fallback Color

Use the Color attribute specified by name. If the attribute doesn’t exist, use the Fallback value instead

Inputs

Name Type Description
Name String Name of the attribute to attempt to read from the geometry
Fallback Color Value to use instead if the named attribute doesn’t exist on the geometry

Outputs

Name Type Description
Color Color The named attribute read from the geometry if it exists, or the fallback value if it doesn’t

API Reference: nodes.geometry.FallbackColor

Field Remap

Maps the range of values of the attribute on from the target atoms, to the range from min to max

Sample a field from the mesh and remap from the minimum to the maximum to the specified values

Inputs

Name Type Description
Field Float The field to summarise and remap
Value Min Float The new minimum value of the field
Value Max Float The new maximum value of the field
Group ID Int An index used to group values together for multiple separate operations

Outputs

Name Type Description
Value Float The remapped values between the new min and max

API Reference: nodes.geometry.FieldRemap

Geometry Field Remap

Maps the range of values of the attribute on from the target atoms, to the range from min to max

Inputs

Name Type Description
Geometry Geometry Geometry to get the statistics from
Field Float The field to summarise and remap
Value Min Float The new minimum value of the field
Value Max Float The new maximum value of the field

Outputs

Name Type Description
Value Float The remapped values between the new min and max

API Reference: nodes.geometry.GeometryFieldRemap

Group Info

Indices of points within each Group ID

Inputs

Name Type Description
Group ID Int

Outputs

Name Type Description
Size Int
Index in Group Int
Index of First Int
Index of Last Int

API Reference: nodes.geometry.GroupInfo

Group Parameter

Inputs

Name Type Description
Group ID Int The identifier specifying groupings of the points

Outputs

Name Type Description
Is First Bool If the point is the first point in the Group ID
Is Last Bool If the point is the last item in the Group ID
Group Size Int
Relative Index Int The relative index of the point within the Group ID. Starts at 0 for the first point counting up to Group Size - 1

API Reference: nodes.geometry.GroupParameter

Group Pick

Get the item of the True in each Group ID, but only if there is a single True in each group

For each group, return the index of the point for which the Selection is true. Only valid if there is a single true in the group. If not lvalid, returns -1

Inputs

Name Type Description
Pick Bool Selection for the point to pick for the Group ID. Will only be valid for a single Pick for each Group ID
Group ID Int Field definining the Group ID to pick from for the points

Outputs

Name Type Description
Is Valid Bool Valid for the point only if there is 1 single True for the Pick field in the point’s group in the Group ID
Index Int Index of picked item. Returns -1 if not a valid pick

API Reference: nodes.geometry.GroupPick

Group Pick First

Get the Index of the first True item for each Group ID

Similar to Group Pick, but will always return Index of first true element, even if there are multiple true values. If nothing is true then will return -1

Inputs

Name Type Description
Pick Bool Index of the first True item in this field will be returned
Group ID Int The first True item for each Group ID will be returned

Outputs

Name Type Description
Is Valid Bool Valid if as least 1 True for the Group ID
Index Int Index of first picked item, returns -1 if nothing picked

API Reference: nodes.geometry.GroupPickFirst

Group Pick Index

Inputs

Name Type Description
Relative Index Int
Group ID Int

Outputs

Name Type Description
Is Valid Bool If the requested Index in Group is valid for this Group ID
Index Int The Index of the requested point, within the overall geometry

API Reference: nodes.geometry.GroupPickIndex

Group Pick Vector

For each group, return the Position of the point at which the selection is true. If there is more than one true for the group the pick is not valid and (0, 0, 0) is returned

Inputs

Name Type Description
Pick Bool Selection for the point to pick for the Group ID. Will only be valid for a single Pick for each Group ID
Group ID Int Field definining the Group ID to pick from for the points
Position Vector Vector field to pick vlaue for, defaults to Position

Outputs

Name Type Description
Is Valid Bool Whether the pick for the point’s Group ID is valid
Index Int Picked Index for the Group, -1 if not valid
Vector Vector Picked vector for the group, (0, 0, 0) if not valid

API Reference: nodes.geometry.GroupPickVector

Index Mix Color

Sample and interpolate the Color value between the floor and ceiling of the given Index, by the fractional amount

Inputs

Name Type Description
Color Color The field to interpolate based on the input Index
Index Float The floor and ceiling of this Index value is taken and used for sampling, the fraction of this value is then used to mix between the sampled values

Outputs

Name Type Description
Color Color The mixed value of the field, first evaluating the field at the From and To Indices then mixing between them based on the fraction of the input Index
From Int The mixed value of the field, first evaluating the field at the From and To Indices then mixing between them based on the fraction of the input Index
To Int The mixed value of the field, first evaluating the field at the From and To Indices then mixing between them based on the fraction of the input Index

API Reference: nodes.geometry.IndexMixColor

Integer Run

A unique value for each grouping of a value. Accumulating along the field, the output Group Mask increments by 1 whenever the value or Group ID changes

Group mask output increments whenever the input value or the Group ID changes

Inputs

Name Type Description
Value Int The field to check for changes in value
Group ID Int Does not restart counting for each Group ID, but does increment by 1 when the Group ID changes

Outputs

Name Type Description
Is Different Bool The current value is different from the previous
Group ID Int The new Group ID, which increases by 1 whenever the Value or Group ID values change

API Reference: nodes.geometry.IntegerRun

Normalize Field

Inputs

Name Type Description
Field Float
Group ID Int An index used to group values together for multiple separate operations

Outputs

Name Type Description
Result Float

API Reference: nodes.geometry.NormalizeField

Offset Boolean

Evaluate a Boolean at an index that is offset by the specified amount

Inputs

Name Type Description
Boolean Bool The field to evaluate at the given Index + Offset on the point domain
Index Int The Index at which to evaluate this offset from
Offset Int The offset to apply to the Index before evaluating the input field

Outputs

Name Type Description
Boolean Bool The field evaluated at the offset Index value

API Reference: nodes.geometry.OffsetBoolean

Offset Color

Read the Color attribute at an index that is offset by the specified amount

Inputs

Name Type Description
Color Color
Index Int The Index at which to evaluate this offset from
Offset Int The offset to apply to the Index before evaluating the input field

Outputs

Name Type Description
Color Color The field evaluated at the offset Index value

API Reference: nodes.geometry.OffsetColor

Offset Color Attribute

Inputs

Name Type Description
Index Int The Index at which to evaluate this offset from
Offset Int The offset to apply to the Index before evaluating the input field

Outputs

Name Type Description
Color Color The field evaluated at the offset Index value

API Reference: nodes.geometry.OffsetColorAttribute

Offset Float

Evaluate a Float value at an index that is offset by the specified amount

Inputs

Name Type Description
Value Float The field to evaluate at the given Index + Offset on the point domain
Index Int The Index at which to evaluate this offset from
Offset Int The offset to apply to the Index before evaluating the input field

Outputs

Name Type Description
Value Float The field evaluated at the offset Index value

API Reference: nodes.geometry.OffsetFloat

Offset Index

Add an integer offset to the point’s Index

Inputs

Name Type Description
Index Int The Index at which to evaluate this offset from
Offset Int The Offset to apply to the Index of the point

Outputs

Name Type Description
Index Int The Index + Offset

API Reference: nodes.geometry.OffsetIndex

Offset Integer

Evaluate an Integer at an index that is offset by the specified amount

Inputs

Name Type Description
Integer Int The field to evaluate at the given Index + Offset on the point domain
Index Int The Index at which to evaluate this offset from
Offset Int The offset to apply to the Index before evaluating the input field

Outputs

Name Type Description
Integer Int The field evaluated at the offset Index value

API Reference: nodes.geometry.OffsetInteger

Offset Matrix

Evaluate a 4X4 Matrix at an index that is offset by the specified amount

Inputs

Name Type Description
Matrix Matrix The field to evaluate at the given Index + Offset on the point domain
Index Int The Index at which to evaluate this offset from
Offset Int The offset to apply to the Index before evaluating the input field

Outputs

Name Type Description
Matrix Matrix The field evaluated at the offset Index value

API Reference: nodes.geometry.OffsetMatrix

Offset Rotation

Evaluate a Rotation at an index that is offset by the specified amount

Inputs

Name Type Description
Rotation Rotation The field to evaluate at the given Index + Offset on the point domain
Index Int The Index at which to evaluate this offset from
Offset Int The offset to apply to the Index before evaluating the input field

Outputs

Name Type Description
Rotation Rotation The field evaluated at the offset Index value

API Reference: nodes.geometry.OffsetRotation

Offset Vector

Evaluate a Vector at an index that is offset by the specified amount

Inputs

Name Type Description
Vector Vector The field to evaluate at the given Index + Offset on the point domain
Index Int The Index at which to evaluate this offset from
Offset Int The offset to apply to the Index before evaluating the input field

Outputs

Name Type Description
Value Vector The field evaluated at the offset Index value

API Reference: nodes.geometry.OffsetVector

Relative Index

Get information about the points in a Group ID such as size and the start and end Indices

Based on the Group ID input, return the size of the group and the indices of the first and last items of the group

Inputs

Name Type Description
Group ID Int Define the groups to get information about

Outputs

Name Type Description
Group Size Int The number of points in each Group ID
Relative Index Int The relative index of each point within each Group ID, starting from 0
First Index Int The Index of the first point in each Group ID
Last Index Int The Index of the last point in each Group ID

API Reference: nodes.geometry.RelativeIndex

Sample Mixed Color

Sample the Color attribute, mixed between the floor and ceiling of the given Index

Inputs

Name Type Description
Geometry Geometry The geometry to sample the values from
Color Color The field to mix and evaluate on the sample geometry
Index Float The index to sample the value from. The fractional component of the index is used to mix between values using Index Mix ... nodes

Outputs

Name Type Description
Color Color The evaluated and mixed field, sampled from the sample geometry at the given Index

API Reference: nodes.geometry.SampleMixedColor

Starfile Instances

Instance an object onto the given starfile points

Inputs

Name Type Description
Points Geometry
Point Selection Menu Select points to be instanced base don their image_id or a boolean selection field.
Selection Bool Becomes the output value if it is chosen by the menu input
Image Int The ID of the image that should be shown
Menu Menu
Instance Object The object that should be placed at each instance
Material Material Material to apply to the resulting geometry

Outputs

Name Type Description
Instances Geometry

API Reference: nodes.geometry.StarfileInstances

Sub Group Info

Indices of points within each Sub Group ID, within each Group ID

Inputs

Name Type Description
Sub Group ID Int
Group ID Int

Outputs

Name Type Description
Size Int Size of each comptued Group ID
Group ID Int A unique Group ID that increases whenever Sub Group ID or Group ID change
Index of First Int The absolute Index of the first point in each computed Group ID
Index of Last Int The absolute Index of the last point in each computed Group ID
Index in Group ID Int Index within each computed Group ID, starting at 0
Sub Group ID Int
Sub Group Total Int

API Reference: nodes.geometry.SubGroupInfo