Link Search Menu Expand Document

Path × Path Crossings

PCGEx | 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.


Paths
Paths which edges will be checked for crossings
Can Cut Conditions
Filters used to determine whether a segment can "cut" other segments
Can Cut Conditions
Filters used to determine whether a segment can be "cut" by cutter segments
Paths
Paths with additional points & informations

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.

details/paths-solidify/lead.png

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 Name
bool
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 Alpha
double
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 Direction
FVector
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.