Field

In RealFlow, fields are used for a wide variety of applications and they come in different flavors. In a distance field we know the distance of an arbitrary point from an object's surface. We can also say whether this point is inside or outside the object. This information is important for interactions between Hybrido fluids and objects. Vector fields, on the other hand, are mainly used with forces. These fields describe the strength and orientation of a force in 3D space. A good example is RealFlow's "Noise Field" daemon. Finally, there are real fields, also called scalar fields. Here, every point of the field has a real value assigned. The representation of a real field in 3D space is a surface.

With the members of the "Field" class you can not only create these fields, but even perform operations and calculations. When field nodes are connected to elements of the "Display" class it is also possible to show them in RealFlow's viewport.

Nodes

NameDescription
AddMistDensityThis node combines the density value of the mist node at the input position and the input density.
ArrayDistanceFieldConcatThis node concatenates the inputs 'array0' and 'array1' into a single 'out' array.
ArrayDistanceFieldConstantThis node returns a constant array.
ArrayDistanceFieldFilterByMaskThis node returns the elements of the input 'array' at positions specified by the 'mask' parameter.
ArrayDistanceFieldFindAllElementIndicesThis node returns all positions in the input 'array', which fit to the input 'element' values.
ArrayDistanceFieldFindElementThis 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.
ArrayDistanceFieldInsertElementThis 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.
ArrayDistanceFieldMixThis 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.
ArrayDistanceFieldPushElementThis node appends all the elements from the 'element' at the end of the input 'array'.
ArrayDistanceFieldRemoveElementThis 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.
ArrayDistanceFieldRemoveIndexThis node removes all input array positions by the 'index' input.
ArrayDistanceFieldRemoveRepeatedElementsThis 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.
ArrayDistanceFieldResizeThis node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly.
ArrayDistanceFieldReverseThis node reverses the order of the input 'array'.
ArrayDistanceFieldSliceThis 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.
ArrayRealFieldConcatThis node concatenates the inputs 'array0' and 'array1' into a single 'out' array.
ArrayRealFieldConstantThis node returns a constant array.
ArrayRealFieldFilterByMaskThis node returns the elements of the input 'array' at positions specified by the 'mask' parameter.
ArrayRealFieldFindAllElementIndicesThis node returns all positions in the input 'array', which fit to the input 'element' values.
ArrayRealFieldFindElementThis 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.
ArrayRealFieldInsertElementThis 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.
ArrayRealFieldMixThis 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.
ArrayRealFieldPushElementThis node appends all the elements from the 'element' at the end of the input 'array'.
ArrayRealFieldRemoveElementThis 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.
ArrayRealFieldRemoveIndexThis node removes all input array positions by the 'index' input.
ArrayRealFieldRemoveRepeatedElementsThis 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.
ArrayRealFieldResizeThis node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly.
ArrayRealFieldReverseThis node reverses the order of the input 'array'.
ArrayRealFieldSliceThis 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.
ArrayVector3FieldConcatThis node concatenates the inputs 'array0' and 'array1' into a single 'out' array.
ArrayVector3FieldConstantThis node returns a constant array.
ArrayVector3FieldFilterByMaskThis node returns the elements of the input 'array' at positions specified by the 'mask' parameter.
ArrayVector3FieldFindAllElementIndicesThis node returns all positions in the input 'array', which fit to the input 'element' values.
ArrayVector3FieldFindElementThis 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.
ArrayVector3FieldInsertElementThis 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.
ArrayVector3FieldMixThis 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.
ArrayVector3FieldPushElementThis node appends all the elements from the 'element' at the end of the input 'array'.
ArrayVector3FieldRemoveElementThis 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.
ArrayVector3FieldRemoveIndexThis node removes all input array positions by the 'index' input.
ArrayVector3FieldRemoveRepeatedElementsThis 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.
ArrayVector3FieldResizeThis node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly.
ArrayVector3FieldReverseThis node reverses the order of the input 'array'.
ArrayVector3FieldSliceThis 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.
DistanceFieldCopyThis node duplicates the input value to the output. If you remove this node the output copy will not exist in the graph anymore.
FieldCurvatureSampleReturns the curvature of the input 'field' at the specified 'position'.
FieldDistanceCreateFromMeshCreates a distance field from the input mesh specified by 'inMesh'.
FieldDistanceCreateFromPointsCreates a distance field from the provided input 'positions', specified by the input parameters.
FieldDistanceIntersectionPerforms an intersection operation between two distance fields. The intersection operation is max(d0,d1).
FieldDistanceInvertPerforms an invert operation on the distance field.
FieldDistanceSubstractionPerforms a substraction operation between two distance fields. The substraction operation is max(-d0,d1).
FieldDistanceUnionPerforms a union operation between two distance fields. The union operation is min(d0,d1).
FieldDivergenceCreateComputes the divergence field of the input 'vector field'.
FieldFindMinMaxComputes the minimum and maximum values of the input field.
FieldForceAddThis node adds a force field to the node.
FieldGradientCreateComputes the gradient field of the input 'distance field'.
FieldMaskCreateFromDistanceFieldCreates a mask field from a distance field. The volume inside the distance field will be filled with 1 values and the volume outside with 0 values. You can change this behaviour by setting the 'reverse' input to 'yes'.
FieldMixCreates a field that takes values from the 'field0' in those cells where the mask field has a value of 1 and takes values from the 'field1' where the mask field has a value of 0. The dimensions of the new field are the same than the mask field. The 'background' value is used when the sample is out of the input fields bounds.
FieldNegateNegates the values of the input fields. i.e. their values are multiplied by -1.
FieldNormalizedCreateComputes the normalized field of the input 'vector field'.
FieldRealCreateCreates a real field.
FieldRealCreateConstantCreates a real field with a constant value.
FieldRealSweepSweeps a real field throught a distance field.
FieldSampleReturns the value of the input field at the specified position. If the position is out of the field box the default value is given.
FieldScalarMesherComputes a mesh for the input field at the specified isovalue.
FieldVector3CreateCreates a vector field.
FieldVector3CreateConstantCreates a vector field with a constant value.
FieldVector3SweepSweeps a vector field throught a distance field.
FieldVelocitySetThis node sets a velocity field for the input node.
FieldViscositySetThis node sets a viscosity field for the input node.
GetArrayDistanceFieldElementThis node returns the elements of the input 'array' at positions specified by the 'index' parameter.
GetArrayRealFieldElementThis node returns the elements of the input 'array' at positions specified by the 'index' parameter.
GetArrayVector3FieldElementThis node returns the elements of the input 'array' at positions specified by the 'index' parameter.
GetDistanceFieldThis node gets a distance field from the input node.
GetDistanceFieldGlobalVariableThis node returns a reference to previously stored variables in global memory (using the SetGlobalVariable-Nodes).
GetFieldBoundingBoxReturns the bounding box of the specified input field.
GetFieldInfoReturns information about the input field.
GetRealFieldThis node gets a field of type Real from the input node.
GetRealFieldGlobalVariableThis node returns a reference to previously stored variables in global memory (using the SetGlobalVariable-Nodes).
GetVector3FieldThis node gets a field of type Vector3 from the input node.
GetVector3FieldGlobalVariableThis node returns a reference to previously stored variables in global memory (using the SetGlobalVariable-Nodes).
RealFieldCopyThis node duplicates the input value to the output. If you remove this node the output copy will not exist in the graph anymore.
SetArrayDistanceFieldElementThis node returns the elements of the input 'array' at positions specified by the 'index' parameter.
SetArrayRealFieldElementThis node returns the elements of the input 'array' at positions specified by the 'index' parameter.
SetArrayVector3FieldElementThis node returns the elements of the input 'array' at positions specified by the 'index' parameter.
SetDistanceFieldGlobalVariableThis 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.
SetMistDensityThis node sets the density value of the mist node at the input position.
SetRealFieldThis node replaces the values of a field of type Real from the input node.
SetRealFieldGlobalVariableThis 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.
SetVector3FieldGlobalVariableThis 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.
Vector3FieldCopyThis node duplicates the input value to the output. If you remove this node the output copy will not exist in the graph anymore.

 

