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
Name | Description |
---|---|
AddMistDensity | This node combines the density value of the mist node at the input position and the input density. |
ArrayDistanceFieldConcat | This node concatenates the inputs 'array0' and 'array1' into a single 'out' array. |
ArrayDistanceFieldConstant | This node returns a constant array. |
ArrayDistanceFieldFilterByMask | This node returns the elements of the input 'array' at positions specified by the 'mask' parameter. |
ArrayDistanceFieldFindAllElementIndices | This node returns all positions in the input 'array', which fit to the input 'element' values. |
ArrayDistanceFieldFindElement | 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. |
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. |
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. |
ArrayDistanceFieldPushElement | This node appends all the elements from the 'element' at the end of the input '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. |
ArrayDistanceFieldRemoveIndex | This node removes all input array positions by the 'index' input. |
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. |
ArrayDistanceFieldResize | This node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly. |
ArrayDistanceFieldReverse | This node reverses the order of the input '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. |
ArrayRealFieldConcat | This node concatenates the inputs 'array0' and 'array1' into a single 'out' array. |
ArrayRealFieldConstant | This node returns a constant array. |
ArrayRealFieldFilterByMask | This node returns the elements of the input 'array' at positions specified by the 'mask' parameter. |
ArrayRealFieldFindAllElementIndices | This node returns all positions in the input 'array', which fit to the input 'element' values. |
ArrayRealFieldFindElement | 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. |
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. |
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. |
ArrayRealFieldPushElement | This node appends all the elements from the 'element' at the end of the input '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. |
ArrayRealFieldRemoveIndex | This node removes all input array positions by the 'index' input. |
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. |
ArrayRealFieldResize | This node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly. |
ArrayRealFieldReverse | This node reverses the order of the input '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. |
ArrayVector3FieldConcat | This node concatenates the inputs 'array0' and 'array1' into a single 'out' array. |
ArrayVector3FieldConstant | This node returns a constant array. |
ArrayVector3FieldFilterByMask | This node returns the elements of the input 'array' at positions specified by the 'mask' parameter. |
ArrayVector3FieldFindAllElementIndices | This node returns all positions in the input 'array', which fit to the input 'element' values. |
ArrayVector3FieldFindElement | 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. |
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. |
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. |
ArrayVector3FieldPushElement | This node appends all the elements from the 'element' at the end of the input '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. |
ArrayVector3FieldRemoveIndex | This node removes all input array positions by the 'index' input. |
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. |
ArrayVector3FieldResize | This node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly. |
ArrayVector3FieldReverse | This node reverses the order of the input '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. |
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. |
FieldCurvatureSample | Returns the curvature of the input 'field' at the specified 'position'. |
FieldDistanceCreateFromMesh | Creates a distance field from the input mesh specified by 'inMesh'. |
FieldDistanceCreateFromPoints | Creates a distance field from the provided input 'positions', specified by the input parameters. |
FieldDistanceIntersection | Performs an intersection operation between two distance fields. The intersection operation is max(d0,d1). |
FieldDistanceInvert | Performs an invert operation on the distance field. |
FieldDistanceSubstraction | Performs a substraction operation between two distance fields. The substraction operation is max(-d0,d1). |
FieldDistanceUnion | Performs a union operation between two distance fields. The union operation is min(d0,d1). |
FieldDivergenceCreate | Computes the divergence field of the input 'vector field'. |
FieldFindMinMax | Computes the minimum and maximum values of the input field. |
FieldForceAdd | This node adds a force field to the node. |
FieldGradientCreate | Computes the gradient field of the input 'distance 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'. |
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. |
FieldNegate | Negates the values of the input fields. i.e. their values are multiplied by -1. |
FieldNormalizedCreate | Computes the normalized field of the input 'vector field'. |
FieldRealCreate | Creates a real field. |
FieldRealCreateConstant | Creates a real field with a constant value. |
FieldRealSweep | Sweeps a real field throught a distance field. |
FieldSample | 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. |
FieldScalarMesher | Computes a mesh for the input field at the specified isovalue. |
FieldVector3Create | Creates a vector field. |
FieldVector3CreateConstant | Creates a vector field with a constant value. |
FieldVector3Sweep | Sweeps a vector field throught a distance field. |
FieldVelocitySet | This node sets a velocity field for the input node. |
FieldViscositySet | This node sets a viscosity field for the input node. |
GetArrayDistanceFieldElement | This node returns the elements of the input 'array' at positions specified by the 'index' parameter. |
GetArrayRealFieldElement | This node returns the elements of the input 'array' at positions specified by the 'index' parameter. |
GetArrayVector3FieldElement | This node returns the elements of the input 'array' at positions specified by the 'index' parameter. |
GetDistanceField | This node gets a distance field from the input node. |
GetDistanceFieldGlobalVariable | This node returns a reference to previously stored variables in global memory (using the SetGlobalVariable-Nodes). |
GetFieldBoundingBox | Returns the bounding box of the specified input field. |
GetFieldInfo | Returns information about the input field. |
GetRealField | This node gets a field of type Real from the input node. |
GetRealFieldGlobalVariable | This node returns a reference to previously stored variables in global memory (using the SetGlobalVariable-Nodes). |
GetVector3Field | This node gets a field of type Vector3 from the input node. |
GetVector3FieldGlobalVariable | This node returns a reference to previously stored variables in global memory (using the SetGlobalVariable-Nodes). |
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. |
SetArrayDistanceFieldElement | This node returns the elements of the input 'array' at positions specified by the 'index' parameter. |
SetArrayRealFieldElement | This node returns the elements of the input 'array' at positions specified by the 'index' parameter. |
SetArrayVector3FieldElement | This node returns the elements of the input 'array' at positions specified by the 'index' parameter. |
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. |
SetMistDensity | This node sets the density value of the mist node at the input position. |
SetRealField | This node replaces the values of a field of type Real from 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. |
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. |
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. |
AddMistDensity
This node combines the density value of the mist node at the input position and the input density.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
node | RealFlow Node | through | The node |
position | Vector3 | The position of the mist node field where the density will be added | |
density | Real | The density value to add |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
through | PassThrough | node | The input 'node' |
ArrayDistanceFieldConcat
This node concatenates the inputs 'array0' and 'array1' into a single 'out' array.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array0 | DistanceField | The array0 | |
array1 | DistanceField | The array1 |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | DistanceField | The out array |
ArrayDistanceFieldConstant
This node returns a constant array.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
constant | DistanceField | The constant | |
size | Integer (1) | The size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | DistanceField | The out array |
ArrayDistanceFieldFilterByMask
This node returns the elements of the input 'array' at positions specified by the 'mask' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | DistanceField | The array | |
mask | Bit | The mask |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | DistanceField | The result |
ArrayDistanceFieldFindAllElementIndices
This node returns all positions in the input 'array', which fit to the input 'element' values. .
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | DistanceField | The array | |
element | DistanceField | The value to find in the input array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
index | Integer | The index | |
mask | Bit | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | DistanceField | The array | |
element | DistanceField | The value to find in the input array | |
start index | Integer | The first index to search the element from |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
index | Integer | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | DistanceField | The array | |
element | DistanceField | The value to insert | |
index | Integer (1) | The position to insert the input element on |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | DistanceField | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array0 | DistanceField | The array0 | |
array1 | DistanceField | The array1 | |
mask | Bit | The mask |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | DistanceField | The out array |
ArrayDistanceFieldPushElement
This node appends all the elements from the 'element' at the end of the input 'array'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | DistanceField | The array | |
element | DistanceField | The value to append at the end |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | DistanceField | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | DistanceField | The array | |
element | DistanceField | The value to remove all its instances from the input array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | DistanceField | The out array | |
mask | Bit | The mask |
ArrayDistanceFieldRemoveIndex
This node removes all input array positions by the 'index' input. .
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | DistanceField | The array | |
index | Integer | The positions of the input array to remove |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | DistanceField | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | DistanceField | The array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
new to old | Integer | The new to old | |
mask | Bit | The mask | |
out array | DistanceField | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | DistanceField | The array | |
size | Integer (1) | The size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | DistanceField | The out array |
ArrayDistanceFieldReverse
This node reverses the order of the input 'array'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | DistanceField | The array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | DistanceField | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | DistanceField | The array | |
first | Integer (1) | The position of the element that will be the first of the output array | |
size | Integer (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
Name | Types | PassThrough | Description |
---|---|---|---|
out array | DistanceField | The out array |
ArrayRealFieldConcat
This node concatenates the inputs 'array0' and 'array1' into a single 'out' array.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array0 | RealField | The array0 | |
array1 | RealField | The array1 |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealField | The out array |
ArrayRealFieldConstant
This node returns a constant array.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
constant | RealField | The constant | |
size | Integer (1) | The size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealField | The out array |
ArrayRealFieldFilterByMask
This node returns the elements of the input 'array' at positions specified by the 'mask' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealField | The array | |
mask | Bit | The mask |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | RealField | The result |
ArrayRealFieldFindAllElementIndices
This node returns all positions in the input 'array', which fit to the input 'element' values. .
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealField | The array | |
element | RealField | The value to find in the input array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
index | Integer | The index | |
mask | Bit | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealField | The array | |
element | RealField | The value to find in the input array | |
start index | Integer | The first index to search the element from |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
index | Integer | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealField | The array | |
element | RealField | The value to insert | |
index | Integer (1) | The position to insert the input element on |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealField | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array0 | RealField | The array0 | |
array1 | RealField | The array1 | |
mask | Bit | The mask |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealField | The out array |
ArrayRealFieldPushElement
This node appends all the elements from the 'element' at the end of the input 'array'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealField | The array | |
element | RealField | The value to append at the end |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealField | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealField | The array | |
element | RealField | The value to remove all its instances from the input array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealField | The out array | |
mask | Bit | The mask |
ArrayRealFieldRemoveIndex
This node removes all input array positions by the 'index' input. .
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealField | The array | |
index | Integer | The positions of the input array to remove |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealField | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealField | The array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
new to old | Integer | The new to old | |
mask | Bit | The mask | |
out array | RealField | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealField | The array | |
size | Integer (1) | The size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealField | The out array |
ArrayRealFieldReverse
This node reverses the order of the input 'array'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealField | The array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealField | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealField | The array | |
first | Integer (1) | The position of the element that will be the first of the output array | |
size | Integer (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
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealField | The out array |
ArrayVector3FieldConcat
This node concatenates the inputs 'array0' and 'array1' into a single 'out' array.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array0 | Vector3Field | The array0 | |
array1 | Vector3Field | The array1 |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Vector3Field | The out array |
ArrayVector3FieldConstant
This node returns a constant array.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
constant | Vector3Field | The constant | |
size | Integer (1) | The size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Vector3Field | The out array |
ArrayVector3FieldFilterByMask
This node returns the elements of the input 'array' at positions specified by the 'mask' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Vector3Field | The array | |
mask | Bit | The mask |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | Vector3Field | The result |
ArrayVector3FieldFindAllElementIndices
This node returns all positions in the input 'array', which fit to the input 'element' values. .
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Vector3Field | The array | |
element | Vector3Field | The value to find in the input array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
index | Integer | The index | |
mask | Bit | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | Vector3Field | The array | |
element | Vector3Field | The value to find in the input array | |
start index | Integer | The first index to search the element from |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
index | Integer | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | Vector3Field | The array | |
element | Vector3Field | The value to insert | |
index | Integer (1) | The position to insert the input element on |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Vector3Field | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array0 | Vector3Field | The array0 | |
array1 | Vector3Field | The array1 | |
mask | Bit | The mask |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Vector3Field | The out array |
ArrayVector3FieldPushElement
This node appends all the elements from the 'element' at the end of the input 'array'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Vector3Field | The array | |
element | Vector3Field | The value to append at the end |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Vector3Field | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | Vector3Field | The array | |
element | Vector3Field | The value to remove all its instances from the input array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Vector3Field | The out array | |
mask | Bit | The mask |
ArrayVector3FieldRemoveIndex
This node removes all input array positions by the 'index' input. .
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Vector3Field | The array | |
index | Integer | The positions of the input array to remove |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Vector3Field | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | Vector3Field | The array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
new to old | Integer | The new to old | |
mask | Bit | The mask | |
out array | Vector3Field | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | Vector3Field | The array | |
size | Integer (1) | The size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Vector3Field | The out array |
ArrayVector3FieldReverse
This node reverses the order of the input 'array'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Vector3Field | The array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Vector3Field | 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
Name | Types | PassThrough | Description |
---|---|---|---|
array | Vector3Field | The array | |
first | Integer (1) | The position of the element that will be the first of the output array | |
size | Integer (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
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Vector3Field | 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
Name | Types | PassThrough | Description |
---|---|---|---|
in | DistanceField | The value to duplicate |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
copy | DistanceField | A copy of the input |
FieldCurvatureSample
Returns the curvature of the input 'field' at the specified 'position'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
field | The field | ||
position | Vector3 | The position |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
sample | Real | 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
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | Mesh | The input mesh | |
cell size | Real | The cell size | |
extension | Real | The size the distance field is extended related to the mesh bounding box |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
distance field | DistanceField | 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
Name | Types | PassThrough | Description |
---|---|---|---|
positions | Vector3 | The positions | |
radii | Real | The radii | |
weights | Real | The weights | |
cell size | Real (1) | The cell size | |
smooth | Real (1) | The smooth | |
clipping box | Box (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
Name | Types | PassThrough | Description |
---|---|---|---|
distance field | DistanceField | The distance field |
FieldDistanceIntersection
Performs an intersection operation between two distance fields. The intersection operation is max(d0,d1).
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
distance field0 | DistanceField (1) | The distance field0 | |
distance field1 | DistanceField (1) | The distance field1 |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
field | RealField | The field |
FieldDistanceInvert
Performs an invert operation on the distance field.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
distance field | DistanceField | The distance field |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out distance field | DistanceField | The out distance field |
FieldDistanceSubstraction
Performs a substraction operation between two distance fields. The substraction operation is max(-d0,d1).
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
distance field0 | DistanceField (1) | The distance field0 | |
distance field1 | DistanceField (1) | The distance field1 |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
field | RealField | The field |
FieldDistanceUnion
Performs a union operation between two distance fields. The union operation is min(d0,d1).
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
distance field0 | DistanceField (1) | The distance field0 | |
distance field1 | DistanceField (1) | The distance field1 |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
field | RealField | The field |
FieldDivergenceCreate
Computes the divergence field of the input 'vector field'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
vector field | Vector3Field | The vector field |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
divergence field | RealField | The divergence field |
FieldFindMinMax
Computes the minimum and maximum values of the input field.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
field | The field |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
min | The min | ||
max | The max |
FieldForceAdd
This node adds a force field to the node.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
node | RealFlow Node | out node | The node |
field | Vector3Field (1) | The field | |
scale | Real (1) | The scale |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out node | PassThrough | node | The out node |
FieldGradientCreate
Computes the gradient field of the input 'distance field'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
distance field | DistanceField | The distance field |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
gradient field | Vector3Field | 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
Name | Types | PassThrough | Description |
---|---|---|---|
distance field | DistanceField | The distance field | |
reverse | Bit | 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
Name | Types | PassThrough | Description |
---|---|---|---|
field | MaskField | 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
Name | Types | PassThrough | Description |
---|---|---|---|
field0 | The field0 | ||
field1 | The field1 | ||
mask field | MaskField (1) | The mask field | |
background | The value used when the sample is out of the input fields bounds |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
field | 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
Name | Types | PassThrough | Description |
---|---|---|---|
field | out field | The field |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out field | PassThrough | field | The out field |
FieldNormalizedCreate
Computes the normalized field of the input 'vector field'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
vector field | Vector3Field | The vector field |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
normalized field | Vector3Field | The normalized field |
FieldRealCreate
Creates a real field.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
positions | Vector3 | The positions | |
values | Real | The values | |
cell size | Real (1) | The cell size | |
extension | Real (1) | The extension | |
background | Real (1) | The background |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
field | RealField | The field |
FieldRealCreateConstant
Creates a real field with a constant value.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
box | Box | The box | |
constant | Real | The constant | |
cell size | Real | The cell size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
field | RealField | The field |
FieldRealSweep
The algorithm to perform the operation of this node is multithreaded.
Sweeps a real field throught a distance field.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
real field | RealField (1) | The real field | |
distance field | DistanceField (1) | The distance field | |
bandwidth | Real (1) | The bandwidth |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out real field | RealField | 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
Name | Types | PassThrough | Description |
---|---|---|---|
field | The field | ||
position | Vector3 | The position | |
default value | The value given when the position is out of the field box |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
sample | 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
Name | Types | PassThrough | Description |
---|---|---|---|
field | The field | ||
isovalue | Real | The isovalue |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | Mesh | The mesh |
FieldVector3Create
Creates a vector field.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
positions | Vector3 | The positions | |
vectors | Vector3 | The vectors | |
cell size | Real | The cell size | |
extension | Real | The extension |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
field | Vector3Field | The field |
FieldVector3CreateConstant
Creates a vector field with a constant value.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
box | Box | The box | |
constant | Vector3 | The constant | |
cell size | Real | The cell size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
field | Vector3Field | The field |
FieldVector3Sweep
The algorithm to perform the operation of this node is multithreaded.
Sweeps a vector field throught a distance field.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
vector field | Vector3Field (1) | The vector field | |
distance field | DistanceField (1) | The distance field | |
sweep outside | Bit (1) | True to sweep along the positive values of the distance field. False to sweep along the negative values of the input distance field | |
bandwidth | Real (1) | The bandwidth |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out vector field | Vector3Field | The out vector field |
FieldVelocitySet
This node sets a velocity field for the input node.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
node | RealFlow Node | out node | The node |
field | Vector3Field (1) | The field | |
scale | Real (1) | The scale |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out node | PassThrough | node | The out node |
FieldViscositySet
This node sets a viscosity field for the input node.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
node | RealFlow Node | out node | The node |
field | RealField (1) | The field | |
scale | Real (1) | The scale |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out node | PassThrough | node | The out node |
GetArrayDistanceFieldElement
This node returns the elements of the input 'array' at positions specified by the 'index' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | DistanceField | The array | |
index | Integer | The index |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
element | DistanceField | The element |
GetArrayRealFieldElement
This node returns the elements of the input 'array' at positions specified by the 'index' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealField | The array | |
index | Integer | The index |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
element | RealField | The element |
GetArrayVector3FieldElement
This node returns the elements of the input 'array' at positions specified by the 'index' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Vector3Field | The array | |
index | Integer | The index |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
element | Vector3Field | The element |
GetDistanceField
This node gets a distance field from the input node.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
name | String | 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.
| |
node | RealFlow Node | The node |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
field | DistanceField | The field |
GetDistanceFieldGlobalVariable
This node returns a reference to previously stored variables in global memory (using the SetGlobalVariable-Nodes).
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
name | String (1) | The name |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out | DistanceField | The out |
GetFieldBoundingBox
Returns the bounding box of the specified input field.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
field | The field |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
box | Box | The box |
GetFieldInfo
Returns information about the input field.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
field | through | The field |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
bounding box | Box | The field bounding box | |
cell size | Real | The field cell size | |
cell count x | Integer | The number of cells across the X component of the field | |
cell count y | Integer | The number of cells across the Y component of the field | |
cell count z | Integer | The number of cells across the Z component of the field | |
min | The field minimum value | ||
max | The field maximum value | ||
is vector3 field | Bit | Returns true if the input field is of Vector3Field type | |
is real field | Bit | Returns true if the input field is of RealField type | |
is distance field | Bit | Returns true if the input field is of DistanceField type | |
through | PassThrough | field | The input 'field' |
GetRealField
This node gets a field of type Real from the input node.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
name | String | 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.
| |
node | RealFlow Node | The node |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
field | RealField | The field |
GetRealFieldGlobalVariable
This node returns a reference to previously stored variables in global memory (using the SetGlobalVariable-Nodes).
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
name | String (1) | The name |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out | RealField | The out |
GetVector3Field
This node gets a field of type Vector3 from the input node.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
name | String | 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.
| |
node | RealFlow Node | The node |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
field | Vector3Field | The field |
GetVector3FieldGlobalVariable
This node returns a reference to previously stored variables in global memory (using the SetGlobalVariable-Nodes).
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
name | String (1) | The name |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out | Vector3Field | 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
Name | Types | PassThrough | Description |
---|---|---|---|
in | RealField | The value to duplicate |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
copy | RealField | A copy of the input |
SetArrayDistanceFieldElement
This node returns the elements of the input 'array' at positions specified by the 'index' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | DistanceField | The array | |
index | Integer | The index | |
element | DistanceField | The element |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | DistanceField | The result |
SetArrayRealFieldElement
This node returns the elements of the input 'array' at positions specified by the 'index' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealField | The array | |
index | Integer | The index | |
element | RealField | The element |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | RealField | The result |
SetArrayVector3FieldElement
This node returns the elements of the input 'array' at positions specified by the 'index' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Vector3Field | The array | |
index | Integer | The index | |
element | Vector3Field | The element |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | Vector3Field | 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
Name | Types | PassThrough | Description |
---|---|---|---|
name | String (1) | The name | |
in | DistanceField | through | The in |
store copy | Bit (1) | The store copy |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
through | PassThrough | in | The value connected to the input |
out copy | DistanceField | 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
Name | Types | PassThrough | Description |
---|---|---|---|
node | RealFlow Node | through | The node |
position | Vector3 | The position of the mist node field which density will be replaced | |
density | Real | The new density value |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
through | PassThrough | node | The input 'node' |
SetRealField
This node replaces the values of a field of type Real from the input node
sampling the input field.
.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
name | String | The name of the field, valid names are: " For Hybrido Mist nodes: "density_phi": the density field.
| |
node | RealFlow Node | through | The node |
field | RealField | The input field to be sampled |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
through | PassThrough | node | 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
Name | Types | PassThrough | Description |
---|---|---|---|
name | String (1) | The name | |
in | RealField | through | The in |
store copy | Bit (1) | The store copy |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
through | PassThrough | in | The value connected to the input |
out copy | RealField | 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
Name | Types | PassThrough | Description |
---|---|---|---|
name | String (1) | The name | |
in | Vector3Field | through | The in |
store copy | Bit (1) | The store copy |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
through | PassThrough | in | The value connected to the input |
out copy | Vector3Field | 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
Name | Types | PassThrough | Description |
---|---|---|---|
in | Vector3Field | The value to duplicate |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
copy | Vector3Field | A copy of the input |