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