AddMistDensity

This node combines the density value of the mist node at the input position and the input density.

Inputs

NameTypesPassThroughDescription
nodeRealFlow Nodethrough

The node

positionVector3 

The position of the mist node field where the density will be added

densityReal 

The density value to add

Outputs

NameTypesPassThroughDescription
throughPassThroughnode

The input 'node'

 

ArrayDistanceFieldConcat

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

Inputs

NameTypesPassThroughDescription
array0DistanceField
 Optional

out array

The array0

array1DistanceField
 Optional

out array

The array1

Outputs

NameTypesPassThroughDescription
out arrayDistanceField
 Optional

array0
array1

The out array

 

ArrayDistanceFieldConstant

This node returns a constant array.

Inputs

NameTypesPassThroughDescription
constantDistanceField 

The constant

sizeInteger (1) 

The size

Outputs

NameTypesPassThroughDescription
out arrayDistanceField 

The out array

 

ArrayDistanceFieldFilterByMask

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

Inputs

NameTypesPassThroughDescription
arrayDistanceField
 Optional

result

The array

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
resultDistanceField
 Optional

array

The result

 

ArrayDistanceFieldFindAllElementIndices

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

Inputs

NameTypesPassThroughDescription
arrayDistanceField 

The array

elementDistanceField 

