Utilities

MN_utils_curve_resample

Outputs

Description Socket
Geometry
Position
Tangent
Normal
Field Float
Field Int
Field Vec

Inputs

Socket Default Description
Geometry None
Offset 2.3
Length 0.36
Field Float 0.0
Field Int 0
Field Vec [0.0, 0.0, 0.0]

Attribute Remap

Remap the range of values of the attribute on from the target atoms, to the range from min to max

Sample an attribute from the mesh and remap from the minimum to the maximum to the specified values

Outputs

Description Socket
The remapped attribute values Value

Inputs

Socket Default Description
Sample None The geometry to calculate the field overall min and max values
Attribute b_factor The attribute name to summarise and them remap
Value Min 0.0 The minimum for the remapped values
Value Max 1.0 The maxiumum for the remapped values

Field Remap

Maps the range of values of the attribute on from the target atoms, to the range from min to max

Sample a field from the mesh and remap from the minimum to the maximum to the specified values

Outputs

Description Socket
The remapped values between the new min and max Value

Inputs

Socket Default Description
Sample None The geometry to calculate the field overall min and max values
Field 0.0 The field to summarise and remap
Value Min 0.0 The new minimum value of the field
Value Max 1.0 The new maximum value of the field

Angstrom to World

Outputs

Description Socket
World

Inputs

Socket Default Description
Angstrom 3.0

Nanometre to World

Outputs

Description Socket
World

Inputs

Socket Default Description
Nanometre 3.0

World to Angstrom

Outputs

Description Socket
Angstrom

Inputs

Socket Default Description
World 0.5

World to Nanometre

Outputs

Description Socket
Nanometre

Inputs

Socket Default Description
World 0.5

Between Integer

Test if an integer is between (and including) the upper and lower bounds

Outputs

Description Socket
Whether the input Value is between (and including) the lower and upper bounds Boolean

Inputs

Socket Default Description
Value 0 The value to test if it exists within the bounds
Lower 0 The lower bounds for the test
Upper 19 The upper bounds for the test

Between Float

Test if a float is between the upper and lower bounds

Outputs

Description Socket
Whether the input Value is between (and including) the lower and upper bounds Boolean

Inputs

Socket Default Description
Value 0.0 The value to test if it is between the lower and upper bounds
Lower 0.0 Test if the Value is greater than or equal to this
Upper 0.0 Test if the Value is less than or equal to this

Between Vector

Test if a vector is element-wise between the upper and lower bounds.

Outputs

Description Socket
If the value is between (and including) the lower the upper bounds Boolean

Inputs

Socket Default Description
Value [0.0, 0.0, 0.0] The value to test element-wise
Lower [0.0, 0.0, 0.0] The lower bounds (including) for the comparison
Upper [0.0, 0.0, 0.0] The upper bounds (including) for the comparison

Vector from Point

Calculate the vector from the current point’s position to the input vector

Outputs

Description Socket
Vector from the current point’s position to the given vector Vector
Normalized output vector Direction
Length of the output vector Length
Rotation

Inputs

Socket Default Description
Target [0.0, 0.0, 0.0] Vector that is the target
Position Position Position of the current point

Mix Position

Mix the current point’s Position with the input vector. A convenience wrapper around a Mix Vector using Position as the first attribute

Outputs

Description Socket
The resulting mixed vector, based on the factor Result

Inputs

Socket Default Description
Position Position The position vector to mix from
Factor 0.5 The amount to mix between the Position (0) and the input vector B (1)
B [0.0, 0.0, 0.0] The vector to mix to

Fractionate Float

Split a float into the floor, ceiling and fraction of Value

Outputs

Description Socket
Fractional component of the value, between 0 and 1 Fraction
The floor of the value; the integer rounded down Floor
The ceiling of the value, the integer rounded up Ceiling

Inputs

Socket Default Description
Value 0.0 The value to fractionate

Fraction Smoother

Use smoothstep to ease the fractionon of a float between the floor and ceiling of Value

Outputs

Description Socket
Value

Inputs

Socket Default Description
Value 0.0 The value to fractionate

Rotation from ZYZ

Combine a rotation defined as ZYZ common in electron tomography

Combine a rotation defined as ZYZ,common in electron tomography

Outputs

Description Socket
The combined Rotation Rotation

Inputs

Socket Default Description
Phi 0.0 First rotation around the Z axis
Theta 0.0 Second rotation around the Y axis
Psi 0.0 Third rotation around the Z axis

Transform Scale

Scale the components of a transform individually with between 0 and their value

Outputs

Description Socket
The scaled Transform Transform

Inputs

Socket Default Description
Transform None The Transform to split and scale
Translation 1.0 Mix the Translation component of the transform with 0
Rotation 1.0 Mix the Rotation component of the transform with 0
Scale 1.0 Mix the Scale component of the transform with 0

Transform Relative

The transform to get from B to A, relative to the CB axis

Outputs

Description Socket
The Transform to move from B to A, relative to the axis of C to B Transform

Inputs

Socket Default Description
A [0.0, 0.0, 0.0] The final position
B [0.0, 0.0, 0.0] The position moving from
C [0.0, 0.0, 0.0] The position defining the axis of CB

Transform Mix

Mix between two transformations

Mix between two transforms, controlling the translation, rotation and scale independently

Outputs

Description Socket
The final mixed Transform Transform

Inputs

