Link Search Menu Expand Document

Break to Paths

PCGEx | Cluster : Break to Paths

Breaks clusters edge chains into individual paths

The Break Clusters to Paths node converts edge chains into individual paths, offering a quick way to extract paths or splines from a refined topology without requiring complex pathfinding, but is less suited for dense clusters with highly connected vertices.


Vtx
Endpoints of the input Edges
Edges
Edges associated with the input Vtxs
Break Conditions
Filters used to know which points are 'break' points.
Packed Clusters
Individually packed vtx/edges pairs

Table of content


The Break Cluster to Path turns all Edges chains to individual paths. It’s useful to quickly get a bunch of paths or splines out of a refined topology without the need for pathfinding.

details/clusters-break-to-paths/lead.png

It is not recommended to use this node on very dense clusters (where a lot of Vtx have more than two connections), as it quickly ends up creating a single point data per individual edge.


Properties


Property Description
Operate On Lets you choose how to break cluster down.
- Paths : Operate on edge chains which form paths with no crossings. e.g, nodes with only two neighbors.
- Edges : Operate on each edge individually (very expensive)

Direction

Property Description
Direction Method Defines which endpoints “order” will be used to define the direction reference for the ouputs.
Direction Choice Further refines the direction method, based on the above selection.
-Smallest to Greatest will order direction reference metrics in ascending order.
-Greatest to Smallest will order direction reference metrics in descending order.
Really it’s how the endpoint reference value is sorted, but I couldn’t call that Direction’ direction.
Dir Source Attribute The attribute that will be used by the selected method.

If the selected method is Endpoints Attribute, the attribute is will be read from Vtx as a double. If the selected method is Edge Dot Attribute, the attribute will be read from Edges as an FVector direction.

Method

The Direction method, combined with the Direction Choice determine which endpoint should be considered the Start & End of the edge. The “direction” of the edge used for computing outputs & properties is the safe normal going from the start to the end of the edge.

Mode Description
Endpoints order Will use the endpoints’ as ordered during cluster construction.
Endpoints indices Will use the endpoints’ point index.
Endpoints Attribute Will use an attribute (converted to a Double) from the endpoints’
This method, combined with Direction Choice offers full control over direction.
Edge Dot Attribute Will use an attribute (converted to an FVector) from the edges’ and do a Dot Product with the edge’ direction.
This method, combined with Direction Choice offers full control over direction.

Using Edge Dot Attribute only uses the first available edge in the chain to infer direction.


Pruning

Min Point Count This lets you filter out output paths that have less that the specified number of points.
Max Point Count If enabled, this lets you filter out output paths that have more that the specified number of points.

Using Break Conditions

The break condition filters can be used to get tighter control over when to split a clean edge chain into more sub-paths than the default behavior. If the point pass the specified filters, it will stop whatever path was being created. If the point


🝖 Group (AND/OR)

The Group Filter allows setting up complex AND/OR branches.

🝖 Compare (Numeric)

The Numeric Comparison Filter compares the arithmetic value of two attributes

🝖 Compare (String)

The Compare String Filter compares two strings

🝖 Bool

The Bool Filter does a simple bool comparison

🝖 Dot Product

The Dot Product Filter compares the dot product of two direction vectors

🝖 Within Range

The Within Range Filter checks if a value is inside a given range

🝖 Modulo Comparison

The Modulo Comparison Filter compares the module value of two attributes against a third operand

🝖 Bounds

The Bounds Filter check if a point is inside or outside provided bounds

🝖 Bitmask

The Bitmask Filter compares a bitmask against another

🝖 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)

The Numeric Comparison Filter compares the arithmetic value of two attributes

🝖 Self Compare (String)

The Compare String Filter compares two strings

🝖 Adjacency

Check if adjacent node meet specific conditions

🝖 Edge Direction

Check if adjacent node meet specific conditions

🝖 Neighbors Count

Check a node’ neighbors count