The value to find in the input array

Outputs

NameTypesPassThroughDescription
indexInteger 

The index

maskBit 

The mask

 

ArrayDistanceFieldFindElement

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
arrayDistanceField 

The array

elementDistanceField 

The value to find in the input array

start indexInteger 

The first index to search the element from

Outputs

NameTypesPassThroughDescription
indexInteger 

The index

 

ArrayDistanceFieldInsertElement

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
arrayDistanceField
 Optional

out array

The array

elementDistanceField 

The value to insert

indexInteger (1) 

The position to insert the input element on

Outputs

NameTypesPassThroughDescription
out arrayDistanceField
 Optional

array

The out array

 

ArrayDistanceFieldMix

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
array0DistanceField
 Optional

out array

The array0

array1DistanceField
 Optional

out array

The array1

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
out arrayDistanceField
 Optional

array0
array1

The out array

 

ArrayDistanceFieldPushElement

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

Inputs

NameTypesPassThroughDescription
arrayDistanceField
 Optional

out array

The array

elementDistanceField 

The value to append at the end

Outputs

NameTypesPassThroughDescription
out arrayDistanceField
 Optional

array

The out array

 

ArrayDistanceFieldRemoveElement

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
arrayDistanceField
 Optional

out array

The array

elementDistanceField 

The value to remove all its instances from the input array

Outputs

NameTypesPassThroughDescription
out arrayDistanceField
 Optional

array

The out array

maskBit 

The mask

 

ArrayDistanceFieldRemoveIndex

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

Inputs

NameTypesPassThroughDescription
arrayDistanceField
 Optional

out array

The array

indexInteger 

The positions of the input array to remove

Outputs

NameTypesPassThroughDescription
out arrayDistanceField
 Optional

array

The out array

 

ArrayDistanceFieldRemoveRepeatedElements

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
arrayDistanceField
 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
new to oldInteger 

The new to old

maskBit 

The mask

out arrayDistanceField
 Optional

array

The out array

 

ArrayDistanceFieldResize

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

Inputs

NameTypesPassThroughDescription
arrayDistanceField
 Optional

out array

The array

sizeInteger (1) 

The size

Outputs

NameTypesPassThroughDescription
out arrayDistanceField
 Optional

array

The out array

 

ArrayDistanceFieldReverse

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

Inputs

NameTypesPassThroughDescription
arrayDistanceField
 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
out arrayDistanceField
 Optional

array

The out array

 

ArrayDistanceFieldSlice

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
arrayDistanceField
 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 arrayDistanceField
 Optional

array

The out array

 

ArrayRealFieldConcat

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

Inputs

NameTypesPassThroughDescription
array0RealField
 Optional

out array

The array0

array1RealField
 Optional

out array

The array1

Outputs

NameTypesPassThroughDescription
out arrayRealField
 Optional

array0
array1

The out array

 

ArrayRealFieldConstant

This node returns a constant array.

Inputs

NameTypesPassThroughDescription
constantRealField 

The constant

sizeInteger (1) 

The size

Outputs

NameTypesPassThroughDescription
out arrayRealField 

The out array

 

ArrayRealFieldFilterByMask

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

Inputs

NameTypesPassThroughDescription
arrayRealField
 Optional

result

The array

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
resultRealField
 Optional

array

The result

 

ArrayRealFieldFindAllElementIndices

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

Inputs

NameTypesPassThroughDescription
arrayRealField 

The array

elementRealField 

The value to find in the input array

Outputs

NameTypesPassThroughDescription
indexInteger 

The index

maskBit 

The mask

 

ArrayRealFieldFindElement

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
arrayRealField 

The array

elementRealField 

The value to find in the input array

start indexInteger 

The first index to search the element from

Outputs

NameTypesPassThroughDescription
indexInteger 

The index

 

ArrayRealFieldInsertElement

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
arrayRealField
 Optional

out array

The array

elementRealField 

The value to insert

indexInteger (1) 

The position to insert the input element on

Outputs

NameTypesPassThroughDescription
out arrayRealField
 Optional

