Link Search Menu Expand Document

Node Flag

PCGEx | Cluster : Node Flag

A single flag definition

The Node Flag uses a variety of filters to perform bitmask-based flag operations that can be set in three modes; Direct, Individual, or Composite, with various logical operations like AND, OR, NOT, and XOR.


Filters
Any number of filters. Supports both regular point filters as well as special cluster filters.
Flag
A single flag definition used along with a Flag Node node.
Pass Bitmask
(Advanced output) - Outputs the Pass State Flags as a re-usable bitmask.
Fail Bitmask
(Advanced output) - Outputs the Fail State Flags as a re-usable bitmask.

Table of content


The Node Flag, not to be confused with Flag Nodes, performs a single per-point bitmask-based operation on an incoming value; based on any number of input filters.

details/flag-nodes/flag-node-lead.png

Properties

Property Description
Settings  
Name If enabled, the direction of the probe will be adjusted by the current probing point’ transform.
If disabled, the direction is in world space.
Priority Fixed maximum connections for every point.
Pass State Flags If enabled, will apply the specified flags to the incoming bitmask when the filters are true.
See below for more infos on flag operation.
Fail State Flags If enabled, will apply the specified flags to the incoming bitmask when the filters return false.
See below for more infos on flag operation.

State Flags

Property Description
Settings  
Mode The mode lets you choose how to set the flags value, as a user.
- Direct is probably the most useful, as it can be set using an override pin.
- Individual lets you use an array where you can set individual bits by their position (index), and whether they’re true or false.
- Composite lets you set individual bits using dropdowns.

Mode : Direct

This is probably the most useful & straightforward mode, as it can be set using an override pin.

Bitmask Sets the raw bitmask value, as an int64.
Op Which operation to do on the selected bit using the value set below.
Can be either:=, AND, OR, NOT, or XOR.
See below for more infos.

Mode : Individual

Individual mode lets you cherry pick which operation you want to perform on specific bits, using an array.
Note that the order of the array itself is of no consequence; the Bit Index property is what matters.

Individual Operation  
Bit Index The index of the bit this operation will be applied to.
Keep the ranges between 0 and 63
Op Which operation to do on the selected bit using the value set below.
Can be either:=, AND, OR, NOT, or XOR.
See below for more infos.
Value If Individual is selected, this an array where each bit is an index/operation pair.

Mode : Composite

This lets you set the full width of the int64 using a single dropdown per byte.

Op Which operation to do on the incoming flags using the bitmask created from the dropdowns.
Can be either:=, AND, OR, NOT, or XOR.
See below for more infos.
0-64 Bits If Composite is selected, a whole bunch of dropdowns will show up.

Operation

Op  
= Set the bit value, with no regard for its current value.
AND TBD
OR TBD
NOT TBD
XOR TBD

Available Cluster Filters


🝖 Adjacency (Node)

Check if adjacent node meet specific conditions

🝖 Edge Direction (Node)

Check if adjacent node meet specific conditions

🝖 Neighbors Count (Node)

Check a node’ neighbors count

🝖 Edge Direction (Edge)

Check if the edge direction is within a given range.

🝖 Endpoints Compare (Numeric)

Compare the value of an attribute on each of the edge endpoint.

🝖 Endpoints Compare (String)

Compare the value of an attribute on each of the edge endpoint.

🝖 Neighbors Count (Edge)

Check a node’ neighbors count


Available Filters


🝖 AND / OR (Group)

Group multiple filters to set up complex AND/OR branches.

🝖 Adjacency (Node)

Check if adjacent node meet specific conditions

🝖 Compare Nearest (Numeric)

The Numeric Comparison Filter compares the arithmetic value of an attribute against the closest point from another dataset.

🝖 Compare (Numeric)

The Numeric Comparison Filter compares the arithmetic value of two attributes

🝖 Edge Direction (Node)

Check if adjacent node meet specific conditions

🝖 Compare (String)

Compares two string-like attributes against each other.

🝖 Neighbors Count (Node)

Check a node’ neighbors count

🝖 Bool

Performs a simple boolean comparison, converting numeric values to true (> 0) or false (<= 0).

🝖 Within Range

Checks if an attribute value falls within a specified range.

🝖 Dot Product

Compares the dot product of two direction vectors against a third value.

🝖 Modulo Comparison

Compares the modulo of two attributes against a third operand, with configurable comparisons and tolerance.

🝖 Edge Direction (Edge)

Check if the edge direction is within a given range.

🝖 Bounds

Checks if a point is inside or outside the provided bounds, with options for bounds types and an epsilon adjustment.

🝖 Endpoints Compare (Numeric)

Compare the value of an attribute on each of the edge endpoint.

🝖 Endpoints Compare (String)

Compare the value of an attribute on each of the edge endpoint.

🝖 Bitmask

Checks specific flags in an int64 bitmask attribute with configurable mask types, comparisons, and an option to invert results.

🝖 Neighbors Count (Edge)

Check a node’ neighbors count

🝖 Random

Random filter.

🝖 Mean Value

The Mean Value Filter compares per-point values of an attribute against the mean statistical value of that same attribute.

🝖 Self Compare (Numeric)

Compares the numeric value at one index against the same attribute at another index.

🝖 Self Compare (String)

Compares the string value at one index against the same attribute at another index.

🝖 Spline Inclusion

Checks against how a point is included in a spline.

🝖 Path Inclusion

Checks against how a point is included in a path.