Socket Default Description
A None Transform A to mix from at 0.0
B None Transform B which will be mixed to at 1.0
Translation 0.5 Amount to mix the Translation between A and B
Rotation 0.5 Amount to mix the Rotation between A and B
Scale 0.5 Amount to mix the Scale between A and B

Transform Local

Apply the transform after first moving to world origin, then returning to original position

Outputs

Description Socket
The final transform Transform

Inputs

Socket Default Description
Origin Position Vector that defines the local space origin, defaults to Position
Transform None Transform to apply in local space

Transform Local Axis

Create a transform around an axis in local space defined by the Origin point

Create a transform that is rotation around an axis in local space, with local space defined by the origin point which defaults to Position

Outputs

Description Socket
The Transform around the axis Transform

Inputs

Socket Default Description
Origin Position The vector defining the local space. Defaults to Position
Axis [0.0, 0.0, 1.0] The axis to rotate around
Angle 0.0 Amount to rotate around the axis

Transform Accumulate

Accumulate transforms on the domain if selected

Outputs

Description Socket
The accumulating Transform field Transform

Inputs

Socket Default Description
Domain Point Domain on which to accumulate transforms
Accumulate True Selected transforms are included in the accumulation, non-selected transforms become identity matrices
Transform None Transform field to accumulate
Group ID 0 Transform field is accumulated individually for each Group ID

Transform Accumulate Point

Accumulate transforms on the point domain

Accumulate transforms on a domain, applying these transforms to the Position

Outputs

Description Socket
Transformed vector Vector

Inputs

Socket Default Description
Domain Point Domain on which to accumulate the transforms
Accumulate True Include the transform in the final accumlation
Position Position Point to transform, defaults to Position
Transform None Transform field to accumulate
Group ID 0 Transform field is accumulated individually for each Group ID

Accumulate Axis Rotation

Accumulate transforms that are rotations around an axis in local space. The axis is defined by the current Position to the position of the last True point for the Pivot input.

Outputs

Description Socket
Transformed vector Position
The accumlated transform, not yet applied to the Position vector Trasnform

Inputs

Socket Default Description
Position Position Position vector to transform
Selection True
Pivot False The points at which points where Accumulate is true will look to for their axis of transformation.
Angle 0.0 Amount to rotate around the axis
Group ID 0 Transform field is accumulated individually for each Group ID
Transform Index Index Index at which to evaluate the final transform for the positon. For most cases this will be Index, but it might be that some points need to use the accumulated transform from another point instead

Transform from Object

Outputs

Description Socket
Vector

Inputs

Socket Default Description
Position Position
Object None
Translation [0.0, 0.0, 0.0]
Rotation <Euler (x=0.0000, y=0.0000, z=0.0000), order=‘XYZ’>

Centroid

Calculate the centroid point for the selection for each group in the Group ID. The centroid is the average position of all points in each Group ID. If a selection is given, then only the selected points contribute towards the overall centroid calculation, but the result is still available on the other points in the Group ID

Outputs

Description Socket
The computed average vector for each Group ID Centroid

Inputs

Socket Default Description
Position Position The Position vector to use for the centroid calculation
Selection True Selected points contribute to the computation of the centroid, unselected points do not contribute but still return the centroid for their Group ID
Group ID 0 Compute the centroid on for each unique Group ID

Vector Direction

Direction from one point to another, optionally normalized

Outputs

Description Socket
Vector between the points, potentially normalized Direction
Distance between the points before normalization Distance

Inputs

Socket Default Description
Normalize True
To [0.0, 0.0, 0.0]
From [0.0, 0.0, 0.0]

Vector Angle

The angle between two vectors, in radians

Compute the angle in radians between two vectors.

Outputs

Description Socket
The angle between the two vectors in radians Angle
Axis around which the angle rotates (cross product of A and B) A×B

Inputs

Socket Default Description
A [0.0, 0.0, 0.0] The first vector for angle calculation
B [0.0, 0.0, 0.0] The second vector for the angle calculation

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.

Outputs

Description Socket
The angle between the vectors AB and CD, when made perpendicular to BC. Angle
The vector BA when made perpendicular to the axis BC BA⟂(BC)
The Vector CD when makde perpendicular to the axis BC CD⟂(BC)
The axis vector BC BC

Inputs

Socket Default Description
A [0.0, 0.0, 0.0] First vector for the calculation, which draws a line to B
B [0.0, 0.0, 0.0] Second vector for the calculation, which receives a line from A and draws a line to C
C [0.0, 0.0, 0.0] Third vector for the calculation, which receives a line from B and draws a line to D
D [0.0, 0.0, 0.0] Last vector for the calculation, which is the end point of the line from D

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.

Outputs

Description Socket
Angle between the points around Index B in radians Angle

Inputs

Socket Default Description
Index A 0 First of the points for the angle calculation
Index B 1 The middle point for the angle calculation
Index C 2 Last of the points for the angle calculation

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.

Outputs

Description Socket
Angle of the line A -> Self -> C in radians Angle

Inputs

Socket Default Description
Position Position The Position vectors to use for the angle calculation
Index A 0 First end point for the angle calculation around the current point
Index B Index The Index for the middle point in the angle calculation, defaulting to the current point
Index C 2 Last end point for the angle calculation around the current point

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.

Outputs

Description Socket
Vector from the current point to the indexed point Vector
Normalized vector from the current point to the indexed point Direction
Distance from the current point to the indexed point Distance
Rotation

Inputs

Socket Default Description
Index Index
Target Index 100 Index for the selected point to measure to