array

The out array

 

ArrayRealFieldMix

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
array0RealField
 Optional

out array

The array0

array1RealField
 Optional

out array

The array1

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
out arrayRealField
 Optional

array0
array1

The out array

 

ArrayRealFieldPushElement

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

Inputs

NameTypesPassThroughDescription
arrayRealField
 Optional

out array

The array

elementRealField 

The value to append at the end

Outputs

NameTypesPassThroughDescription
out arrayRealField
 Optional

array

The out array

 

ArrayRealFieldRemoveElement

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
arrayRealField
 Optional

out array

The array

elementRealField 

The value to remove all its instances from the input array

Outputs

NameTypesPassThroughDescription
out arrayRealField
 Optional

array

The out array

maskBit 

The mask

 

ArrayRealFieldRemoveIndex

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

Inputs

NameTypesPassThroughDescription
arrayRealField
 Optional

out array

The array

indexInteger 

The positions of the input array to remove

Outputs

NameTypesPassThroughDescription
out arrayRealField
 Optional

array

The out array

 

ArrayRealFieldRemoveRepeatedElements

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
arrayRealField
 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
new to oldInteger 

The new to old

maskBit 

The mask

out arrayRealField
 Optional

array

The out array

 

ArrayRealFieldResize

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

Inputs

NameTypesPassThroughDescription
arrayRealField
 Optional

out array

The array

sizeInteger (1) 

The size

Outputs

NameTypesPassThroughDescription
out arrayRealField
 Optional

array

The out array

 

ArrayRealFieldReverse

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

Inputs

NameTypesPassThroughDescription
arrayRealField
 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
out arrayRealField
 Optional

array

The out array

 

ArrayRealFieldSlice

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
arrayRealField
 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 arrayRealField
 Optional

array

The out array

 

ArrayVector3FieldConcat

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

Inputs

NameTypesPassThroughDescription
array0Vector3Field
 Optional

out array

The array0

array1Vector3Field
 Optional

out array

The array1

Outputs

NameTypesPassThroughDescription
out arrayVector3Field
 Optional

array0
array1

The out array

 

ArrayVector3FieldConstant

This node returns a constant array.

Inputs

NameTypesPassThroughDescription
constantVector3Field 

The constant

sizeInteger (1) 

The size

Outputs

NameTypesPassThroughDescription
out arrayVector3Field 

The out array

 

ArrayVector3FieldFilterByMask

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

Inputs

NameTypesPassThroughDescription
arrayVector3Field
 Optional

result

The array

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
resultVector3Field
 Optional

array

The result

 

ArrayVector3FieldFindAllElementIndices

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

Inputs

NameTypesPassThroughDescription
arrayVector3Field 

The array

elementVector3Field 

The value to find in the input array

Outputs

NameTypesPassThroughDescription
indexInteger 

The index

maskBit 

The mask

 

ArrayVector3FieldFindElement

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
arrayVector3Field 

The array

elementVector3Field 

The value to find in the input array

start indexInteger 

The first index to search the element from

Outputs

NameTypesPassThroughDescription
indexInteger 

The index

 

ArrayVector3FieldInsertElement

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
arrayVector3Field
 Optional

out array

The array

elementVector3Field 

The value to insert

indexInteger (1) 

The position to insert the input element on

Outputs

NameTypesPassThroughDescription
out arrayVector3Field
 Optional

array

The out array

 

ArrayVector3FieldMix

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
array0Vector3Field
 Optional

out array

The array0

array1Vector3Field
 Optional

out array

The array1

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
out arrayVector3Field
 Optional

array0
array1

The out array

 

ArrayVector3FieldPushElement

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

Inputs

NameTypesPassThroughDescription
arrayVector3Field
 Optional

out array

The array

elementVector3Field 

The value to append at the end

Outputs

NameTypesPassThroughDescription
out arrayVector3Field
 Optional

array

The out array

 

ArrayVector3FieldRemoveElement

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
arrayVector3Field
 Optional

out array

The array

elementVector3Field 

The value to remove all its instances from the input array

Outputs

NameTypesPassThroughDescription
out arrayVector3Field
 Optional

array

The out array

maskBit 

The mask

 

ArrayVector3FieldRemoveIndex

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

Inputs

NameTypesPassThroughDescription
arrayVector3Field
 Optional

out array

The array

indexInteger 

The positions of the input array to remove

Outputs

NameTypesPassThroughDescription
out arrayVector3Field
 Optional

array

The out array

 

ArrayVector3FieldRemoveRepeatedElements

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
arrayVector3Field
 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
