Math

Mathematical operations can be seen as the core of a programming language - even if it is a node-based, visual system. With the nodes of the "Math" class you are able to perform calculations and produce a result. The interesting thing with the graph engine's "Math" nodes is that they do not only support single elements, for example basic operations like 7 + 5, or 3 * 8, but also predefined nodes for vector calculations, complex matrices, and even arrays (arrays can store more than one element, even millions). Aside from these convenient helpers, there is also a broad range of functions (sine, logarithms, square root etc.), and nodes for rounding operations. Another group of nodes provides ready-to-use methods for the interpolation of values from an array.

Nodes

NameDescription
AbsComputes the absolute value of the input.
AddComputes the addition of the two input values.
ArrayIndexBuildFromMaskThis node returns an array containing the positions of the input 'mask' with a value of 1.
ArrayIndicesThis node returns an array filled with integers from 0 to the size of the input array (minus one).
ArrayNumAverageComputes the average value of all the input array elements.
ArrayNumConcatThis node concatenates the inputs 'array0' and 'array1' into a single 'out' array.
ArrayNumConstantReturns an array of size 'size' for which all elements have 'constant' as value.
ArrayNumFilterByMaskThis node returns the elements of the input 'array' at positions specified by the 'mask' parameter.
ArrayNumFindAllElementIndicesThis node returns all positions in the input 'array', which fit to the input 'element' values.
ArrayNumFindElementThis node returns the first position of appearance of the input 'element' within the input 'array'. If the array does not contain the element, -1 is returned.
ArrayNumInsertElementThis node inserts all elements from the 'element' input into the input 'array' at the position specified by 'position'. If 'position' is equal or lower than 0 then the elements are inserted at the beginning of the array. If 'position' is greater or equal than the inputs 'array' size, elements are appended at the end.
ArrayNumMinMaxComputes the minimum/maximum values of all the input array elements.
ArrayNumMixThis node creates an output array based on the two inputs 'array0' and 'array1' and the input mask. If the mask value equals 0 then the value of 'array0' is used, if the mask value is 1 the value of 'array1' is used.
ArrayNumPushElementThis node appends all the elements from the 'element' at the end of the input 'array'.
ArrayNumRandomComputes an array of the given input 'size' filled with random values in range from 'min' to 'max'.
ArrayNumRangeCreates an array of size 'steps' which values are increased uniformly from 'start' to 'end'.
ArrayNumRemoveElementThis node removes all elements of the 'by_value' from the input 'array'. The returned mask has the same size as the input 'array' and is set to 0 at removed positions.
ArrayNumRemoveIndexThis node removes all input array positions by the 'index' input.
ArrayNumRemoveRepeatedElementsThis node removes all repetitions of elements from the input 'array'. The 'new_to_old' array can be used as an 'index' input for a GetArrayElement-Node to restore the original array. The returned mask has the same size as the input 'array' and is set to 0 at removed positions.
ArrayNumResizeThis node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly.
ArrayNumReverseThis node reverses the order of the input 'array'.
ArrayNumSliceThis node returns an array containing the range of the input 'array' from the 'first' position with the given input 'size'.Thus, the output array is a subarray or slice of the input.
ArrayNumSortThis node sorts the input 'array'. The 'old_to_new' array can be used as 'index' input of a GetArrayElement to sort a different array of the same size. The 'new_to_old' array can be used as 'index' input of a GetArrayElement to get the original array order if applied to the sorted one. to apply to other arrays of the same size.
ArrayNumSumReturns the summation of all the elements of the input 'array'.
ArraySizeReturns the number of elements of the input array.
ArrayVector3GridFromBoxComputes a three dimensional grid of Vector3 positions based on the input box and number of elements.
ArrayVector3GridFromSizeComputes a three dimensional grid of Vector3 positions based on the input number of elements and step size.
ArrayVector3RandomFromBoxComputes an array of three dimensional random positions within the input box.
Atan2Computes the principal value of the arc tangent of y/x (in radians [-pi,+pi]).
CeilComputes the ceil value of the input. Examples: ceil(2.3)=3; ceil(-2.3)=-2.
ClampClamps the input value according to the given min and max values.
ColorGradientClearRemoves all the color knots from the input color gradient.
ColorGradientFromArrayKnotsCreates a single color gradient from the input values. The number of resulting color knots is determined by the size of the 'position' parameter.
ColorGradientGetArrayKnotsReturns the values of the input color gradient.
ColorGradientGetKnotReturns the values of the input color gradient color knot.
ColorGradientKnotCountReturns the number of color knots of the input color gradient.
ColorGradientRemoveKnotRemoves an existing color knot from the gradient.
ColorGradientReverseFlips the order of all the color and bias knots of the color gradient (like a mirror).
ColorGradientSetKnotChanges an existing color knot of the input color gradient. Only connected inputs actually change the color knot values.
CosEvaluates the cos-function.
DegreesConverts radians to degrees.
DivComputes the division of the two input values.
EvalColorGradientEvaluate a color gradient at position 't'.
ExpComputes the exponent value of the input.
FloorComputes the floor value of the input. Examples: floor(2.3)=2; floor(-1.3)=-2.
GetArrayNum2DElementThis node returns the elements of the 2D input 'array' at positions specified by the x and y parameters.
GetArrayNum2DElementByUVThis node returns the bilinearly interpolated element of the 2D-input 'array' with the given width at the normalized coordinates x,y (0<x
GetArrayNum3DElementReturns the element of the input array at position ('index x','index y','index z').
GetArrayNumElementThis node returns the elements of the input 'array' at positions specified by the 'index' parameter.
GetNumGlobalVariableThis node returns a reference to previously stored variables in global memory (using the SetGlobalVariable-Nodes).
GetSplineThis node gets the spline of the input node.
IsNullReturns for every element of the input 'array' if it is NULL or not.
LogComputes the natural logarithm value of the input.
Log10Computes the common (base-10) logarithm value of the input.
Matrix4CreateRotationSet rotation matrix according to provided axis and angle given by input vector and input angle (in degrees).
Matrix4CreateRotationEulerSet rotation matrix according to euler angles (in degrees) given by input vector.
Matrix4CreateScaleSet scale matrix according to input vector. Scaling in x,y and z-direction is defined by x,y and z components of the input vector.
Matrix4CreateTranslationSet translation matrix according to input vector.
Matrix4DeterminantComputes the determinant of the given matrix.
Matrix4GetEulerAngleComputes the Euler angles (in degrees) of the given input matrix.
Matrix4InverseComputes the inverse of the given matrix.
Matrix4MulVector3Computes the product of the input matrix and the input vector. The vector is handled as four-dimensional vector (x,y,z,1).
Matrix4TransposeComputes the transposed of the given matrix.
ModComputes module of the input value.
MulComputes the product of the two input values.
NumCopyThis node duplicates the value of 'in' to the output 'copy'.
NumInterpolateBezierComputes bezier interpolated value between the array of supporting points.
NumInterpolateCubicComputes cubic interpolated value between the array of supporting points.
NumInterpolateHermiteComputes hermite interpolated value between the array of supporting points.
NumInterpolateLinearComputes linearly interpolated value between the first and second value given by the blend value. If the clamp value is set, the result is clamped according to the first and second value, otherwise not.
NumMapRangeTranforms the in value from 'range in' into the 'range out'. May be used, to normalize values within a given range (e.g. range out=0..1) or to determine image coordinates from a global position (e.g. range out=0..imageWidth).
PowComputes the base raised to the power exponent.
QuaternionConjugateComputes the conjugate quaternion of the given quaternion.
QuaternionDotComputes the dot-product of the given quaternions.
QuaternionInverseComputes the inverse of the given quaternion.
QuaternionNegateComputes the negative of the given quaternion.
QuaternionNormalizeComputes the norm of the given quaternion.
QuaternionSlerpSlerp-interpolation (spherical linear interpolation) between the two given input quaternions and the interpolation parameter (0..1).
RadiansConverts degrees to radians.
RoundComputes the round value of the input. Example: round(2.3)=2; round(2.7)=3.
SetArrayNumElementReturns an array equal to the input 'array' but changing the element at position 'index' to the value of 'element'.
SetMatrix4FromComponentsSet transformation matrix according to the given inputs of translation, axis of rotation and angle (in degree), as well as scale. Take note, the rotation axis should not be set to a null vector - otherwise, the resulting matrix is zero.
SetMatrix4FromQuaternionSet transformation matrix according to the given rotation defined by the input quaternion.
SetNumGlobalVariableThis node allows the user to create a reference or a copy of the input pin in global memory to be used within other RealFlow graph through the GetGlobalVariable nodes.
SetSplineThis node replaces the spline with the input spline.
SinEvaluates the sin-function.
SplineAddControlPointThis node adds control points to the spline. The new control points are added at the end of the spline. If you want to insert control points at specific locations use the node "SplineInsertControlPoint".
SplineCreateThis node creates an empty spline inside the graph.
SplineEvaluateThis node evaluates the spline at some specific location. The location is given as the index of the span and the normalized position inside that span.
SplineGetControlPointThis node gets the control points of the spline.
SplineInsertControlPointThis node inserts control points to the spline at some specific. The location is given as the index of the span and the normalized position inside that span.
SqrtComputes the square root value of the input.
SubComputes the substraction of the two input values.
TanEvaluates the tan-function.
TrigonometricFunctionsReturns trigonometrical function of given input value.
Vector3AngleComputes the angle defined by the input vectors (in degrees).
Vector3AreParallelReturns true, if both vectors are parallel, otherwise false.
Vector3ArePerpendicularReturns true, if both vectors are perpendicular, otherwise false.
Vector3CrossComputes the cross product of the input vectors.
Vector3DistanceComputes the distance between the input vectors.
Vector3DotComputes the dot product of the input vectors.
Vector3InterpolateComputes interpolated vector between the first and second vectors given by the blend value. If the clamp value is set, the result is clamped, otherwise not.
Vector3LengthComputes the module of the input 'vector'.
Vector3LengthSquaredComputes the squared length of the input vector.
Vector3NormalizeComputes a normalized copy of the input 'vector'.
Vector3ProjectComputes the projection of vector 0 onto vector 1.
Vector3ReorderReorders the components of the input 'vector'.

 

Abs

This node is executed in parallel according to its input pins size.

Computes the absolute value of the input.

Inputs

NameTypesPassThroughDescription
in
 Numeric

Integer
Integer64
Real
Vector3

 Optional

result

Value to get the absolute value of

Outputs

NameTypesPassThroughDescription
result
 Numeric

Integer
Integer64
Real
Vector3

 Optional

in

Absolute value of 'in'

 

Add

This node is executed in parallel according to its input pins size.

Computes the addition of the two input values.

Inputs

NameTypesPassThroughDescription
in0
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

result

First operator

in1
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

result

Second operator

Outputs

NameTypesPassThroughDescription
result
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

in0
in1

Operation result

 

ArrayIndexBuildFromMask

This node returns an array containing the positions of the input 'mask' with a value of 1.

Inputs

NameTypesPassThroughDescription
maskBitthrough

The mask

Outputs

NameTypesPassThroughDescription
indexInteger 

The index

throughPassThroughmask

The input 'mask'

 

ArrayIndices

This node returns an array filled with integers from 0 to the size of the input array (minus one).

Inputs

NameTypesPassThroughDescription
arrayAll 

The array

Outputs

NameTypesPassThroughDescription
indicesInteger 

Array with indices

 

ArrayNumAverage

Computes the average value of all the input array elements.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4

 

The array

Outputs

NameTypesPassThroughDescription
average
 Numeric

Real
Vector3
Color4

 

The average

 

ArrayNumConcat

This node concatenates the inputs 'array0' and 'array1' into a single 'out' array.

Inputs

NameTypesPassThroughDescription
array0
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

out array

The array0

array1
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

out array

The array1

Outputs

NameTypesPassThroughDescription
out array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

array0
array1

The out array

 

ArrayNumConstant

Returns an array of size 'size' for which all elements have 'constant' as value.

Inputs

NameTypesPassThroughDescription
sizeInteger (1) 

The size of the output array

constant
 Numeric (1)

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The value of the output array elements

Outputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The array

 

ArrayNumFilterByMask

This node returns the elements of the input 'array' at positions specified by the 'mask' parameter.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

result

The array

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
result
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

array

The result

 

ArrayNumFindAllElementIndices

This node returns all positions in the input 'array', which fit to the input 'element' values. .

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The array

element
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The value to find in the input array

Outputs

NameTypesPassThroughDescription
indexInteger 

The index

maskBit 

The mask

 

ArrayNumFindElement

This node is executed in parallel according to its input pins size.

This node returns the first position of appearance of the input 'element' within the input 'array'. If the array does not contain the element, -1 is returned.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The array

element
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The value to find in the input array

start indexInteger 

The first index to search the element from

Outputs

NameTypesPassThroughDescription
indexInteger 

The index

 

ArrayNumInsertElement

This node inserts all elements from the 'element' input into the input 'array' at the position specified by 'position'. If 'position' is equal or lower than 0 then the elements are inserted at the beginning of the array. If 'position' is greater or equal than the inputs 'array' size, elements are appended at the end.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

out array

The array

element
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The value to insert

indexInteger (1) 

The position to insert the input element on

Outputs

NameTypesPassThroughDescription
out array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

array

The out array

 

ArrayNumMinMax

Computes the minimum/maximum values of all the input array elements.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Real
Color4
Vector3
Matrix4

 

The array

Outputs

NameTypesPassThroughDescription
min
 Numeric

Integer
Real
Color4
Vector3
Matrix4

 

The min

index minInteger 

The position of the minimum value of the input 'array'. For vector types, it returns the index of the minimum of the first component!

max
 Numeric

Integer
Real
Color4
Vector3
Matrix4

 

The max

index maxInteger 

The position of the maximum value of the input 'array'. For vector types, it returns the index of the maximum of the first component!

 

ArrayNumMix

This node creates an output array based on the two inputs 'array0' and 'array1' and the input mask. If the mask value equals 0 then the value of 'array0' is used, if the mask value is 1 the value of 'array1' is used.

The size of the output is the same as mask's size.

Inputs

NameTypesPassThroughDescription
array0
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

out array

The array0

array1
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

out array

The array1

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
out array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

array0
array1

The out array

 

ArrayNumPushElement

This node appends all the elements from the 'element' at the end of the input 'array'.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

out array

The array

element
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The value to append at the end

Outputs

NameTypesPassThroughDescription
out array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

array

The out array

 

ArrayNumRandom

Computes an array of the given input 'size' filled with random values in range from 'min' to 'max'.

Inputs

NameTypesPassThroughDescription
sizeInteger (1) 

The size of the output array

min
 Numeric

Integer
Integer64
Real
Vector3
Color4

 

The minimum value of the random output values

max
 Numeric

Integer
Integer64
Real
Vector3
Color4

 

The maximum value of the random output values

seedInteger (1) 

The seed of the random algorithm

Outputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4

 

The array

 

ArrayNumRange

Creates an array of size 'steps' which values are increased uniformly from 'start' to 'end'.

If 'steps' is 1 the single element of the output 'array' is 'start'.

Inputs

NameTypesPassThroughDescription
start
 Numeric (1)

Integer
Integer64
Real
Vector3
Color4
Matrix4

 

The start value of the range

end
 Numeric (1)

Integer
Integer64
Real
Vector3
Color4
Matrix4

 

The end (target) value of the range

stepsInteger (1) 

The size of the output 'array'

Outputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
Matrix4

 

The array

 

ArrayNumRemoveElement

This node removes all elements of the 'by_value' from the input 'array'. The returned mask has the same size as the input 'array' and is set to 0 at removed positions.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

out array

The array

element
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The value to remove all its instances from the input array

Outputs

NameTypesPassThroughDescription
out array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

array

The out array

maskBit 

The mask

 

ArrayNumRemoveIndex

This node removes all input array positions by the 'index' input. .

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

out array

The array

indexInteger 

The positions of the input array to remove

Outputs

NameTypesPassThroughDescription
out array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

array

The out array

 

ArrayNumRemoveRepeatedElements

This node removes all repetitions of elements from the input 'array'. The 'new_to_old' array can be used as an 'index' input for a GetArrayElement-Node to restore the original array. The returned mask has the same size as the input 'array' and is set to 0 at removed positions.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
new to oldInteger 

The new to old

maskBit 

The mask

out array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

array

The out array

 

ArrayNumResize

This node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

out array

The array

sizeInteger (1) 

The size

Outputs

NameTypesPassThroughDescription
out array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

array

The out array

 

ArrayNumReverse

This node reverses the order of the input 'array'.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
out array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

array

The out array

 

ArrayNumSlice

This node returns an array containing the range of the input 'array' from the 'first' position with the given input 'size'.Thus, the output array is a subarray or slice of the input.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

out array

The array

firstInteger (1) 

The position of the element that will be the first of the output array

sizeInteger (1) 

The total number of elements to copy from the input array. If value is negative, all the elements from 'first' are copied to the output array

Outputs

NameTypesPassThroughDescription
out array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

array

The out array

 

ArrayNumSort

This node sorts the input 'array'. The 'old_to_new' array can be used as 'index' input of a GetArrayElement to sort a different array of the same size. The 'new_to_old' array can be used as 'index' input of a GetArrayElement to get the original array order if applied to the sorted one. to apply to other arrays of the same size.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient

 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
old to newInteger 

The old to new

new to oldInteger 

The new to old

out array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient

 Optional

array

The out array

 

ArrayNumSum

Returns the summation of all the elements of the input 'array'.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The array

Outputs

NameTypesPassThroughDescription
sum
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The sum

 

ArraySize

Returns the number of elements of the input array.

Inputs

NameTypesPassThroughDescription
arrayAllthrough

The array

Outputs

NameTypesPassThroughDescription
sizeInteger 

Array size

throughPassThrougharray

The input 'array'

 

ArrayVector3GridFromBox

Computes a three dimensional grid of Vector3 positions based on the input box and number of elements.

The total number of elements of the output is 'count x' * 'count y' * 'count z'. Keep in mind that if any of them is 0 then the output array will be empty 0.

The order of the result is determined by the 'order' input. It determines the order in which the components grow.

For example, if the order is set to XYZ the output is the following:

000

001

010

011

100

101

110

111.

Inputs

NameTypesPassThroughDescription
boxBox (1) 

The bounding box that will contain the generated positions

count xInteger (1) 

The number of elements to create in the X axis of the box

count yInteger (1) 

The number of elements to create in the Y axis of the box

count zInteger (1) 

The number of elements to create in the Z axis of the box

order
 List (1)

XYZ
XZY
YXZ
YZX
ZXY
ZYX

 

The order in which elements are stored in the output array

Outputs

NameTypesPassThroughDescription
arrayVector3 

The array

 

ArrayVector3GridFromSize

Computes a three dimensional grid of Vector3 positions based on the input number of elements and step size.

The total number of elements of the output is 'count x' * 'count y' * 'count z'. Keep in mind that if any of them is 0 then the output array will be empty 0.

The first element is created at the 'origin' position.

The order of the result is determined by the 'order' input. It determines the order in which the components grow.

For example, if the order is set to XYZ the output is the following:

000

001

010

011

100

101

110

111.

Inputs

NameTypesPassThroughDescription
originVector3 (1) 

The position of the first element of the output array

count xInteger (1) 

The number of elements to create in the X direction

count yInteger (1) 

The number of elements to create in the Y direction

count zInteger (1) 

The number of elements to create in the Z direction

stepVector3 (1) 

The distance for every axis between every output position

order
 List (1)

XYZ
XZY
YXZ
YZX
ZXY
ZYX

 

The order in which elements are stored in the output array

Outputs

NameTypesPassThroughDescription
arrayVector3 

The array

 

ArrayVector3RandomFromBox

Computes an array of three dimensional random positions within the input box.

Inputs

NameTypesPassThroughDescription
boxBox (1) 

The bounding box that will contain the generated positions

sizeInteger (1) 

The number of positions to create for the output array

seedInteger (1) 

The seed for the random generated numbers

Outputs

NameTypesPassThroughDescription
arrayVector3 

The array

 

Atan2

This node is executed in parallel according to its input pins size.

Computes the principal value of the arc tangent of y/x (in radians [-pi,+pi]).

Inputs

NameTypesPassThroughDescription
yReal
 Optional

result

Y-Coordinate

xReal
 Optional

result

X-Coordinate

Outputs

NameTypesPassThroughDescription
resultReal
 Optional

y
x

Principal arc tangent of y/x

 

Ceil

This node is executed in parallel according to its input pins size.

Computes the ceil value of the input. Examples: ceil(2.3)=3; ceil(-2.3)=-2.

Inputs

NameTypesPassThroughDescription
in
 Numeric

Real
Vector3

 

Value to get the ceil value of

Outputs

NameTypesPassThroughDescription
result
 Numeric

Real
Vector3

 

Ceil value of 'in'

 

Clamp

This node is executed in parallel according to its input pins size.

Clamps the input value according to the given min and max values.

Inputs

NameTypesPassThroughDescription
in
 Numeric

Real
Integer
Integer64
Vector3
Color4

 Optional

result

The in

max
 Numeric

Real
Integer
Integer64
Vector3
Color4

 

The max

min
 Numeric

Real
Integer
Integer64
Vector3
Color4

 

The min

Outputs

NameTypesPassThroughDescription
result
 Numeric

Real
Integer
Integer64
Vector3
Color4

 Optional

in

The result

 

ColorGradientClear

Removes all the color knots from the input color gradient.

Inputs

NameTypesPassThroughDescription
inColorGradient
 Optional

out

The in

Outputs

NameTypesPassThroughDescription
outColorGradient
 Optional

in

The out

 

ColorGradientFromArrayKnots

Creates a single color gradient from the input values. The number of resulting color knots is determined by the size of the 'position' parameter.

Inputs

NameTypesPassThroughDescription
positionReal 

The positions of the color knots of the gradient. The size of this parameter determines the amount of control points of the resulting color gradient

colorColor4 

The colors of the color knots of the gradient

biasReal 

The bias between two consecutive control points

Outputs

NameTypesPassThroughDescription
gradientColorGradient 

The gradient

 

ColorGradientGetArrayKnots

Returns the values of the input color gradient.

Inputs

NameTypesPassThroughDescription
gradientColorGradient (1)through

The gradient

Outputs

NameTypesPassThroughDescription
knot countInteger 

The number of color knots of the color gradient

positionReal 

The position of every color knot of the color gradient

colorColor4 

The color of every color knot of the color gradient

biasReal 

The bias of every color knot of the color gradient. For convenience, the last one is set to 0.5 to make this array of the same size as the rest

throughPassThroughgradient

The input 'gradient'

 

ColorGradientGetKnot

Returns the values of the input color gradient color knot.

Inputs

NameTypesPassThroughDescription
gradientColorGradientthrough

The gradient

indexInteger 

The index of the color knot of the color gradient to get the values from

Outputs

NameTypesPassThroughDescription
positionReal 

The position of the color knot of the color gradient

colorColor4 

The color of the color knot of the color gradient

biasReal 

The bias of the color knot of the color gradient

throughPassThroughgradient

The input 'gradient'

 

ColorGradientKnotCount

Returns the number of color knots of the input color gradient.

Inputs

NameTypesPassThroughDescription
gradientColorGradientthrough

The gradient

Outputs

NameTypesPassThroughDescription
countInteger 

The number of color knots of the color gradient

throughPassThroughgradient

The input 'gradient'

 

ColorGradientRemoveKnot

Removes an existing color knot from the gradient.

Inputs

NameTypesPassThroughDescription
gradientColorGradient
 Optional

out gradient

The gradient

indexInteger 

The index of the color knot of the color gradient to be removed

Outputs

NameTypesPassThroughDescription
out gradientColorGradient
 Optional

gradient

The out gradient

 

ColorGradientReverse

Flips the order of all the color and bias knots of the color gradient (like a mirror).

Inputs

NameTypesPassThroughDescription
inColorGradient
 Optional

out

The in

Outputs

NameTypesPassThroughDescription
outColorGradient
 Optional

in

The out

 

ColorGradientSetKnot

Changes an existing color knot of the input color gradient. Only connected inputs actually change the color knot values.

Inputs

NameTypesPassThroughDescription
gradientColorGradient
 Optional

out gradient

The gradient

indexInteger 

The index of the color knot of the color gradient to set the values to

positionReal 

The new position of the color knot of the gradient

colorColor4 

The new color of the color knot of the gradient

biasReal 

The new bias of the color knot of the gradient. Last color knot bias is ignored

Outputs

NameTypesPassThroughDescription
out gradientColorGradient
 Optional

gradient

The out gradient

 

Cos

This node is executed in parallel according to its input pins size.

Evaluates the cos-function.

Inputs

NameTypesPassThroughDescription
inReal
 Optional

result

The in

Outputs

NameTypesPassThroughDescription
resultReal
 Optional

in

The result

 

Degrees

This node is executed in parallel according to its input pins size.

Converts radians to degrees.

Inputs

NameTypesPassThroughDescription
in
 Numeric

Real
Vector3

 

Input in radians

Outputs

NameTypesPassThroughDescription
result
 Numeric

Real
Vector3

 

Output in degrees

 

Div

This node is executed in parallel according to its input pins size.

Computes the division of the two input values.

Inputs

NameTypesPassThroughDescription
in0
 Numeric

Integer
Integer64
Real
Vector3
Color4

 Optional

result

First operator

in1
 Numeric

Integer
Integer64
Real
Vector3
Color4

 Optional

result

Second operator

Outputs

NameTypesPassThroughDescription
result
 Numeric

Integer
Integer64
Real
Vector3
Color4

 Optional

in0
in1

Operation result

 

EvalColorGradient

This node is executed in parallel according to its input pins size.

Evaluate a color gradient at position 't'.

Inputs

NameTypesPassThroughDescription
gradientColorGradient 

The gradient

tReal 

The position where the color gradient will be evaluated. Generally between 0.0 and 1.0

Outputs

NameTypesPassThroughDescription
colorColor4 

The color of the gradient at 't'

 

Exp

This node is executed in parallel according to its input pins size.

Computes the exponent value of the input.

Inputs

NameTypesPassThroughDescription
inReal
 Optional

result

Value to get the exponent value of

Outputs

NameTypesPassThroughDescription
resultReal
 Optional

in

Exponent value of 'in'

 

Floor

This node is executed in parallel according to its input pins size.

Computes the floor value of the input. Examples: floor(2.3)=2; floor(-1.3)=-2.

Inputs

NameTypesPassThroughDescription
in
 Numeric

Real
Vector3

 

Value to get the floor value of

Outputs

NameTypesPassThroughDescription
result
 Numeric

Real
Vector3

 

Floor value of 'in'

 

GetArrayNum2DElement

This node returns the elements of the 2D input 'array' at positions specified by the x and y parameters.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The array

widthInteger 

The width

xInteger 

The x

yInteger 

The y

Outputs

NameTypesPassThroughDescription
element
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The element

indexInteger 

The index

 

GetArrayNum2DElementByUV

This node returns the bilinearly interpolated element of the 2D-input 'array' with the given width at the normalized coordinates x,y (0<x

Inputs

NameTypesPassThroughDescription
array
 Numeric

Real
Vector3
Color4
ColorGradient
Matrix4
Quaternion

 

The array

widthInteger 

The width

xReal 

The x

yReal 

The y

Outputs

NameTypesPassThroughDescription
element
 Numeric

Real
Vector3
Color4
ColorGradient
Matrix4
Quaternion

 

The element

 

GetArrayNum3DElement

Returns the element of the input array at position ('index x','index y','index z').

The input array is a three dimensional array encoded into a one dimensional array. Therefore, the size of the 3D array is necessary to access its elements. 'size x' * 'size y' * 'size z' must be the size of the input array.

The order in which the elements are accessed is determined by the 'order' input.

For example, if the order is set to XYZ the input is as follows:

000

001

010

011

100

101

110

111

.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The array with elements stored in a 3D grid

index xInteger 

The X position of the element to query

index yInteger 

The Y position of the element to query

index zInteger 

The Z position of the element to query

size xInteger (1) 

The width of the input array

size yInteger (1) 

The height of the input array

size zInteger (1) 

The depth of the input array

order
 List (1)

XYZ
XZY
YXZ
YZX
ZXY
ZYX

 

The order in which elements are stored in the input array

Outputs

NameTypesPassThroughDescription
element
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The element

indexInteger 

The index of the element for the one dimensional access

 

GetArrayNumElement

This node returns the elements of the input 'array' at positions specified by the 'index' parameter.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The array

indexInteger 

The index

Outputs

NameTypesPassThroughDescription
element
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The element

 

GetNumGlobalVariable

This node returns a reference to previously stored variables in global memory (using the SetGlobalVariable-Nodes).

Inputs

NameTypesPassThroughDescription
nameString (1) 

The name

Outputs

NameTypesPassThroughDescription
out
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The out

 

GetSpline

This node gets the spline of the input node.

Inputs

NameTypesPassThroughDescription
nodeRealFlow Node 

The node

Outputs

NameTypesPassThroughDescription
splineSpline 

The spline

 

IsNull

Returns for every element of the input 'array' if it is NULL or not.

Inputs

NameTypesPassThroughDescription
arrayAllthrough

The array

Outputs

NameTypesPassThroughDescription
bitBit 

True for elements that are NULL

throughPassThrougharray

The input 'array'

 

Log

This node is executed in parallel according to its input pins size.

Computes the natural logarithm value of the input.

Inputs

NameTypesPassThroughDescription
inReal
 Optional

result

Value to get the log value of

Outputs

NameTypesPassThroughDescription
resultReal
 Optional

in

Log value of 'in'

 

Log10

This node is executed in parallel according to its input pins size.

Computes the common (base-10) logarithm value of the input.

Inputs

NameTypesPassThroughDescription
inReal
 Optional

result

Value to get the log10 value of

Outputs

NameTypesPassThroughDescription
resultReal
 Optional

in

Log10 value of 'in'

 

Matrix4CreateRotation

This node is executed in parallel according to its input pins size.

Set rotation matrix according to provided axis and angle given by input vector and input angle (in degrees).

Inputs

NameTypesPassThroughDescription
vectorVector3 

The vector

degreeReal 

The degree

Outputs

NameTypesPassThroughDescription
matrixMatrix4 

The matrix

 

Matrix4CreateRotationEuler

This node is executed in parallel according to its input pins size.

Set rotation matrix according to euler angles (in degrees) given by input vector.

Inputs

NameTypesPassThroughDescription
angleVector3 

The angle

order
 List (1)

XYZ
YZX
ZXY
ZYX
XZY
YXZ

 

The rotation order of the matrix

clockwiseBit (1) 

The positive (counter clock wise) or negative (clock wise) rotation convention of the matrix

Outputs

NameTypesPassThroughDescription
matrixMatrix4 

The matrix

 

Matrix4CreateScale

This node is executed in parallel according to its input pins size.

Set scale matrix according to input vector. Scaling in x,y and z-direction is defined by x,y and z components of the input vector.

Inputs

NameTypesPassThroughDescription
vectorVector3 

The vector

Outputs

NameTypesPassThroughDescription
matrixMatrix4 

The matrix

 

Matrix4CreateTranslation

This node is executed in parallel according to its input pins size.

Set translation matrix according to input vector.

Inputs

NameTypesPassThroughDescription
vectorVector3 

The vector

Outputs

NameTypesPassThroughDescription
matrixMatrix4 

The matrix

 

Matrix4Determinant

This node is executed in parallel according to its input pins size.

Computes the determinant of the given matrix.

Inputs

NameTypesPassThroughDescription
matrixMatrix4 

The matrix

Outputs

NameTypesPassThroughDescription
determinantReal 

The determinant

 

Matrix4GetEulerAngle

This node is executed in parallel according to its input pins size.

Computes the Euler angles (in degrees) of the given input matrix. .

Inputs

NameTypesPassThroughDescription
matrixMatrix4 

The matrix

order
 List (1)

XYZ
YZX
ZXY
ZYX
XZY
YXZ

 

The rotation order of the matrix

clockwiseBit (1) 

The positive (counter clock wise) or negative (clock wise) rotation convention of the matrix

Outputs

NameTypesPassThroughDescription
vectorVector3 

The vector

 

Matrix4Inverse

This node is executed in parallel according to its input pins size.

Computes the inverse of the given matrix.

Inputs

NameTypesPassThroughDescription
matrixMatrix4
 Optional

result

The matrix

Outputs

NameTypesPassThroughDescription
resultMatrix4
 Optional

matrix

The result

 

Matrix4MulVector3

This node is executed in parallel according to its input pins size.

Computes the product of the input matrix and the input vector. The vector is handled as four-dimensional vector (x,y,z,1).

Additionally, this node can handle a single matrix and an array of vectors, which might be useful for transforming positions or velocities of particles.

Inputs

NameTypesPassThroughDescription
vectorVector3
 Optional

out vector

The vector

matrixMatrix4 

The matrix

Outputs

NameTypesPassThroughDescription
out vectorVector3
 Optional

vector

The out vector

 

Matrix4Transpose

This node is executed in parallel according to its input pins size.

Computes the transposed of the given matrix.

Inputs

NameTypesPassThroughDescription
matrixMatrix4
 Optional

result

The matrix

Outputs

NameTypesPassThroughDescription
resultMatrix4
 Optional

matrix

The result

 

Mod

Computes module of the input value.

Inputs

NameTypesPassThroughDescription
in
 Numeric

Color4
Vector3
Real
Integer
Integer64

 

The in

mod
 Numeric

Real
Integer
Integer64

 

The mod

Outputs

NameTypesPassThroughDescription
result
 Numeric

Color4
Vector3
Real
Integer
Integer64

 

The result

 

Mul

This node is executed in parallel according to its input pins size.

Computes the product of the two input values.

Inputs

NameTypesPassThroughDescription
in0
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

result

First operator

in1
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

result

Second operator

Outputs

NameTypesPassThroughDescription
result
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

in0
in1

Operation result

 

NumCopy

This node duplicates the value of 'in' to the output 'copy'.

Inputs

NameTypesPassThroughDescription
in
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The value to duplicate

Outputs

NameTypesPassThroughDescription
copy
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

A copy of 'in'

 

NumInterpolateBezier

Computes bezier interpolated value between the array of supporting points.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Real
Vector3
Color4
Quaternion

 

Array of supporting points

tangents
 Numeric

Real
Vector3
Color4
Quaternion

 

Array of same size as supporting points, defining the tangent per point

tReal 

Parameter to access the curve (0..1)

tangent influenceReal (1) 

The tangent influence

Outputs

NameTypesPassThroughDescription
result
 Numeric

Real
Vector3
Color4
Quaternion

 

The result

 

NumInterpolateCubic

Computes cubic interpolated value between the array of supporting points.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Real
Vector3
Color4
Quaternion

 

Array of supporting points

tReal 

Parameter to access he curve (0..1)

equal steppingBit (1) 

Enables constant distances within the discretization of the curve. See also the following parameter, to tweak quality of equal distances..

equal stepping paramInteger (1) 

No of discretization steps to determine constant distances. Good values lie between (50...2000), depending on the length of the curve. Higher values mean higher precision, but may slow down the calculation

Outputs

NameTypesPassThroughDescription
result
 Numeric

Real
Vector3
Color4
Quaternion

 

The result

 

NumInterpolateHermite

Computes hermite interpolated value between the array of supporting points.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Real
Vector3
Color4
Quaternion

 

Array of supporting points

tReal 

Parameter to access he curve (0..1)

tensionReal (1) 

Tension can be used to tighten up the curvature at the supporting points. 1 is high, 0 normal, -1 is low

biasReal (1) 

The bias can be used to twist the curve about the known points. 0 is even, >0 is towards first segment, <0 towards the other

equal steppingBit (1) 

Enables constant distances within the discretization of the curve. See also the following parameter, to tweak quality of equal distances..

equal stepping paramInteger (1) 

No of discretization steps to determine constant distances. Good values lie between (50...2000), depending on the length of the curve. Higher values mean higher precision, but may slow down the calculation

Outputs

NameTypesPassThroughDescription
result
 Numeric

Real
Vector3
Color4
Quaternion

 

The result

 

NumInterpolateLinear

This node is executed in parallel according to its input pins size.

Computes linearly interpolated value between the first and second value given by the blend value. If the clamp value is set, the result is clamped according to the first and second value, otherwise not.

Inputs

NameTypesPassThroughDescription
first
 Numeric

Real
Vector3
Color4
Matrix4

 

First value to be interpolated

second
 Numeric

Real
Vector3
Color4
Matrix4

 

Second Value to be interpolated

blendReal 

The blending value between first and second value

clampBit (1) 

Determines if the values are clamped according to the first and second value

Outputs

NameTypesPassThroughDescription
result
 Numeric

Real
Vector3
Color4
Matrix4

 

The result

 

NumMapRange

This node is executed in parallel according to its input pins size.

Tranforms the in value from 'range in' into the 'range out'. May be used, to normalize values within a given range (e.g. range out=0..1) or to determine image coordinates from a global position (e.g. range out=0..imageWidth).

Inputs

NameTypesPassThroughDescription
value
 Numeric

Real
Vector3
Color4

 Optional

result

The value

in range min
 Numeric

Real
Vector3
Color4

 

The in range min

in range max
 Numeric

Real
Vector3
Color4

 

The in range max

out range min
 Numeric

Real
Vector3
Color4

 

The out range min

out range max
 Numeric

Real
Vector3
Color4

 

The out range max

Outputs

NameTypesPassThroughDescription
result
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

value

The result

 

Pow

This node is executed in parallel according to its input pins size.

Computes the base raised to the power exponent.

Inputs

NameTypesPassThroughDescription
baseReal
 Optional

result

Base

exponentReal
 Optional

result

Exponent

Outputs

NameTypesPassThroughDescription
resultReal
 Optional

base
exponent

Power

 

QuaternionConjugate

This node is executed in parallel according to its input pins size.

Computes the conjugate quaternion of the given quaternion.

Inputs

NameTypesPassThroughDescription
quaternionQuaternion
 Optional

conjugate

The quaternion

Outputs

NameTypesPassThroughDescription
conjugateQuaternion
 Optional

quaternion

The conjugate

 

QuaternionDot

Computes the dot-product of the given quaternions.

Inputs

NameTypesPassThroughDescription
in0Quaternion 

The in0

in1Quaternion 

The in1

Outputs

NameTypesPassThroughDescription
dotReal 

The dot

 

QuaternionInverse

This node is executed in parallel according to its input pins size.

Computes the inverse of the given quaternion.

Inputs

NameTypesPassThroughDescription
quaternionQuaternion
 Optional

inverse

The quaternion

Outputs

NameTypesPassThroughDescription
inverseQuaternion
 Optional

quaternion

The inverse

 

QuaternionNegate

This node is executed in parallel according to its input pins size.

Computes the negative of the given quaternion.

Inputs

NameTypesPassThroughDescription
quaternionQuaternion
 Optional

negative

The quaternion

Outputs

NameTypesPassThroughDescription
negativeQuaternion
 Optional

quaternion

The negative

 

QuaternionNormalize

This node is executed in parallel according to its input pins size.

Computes the norm of the given quaternion.

Inputs

NameTypesPassThroughDescription
quaternionQuaternion
 Optional

norm

The quaternion

Outputs

NameTypesPassThroughDescription
normQuaternion
 Optional

quaternion

The norm

 

QuaternionSlerp

This node is executed in parallel according to its input pins size.

Slerp-interpolation (spherical linear interpolation) between the two given input quaternions and the interpolation parameter (0..1).

Inputs

NameTypesPassThroughDescription
in0Quaternion
 Optional

slerp

The in0

in1Quaternion
 Optional

slerp

The in1

paramReal 

The param

Outputs

NameTypesPassThroughDescription
slerpQuaternion
 Optional

in0
in1

The slerp

 

Radians

This node is executed in parallel according to its input pins size.

Converts degrees to radians.

Inputs

NameTypesPassThroughDescription
in
 Numeric

Real
Vector3

 

Input in degrees

Outputs

NameTypesPassThroughDescription
result
 Numeric

Real
Vector3

 

Output in radians

 

Round

This node is executed in parallel according to its input pins size.

Computes the round value of the input. Example: round(2.3)=2; round(2.7)=3.

Inputs

NameTypesPassThroughDescription
in
 Numeric

Real
Vector3

 

Value to get the round value of

Outputs

NameTypesPassThroughDescription
result
 Numeric

Real
Vector3

 

Round value of 'in'

 

SetArrayNumElement

Returns an array equal to the input 'array' but changing the element at position 'index' to the value of 'element'.

If input 'array' is not internally connected to the output, the output 'outArray' is a copy of the input.

Inputs

NameTypesPassThroughDescription
array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

out array

The array

indexInteger 

The position of the array element to change

element
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The value for the array element

Outputs

NameTypesPassThroughDescription
out array
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

array

The changed array

 

SetMatrix4FromComponents

This node is executed in parallel according to its input pins size.

Set transformation matrix according to the given inputs of translation, axis of rotation and angle (in degree), as well as scale. Take note, the rotation axis should not be set to a null vector - otherwise, the resulting matrix is zero.

Inputs

NameTypesPassThroughDescription
translationVector3 

The translation

rotation axisVector3 

The rotation axis

rotation degreeReal 

The rotation degree

scaleVector3 

The scale

Outputs

NameTypesPassThroughDescription
matrixMatrix4 

The matrix

 

SetMatrix4FromQuaternion

This node is executed in parallel according to its input pins size.

Set transformation matrix according to the given rotation defined by the input quaternion.

Inputs

NameTypesPassThroughDescription
quaternionQuaternion 

The quaternion

Outputs

NameTypesPassThroughDescription
matrixMatrix4 

The matrix

 

SetNumGlobalVariable

This node allows the user to create a reference or a copy of the input pin in global memory to be used within other RealFlow graph through the GetGlobalVariable nodes.

Inputs

NameTypesPassThroughDescription
nameString (1) 

The name

in
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

through

The in

store copyBit (1) 

The store copy

Outputs

NameTypesPassThroughDescription
throughPassThroughin

The value connected to the input

out copy
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 

The value copied in memory in case a copy has been performed. The same input value otherwise

 

SetSpline

This node replaces the spline with the input spline.

Inputs

NameTypesPassThroughDescription
nodeRealFlow Nodeout node

The node

splineSpline 

The spline

Outputs

NameTypesPassThroughDescription
out nodePassThroughnode

The out node

 

Sin

This node is executed in parallel according to its input pins size.

Evaluates the sin-function.

Inputs

NameTypesPassThroughDescription
inReal
 Optional

result

The in

Outputs

NameTypesPassThroughDescription
resultReal
 Optional

in

The result

 

SplineAddControlPoint

This node adds control points to the spline. The new control points are added at the end of the spline. If you want to insert control points at specific locations use the node "SplineInsertControlPoint".

Inputs

NameTypesPassThroughDescription
splineSpline (1)out spline

The spline

positionVector3 

The position of the control point

handle in positionVector3 

The position of the control point handle in

handle out positionVector3 

The position of the control point handle out

Outputs

NameTypesPassThroughDescription
out splinePassThroughspline

The out spline

 

SplineCreate

This node creates an empty spline inside the graph.

This way it is possible to use splines inside graphs without getting them from an existing node.

Outputs

NameTypesPassThroughDescription
splineSpline 

The spline

 

SplineEvaluate

This node evaluates the spline at some specific location. The location is given as the index of the span and the normalized position inside that span.

Inputs

NameTypesPassThroughDescription
splineSpline (1) 

The spline to evaluate

spanInteger (1) 

The index of the span of the spline starting at 0

tReal 

The normalized position inside the span

Outputs

NameTypesPassThroughDescription
pointVector3 

The point at the location

 

SplineGetControlPoint

This node gets the control points of the spline.

Inputs

NameTypesPassThroughDescription
splineSpline (1) 

The spline

Outputs

NameTypesPassThroughDescription
positionVector3 

The position of the control point.

handle in positionVector3 

The position of the control point handle in

handle out positionVector3 

The position of the control point handle out

 

SplineInsertControlPoint

This node inserts control points to the spline at some specific. The location is given as the index of the span and the normalized position inside that span.

Inputs

NameTypesPassThroughDescription
splineSpline (1)out spline

The spline

spanInteger (1) 

The index of the span of the spline starting at 0

tReal 

The normalized position inside the span

Outputs

NameTypesPassThroughDescription
out splinePassThroughspline

The out spline

 

Sqrt

This node is executed in parallel according to its input pins size.

Computes the square root value of the input.

Inputs

NameTypesPassThroughDescription
in
 Numeric

Real
Integer
Integer64

 Optional

result

Value to get the sqrt value of

Outputs

NameTypesPassThroughDescription
resultReal
 Optional

in

Sqrt value of 'in'

 

Sub

This node is executed in parallel according to its input pins size.

Computes the substraction of the two input values.

Inputs

NameTypesPassThroughDescription
in0
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

result

First operator

in1
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

result

Second operator

Outputs

NameTypesPassThroughDescription
result
 Numeric

Integer
Integer64
Real
Vector3
Color4
ColorGradient
Quaternion
Matrix4

 Optional

in0
in1

Operation result

 

Tan

This node is executed in parallel according to its input pins size.

Evaluates the tan-function.

Inputs

NameTypesPassThroughDescription
inReal
 Optional

result

The in

Outputs

NameTypesPassThroughDescription
resultReal
 Optional

in

The result

 

TrigonometricFunctions

This node is executed in parallel according to its input pins size.

Returns trigonometrical function of given input value.

Defined functions are:

cos, sin, tan, acos, asin, atan, cosh, sinh, tanh.

.

Inputs

NameTypesPassThroughDescription
function
 List

cos
sin
tan
acos
asin
atan
cosh
sinh
tanh

 

The function

inReal
 Optional

result

Input value for selected function

Outputs

NameTypesPassThroughDescription
resultReal
 Optional

in

Result of the selected function (see below)

 

Vector3Angle

This node is executed in parallel according to its input pins size.

Computes the angle defined by the input vectors (in degrees).

Inputs

NameTypesPassThroughDescription
vector0Vector3 

The vector0

vector1Vector3 

The vector1

Outputs

NameTypesPassThroughDescription
angleReal 

The angle

 

Vector3AreParallel

This node is executed in parallel according to its input pins size.

Returns true, if both vectors are parallel, otherwise false.

Inputs

NameTypesPassThroughDescription
vector0Vector3 

The vector0

vector1Vector3 

The vector1

Outputs

NameTypesPassThroughDescription
bitBit 

The bit

 

Vector3ArePerpendicular

This node is executed in parallel according to its input pins size.

Returns true, if both vectors are perpendicular, otherwise false.

Inputs

NameTypesPassThroughDescription
vector0Vector3 

The vector0

vector1Vector3 

The vector1

Outputs

NameTypesPassThroughDescription
bitBit 

The bit

 

Vector3Cross

This node is executed in parallel according to its input pins size.

Computes the cross product of the input vectors.

Inputs

NameTypesPassThroughDescription
vector0Vector3
 Optional

cross

The vector0

vector1Vector3
 Optional

cross

The vector1

Outputs

NameTypesPassThroughDescription
crossVector3
 Optional

vector0
vector1

The cross

 

Vector3Distance

This node is executed in parallel according to its input pins size.

Computes the distance between the input vectors.

Inputs

NameTypesPassThroughDescription
vector0Vector3 

The vector0

vector1Vector3 

The vector1

Outputs

NameTypesPassThroughDescription
distanceReal 

The distance

 

Vector3Dot

This node is executed in parallel according to its input pins size.

Computes the dot product of the input vectors.

Inputs

NameTypesPassThroughDescription
vector0Vector3 

The vector0

vector1Vector3 

The vector1

Outputs

NameTypesPassThroughDescription
dotReal 

The dot

 

Vector3Interpolate

This node is executed in parallel according to its input pins size.

Computes interpolated vector between the first and second vectors given by the blend value. If the clamp value is set, the result is clamped, otherwise not.

Inputs

NameTypesPassThroughDescription
firstVector3
 Optional

result

First value to be interpolated

secondVector3
 Optional

result

Second Value to be interpolated

blendReal 

The blending value between first and second value

clampBit 

Determines if the values are clamped according to the first and second value

Outputs

NameTypesPassThroughDescription
resultVector3
 Optional

first
second

The result

 

Vector3Length

This node is executed in parallel according to its input pins size.

Computes the module of the input 'vector'.

Inputs

NameTypesPassThroughDescription
vectorVector3 

The vector

Outputs

NameTypesPassThroughDescription
lengthReal 

The length

 

Vector3LengthSquared

This node is executed in parallel according to its input pins size.

Computes the squared length of the input vector.

Inputs

NameTypesPassThroughDescription
vectorVector3 

The vector

Outputs

NameTypesPassThroughDescription
length squaredReal 

The length squared

 

Vector3Normalize

This node is executed in parallel according to its input pins size.

Computes a normalized copy of the input 'vector'.

Inputs

NameTypesPassThroughDescription
vectorVector3
 Optional

normalized

The vector

Outputs

NameTypesPassThroughDescription
normalizedVector3
 Optional

vector

The normalized

 

Vector3Project

This node is executed in parallel according to its input pins size.

Computes the projection of vector 0 onto vector 1.

Inputs

NameTypesPassThroughDescription
vector0Vector3
 Optional

projection

The vector0

vector1Vector3
 Optional

projection

The vector1

Outputs

NameTypesPassThroughDescription
projectionVector3
 Optional

vector0
vector1

The projection

 

Vector3Reorder

This node is executed in parallel according to its input pins size.

Reorders the components of the input 'vector'.

Inputs

NameTypesPassThroughDescription
vectorVector3
 Optional

result

The vector

reorder
 List (1)

XZY
YXZ
YZX
ZXY
ZYX

 

The reorder

Outputs

NameTypesPassThroughDescription
resultVector3
 Optional

vector

The result