Link Search Menu Expand Document

Find Contours

Find edge contours & outlines

The Find Contours node finds hole/outlines contours in a graph, using points as proximity seeds.


Vtx
Endpoints of the input Edges
Edges
Edges associated with the input Vtxs
Seed
Seed points used to find contours based on proximity
Paths
One or multiple paths per seed points

Table of content


The Find Contour node attempts to find the contours of connected edges using a seed as a starting search point. It works by projecting the cluster on a plane and doing a clockwise search of the next best angle. This is not a bulletproof approach but it works very well on projectable clusters with no overlapping edges.

details/pathfinding/pathfinding-find-contours.png


Properties


Property Description
Settings
Seed Picking Lets you control how the seed node (Vtx) will be picked based on the provided seed position.
Duplicate Deadend points Whether or not to duplicate dead end points. Useful if you plan on offsetting the generated contours.
Output
Output Type Filter which contours will be considered valid; either Convex only, Concave only, or Both.
Dedupe Paths If enabled, ensure that no two contours are the same.
This is important because if your have poor seeds, they may generate the same contours.
Keep Only Graceful Contours Whether to keep only contours that closed gracefully; i.e connect to their start node
Keep Contours with Deadends Whether to keep contour that include dead ends wrapping.
Output Filtered Seeds Whether to keep contour that include dead ends wrapping.
Pruning
Min Point Count If enabled, does not output paths with a point count smaller than the specified amount.
Max Point Count If enabled, does not output paths with a point count larger than the specified amount.
Projection Settings See below
Tagging
Concave Tag If enabled, will tag concave paths data with the specified tag.
Convex Tag If enabled, will tag convex paths data with the specified tag.
Is Closed Loop Tag If enabled, will tag closed loop paths data with the specified tag.
Is Open Path Tag If enabled, will tag open paths data with the specified tag.
DeadEnd Flag
bool
If enabled, will flag path points generated from dead end edges.
Forwarding
Seed Attributes to Path Tags Let you pick and choose Seed point attributes and turn them to tags added to their associated output contours.
See below.
Seed Forwarding Let you pick and choose which Seed attributes are transferred to path points.
See below.

Projection Settings


The projection settings control how the point position is translated to a 2D space before the graph is computed; and how this projection will translate back to the original space, if relevant.

Property Description
Projection Normal Normal vector of the plane used for projection.
By default, the projection plan normal is Up; so the graph is computed over the X Y plane.
Local Projection Normal If enabled, uses a per-point projection vector.
Local Normal Attribute ti read normal from,

Local projection normal is very powerful but can also be very clunky to use – it’s very easy to end up with singularities that will prevent the graph from being properly computed.


Seed Attributes to Path Tags


“Forwarding” settings lets you pick-and-choose which attributes & tags carry over from some data to another.

Property Description
Enabled Whether attribute forwarding is enabled or not.
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.

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.

Seed Forwarding


“Forwarding” settings lets you pick-and-choose which attributes & tags carry over from some data to another.

Property Description
Enabled Whether attribute forwarding is enabled or not.
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.

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.