new to oldInteger 

The new to old

maskBit 

The mask

out arrayVector3Field
 Optional

array

The out array

 

ArrayVector3FieldResize

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

Inputs

NameTypesPassThroughDescription
arrayVector3Field
 Optional

out array

The array

sizeInteger (1) 

The size

Outputs

NameTypesPassThroughDescription
out arrayVector3Field
 Optional

array

The out array

 

ArrayVector3FieldReverse

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

Inputs

NameTypesPassThroughDescription
arrayVector3Field
 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
out arrayVector3Field
 Optional

array

The out array

 

ArrayVector3FieldSlice

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
arrayVector3Field
 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 arrayVector3Field
 Optional

array

The out array

 

DistanceFieldCopy

This node duplicates the input value to the output. If you remove this node the output copy will not exist in the graph anymore.

Inputs

NameTypesPassThroughDescription
inDistanceField 

The value to duplicate

Outputs

NameTypesPassThroughDescription
copyDistanceField 

A copy of the input

 

FieldCurvatureSample

Returns the curvature of the input 'field' at the specified 'position'.

Inputs

NameTypesPassThroughDescription
field
 FieldBase

DistanceField
RealField

 

The field

positionVector3 

The position

Outputs

NameTypesPassThroughDescription
sampleReal 

The sample

 

FieldDistanceCreateFromMesh

The algorithm to perform the operation of this node is multithreaded.

Creates a distance field from the input mesh specified by 'inMesh'.

Inputs

NameTypesPassThroughDescription
meshMesh 

The input mesh

cell sizeReal 

The cell size

extensionReal 

The size the distance field is extended related to the mesh bounding box

Outputs

NameTypesPassThroughDescription
distance fieldDistanceField 

The distance field

 

FieldDistanceCreateFromPoints

The algorithm to perform the operation of this node is multithreaded.

Creates a distance field from the provided input 'positions', specified by the input parameters.

Inputs

NameTypesPassThroughDescription
positionsVector3 

The positions

radiiReal 

The radii

weightsReal 

The weights

cell sizeReal (1) 

The cell size

smoothReal (1) 

The smooth

clipping boxBox (1) 

The bounds of the computed distance field. If nothing is connected, the distance field is extended to the bounding box of the input points

Outputs

NameTypesPassThroughDescription
distance fieldDistanceField 

The distance field

 

FieldDistanceIntersection

Performs an intersection operation between two distance fields. The intersection operation is max(d0,d1).

Inputs

NameTypesPassThroughDescription
distance field0DistanceField (1) 

The distance field0

distance field1DistanceField (1) 

The distance field1

Outputs

NameTypesPassThroughDescription
fieldRealField 

The field

 

FieldDistanceInvert

Performs an invert operation on the distance field.

Inputs

NameTypesPassThroughDescription
distance fieldDistanceField 

The distance field

Outputs

NameTypesPassThroughDescription
out distance fieldDistanceField 

The out distance field

 

FieldDistanceSubstraction

Performs a substraction operation between two distance fields. The substraction operation is max(-d0,d1).

Inputs

NameTypesPassThroughDescription
distance field0DistanceField (1) 

The distance field0

distance field1DistanceField (1) 

The distance field1

Outputs

NameTypesPassThroughDescription
fieldRealField 

The field

 

FieldDistanceUnion

Performs a union operation between two distance fields. The union operation is min(d0,d1).

Inputs

NameTypesPassThroughDescription
distance field0DistanceField (1) 

The distance field0

distance field1DistanceField (1) 

The distance field1

Outputs

NameTypesPassThroughDescription
fieldRealField 

The field

 

FieldDivergenceCreate

Computes the divergence field of the input 'vector field'.

Inputs

NameTypesPassThroughDescription
vector fieldVector3Field 

The vector field

Outputs

NameTypesPassThroughDescription
divergence fieldRealField 

The divergence field

 

FieldFindMinMax

Computes the minimum and maximum values of the input field.

Inputs

NameTypesPassThroughDescription
field
 FieldBase

DistanceField
RealField
Vector3Field

 

The field

Outputs

NameTypesPassThroughDescription
min
 Numeric

Real
Vector3

 

The min

max
 Numeric

Real
Vector3

 

The max

 

FieldForceAdd

This node adds a force field to the node.

Inputs

NameTypesPassThroughDescription
nodeRealFlow Nodeout node

The node

fieldVector3Field (1) 

The field

scaleReal (1) 

The scale

Outputs

