Attribute Run
nodes.geometry.AttributeRun(name= '' , group_id= 0 )
Group mask increments whenever the attribute or the Group ID changes
GUI reference: Attribute Run .
Parameters
name
InputString
The Named Attribute to read from the geometry before applying the Integer Run node
''
group_id
InputInteger
The Group ID to use for the Integer Run node
0
Outputs
o.is_different
BooleanSocket
The current point’s Named Attribute value is different from the previous
o.group_id
IntegerSocket
The new Group ID, increasing whenever the attribute or the Group ID values change
Boolean Any
nodes.geometry.BooleanAny(boolean= False , group_id= 0 )
GUI reference: Boolean Any .
Parameters
boolean
InputBoolean
Boolean
False
group_id
InputInteger
Group ID
0
Outputs
o.boolean
BooleanSocket
Boolean
Boolean First
nodes.geometry.BooleanFirst(boolean= False , group_id= 0 )
Only the first True in each Group ID remains True, all others become False
GUI reference: Boolean First .
Parameters
boolean
InputBoolean
The Boolean field to test
False
group_id
InputInteger
Each Group ID to find the first True element for
0
Outputs
o.is_first
BooleanSocket
True for the first true element in each Group ID
Boolean Last
nodes.geometry.BooleanLast(boolean= True )
Index of last time the Boolean is true for each Group ID (not including the current point).
GUI reference: Boolean Last .
Parameters
boolean
InputBoolean
Value to test for True when tracking Index locations
True
Outputs
o.index_of_last
IntegerSocket
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
Boolean Run Fill
nodes.geometry.BooleanRunFill(boolean= True , fill_size= 3 )
Moving down the points, fill in False values that are equal to or less than the Fill Size
GUI reference: Boolean Run Fill .
Parameters
boolean
InputBoolean
The Boolean field to potentially fill gaps of False with
True
fill_size
InputInteger
A run of False values equal to or less than this size will become True
3
Outputs
o.boolean
BooleanSocket
The Boolean array with gaps potentially filled
Boolean Run Trim
nodes.geometry.BooleanRunTrim(boolean= True , start= 0 , end= 0 , size= 10 )
GUI reference: Boolean Run Trim .
Parameters
boolean
InputBoolean
The Boolean field to check for continuous runs of True values
True
start
InputInteger
The first n values of a run of True values are made to be False
0
end
InputInteger
Ther last n values of a run of True values become False
0
size
InputInteger
A run of True values becomes False if shorter than this minimum length
10
Outputs
o.boolean
BooleanSocket
The Boolean field that has been trimmed
Fallback Color
nodes.geometry.FallbackColor(name= 'Color' , fallback= None )
GUI reference: Fallback Color .
Parameters
name
InputString
Name of the attribute to attempt to read from the geometry
'Color'
fallback
InputColor
Value to use instead if the named attribute doesn’t exist on the geometry
None
Outputs
o.color
ColorSocket
The named attribute read from the geometry if it exists, or the fallback value if it doesn’t
Field Remap
nodes.geometry.FieldRemap(field= 0.0 , value_min= 0.0 , value_max= 1.0 , group_id= 0 )
Maps the range of values of the attribute on from the target atoms, to the range from min to max
GUI reference: Field Remap .
Parameters
field
InputFloat
The field to summarise and remap
0.0
value_min
InputFloat
The new minimum value of the field
0.0
value_max
InputFloat
The new maximum value of the field
1.0
group_id
InputInteger
An index used to group values together for multiple separate operations
0
Outputs
o.value
FloatSocket
The remapped values between the new min and max
Geometry Field Remap
nodes.geometry.GeometryFieldRemap(
geometry= None ,
field= 0.0 ,
value_min= 0.0 ,
value_max= 1.0 ,
)
Maps the range of values of the attribute on from the target atoms, to the range from min to max
GUI reference: Geometry Field Remap .
Parameters
geometry
InputGeometry
Geometry to get the statistics from
None
field
InputFloat
The field to summarise and remap
0.0
value_min
InputFloat
The new minimum value of the field
0.0
value_max
InputFloat
The new maximum value of the field
1.0
Outputs
o.value
FloatSocket
The remapped values between the new min and max
Group Info
nodes.geometry.GroupInfo(group_id= 0 )
GUI reference: Group Info .
Parameters
group_id
InputInteger
Group ID
0
Outputs
o.size
IntegerSocket
Size
o.index_in_group
IntegerSocket
Index in Group
o.index_of_first
IntegerSocket
Index of First
o.index_of_last
IntegerSocket
Index of Last
Group Parameter
nodes.geometry.GroupParameter(group_id= 0 )
GUI reference: Group Parameter .
Parameters
group_id
InputInteger
The identifier specifying groupings of the points
0
Outputs
o.is_first
BooleanSocket
If the point is the first point in the Group ID
o.is_last
BooleanSocket
If the point is the last item in the Group ID
o.group_size
IntegerSocket
Group Size
o.relative_index
IntegerSocket
The relative index of the point within the Group ID. Starts at 0 for the first point counting up to Group Size - 1
Group Pick
nodes.geometry.GroupPick(pick= False , group_id= 0 )
Get the item of the True in each Group ID, but only if there is a single True in each group
GUI reference: Group Pick .
Parameters
pick
InputBoolean
Selection for the point to pick for the Group ID. Will only be valid for a single Pick for each Group ID
False
group_id
InputInteger
Field definining the Group ID to pick from for the points
0
Outputs
o.is_valid
BooleanSocket
Valid for the point only if there is 1 single True for the Pick field in the point’s group in the Group ID
o.index
IntegerSocket
Index of picked item. Returns -1 if not a valid pick
Group Pick First
nodes.geometry.GroupPickFirst(pick= False , group_id= 0 )
Get the Index of the first True item for each Group ID
GUI reference: Group Pick First .
Parameters
pick
InputBoolean
Index of the first True item in this field will be returned
False
group_id
InputInteger
The first True item for each Group ID will be returned
0
Outputs
o.is_valid
BooleanSocket
Valid if as least 1 True for the Group ID
o.index
IntegerSocket
Index of first picked item, returns -1 if nothing picked
Group Pick Index
nodes.geometry.GroupPickIndex(relative_index= 0 , group_id= 0 )
GUI reference: Group Pick Index .
Parameters
relative_index
InputInteger
Relative Index
0
group_id
InputInteger
Group ID
0
Outputs
o.is_valid
BooleanSocket
If the requested Index in Group is valid for this Group ID
o.index
IntegerSocket
The Index of the requested point, within the overall geometry
Group Pick Vector
nodes.geometry.GroupPickVector(pick= False , group_id= 0 , position= None )
GUI reference: Group Pick Vector .
Parameters
pick
InputBoolean
Selection for the point to pick for the Group ID. Will only be valid for a single Pick for each Group ID
False
group_id
InputInteger
Field definining the Group ID to pick from for the points
0
position
InputVector
Vector field to pick vlaue for, defaults to Position
None
Outputs
o.is_valid
BooleanSocket
Whether the pick for the point’s Group ID is valid
o.index
IntegerSocket
Picked Index for the Group, -1 if not valid
o.vector
VectorSocket
Picked vector for the group, (0, 0, 0) if not valid
Index Mix Color
nodes.geometry.IndexMixColor(color= None , index= 0.0 )
GUI reference: Index Mix Color .
Parameters
color
InputColor
The field to interpolate based on the input Index
None
index
InputFloat
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
0.0
Outputs
o.color
ColorSocket
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
o.from_
IntegerSocket
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
o.to
IntegerSocket
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
Integer Run
nodes.geometry.IntegerRun(value= 0 , group_id= 0 )
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
GUI reference: Integer Run .
Parameters
value
InputInteger
The field to check for changes in value
0
group_id
InputInteger
Does not restart counting for each Group ID, but does increment by 1 when the Group ID changes
0
Outputs
o.is_different
BooleanSocket
The current value is different from the previous
o.group_id
IntegerSocket
The new Group ID, which increases by 1 whenever the Value or Group ID values change
Normalize Field
nodes.geometry.NormalizeField(field= 0.0 , group_id= 0 )
GUI reference: Normalize Field .
Parameters
field
InputFloat
Field
0.0
group_id
InputInteger
An index used to group values together for multiple separate operations
0
Outputs
o.result
FloatSocket
Result
Offset Boolean
nodes.geometry.OffsetBoolean(boolean= False , index= 0 , offset= 0 )
GUI reference: Offset Boolean .
Parameters
boolean
InputBoolean
The field to evaluate at the given Index + Offset on the point domain
False
index
InputInteger
The Index at which to evaluate this offset from
0
offset
InputInteger
The offset to apply to the Index before evaluating the input field
0
Outputs
o.boolean
BooleanSocket
The field evaluated at the offset Index value
Offset Color
nodes.geometry.OffsetColor(color= None , index= 0 , offset= 0 )
GUI reference: Offset Color .
Parameters
color
InputColor
Color
None
index
InputInteger
The Index at which to evaluate this offset from
0
offset
InputInteger
The offset to apply to the Index before evaluating the input field
0
Outputs
o.color
ColorSocket
The field evaluated at the offset Index value
Offset Color Attribute
nodes.geometry.OffsetColorAttribute(index= 0 , offset= 0 )
GUI reference: Offset Color Attribute .
Parameters
index
InputInteger
The Index at which to evaluate this offset from
0
offset
InputInteger
The offset to apply to the Index before evaluating the input field
0
Outputs
o.color
ColorSocket
The field evaluated at the offset Index value
Offset Float
nodes.geometry.OffsetFloat(value= 0.0 , index= 0 , offset= 0 )
GUI reference: Offset Float .
Parameters
value
InputFloat
The field to evaluate at the given Index + Offset on the point domain
0.0
index
InputInteger
The Index at which to evaluate this offset from
0
offset
InputInteger
The offset to apply to the Index before evaluating the input field
0
Outputs
o.value
FloatSocket
The field evaluated at the offset Index value
Offset Index
nodes.geometry.OffsetIndex(index= 0 , offset= 0 )
GUI reference: Offset Index .
Parameters
index
InputInteger
The Index at which to evaluate this offset from
0
offset
InputInteger
The Offset to apply to the Index of the point
0
Outputs
o.index
IntegerSocket
The Index + Offset
Offset Integer
nodes.geometry.OffsetInteger(integer= 0 , index= 0 , offset= 0 )
GUI reference: Offset Integer .
Parameters
integer
InputInteger
The field to evaluate at the given Index + Offset on the point domain
0
index
InputInteger
The Index at which to evaluate this offset from
0
offset
InputInteger
The offset to apply to the Index before evaluating the input field
0
Outputs
o.integer
IntegerSocket
The field evaluated at the offset Index value
Offset Matrix
nodes.geometry.OffsetMatrix(matrix= None , index= 0 , offset= 0 )
GUI reference: Offset Matrix .
Parameters
matrix
InputMatrix
The field to evaluate at the given Index + Offset on the point domain
None
index
InputInteger
The Index at which to evaluate this offset from
0
offset
InputInteger
The offset to apply to the Index before evaluating the input field
0
Outputs
o.matrix
MatrixSocket
The field evaluated at the offset Index value
Offset Rotation
nodes.geometry.OffsetRotation(rotation= None , index= 0 , offset= 0 )
GUI reference: Offset Rotation .
Parameters
rotation
InputRotation
The field to evaluate at the given Index + Offset on the point domain
None
index
InputInteger
The Index at which to evaluate this offset from
0
offset
InputInteger
The offset to apply to the Index before evaluating the input field
0
Outputs
o.rotation
RotationSocket
The field evaluated at the offset Index value
Offset Vector
nodes.geometry.OffsetVector(vector= None , index= 0 , offset= 0 )
GUI reference: Offset Vector .
Parameters
vector
InputVector
The field to evaluate at the given Index + Offset on the point domain
None
index
InputInteger
The Index at which to evaluate this offset from
0
offset
InputInteger
The offset to apply to the Index before evaluating the input field
0
Outputs
o.value
VectorSocket
The field evaluated at the offset Index value
Relative Index
nodes.geometry.RelativeIndex(group_id= 0 )
Get information about the points in a Group ID such as size and the start and end Indices
GUI reference: Relative Index .
Parameters
group_id
InputInteger
Define the groups to get information about
0
Outputs
o.group_size
IntegerSocket
The number of points in each Group ID
o.relative_index
IntegerSocket
The relative index of each point within each Group ID, starting from 0
o.first_index
IntegerSocket
The Index of the first point in each Group ID
o.last_index
IntegerSocket
The Index of the last point in each Group ID
Sample Mixed Color
nodes.geometry.SampleMixedColor(geometry= None , color= None , index= 0.0 )
GUI reference: Sample Mixed Color .
Parameters
geometry
InputGeometry
The geometry to sample the values from
None
color
InputColor
The field to mix and evaluate on the sample geometry
None
index
InputFloat
The index to sample the value from. The fractional component of the index is used to mix between values using Index Mix ... nodes
0.0
Outputs
o.color
ColorSocket
The evaluated and mixed field, sampled from the sample geometry at the given Index
Starfile Instances
nodes.geometry.StarfileInstances(
points= None ,
point_selection= 'Image' ,
selection= True ,
image= 0 ,
menu= 'Instance' ,
instance= None ,
material= None ,
)
GUI reference: Starfile Instances .
Parameters
points
InputGeometry
Points
None
point_selection
| Literal ['Image', 'Selection']
Select points to be instanced base don their image_id or a boolean selection field.
'Image'
selection
InputBoolean
Becomes the output value if it is chosen by the menu input
True
image
InputInteger
The ID of the image that should be shown
0
menu
| Literal ['Instance', 'Simple']
Menu
'Instance'
instance
InputObject
The object that should be placed at each instance
None
material
InputMaterial
Material to apply to the resulting geometry
None
Outputs
o.instances
GeometrySocket
Instances
Sub Group Info
nodes.geometry.SubGroupInfo(sub_group_id= 0 , group_id= 0 )
GUI reference: Sub Group Info .
Parameters
sub_group_id
InputInteger
Sub Group ID
0
group_id
InputInteger
Group ID
0
Outputs
o.size
IntegerSocket
Size of each comptued Group ID
o.group_id
IntegerSocket
A unique Group ID that increases whenever Sub Group ID or Group ID change
o.index_of_first
IntegerSocket
The absolute Index of the first point in each computed Group ID
o.index_of_last
IntegerSocket
The absolute Index of the last point in each computed Group ID
o.index_in_group_id
IntegerSocket
Index within each computed Group ID, starting at 0
o.sub_group_id
IntegerSocket
Sub Group ID
o.sub_group_total
IntegerSocket
Sub Group Total