Path × Path Crossings
Find crossings within & against other paths.
The Path × Path Crossings node detects intersections between path segments, either within the same path or against others, blending attributes from intersecting points and providing detailed control over how crossings and blending are handled.
Table of content
The Path × Path Crossings find all paths segments intersections either against all other inputs, or only against itself. Created intersection can capture attributes from the the foreign path’ point, amongst other useful things.
Properties
Property | Description |
---|---|
Closed loop | |
Scope | The scope/selection of input data that are to be processed as closed paths or not. - All processes all input as selected below.- All but tagged inverts the scope based on tags.Default is, all paths are considered open, unless they are tagged with ClosedLoop .
|
Closed Loop | Whether to consider input data that are part of the scope as closed loop or not. |
Comma Separated Tags | Tags to check for. Any match uses the inverse of the above value. |
Self-intersection Only | If enabled, input paths will only check for crossing against themselves, as opposed to against every other input path. |
Intersection Details
Property | Description |
---|---|
Enable Self Intersection | If enabled, a cluster will test if intersection exists against itself. Otherwise, only check against other clusters. |
Tolerance | |
Tolerance | Uniform tolerance. This represent the radius within which elements will be considered in fuse range. |
Min Angle | If enabled, only considers edges to be intersecting if their angle is greater than the specified value. |
Max Angle | If enabled, only considers edges to be intersecting if their angle is smaller than the specified value. |
Outputs | |
Crossing Attribute Namebool
| If enabled, flag the edges’ intersection point. |
Blendings
Blending on this node happen in a very specific order:
- First, crossing point property are calculated as a blend between the start & end point of the segment that’s being cut.This considers internal properties & attributes only.
- Then, if enabled, cross-blending is processed: this pass blends attributes from the foreign crossing data to bleed onto the crossing point.This only considers external properties & attributes only.
Blending
Cross Blending
If there is an overlap, cross-blending will overrides any previously blended values.
Crossing Carry Over
“Carry over” settings lets you pick-and-choose which attributes & tags carry over to the new data.
Property | Description |
---|---|
Preserve Attributes Default Value | If enabled, the node will attempt to create attributes on the data in a way that preserve the original, underlying default value of the attribute. This can be critical in order to identify which data originally belonged to which, as well as properly initializing flags to a desirable default. |
Attributes | Lets you pick and choose which attributes to keep or dismiss. |
Tags | Lets you pick and choose which attributes to keep or dismiss. |
Both Attributes & Tags share the same string-based filters.
Note that the filters look for a single valid match amongst the list; you cannot create and/or conditions.
Filter Details
Property | Description |
---|---|
Filter Mode | Chooses how the filter operates. - All let everything pass.- Exclude filters out the result of the filter.- Include only allows the items that pass the filters. |
Matches | Lets you define a list of checks pairs: a string value, and a Match Mode . |
Comma Separated Names | Easy to override, lets you specify a list of comma-separated names. The only caveat is that you can only pick a unique match mode used for each entry. |
Comma Separated Names Filter | Which filter will be used along the Comma Separated Names. |
Preserve PCGEx Data | Most of the time you’ll want to leave it to its default value. It ensures PCGEx/ prefixed data are not captured by the filter. |
Filter Modes
Mode | Description |
---|---|
Equals | Checks for strict equality of the filtered value and the associated string. |
Contains | Checks if the filtered value contains the associated string. |
Starts With | Checks if the filtered value is prefixed with the associated string. |
Ends With | Checks if the filtered value is suffixed with the associated string. |
Crossing Blending
See Blending
Outputs
Output | Description |
---|---|
Crossing Alphadouble
| Write the normalized position (alpha) of the crossing.The alpha of a crossing is a 0..1 value representing where it sits between start and end point of the original segment.
|
Crossing Orient Axis | If enabled, lets you pick a local transform axis of the crossing point to orient in the crossing’ segment direction. |
Cross DirectionFVector
| Similar to the option above, only writes the crossing segment’ direction to an attribute instead of applying it to the point rotation. |
Tagging
Some high level tags may be applied to the data based on overal intersections results.
Tag | Description |
---|---|
Has Crossings Tag | If enabled, add the specified tag to the output data if at least a single crossing has been found. |
Has No Crossings Tag | If enabled, add the specified tag to the output data if no crossings have been found. |
Note that crossing detection tagging will be affected by points filter as well; since filtered out points are omitted from processing.