NameTypesPassThroughDescription
out nodePassThroughnode

The out node

 

FieldGradientCreate

Computes the gradient field of the input 'distance field'.

Inputs

NameTypesPassThroughDescription
distance fieldDistanceField 

The distance field

Outputs

NameTypesPassThroughDescription
gradient fieldVector3Field 

The gradient field

 

FieldMaskCreateFromDistanceField

Creates a mask field from a distance field. The volume inside the distance field will be filled with 1 values and the volume outside with 0 values. You can change this behaviour by setting the 'reverse' input to 'yes'.

Inputs

NameTypesPassThroughDescription
distance fieldDistanceField 

The distance field

reverseBit 

Whether the volume inside of the distance field is filled with 1 or 0 values. The default value will fill the volume inside with 1 values

Outputs

NameTypesPassThroughDescription
fieldMaskField 

The field

 

FieldMix

Creates a field that takes values from the 'field0' in those cells where the mask field has a value of 1 and takes values from the 'field1' where the mask field has a value of 0. The dimensions of the new field are the same than the mask field. The 'background' value is used when the sample is out of the input fields bounds.

Inputs

NameTypesPassThroughDescription
field0
 FieldBase (1)

DistanceField
RealField
Vector3Field

 

The field0

field1
 FieldBase (1)

DistanceField
RealField
Vector3Field

 

The field1

mask fieldMaskField (1) 

The mask field

background
 Numeric (1)

Real
Vector3

 

The value used when the sample is out of the input fields bounds

Outputs

NameTypesPassThroughDescription
field
 FieldBase

RealField
Vector3Field

 

The field

 

FieldNegate

The algorithm to perform the operation of this node is multithreaded.

Negates the values of the input fields. i.e. their values are multiplied by -1.

Inputs

NameTypesPassThroughDescription
field
 FieldBase

DistanceField
RealField
Vector3Field

out field

The field

Outputs

NameTypesPassThroughDescription
out fieldPassThroughfield

The out field

 

FieldNormalizedCreate

Computes the normalized field of the input 'vector field'.

Inputs

NameTypesPassThroughDescription
vector fieldVector3Field 

The vector field

Outputs

NameTypesPassThroughDescription
normalized fieldVector3Field 

The normalized field

 

FieldRealCreate

Creates a real field.

Inputs

NameTypesPassThroughDescription
positionsVector3 

The positions

valuesReal 

The values

cell sizeReal (1) 

The cell size

extensionReal (1) 

The extension

backgroundReal (1) 

The background

Outputs

NameTypesPassThroughDescription
fieldRealField 

The field

 

FieldRealCreateConstant

Creates a real field with a constant value.

Inputs

NameTypesPassThroughDescription
boxBox 

The box

constantReal 

The constant

cell sizeReal 

The cell size

Outputs

NameTypesPassThroughDescription
fieldRealField 

The field

 

FieldRealSweep

The algorithm to perform the operation of this node is multithreaded.

Sweeps a real field throught a distance field.

Inputs

NameTypesPassThroughDescription
real fieldRealField (1) 

The real field

distance fieldDistanceField (1) 

The distance field

bandwidthReal (1) 

The bandwidth

Outputs

NameTypesPassThroughDescription
out real fieldRealField 

The out real field

 

FieldSample

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

Returns the value of the input field at the specified position. If the position is out of the field box the default value is given.

Inputs

NameTypesPassThroughDescription
field
 FieldBase (1)

DistanceField
RealField
Vector3Field

 

The field

positionVector3 

The position

default value
 Numeric (1)

Real
Vector3

 

The value given when the position is out of the field box

Outputs

NameTypesPassThroughDescription
sample
 Numeric

Real
Vector3

 

The sample

 

FieldScalarMesher

The algorithm to perform the operation of this node is multithreaded.

Computes a mesh for the input field at the specified isovalue.

Inputs

NameTypesPassThroughDescription
field
 FieldBase

DistanceField
RealField

 

The field

isovalueReal 

The isovalue

Outputs

NameTypesPassThroughDescription
meshMesh 

The mesh

 

FieldVector3Create

Creates a vector field.

Inputs

NameTypesPassThroughDescription
positionsVector3 

The positions

vectorsVector3 

The vectors

cell sizeReal 

The cell size

extensionReal 

The extension

Outputs

NameTypesPassThroughDescription
fieldVector3Field 

The field

 

FieldVector3CreateConstant

Creates a vector field with a constant value.

Inputs

NameTypesPassThroughDescription
boxBox 

The box

constantVector3 

