interface version 1
Performs various topology-related (or other specific) queries and stores the results in point attributes.
This operator can generate point attributes and/or point groups, based on the points'
topological properties. There’s a built-in visualizer to quickly display the results.
Use cases include:
Finding and visualizing coincident points (“un-Fused”, see image above)
Counting topological neighbours (and group endpoints for curves)
Visualizing points on geometry borders (to detect possible “geometry leaks”)
It can also generate other miscellaneous “convenience” attributes
(e.g. relative age for particles).
Description
Various queries are available:
Coincident Point Count
| Finds out how many points occupy the same spatial coordinate.
(Can be useful to detect un-Fused points.)
Optionally, multiple coincident points can be grouped.
The visualization mode can be used to quickly inspect geometry for un-fused points.
|
Neighbour Count
| Determines the number of topological neighbours for each point
(ie. connected with an edge).
Optionally, points with small neighbour count (e.g. curve endpoints
or “lonely” points) can be grouped.
|
Borders
| For each geometry point, it determines if it is on a geometry boundary,
and stores the information in an attribute and/or group(s).
|
Indices & Attributes (point, vertex, etc.)
| This section has options for creating various convenience attributes
for several geometry classes (regular geometry, particles, L-systems).
Geometry
| Stores point or vertex indices (vertex counts, etc.) as per-point attribute(s).
The vertex index is relative to the primitive the point belongs to.
Note
Most vertex- and primitive-related values are usually ambiguous on polyhedra, since most points belong to
more than one primitive. These values make more sense on curves, or row/column based geometry
(e.g. NURBS or meshes).
| Particles, L-Systems
| Various per-point attributes can be created
(such as relative age for particles/L-systems, etc.)
| |
Parameters
Visualization
| Enable visualization of various topological properties. If enabled, a Visualization tab will appear in
all parameter sections that support it. (All visualizations are layered on top of each other in an additive
fashion.)
Disabled
| No visualization.
| Colors
| A specified value range is mapped to a color ramp, then displayed as per-point colors.
| Colors + Points
| A particle system is added to the geometry points to make them visually more distinctive.
| Colors, Points Only
| All geometry but the point particles will be removed (all topology-related calculations will
still be correct).
| |
Base Color
| The default (base) color for the various visualization layers.
If the input geometry already has a color attribute, this parameter will be ignored.
(Use the “set” switch on the right to always force-override with the base color.)
|
Coincident Points
| Points are considered coincident if they are closer than a specified minimum distance (tolerance).
Count Coincident Points
| Enable counting of coincident points.
| Search Radius
| Distance tolerance for coincident point detection.
Points closer than this distance are considered coincident.
Note
Using larger values for this radius can emulate behaviour similar to the
nearest-neighbour calculation of the Scatter SOP.
| Max Points
| The maximum number of points to be considered as coincident within the search radius.
Note
This limit applies even if there are more points occupying the same location.
(In that case try increasing this value.)
| Attribute, Variable
| Attribute to store the point count. (All coincident points will have the same count value.)
| Group
| Name of a point group to be created, based on a point count criterion (see below).
| Grouping Criterion
| Equal or Greater
| Group points which have the given number of coincidents, or more.
| Equal
| Group points that have exactly the same coincidents as specified.
| Equal or Less
| Group points which have the given number of coincidents, or less.
| | |
Neighbours
| Topological neighbour counting.
Points are considered neighbours if they are connected through a single edge.
Count Neighbours
| Enable counting of neighbours for each point.
|
For description of parameters see the Coincident Points section above.
|
Borders
| Determines if a point is on a geometry boundary or border.
Detect Border Points
| Enable geometry boundary point detection.
| Attribute, Variable
| Attribute to store the on-boundary status.
| Values (Border, Inside)
| Attribute values for border and inside status, accordingly.
| Border Group, Inside Group
| If enabled, points are added to the group(s) where they belong.
| |
Indices & Attributes
| Storing of various index counts (or other convenience values) as per-point attributes.
(Note that most vertex-related indices are make best sense for curves or row/column based surfaces –
e.g. curves, etc.)
Geometry
| Extract various geomety-related indices.
Point Index
| Store the point index of each point.
(This is slightly analogous to the origin attribute in POP networks.)
| Point Idx [0..1]
| Store point indices in a percentage-type format (in the range of [0..1] ).
| Vertex Index
| Store vertex indices.
(Note that in order to get proper results for a polymesh, its points have to be unFused first.)
| Vertex Idx [0..1]
| Store vertex indices, percentage-style (in the range [0..1] ).
(Note that for curves this is actually very similar to uniform parametrization.)
| Vertices on Prim
| Store the vertex count of the related primitive, for each point.
| Primitive Index
| Store the index of the primitive the given points belongs to.
| | Particles
| Extract various particle-related convenience values.
Age [0..1]
| Store per-particle normalized age as a new attribute.
(Same as the $LIFE local variable.)
| Current Age, Life Span
| The values of age and life VEX variables returned as attributes.
| Velocity Length
| The magnitudes of per-point velocity vectors v .
| | L-Systems
| Various L-system-related convenience attributes.
Generation [0..1]
| Store the normalized value of the L-system gen attribute as a new attribute.
(Requires the gen per-point attribute to be present.)
(The gen attribute stores the L-system generation depth, but it has the same
value for each point in the same L-system primitive.)
| Age [0..1]
| Store the normalized value of the L-system lage attribute as a new attribute.
(Requires the lage per-point attribute to be present.)
(The lage attribute is similar to gen , but it increases within the same
L-system primitive as well – it act as a parametrization of some sort.)
| | |
Remove Attribs
| After generating the new attribute(s), this convenience field allows old attributes
to be deleted (if they're not needed any further).
|
Release Notes
interface version 1 —
2014-10-18
| |
2014-09-15
| Prefixed all internal vopsop params so they wouldn’t collide
with regular geometry attributes (e.g. “radius”, etc.)
Added Point Group parameter for Coincident Points and Neighbours tabs
|
2014-08-08
| |
2013-10-01
| |
2013-08-21
| |
2013-04-19
| Renamed some parameters (“Point Index”, “Vertex Index”, coi_grp_num – this should bump to interface v2)
Added default expressions for all variable fields
Added descriptive parm (displays extra info in the network view)
|
2013-04-07
| |
2013-02-15
| Added support for the following attributes —
Added post operation: remove a list of specified attributes
Improved performance when vertex-related indices are not queried.
|
older versions —
Version 0.0.3
| |
Version 0.0.2
| Interfacelift; better Help card.
|
Version 0.0.1
| Initial release.
|