Utils
Curve Resample
Inputs
Name | Type | Description | Default |
---|---|---|---|
Geometry |
Geometry | required | |
Offset |
Float | 2.3 |
|
Length |
Float | 0.36 |
|
Field Float |
Float | 0.0 |
|
Field Int |
Int | 0 |
|
Field Vec |
Vector | [0.0, 0.0, 0.0] |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Geometry |
Geometry | required | |
Position |
Vector | [0.0, 0.0, 0.0] |
|
Tangent |
Vector | [0.0, 0.0, 0.0] |
|
Normal |
Vector | [0.0, 0.0, 0.0] |
|
Field Float |
Float | 0.0 |
|
Field Int |
Int | 0 |
|
Field Vec |
Vector | [0.0, 0.0, 0.0] |
Attribute Map
Sample an attribute from the mesh and remap from the minimum to the maximum to the specified values
Inputs
Name | Type | Description | Default |
---|---|---|---|
Sample Atoms |
Geometry | required | |
Attribute |
String | b_factor |
|
Value Min |
Float | 0.2 |
|
Value Max |
Float | 3.0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Value |
Float | 0.0 |
Between Integer
Test if an integer is between (and including) the upper and lower bounds
Inputs
Name | Type | Description | Default |
---|---|---|---|
Value |
Int | 0 |
|
Lower |
Int | 0 |
|
Upper |
Int | 19 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Boolean |
Bool | False |
Between Float
Test if a float is between the upper and lower bounds
Inputs
Name | Type | Description | Default |
---|---|---|---|
Value |
Float | 0.0 |
|
Lower |
Float | 0.0 |
|
Upper |
Float | 0.0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Boolean |
Bool | False |
Between Vector
Test if a vector is element-wise between the upper and lower bounds.
Inputs
Name | Type | Description | Default |
---|---|---|---|
Value |
Vector | [0.0, 0.0, 0.0] |
|
Lower |
Vector | [0.0, 0.0, 0.0] |
|
Upper |
Vector | [0.0, 0.0, 0.0] |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Boolean |
Bool | False |
Offset Integer
Evaluate an integer by an index that is offset by the specified amount
Inputs
Name | Type | Description | Default |
---|---|---|---|
Index |
Int | 0 |
|
Value |
Int | 0 |
|
Offset |
Int | 0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Value |
Int | 0 |
Offset Vector
Evaluate a vector by an index that is offset by the specified amount
Inputs
Name | Type | Description | Default |
---|---|---|---|
Index |
Int | 0 |
|
Position |
Vector | [0.0, 0.0, 0.0] |
|
Offset |
Int | 0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Value |
Vector | [0.0, 0.0, 0.0] |
Offset Boolean
Evaluate a boolean by an index that is offset by the specified amount
Inputs
Name | Type | Description | Default |
---|---|---|---|
Index |
Int | 0 |
|
Boolean |
Bool | False |
|
Offset |
Int | 0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Boolean |
Bool | False |
Offset Float
Evaluate a float value by an index that is offset by the specified amount
Inputs
Name | Type | Description | Default |
---|---|---|---|
Index |
Int | 0 |
|
Value |
Float | 0.0 |
|
Offset |
Int | 0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Value |
Float | 0.0 |
Boolean Run Fill
Fill in gaps in a set of continuous boolean True values, up to a specific size
Inputs
Name | Type | Description | Default |
---|---|---|---|
Boolean |
Bool | Boolean array to fill runs of False | False |
Fill Size |
Int | Set a run of False to True if length equal or less than Fill Size | 3 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Boolean |
Bool | False |
Boolean Run Mask
Mask a run of boolean values. Potentially trim the start or ending values and specifying a minimum length under which they are considered false
Inputs
Name | Type | Description | Default |
---|---|---|---|
Boolean |
Bool | False |
|
Lag Start |
Int | The first N values in a run are made to be false | 0 |
Min Length |
Int | Run is only valid if it contains at least N values | 0 |
Trim End |
Int | 0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Boolean |
Bool | False |
Fallback Float
Use the float attribute specified by name. If the attribute doesn’t exist, use the Fallback
value instead
Inputs
Name | Type | Description | Default |
---|---|---|---|
Name |
String | `| | Fallback| Float | | 0.0` |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Value |
Float | 0.0 |
Fallback Vector
Use the float attribute specified by name. If the attribute doesn’t exist, use the Fallback
value instead
Inputs
Name | Type | Description | Default |
---|---|---|---|
Name |
String | `| | Fallback| Vector | | [0.0, 0.0, 0.0]` |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Output |
Vector | [0.0, 0.0, 0.0] |
Fallback Integer
Use the float attribute specified by name. If the attribute doesn’t exist, use the Fallback
value instead
Inputs
Name | Type | Description | Default |
---|---|---|---|
Name |
String | `| | Fallback| Int | Fallback value if Field is 0 | 0` |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Integer |
Int | 0 |
Fallback Boolean
Use the float attribute specified by name. If the attribute doesn’t exist, use the Fallback
value instead
Inputs
Name | Type | Description | Default |
---|---|---|---|
Name |
String | `| | Fallback| Bool | | False` |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Boolean |
Bool | False |
Fallback Color
Use the float attribute specified by name. If the attribute doesn’t exist, use the Fallback
value instead
Inputs
Name | Type | Description | Default |
---|---|---|---|
Name |
String | Color |
|
Fallback |
Color | Fallback value if Field is 0 | rgb(18, 75, 60) ◉ |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Color |
Color | rgb(0, 0, 0) ◉ |
Group Info
Based on the Group ID input, return the size of the group and the indices of the first and last items of the group
Inputs
Name | Type | Description | Default |
---|---|---|---|
Group ID |
Int | 0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
First Index |
Int | Index of the first point in the group | 0 |
Last Index |
Int | Index of the last point in the group | 0 |
Index in Group |
Int | 0 |
|
Size |
Int | Number of points in the group | 0 |
Centroid
Calculate the centroid point for the selection for each group in the Group ID
Inputs
Name | Type | Description | Default |
---|---|---|---|
Position |
Vector | [0.0, 0.0, 0.0] |
|
Selection |
Bool | Selection to use for calculating centroid value | True |
Group ID |
Int | ID to calculate on a per-group basis | 0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Centroid |
Vector | Centroid point for the the points in the selectoin | [0.0, 0.0, 0.0] |
Vector Angle
Compute the angle in radians between two vectors.
Inputs
Name | Type | Description | Default |
---|---|---|---|
A |
Vector | [0.0, 0.0, 0.0] |
|
B |
Vector | [0.0, 0.0, 0.0] |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Angle |
Float | Angle between the two given vectors in radians | 0.0 |
Dihedral Angle
Computes the angle between two vectors, AB & CD around around the axis of BC. The first vector AB is treated as the “12 O’clock” up position, looking down the axis towards C, with angles being return in the range of (-Pi, Pi). Clockwise angles are positive and anti-clockwise angles are negative.
Inputs
Name | Type | Description | Default |
---|---|---|---|
A |
Vector | First vector for the calculation, which draws a line to B | [0.0, 0.0, 0.0] |
B |
Vector | Second vector for the calculation, which receives a line from A and draws a line to C | [0.0, 0.0, 0.0] |
C |
Vector | Third vector for the calculation, which receives a line from B and draws a line to D | [0.0, 0.0, 0.0] |
D |
Vector | Last vector for the calculation, which is the end point of the line from D | [0.0, 0.0, 0.0] |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Angle |
Float | The angle between the vectors AB and CD, when made perpendicular to BC. | 0.0 |
BA⟂(BC) |
Vector | The vector BA when made perpendicular to the axis BC | [0.0, 0.0, 0.0] |
CD⟂(BC) |
Vector | The Vector CD when makde perpendicular to the axis BC | [0.0, 0.0, 0.0] |
BC |
Vector | The axis vector BC | [0.0, 0.0, 0.0] |
3 Point Angle
Calculate the angle between 3 different points. These points are selected based on their index in the point domain, with Index B being the centre of the calculation.
In the video example, the same calculation that is occurring internally inside of the MN_topo_edge_angle
node, is being handled explicity by this node. If the Index
is being used as Index B
then the current point that is being evaluated is the centre of the angle calculation. If this value is changed, then the point at the corresponding index is used, which results in a smaller angle in the example video.
Inputs
Name | Type | Description | Default |
---|---|---|---|
Index A |
Int | First of the points for the angle calculation | 0 |
Index B |
Int | The middle point for the angle calculation | 1 |
Index C |
Int | Last of the points for the angle calculation | 2 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Angle |
Float | Angle between the points around Index B in radians | 0.0 |
2 Point Angle
Calculate the angle that two points make, relative to the current point being evaluated. Points are selected based on their index, with the centre of the angle calculation being the current point’s position. Equivalent to using 3-Point angle and using Index
as the Index B
.
In the example video, the angle calculation is similar to that of the 3-Point Angle node, but the middle point is always the current point.
Inputs
Name | Type | Description | Default |
---|---|---|---|
Index A |
Int | First end point for the angle calculation around the current point | 0 |
Index C |
Int | Last end point for the angle calculation around the current point | 2 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Angle |
Float | Angle of the line A -> Self -> C in radians | 0.0 |
Point Distance
Calculate the distance and the vector between the evaluating point and the point selected via the Index.
In the example video, each point is calculating a vector and a distance between itself and the indexed point. When the Point Mask node is used, this index is then on a per-group basis, so each point in the group points to just the group’s corresponding point.
Inputs
Name | Type | Description | Default |
---|---|---|---|
Index |
Int | Index for the selected point to measure to | 100 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Vector |
Vector | Vector from the current point to the indexed point | [0.0, 0.0, 0.0] |
Distance |
Float | Distance from the current point to the indexed point | 0.0 |
Cartoon Utilities
The underlying node group which powers the cartoon style
Inputs
Name | Type | Description | Default |
---|---|---|---|
Atoms |
Geometry | Atomic geometry that contains vertices and edges | required |
Selection |
Bool | Selection of atoms to apply this node to | True |
Shade Smooth |
Bool | Apply smooth shading to the created geometry | True |
Interpolate Color |
Bool | Interpolate between distinct color selections | True |
Material |
Material | Material to apply to the resulting geometry | MN Default |
As Arrows |
Bool | Render beta-strands with directional arrows. | False |
Arrows Sharp |
Bool | False |
|
Arrows Point |
Bool | False |
|
Arrow Thickness Scale |
Float | 1.0 |
|
Arrow Width Scale |
Float | 1.0 |
|
Profile Curve |
Geometry | A custom curve-cirlce making SS ribbons. | required |
Profile Resolution |
Int | 4 |
|
Sheet Rotate |
Float | 0.0 |
|
Sheet Thickness |
Float | 0.5 |
|
Sheet Width |
Float | 2.0 |
|
Sheet Smoothing |
Float | 1.0 |
|
Sheet Subdivision |
Int | 3 |
|
As Cylinders |
Bool | False |
|
Cylinder Curved |
Bool | True |
|
Cylinder Radius |
Float | 2.0 |
|
Cylinder Resolution |
Int | 12 |
|
Cylinder Subdivisions |
Int | 5 |
|
Helix Rotate |
Float | 0.0 |
|
Helix Thickness |
Float | 0.5 |
|
Helix Width |
Float | 2.0 |
|
Helix Subdivisions |
Int | 5 |
|
Helix smoothing |
Bool | Smoothen out AH to be more cylindrical. | True |
Loop Subdivisions |
Int | 6 |
|
Loop Radius |
Float | 0.3 |
|
Loop Resolution |
Int | 8 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Cartoon Mesh |
Geometry | required |