The constant

cell sizeReal 

The cell size

Outputs

NameTypesPassThroughDescription
fieldVector3Field 

The field

 

FieldVector3Sweep

The algorithm to perform the operation of this node is multithreaded.

Sweeps a vector field throught a distance field.

Inputs

NameTypesPassThroughDescription
vector fieldVector3Field (1) 

The vector field

distance fieldDistanceField (1) 

The distance field

sweep outsideBit (1) 

True to sweep along the positive values of the distance field. False to sweep along the negative values of the input distance field

bandwidthReal (1) 

The bandwidth

Outputs

NameTypesPassThroughDescription
out vector fieldVector3Field 

The out vector field

 

FieldVelocitySet

This node sets a velocity field for the input node.

Inputs

NameTypesPassThroughDescription
nodeRealFlow Nodeout node

The node

fieldVector3Field (1) 

The field

scaleReal (1) 

The scale

Outputs

NameTypesPassThroughDescription
out nodePassThroughnode

The out node

 

FieldViscositySet

This node sets a viscosity field for the input node.

Inputs

NameTypesPassThroughDescription
nodeRealFlow Nodeout node

The node

fieldRealField (1) 

The field

scaleReal (1) 

The scale

Outputs

NameTypesPassThroughDescription
out nodePassThroughnode

The out node

 

GetArrayDistanceFieldElement

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

Inputs

NameTypesPassThroughDescription
arrayDistanceField 

The array

indexInteger 

The index

Outputs

NameTypesPassThroughDescription
elementDistanceField 

The element

 

GetArrayRealFieldElement

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

Inputs

NameTypesPassThroughDescription
arrayRealField 

The array

indexInteger 

The index

Outputs

NameTypesPassThroughDescription
elementRealField 

The element

 

GetArrayVector3FieldElement

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

Inputs

NameTypesPassThroughDescription
arrayVector3Field 

The array

indexInteger 

The index

Outputs

NameTypesPassThroughDescription
elementVector3Field 

The element

 

GetDistanceField

This node gets a distance field from the input node.

Inputs

NameTypesPassThroughDescription
nameString 

The name of the field, valid names are: 

"

For Hybrido Domain nodes: 

"fluid_phi": the fluid distance field. 

"solid_phi": the solid distance field. 

"

For Object nodes: 

"solid_phi": the solid distance field. 

"

For MultiBody nodes. If MultiBody node contains more than one object and input sizes are more than one, only the first object of the MultiBody will be returned.

"solid_phi": the solid distance field. 

 

nodeRealFlow Node 

The node

Outputs

NameTypesPassThroughDescription
fieldDistanceField 

The field

 

GetDistanceFieldGlobalVariable

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

Inputs

NameTypesPassThroughDescription
nameString (1) 

The name

Outputs

NameTypesPassThroughDescription
outDistanceField 

The out

 

GetFieldBoundingBox

Returns the bounding box of the specified input field.

Inputs

NameTypesPassThroughDescription
field
 FieldBase

DistanceField
RealField
Vector3Field

 

The field

Outputs

NameTypesPassThroughDescription
boxBox 

The box

 

GetFieldInfo

Returns information about the input field.

Inputs

NameTypesPassThroughDescription
field
 FieldBase

DistanceField
RealField
Vector3Field

through

The field

Outputs

NameTypesPassThroughDescription
bounding boxBox 

The field bounding box

cell sizeReal 

The field cell size

cell count xInteger 

The number of cells across the X component of the field

cell count yInteger 

The number of cells across the Y component of the field

cell count zInteger 

The number of cells across the Z component of the field

min
 Numeric

Real
Vector3

 

The field minimum value

max
 Numeric

Real
Vector3

 

The field maximum value

is vector3 fieldBit 

Returns true if the input field is of Vector3Field type

is real fieldBit 

Returns true if the input field is of RealField type

is distance fieldBit 

Returns true if the input field is of DistanceField type

throughPassThroughfield

The input 'field'

 

GetRealField

This node gets a field of type Real from the input node.

Inputs

NameTypesPassThroughDescription
nameString 

The name of the field, valid names are: 

"

For Hybrido Domain nodes: 

"fluid_phi": the fluid distance field (use the "GetDistanceField" node if you want to load this field as a distance field). 

"solid_phi": the fluid distance field (use the "GetDistanceField" node if you want to load this field as a distance field). 

"fluid_velocity_u": the u component of the fluid velocity field. 

"fluid_velocity_v": the v component of the fluid velocity field. 

"fluid_velocity_w": the w component of the fluid velocity field. 

"solid_velocity_u": the u component of the solid velocity field. 

"solid_velocity_v": the v component of the solid velocity field. 

"solid_velocity_w": the w component of the solid velocity field. 

"fluid_acceleration_u": the u component of the fluid acceleration field. 

"fluid_acceleration_v": the v component of the fluid acceleration field. 

"fluid_acceleration_w": the w component of the fluid acceleration field. 

"friction": the friction field. 

"viscosity": the viscosity field. 

"friction_bandwith": the friction bandwith field. 

"

For Hybrido Mist nodes: 

"density_phi": the density field. 

 

nodeRealFlow Node 

The node

Outputs

NameTypesPassThroughDescription
fieldRealField 

The field

 

GetRealFieldGlobalVariable

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

Inputs

NameTypesPassThroughDescription
nameString (1) 

The name

Outputs

NameTypesPassThroughDescription
outRealField 

The out

 

GetVector3Field

This node gets a field of type Vector3 from the input node.

Inputs

NameTypesPassThroughDescription
nameString 

The name of the field, valid names are: 

"fluid_velocity": the fluid velocity field. 

"fluid_acceleration": the fluid acceleration field. 

"solid_velocity": the solid velocity field. 

 

nodeRealFlow Node 

The node

Outputs

NameTypesPassThroughDescription
fieldVector3Field 

The field

 

GetVector3FieldGlobalVariable

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

Inputs

NameTypesPassThroughDescription
nameString (1) 

The name

Outputs

NameTypesPassThroughDescription
outVector3Field 

The out

 

RealFieldCopy

This node duplicates the input value to the output. If you remove this node the output copy will not exist in the graph anymore.

Inputs

NameTypesPassThroughDescription
inRealField 

The value to duplicate

Outputs

NameTypesPassThroughDescription
copyRealField 

A copy of the input

 

SetArrayDistanceFieldElement

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

Inputs

NameTypesPassThroughDescription
arrayDistanceField
 Optional

result

The array

indexInteger 

The index

elementDistanceField 

The element

Outputs

NameTypesPassThroughDescription
resultDistanceField
 Optional

array

The result

 

SetArrayRealFieldElement

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

Inputs

NameTypesPassThroughDescription
arrayRealField
 Optional

result

The array

indexInteger 

The index

elementRealField 

The element

Outputs

NameTypesPassThroughDescription
resultRealField
 Optional

array

The result

 

SetArrayVector3FieldElement

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

Inputs

NameTypesPassThroughDescription
arrayVector3Field
 Optional

result

The array

indexInteger 

The index

elementVector3Field 

The element

Outputs

NameTypesPassThroughDescription
resultVector3Field
 Optional

array

The result

 

SetDistanceFieldGlobalVariable

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

inDistanceFieldthrough

The in

store copyBit (1) 

The store copy

Outputs

NameTypesPassThroughDescription
throughPassThroughin

The value connected to the input

out copyDistanceField 

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

 

SetMistDensity

This node sets the density value of the mist node at the input position.

Inputs

NameTypesPassThroughDescription
nodeRealFlow Nodethrough

The node

positionVector3 

The position of the mist node field which density will be replaced

densityReal 

The new density value

Outputs

NameTypesPassThroughDescription
throughPassThroughnode

The input 'node'

 

SetRealField

This node replaces the values of a field of type Real from the input node

sampling the input field.

.

Inputs

NameTypesPassThroughDescription
nameString 

The name of the field, valid names are: 

"

For Hybrido Mist nodes: 

"density_phi": the density field. 

 

nodeRealFlow Nodethrough

The node

fieldRealField 

The input field to be sampled

Outputs

NameTypesPassThroughDescription
throughPassThroughnode

The input 'node'

 

SetRealFieldGlobalVariable

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

inRealFieldthrough

The in

store copyBit (1) 

The store copy

Outputs

NameTypesPassThroughDescription
throughPassThroughin

The value connected to the input

out copyRealField 

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

 

SetVector3FieldGlobalVariable

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

inVector3Fieldthrough

The in

store copyBit (1) 

The store copy

Outputs

NameTypesPassThroughDescription
throughPassThroughin

The value connected to the input

out copyVector3Field 

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

 

Vector3FieldCopy

This node duplicates the input value to the output. If you remove this node the output copy will not exist in the graph anymore.

Inputs

NameTypesPassThroughDescription
inVector3Field 

The value to duplicate

Outputs

NameTypesPassThroughDescription
copyVector3Field 

A copy of the input