Geometry
With these nodes you can apply almost any possible transformation on polygonal objects and their vertices - including RealWave meshes. These operations include tessellation, displacement, transformation with matrices, and clipping. Additionally, you can create a bounding box around an object, gather information, and extract channel data from the vertices, for example velocity.
Nodes
Name | Description |
---|---|
ArrayBoxConcat | This node concatenates the inputs 'array0' and 'array1' into a single 'out' array. |
ArrayBoxConstant | This node returns a constant array. |
ArrayBoxFilterByMask | This node returns the elements of the input 'array' at positions specified by the 'mask' parameter. |
ArrayBoxFindAllElementIndices | This node returns all positions in the input 'array', which fit to the input 'element' values. |
ArrayBoxFindElement | 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. |
ArrayBoxInsertElement | 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. |
ArrayBoxMix | 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. |
ArrayBoxPushElement | This node appends all the elements from the 'element' at the end of the input 'array'. |
ArrayBoxRemoveElement | 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. |
ArrayBoxRemoveIndex | This node removes all input array positions by the 'index' input. |
ArrayBoxRemoveRepeatedElements | 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. |
ArrayBoxResize | This node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly. |
ArrayBoxReverse | This node reverses the order of the input 'array'. |
ArrayBoxSlice | 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. |
ArrayMeshCombine | Computes a new mesh concatenating all the geometry from all the input meshes. |
ArrayMeshConcat | This node concatenates the inputs 'array0' and 'array1' into a single 'out' array. |
ArrayMeshConstant | This node returns a constant array. |
ArrayMeshFilterByMask | This node returns the elements of the input 'array' at positions specified by the 'mask' parameter. |
ArrayMeshFindAllElementIndices | This node returns all positions in the input 'array', which fit to the input 'element' values. |
ArrayMeshFindElement | 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. |
ArrayMeshInsertElement | 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. |
ArrayMeshMix | 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. |
ArrayMeshPushElement | This node appends all the elements from the 'element' at the end of the input 'array'. |
ArrayMeshRemoveElement | 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. |
ArrayMeshRemoveIndex | This node removes all input array positions by the 'index' input. |
ArrayMeshRemoveRepeatedElements | 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. |
ArrayMeshResize | This node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly. |
ArrayMeshReverse | This node reverses the order of the input 'array'. |
ArrayMeshSlice | 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. |
ArrayMeshVoxelizationConcat | This node concatenates the inputs 'array0' and 'array1' into a single 'out' array. |
ArrayMeshVoxelizationConstant | This node returns a constant array. |
ArrayMeshVoxelizationFilterByMask | This node returns the elements of the input 'array' at positions specified by the 'mask' parameter. |
ArrayMeshVoxelizationFindAllElementIndices | This node returns all positions in the input 'array', which fit to the input 'element' values. |
ArrayMeshVoxelizationFindElement | 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. |
ArrayMeshVoxelizationInsertElement | 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. |
ArrayMeshVoxelizationMix | 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. |
ArrayMeshVoxelizationPushElement | This node appends all the elements from the 'element' at the end of the input 'array'. |
ArrayMeshVoxelizationRemoveElement | 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. |
ArrayMeshVoxelizationRemoveIndex | This node removes all input array positions by the 'index' input. |
ArrayMeshVoxelizationRemoveRepeatedElements | 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. |
ArrayMeshVoxelizationResize | This node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly. |
ArrayMeshVoxelizationReverse | This node reverses the order of the input 'array'. |
ArrayMeshVoxelizationSlice | 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. |
ArrayObjectMeshConcat | This node concatenates the inputs 'array0' and 'array1' into a single 'out' array. |
ArrayObjectMeshConstant | This node returns a constant array. |
ArrayObjectMeshFilterByMask | This node returns the elements of the input 'array' at positions specified by the 'mask' parameter. |
ArrayObjectMeshFindAllElementIndices | This node returns all positions in the input 'array', which fit to the input 'element' values. |
ArrayObjectMeshFindElement | 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. |
ArrayObjectMeshInsertElement | 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. |
ArrayObjectMeshMix | 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. |
ArrayObjectMeshPushElement | This node appends all the elements from the 'element' at the end of the input 'array'. |
ArrayObjectMeshRemoveElement | 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. |
ArrayObjectMeshRemoveIndex | This node removes all input array positions by the 'index' input. |
ArrayObjectMeshRemoveRepeatedElements | 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. |
ArrayObjectMeshResize | This node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly. |
ArrayObjectMeshReverse | This node reverses the order of the input 'array'. |
ArrayObjectMeshSlice | 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. |
ArrayRealWaveMeshConcat | This node concatenates the inputs 'array0' and 'array1' into a single 'out' array. |
ArrayRealWaveMeshConstant | This node returns a constant array. |
ArrayRealWaveMeshFilterByMask | This node returns the elements of the input 'array' at positions specified by the 'mask' parameter. |
ArrayRealWaveMeshFindAllElementIndices | This node returns all positions in the input 'array', which fit to the input 'element' values. |
ArrayRealWaveMeshFindElement | 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. |
ArrayRealWaveMeshInsertElement | 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. |
ArrayRealWaveMeshMix | 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. |
ArrayRealWaveMeshPushElement | This node appends all the elements from the 'element' at the end of the input 'array'. |
ArrayRealWaveMeshRemoveElement | 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. |
ArrayRealWaveMeshRemoveIndex | This node removes all input array positions by the 'index' input. |
ArrayRealWaveMeshRemoveRepeatedElements | 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. |
ArrayRealWaveMeshResize | This node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly. |
ArrayRealWaveMeshReverse | This node reverses the order of the input 'array'. |
ArrayRealWaveMeshSlice | 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. |
Box | This node generates an axis aligned box. The corners are located at the inputs 'min' and 'max' positions. |
BoxCopy | This node duplicates the value of 'in' to the output 'copy'. |
BoxInfo | This node returns the corners and dimension of a box. |
BoxIsPointInside | This node checks if the input 'position' is inside the input 'box'. |
FaceGetChannel | This node copy the data specified at the input "name" from the "faces" to the output "channel". |
FaceInterpolator | This node interpolates the values at the face vertices to a value at the input point. The number of points must be in agreement with the number of points per face and the number of faces. |
FacePointToBarycentricCoordinates | This node computes the barycentric coordinates at an specific point of the triange defined by the three input vertex positions. |
FaceSampler | This node randomly samples the face described by the three vertices atthe input and generates the points that lay on the face. The number ofgenerated points is specified using the "samples" parameter. |
FaceValueFromBarycentricCoordinates | This node computes an interpolated value of the triangle defined by the three input values based on the input 'barycentric' coordinates Y and Z components. |
GetArrayBoxElement | This node returns the elements of the input 'array' at positions specified by the 'index' parameter. |
GetArrayMeshElement | This node returns the elements of the input 'array' at positions specified by the 'index' parameter. |
GetArrayMeshVoxelizationElement | This node returns the elements of the input 'array' at positions specified by the 'index' parameter. |
GetArrayObjectMeshElement | This node returns the elements of the input 'array' at positions specified by the 'index' parameter. |
GetArrayRealWaveMeshElement | This node returns the elements of the input 'array' at positions specified by the 'index' parameter. |
GetBoxGlobalVariable | This node returns a reference to previously stored variables in global memory (using the SetGlobalVariable-Nodes). |
GetFaces | This object returns a reference to the faces of the input 'mesh'. |
GetMesh | This node gets the mesh of the input node. For objects the vertices of the mesh are given in the local reference system, you might be interested in having them in the world reference system, for that you can use the "GetTransformation" and the "MeshTransformCopy" nodes. |
GetMeshGlobalVariable | This node returns a reference to previously stored variables in global memory (using the SetGlobalVariable-Nodes). |
GetMeshInfo | This node returns information about the input mesh. |
GetMeshVoxelizationGlobalVariable | This node returns a reference to previously stored variables in global memory (using the SetGlobalVariable-Nodes). |
GetMultiBodyMesh | This node gets the mesh of the input MultiBody. It also returns the internal name of the mesh. |
GetNodeBoundingBox | This node returns the axis aligned bounding box for a given node. |
GetObjectMesh | This node gets the mesh of the input node. |
GetVertices | This object returns a reference to the vertices of the input 'mesh'. |
MeshAddVertexChannel | This node creates a new channel for the vertices of the mesh. The value for the new channel is initialized to zero. You might want to use the "VertexSetChannel" node to initialize the value of this channel. |
MeshClipByDistanceField | This node clips the mesh against one or several input distance fields. |
MeshClipByVolume | This node clips the input 'mesh' against input 'volume' axis aligned box (or boxes). |
MeshCopy | This node duplicates the input value to the output. If you remove this node the output copy will not exist in the graph anymore. |
MeshCreateVoxelization | This node creates a mesh voxelization. |
MeshCube | This node creates a mesh containing a cube with a side length of 1. |
MeshDisplaceFromImage | This node displaces the mesh using an image. |
MeshExtrude | This node extrudes the mesh and reverses its normals. |
MeshFindNearestPosition | This node gets the nearest position/s to the mesh. |
MeshPlane | This node creates a mesh containing a plane with a side length of 1. |
MeshPlaneFromImage | This node creates a heightfield mesh from an image - using the green channel for heights and the red/blue channels for translation within the x/z-axis. The number of created vertices corresponds to the resolution of the input image. The resulting mesh resolution in x- and z-direction is normalized to 1. Using mapping, you may map the input values before they are used for the heightfield creation. |
MeshSeparateComponents | Separates the input mesh into their disjoint groups. |
MeshTessellate | This node tessellates the mesh. Any edge of the original mesh that lies partially inside the tessellation region is subdivided if necessary. |
MeshTransform | This node transforms the input 'mesh' according to the input transformation matrix. |
MeshTransformCopy | This node creates a transformed version of the input 'mesh' according to the input transformation matrix. Warning: If the input is a RealFlow Object, the output mesh stores its local coordinates. In order to get the mesh at the same place as the actual object it is recommended to transform a copy of the output mesh with the transformation matrix of the object. |
MeshVoxelizationCopy | This node duplicates the input value to the output. If you remove this node the output copy will not exist in the graph anymore. |
SetArrayBoxElement | This node returns the elements of the input 'array' at positions specified by the 'index' parameter. |
SetArrayMeshElement | This node returns the elements of the input 'array' at positions specified by the 'index' parameter. |
SetArrayMeshVoxelizationElement | This node returns the elements of the input 'array' at positions specified by the 'index' parameter. |
SetArrayObjectMeshElement | This node returns the elements of the input 'array' at positions specified by the 'index' parameter. |
SetArrayRealWaveMeshElement | This node returns the elements of the input 'array' at positions specified by the 'index' parameter. |
SetBoxGlobalVariable | 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. |
SetMesh | This node replaces an existing RealFlow mesh with the input mesh. |
SetMeshGlobalVariable | 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. |
SetMeshVoxelizationGlobalVariable | 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. |
VertexGetChannel | This node extracts and copies channel data from the vertices to the output channel. Because the channel type is only known at run-time you might need to use a constant node with an internal connection to specialize it. |
VertexSetChannel | This node sets the channel value for the vertices. The size of the value array must be the same than the number of vertices. |
ArrayBoxConcat
This node concatenates the inputs 'array0' and 'array1' into a single 'out' array.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array0 | Box | The array0 | |
array1 | Box | The array1 |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Box | The out array |
ArrayBoxConstant
This node returns a constant array.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
constant | Box | The constant | |
size | Integer (1) | The size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Box | The out array |
ArrayBoxFilterByMask
This node returns the elements of the input 'array' at positions specified by the 'mask' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Box | The array | |
mask | Bit | The mask |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | Box | The result |
ArrayBoxFindAllElementIndices
This node returns all positions in the input 'array', which fit to the input 'element' values. .
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Box | The array | |
element | Box | The value to find in the input array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
index | Integer | The index | |
mask | Bit | The mask |
ArrayBoxFindElement
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 | Box | The array | |
element | Box | 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 |
ArrayBoxInsertElement
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 | Box | The array | |
element | Box | The value to insert | |
index | Integer (1) | The position to insert the input element on |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Box | The out array |
ArrayBoxMix
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 | Box | The array0 | |
array1 | Box | The array1 | |
mask | Bit | The mask |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Box | The out array |
ArrayBoxPushElement
This node appends all the elements from the 'element' at the end of the input 'array'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Box | The array | |
element | Box | The value to append at the end |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Box | The out array |
ArrayBoxRemoveElement
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 | Box | The array | |
element | Box | The value to remove all its instances from the input array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Box | The out array | |
mask | Bit | The mask |
ArrayBoxRemoveIndex
This node removes all input array positions by the 'index' input. .
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Box | The array | |
index | Integer | The positions of the input array to remove |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Box | The out array |
ArrayBoxRemoveRepeatedElements
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 | Box | The array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
new to old | Integer | The new to old | |
mask | Bit | The mask | |
out array | Box | The out array |
ArrayBoxResize
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 | Box | The array | |
size | Integer (1) | The size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Box | The out array |
ArrayBoxReverse
This node reverses the order of the input 'array'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Box | The array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Box | The out array |
ArrayBoxSlice
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 | Box | 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 | Box | The out array |
ArrayMeshCombine
Computes a new mesh concatenating all the geometry from all the input meshes.
Missing channels are initialized with zero values.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh array | Mesh | The mesh array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out mesh | Mesh | The out mesh |
ArrayMeshConcat
This node concatenates the inputs 'array0' and 'array1' into a single 'out' array.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array0 | Mesh | The array0 | |
array1 | Mesh | The array1 |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Mesh | The out array |
ArrayMeshConstant
This node returns a constant array.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
constant | Mesh | The constant | |
size | Integer (1) | The size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Mesh | The out array |
ArrayMeshFilterByMask
This node returns the elements of the input 'array' at positions specified by the 'mask' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Mesh | The array | |
mask | Bit | The mask |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | Mesh | The result |
ArrayMeshFindAllElementIndices
This node returns all positions in the input 'array', which fit to the input 'element' values. .
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Mesh | The array | |
element | Mesh | The value to find in the input array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
index | Integer | The index | |
mask | Bit | The mask |
ArrayMeshFindElement
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 | Mesh | The array | |
element | Mesh | 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 |
ArrayMeshInsertElement
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 | Mesh | The array | |
element | Mesh | The value to insert | |
index | Integer (1) | The position to insert the input element on |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Mesh | The out array |
ArrayMeshMix
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 | Mesh | The array0 | |
array1 | Mesh | The array1 | |
mask | Bit | The mask |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Mesh | The out array |
ArrayMeshPushElement
This node appends all the elements from the 'element' at the end of the input 'array'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Mesh | The array | |
element | Mesh | The value to append at the end |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Mesh | The out array |
ArrayMeshRemoveElement
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 | Mesh | The array | |
element | Mesh | The value to remove all its instances from the input array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Mesh | The out array | |
mask | Bit | The mask |
ArrayMeshRemoveIndex
This node removes all input array positions by the 'index' input. .
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Mesh | The array | |
index | Integer | The positions of the input array to remove |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Mesh | The out array |
ArrayMeshRemoveRepeatedElements
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 | Mesh | The array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
new to old | Integer | The new to old | |
mask | Bit | The mask | |
out array | Mesh | The out array |
ArrayMeshResize
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 | Mesh | The array | |
size | Integer (1) | The size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Mesh | The out array |
ArrayMeshReverse
This node reverses the order of the input 'array'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Mesh | The array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | Mesh | The out array |
ArrayMeshSlice
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 | Mesh | 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 | Mesh | The out array |
ArrayMeshVoxelizationConcat
This node concatenates the inputs 'array0' and 'array1' into a single 'out' array.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array0 | MeshVoxelization | The array0 | |
array1 | MeshVoxelization | The array1 |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | MeshVoxelization | The out array |
ArrayMeshVoxelizationConstant
This node returns a constant array.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
constant | MeshVoxelization | The constant | |
size | Integer (1) | The size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | MeshVoxelization | The out array |
ArrayMeshVoxelizationFilterByMask
This node returns the elements of the input 'array' at positions specified by the 'mask' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | MeshVoxelization | The array | |
mask | Bit | The mask |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | MeshVoxelization | The result |
ArrayMeshVoxelizationFindAllElementIndices
This node returns all positions in the input 'array', which fit to the input 'element' values. .
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | MeshVoxelization | The array | |
element | MeshVoxelization | The value to find in the input array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
index | Integer | The index | |
mask | Bit | The mask |
ArrayMeshVoxelizationFindElement
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 | MeshVoxelization | The array | |
element | MeshVoxelization | 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 |
ArrayMeshVoxelizationInsertElement
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 | MeshVoxelization | The array | |
element | MeshVoxelization | The value to insert | |
index | Integer (1) | The position to insert the input element on |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | MeshVoxelization | The out array |
ArrayMeshVoxelizationMix
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 | MeshVoxelization | The array0 | |
array1 | MeshVoxelization | The array1 | |
mask | Bit | The mask |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | MeshVoxelization | The out array |
ArrayMeshVoxelizationPushElement
This node appends all the elements from the 'element' at the end of the input 'array'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | MeshVoxelization | The array | |
element | MeshVoxelization | The value to append at the end |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | MeshVoxelization | The out array |
ArrayMeshVoxelizationRemoveElement
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 | MeshVoxelization | The array | |
element | MeshVoxelization | The value to remove all its instances from the input array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | MeshVoxelization | The out array | |
mask | Bit | The mask |
ArrayMeshVoxelizationRemoveIndex
This node removes all input array positions by the 'index' input. .
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | MeshVoxelization | The array | |
index | Integer | The positions of the input array to remove |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | MeshVoxelization | The out array |
ArrayMeshVoxelizationRemoveRepeatedElements
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 | MeshVoxelization | The array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
new to old | Integer | The new to old | |
mask | Bit | The mask | |
out array | MeshVoxelization | The out array |
ArrayMeshVoxelizationResize
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 | MeshVoxelization | The array | |
size | Integer (1) | The size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | MeshVoxelization | The out array |
ArrayMeshVoxelizationReverse
This node reverses the order of the input 'array'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | MeshVoxelization | The array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | MeshVoxelization | The out array |
ArrayMeshVoxelizationSlice
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 | MeshVoxelization | 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 | MeshVoxelization | The out array |
ArrayObjectMeshConcat
This node concatenates the inputs 'array0' and 'array1' into a single 'out' array.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array0 | ObjectMesh | The array0 | |
array1 | ObjectMesh | The array1 |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | ObjectMesh | The out array |
ArrayObjectMeshConstant
This node returns a constant array.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
constant | ObjectMesh | The constant | |
size | Integer (1) | The size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | ObjectMesh | The out array |
ArrayObjectMeshFilterByMask
This node returns the elements of the input 'array' at positions specified by the 'mask' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | ObjectMesh | The array | |
mask | Bit | The mask |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | ObjectMesh | The result |
ArrayObjectMeshFindAllElementIndices
This node returns all positions in the input 'array', which fit to the input 'element' values. .
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | ObjectMesh | The array | |
element | ObjectMesh | The value to find in the input array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
index | Integer | The index | |
mask | Bit | The mask |
ArrayObjectMeshFindElement
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 | ObjectMesh | The array | |
element | ObjectMesh | 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 |
ArrayObjectMeshInsertElement
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 | ObjectMesh | The array | |
element | ObjectMesh | The value to insert | |
index | Integer (1) | The position to insert the input element on |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | ObjectMesh | The out array |
ArrayObjectMeshMix
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 | ObjectMesh | The array0 | |
array1 | ObjectMesh | The array1 | |
mask | Bit | The mask |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | ObjectMesh | The out array |
ArrayObjectMeshPushElement
This node appends all the elements from the 'element' at the end of the input 'array'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | ObjectMesh | The array | |
element | ObjectMesh | The value to append at the end |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | ObjectMesh | The out array |
ArrayObjectMeshRemoveElement
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 | ObjectMesh | The array | |
element | ObjectMesh | The value to remove all its instances from the input array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | ObjectMesh | The out array | |
mask | Bit | The mask |
ArrayObjectMeshRemoveIndex
This node removes all input array positions by the 'index' input. .
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | ObjectMesh | The array | |
index | Integer | The positions of the input array to remove |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | ObjectMesh | The out array |
ArrayObjectMeshRemoveRepeatedElements
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 | ObjectMesh | The array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
new to old | Integer | The new to old | |
mask | Bit | The mask | |
out array | ObjectMesh | The out array |
ArrayObjectMeshResize
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 | ObjectMesh | The array | |
size | Integer (1) | The size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | ObjectMesh | The out array |
ArrayObjectMeshReverse
This node reverses the order of the input 'array'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | ObjectMesh | The array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | ObjectMesh | The out array |
ArrayObjectMeshSlice
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 | ObjectMesh | 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 | ObjectMesh | The out array |
ArrayRealWaveMeshConcat
This node concatenates the inputs 'array0' and 'array1' into a single 'out' array.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array0 | RealWaveMesh | The array0 | |
array1 | RealWaveMesh | The array1 |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealWaveMesh | The out array |
ArrayRealWaveMeshConstant
This node returns a constant array.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
constant | RealWaveMesh | The constant | |
size | Integer (1) | The size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealWaveMesh | The out array |
ArrayRealWaveMeshFilterByMask
This node returns the elements of the input 'array' at positions specified by the 'mask' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealWaveMesh | The array | |
mask | Bit | The mask |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | RealWaveMesh | The result |
ArrayRealWaveMeshFindAllElementIndices
This node returns all positions in the input 'array', which fit to the input 'element' values. .
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealWaveMesh | The array | |
element | RealWaveMesh | The value to find in the input array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
index | Integer | The index | |
mask | Bit | The mask |
ArrayRealWaveMeshFindElement
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 | RealWaveMesh | The array | |
element | RealWaveMesh | 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 |
ArrayRealWaveMeshInsertElement
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 | RealWaveMesh | The array | |
element | RealWaveMesh | The value to insert | |
index | Integer (1) | The position to insert the input element on |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealWaveMesh | The out array |
ArrayRealWaveMeshMix
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 | RealWaveMesh | The array0 | |
array1 | RealWaveMesh | The array1 | |
mask | Bit | The mask |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealWaveMesh | The out array |
ArrayRealWaveMeshPushElement
This node appends all the elements from the 'element' at the end of the input 'array'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealWaveMesh | The array | |
element | RealWaveMesh | The value to append at the end |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealWaveMesh | The out array |
ArrayRealWaveMeshRemoveElement
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 | RealWaveMesh | The array | |
element | RealWaveMesh | The value to remove all its instances from the input array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealWaveMesh | The out array | |
mask | Bit | The mask |
ArrayRealWaveMeshRemoveIndex
This node removes all input array positions by the 'index' input. .
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealWaveMesh | The array | |
index | Integer | The positions of the input array to remove |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealWaveMesh | The out array |
ArrayRealWaveMeshRemoveRepeatedElements
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 | RealWaveMesh | The array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
new to old | Integer | The new to old | |
mask | Bit | The mask | |
out array | RealWaveMesh | The out array |
ArrayRealWaveMeshResize
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 | RealWaveMesh | The array | |
size | Integer (1) | The size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealWaveMesh | The out array |
ArrayRealWaveMeshReverse
This node reverses the order of the input 'array'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealWaveMesh | The array |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out array | RealWaveMesh | The out array |
ArrayRealWaveMeshSlice
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 | RealWaveMesh | 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 | RealWaveMesh | The out array |
Box
This node generates an axis aligned box. The corners are located at the inputs 'min' and 'max' positions.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
min | Vector3 | The position of the minimum corner of the box | |
max | Vector3 | The position of the maximum corner of the box |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
box | Box | The box |
BoxCopy
This node duplicates the value of 'in' to the output 'copy'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
in | Box | The value to duplicate |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
copy | Box | A copy of 'in' |
BoxInfo
This node returns the corners and dimension of a box.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
box | Box | The box |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
min | Vector3 | The position of the minimum corner of the box | |
max | Vector3 | The position of the maximum corner of the box | |
dimension | Vector3 | The dimension in x,y and z-direction of the box | |
center | Vector3 | The center of the box |
BoxIsPointInside
This node checks if the input 'position' is inside the input 'box'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
box | Box | The box | |
position | Vector3 | The position |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
mask | Bit | The mask |
FaceGetChannel
This node copy the data specified at the input "name" from the "faces" to the output "channel".
Available channels are:
- "world_normal". The normal of the face in world space units.
- "index". The index of the face in the faces array.
- "vertex_world_position_a". The world position of the first vertex of the face.
- "vertex_world_position_b". The world position of the first vertex of the face.
- "vertex_world_position_c". The world position of the first vertex of the face.
- "vertex_local_position_a". The local position of the first vertex of the face.
- "vertex_local_position_b". The local position of the first vertex of the face.
- "vertex_local_position_c". The local position of the first vertex of the face.
- "vertex_index_a". The index of the first vertex of the face.
- "vertex_index_b". The index of the second vertex of the face.
- "vertex_index_c". The index of the third vertex of the face.
- "uvw_a". The UV coordinates at the firstvertex of the face.
- "uvw_b". The UV coordinates at the second vertex of theface.
- "uvw_c". The UV coordinates at the third vertex of the face.
Please notice that a copy of the data is performed.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
name | The name of the channel | ||
faces | Faces | The faces |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
channel | The channel |
FaceInterpolator
This node is executed in parallel according to its input pins size.
This node interpolates the values at the face vertices to a value at the input point. The number of points must be in agreement with the number of points per face and the number of faces.
Parameters "vertex_a", "vertex_b", "vertex_c", "value_a", "value_b" and "value_c", when used as arrays, must be the same length, if not, the shortest length is used.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
points per face | Integer | The number of points per face | |
points | Vector3 | The point on the face where the interpolation is going to be performed | |
vertex a | Vector3 | The world position for the first vertex of the face | |
vertex b | Vector3 | The world position for the second vertex of the face | |
vertex c | Vector3 | The world position for the third vertex of the face | |
value a | The value for the first vertex | ||
value b | The value for the second vertex | ||
value c | The value for the third vertex |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | The interpolated values |
FacePointToBarycentricCoordinates
This node is executed in parallel according to its input pins size.
This node computes the barycentric coordinates at an specific point of the triange defined by the three input vertex positions.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
point | Vector3 | The point on the face for which the barycentric coordinates are computed | |
vertex a | Vector3 | The world position for the first vertex of the face | |
vertex b | Vector3 | The world position for the second vertex of the face | |
vertex c | Vector3 | The world position for the third vertex of the face |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | Vector3 | The barycentric coordinates values |
FaceSampler
This node is executed in parallel according to its input pins size.
This node randomly samples the face described by the three vertices atthe input and generates the points that lay on the face. The number ofgenerated points is specified using the "samples" parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
samples | Integer | Number of samples/points to be generated | |
vertex a | Vector3 | The world position for the first vertex of the face | |
vertex b | Vector3 | The world position for the second vertex of the face | |
vertex c | Vector3 | The world position for the third vertex of the face | |
random seed | Integer | The random seed used to generate the points |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
points | Vector3 | The point/s |
FaceValueFromBarycentricCoordinates
This node is executed in parallel according to its input pins size.
This node computes an interpolated value of the triangle defined by the three input values based on the input 'barycentric' coordinates Y and Z components.
Keep in mind that input values can be of any interpolable type. They don't need to be world positions.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
barycentric | Vector3 | The barycentric coordinates of the value to compute | |
value a | The value for the first vertex of the face | ||
value b | The value for the second vertex of the face | ||
value c | The value for the third vertex of the face |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | The result |
GetArrayBoxElement
This node returns the elements of the input 'array' at positions specified by the 'index' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Box | The array | |
index | Integer | The index |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
element | Box | The element |
GetArrayMeshElement
This node returns the elements of the input 'array' at positions specified by the 'index' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Mesh | The array | |
index | Integer | The index |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
element | Mesh | The element |
GetArrayMeshVoxelizationElement
This node returns the elements of the input 'array' at positions specified by the 'index' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | MeshVoxelization | The array | |
index | Integer | The index |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
element | MeshVoxelization | The element |
GetArrayObjectMeshElement
This node returns the elements of the input 'array' at positions specified by the 'index' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | ObjectMesh | The array | |
index | Integer | The index |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
element | ObjectMesh | The element |
GetArrayRealWaveMeshElement
This node returns the elements of the input 'array' at positions specified by the 'index' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealWaveMesh | The array | |
index | Integer | The index |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
element | RealWaveMesh | The element |
GetBoxGlobalVariable
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 | Box | The out |
GetFaces
This object returns a reference to the faces of the input 'mesh'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | The mesh |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
faces | Faces | The faces |
GetMesh
This node gets the mesh of the input node. For objects the vertices of the mesh are given in the local reference system, you might be interested in having them in the world reference system, for that you can use the "GetTransformation" and the "MeshTransformCopy" nodes.
In the case of MultiBodies, only one is allowed. The output is an array of the containing meshes.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
node | RealFlow Node | The node |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | Mesh | The mesh |
GetMeshGlobalVariable
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 | Mesh | The out |
GetMeshInfo
This node returns information about the input mesh.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | Mesh | The mesh |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
no of vertices | Integer | The no of vertices | |
no of triangles | Integer | The no of triangles | |
no of normals | Integer | The no of normals | |
bounding box | Box | The bounding box | |
uv's exist | Bit | The uv's exist |
GetMeshVoxelizationGlobalVariable
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 | MeshVoxelization | The out |
GetMultiBodyMesh
This node gets the mesh of the input MultiBody. It also returns the internal name of the mesh.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
node | MultiBody (1) | The node |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | ObjectMesh | The mesh | |
mesh name | String | The mesh name |
GetNodeBoundingBox
This node returns the axis aligned bounding box for a given node.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
node | RealFlow Node | The node |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
box | Box | The box |
GetObjectMesh
This node gets the mesh of the input node.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
node | Object | The node |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | ObjectMesh | The mesh |
GetVertices
This object returns a reference to the vertices of the input 'mesh'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | The mesh |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
vertices | Vertices | The vertices |
MeshAddVertexChannel
This node creates a new channel for the vertices of the mesh. The value for the new channel is initialized to zero. You might want to use the "VertexSetChannel" node to initialize the value of this channel.
Please, keep in mind that channels with different types than graph types may result in data precission loss when getting and setting its values.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | Mesh | out mesh | The mesh |
name | String (1) | The name of the channel | |
type | The type of the channel.Types between parentheses represent the graph type for the selected channel type |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out mesh | PassThrough | mesh | The out mesh |
MeshClipByDistanceField
This node clips the mesh against one or several input distance fields.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | Mesh (1) | The mesh | |
field | DistanceField | The field | |
remove inside | Bit | True to remove geometry inside of the distance field. False to remove geometry outside of the distance field |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
clipped mesh | Mesh | The clipped mesh |
MeshClipByVolume
This node clips the input 'mesh' against input 'volume' axis aligned box (or boxes).
The 'remove inside' flag should be of the same size as the 'volume' input.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | Mesh (1) | The mesh | |
volume | Box | The volume | |
remove inside | Bit | True to remove geometry inside of the volume. False to remove geometry outside of the volume |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
clipped mesh | Mesh | The clipped mesh |
MeshCopy
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 | Mesh | The value to duplicate |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
copy | Mesh | A copy of the input |
MeshCreateVoxelization
The algorithm to perform the operation of this node is multithreaded.
This node creates a mesh voxelization.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | Mesh | The mesh | |
voxel size | Real | The voxel size |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
voxelization | MeshVoxelization | The voxelization |
MeshCube
This node creates a mesh containing a cube with a side length of 1.
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
outMesh | Mesh | The outMesh |
MeshDisplaceFromImage
This node displaces the mesh using an image.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | Mesh (1) | out mesh | The mesh |
image | Image (1) | The image | |
repeat u | Real (1) | The number of tiles in u | |
repeat v | Real (1) | The number of tiles in v | |
scale | Vector3 | The scale of the displacement. If the number of elements in this input is larger than 1 then it must have the size of the vertexes of the mesh, so that a per-vertex scaling of the displacement is done. |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out mesh | PassThrough | mesh | The out mesh |
MeshExtrude
This node extrudes the mesh and reverses its normals.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | Mesh | The mesh | |
direction | Vector3 | The extrusion direction. Ignored if doing the extrusion using the mesh normals. | |
thickness | Real | The amount of extrusion | |
use mesh normals | Bit | The extrusion will be done using the mesh normals instead of the extrusion direction |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out mesh | Mesh | The out mesh |
MeshFindNearestPosition
The algorithm to perform the operation of this node is multithreaded.
This node gets the nearest position/s to the mesh.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh voxelization | MeshVoxelization (1) | The mesh voxelization | |
mesh | Mesh (1) | The mesh | |
in positions | Vector3 | The positions to test the nearest position to the input mesh | |
in directions | Vector3 | The direction to search the nearest position of the mesh. If it is set to (0.0, 0.0, 0.0) the search is performed in all directions | |
birectional | Bit (1) | When using a direction for searching you can specify if you want to search also in the negate direction and keep the closest position found | |
search distance | Real | The maximum distance to search the closest position of the mesh |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
mask | Bit | True if the nearest position was found, False otherwise | |
out positions | Vector3 | The nearest position of the mesh for the input positions. If the input position is too far, the original position value is returned | |
out normals | Vector3 | The normal of the input mesh at the nearest position.If the input position is too far, the original position value is returned | |
face indexes | Integer | The index of the face which contains the nearest position of the mesh | |
barycentrics | Vector3 | The barycentric coordinates of the nearest position in the mesh face |
MeshPlane
This node creates a mesh containing a plane with a side length of 1.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
subdivisions u | Integer (1) | The subdivisions u | |
subdivisions v | Integer (1) | The subdivisions v |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out mesh | Mesh | The out mesh |
MeshPlaneFromImage
This node creates a heightfield mesh from an image - using the green channel for heights and the red/blue channels for translation within the x/z-axis. The number of created vertices corresponds to the resolution of the input image. The resulting mesh resolution in x- and z-direction is normalized to 1. Using mapping, you may map the input values before they are used for the heightfield creation.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
image | Image (1) | The image | |
scale xyz | Vector3 (1) | The scale xyz | |
mapping | The mapping |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
outMesh | Mesh | The outMesh |
MeshSeparateComponents
Separates the input mesh into their disjoint groups.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | Mesh | The mesh |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh array | Mesh | The mesh array |
MeshTessellate
This node tessellates the mesh. Any edge of the original mesh that lies partially inside the tessellation region is subdivided if necessary.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | Mesh | out mesh | The mesh |
max edge length | Real | The maximum length of the edge of a tessellated face. Must be higher than 0 | |
region | Box | The box where the tessellation of the mesh will be applied only. The whole mesh if nothing is connected to this input |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out mesh | PassThrough | mesh | The out mesh |
MeshTransform
This node transforms the input 'mesh' according to the input transformation matrix.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | Mesh | The mesh | |
matrix | Matrix4 | The matrix |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out mesh | Mesh | The out mesh |
MeshTransformCopy
This node creates a transformed version of the input 'mesh' according to the input transformation matrix.
Warning: If the input is a RealFlow Object, the output mesh stores its local coordinates. In order to get the mesh at the same place as the actual object it is recommended to transform a copy of the output mesh with the transformation matrix of the object.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | Mesh | The mesh | |
matrix | Matrix4 | The matrix |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out mesh | Mesh | The out mesh |
MeshVoxelizationCopy
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 | MeshVoxelization | The value to duplicate |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
copy | MeshVoxelization | A copy of the input |
SetArrayBoxElement
This node returns the elements of the input 'array' at positions specified by the 'index' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Box | The array | |
index | Integer | The index | |
element | Box | The element |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | Box | The result |
SetArrayMeshElement
This node returns the elements of the input 'array' at positions specified by the 'index' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | Mesh | The array | |
index | Integer | The index | |
element | Mesh | The element |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | Mesh | The result |
SetArrayMeshVoxelizationElement
This node returns the elements of the input 'array' at positions specified by the 'index' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | MeshVoxelization | The array | |
index | Integer | The index | |
element | MeshVoxelization | The element |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | MeshVoxelization | The result |
SetArrayObjectMeshElement
This node returns the elements of the input 'array' at positions specified by the 'index' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | ObjectMesh | The array | |
index | Integer | The index | |
element | ObjectMesh | The element |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | ObjectMesh | The result |
SetArrayRealWaveMeshElement
This node returns the elements of the input 'array' at positions specified by the 'index' parameter.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
array | RealWaveMesh | The array | |
index | Integer | The index | |
element | RealWaveMesh | The element |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
result | RealWaveMesh | The result |
SetBoxGlobalVariable
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 | Box | 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 | Box | The value copied in memory in case a copy has been performed. The same input value otherwise |
SetMesh
This node replaces an existing RealFlow mesh with the input mesh.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
node | RealFlow Node | out node | The Particle Mesh or Hybrido Mesh to replace |
mesh | Mesh | The mesh |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out node | PassThrough | node | The out node |
SetMeshGlobalVariable
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 | Mesh | 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 | Mesh | The value copied in memory in case a copy has been performed. The same input value otherwise |
SetMeshVoxelizationGlobalVariable
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 | MeshVoxelization | 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 | MeshVoxelization | The value copied in memory in case a copy has been performed. The same input value otherwise |
VertexGetChannel
This node extracts and copies channel data from the vertices to the output channel. Because the channel type is only known at run-time you might need to use a constant node with an internal connection to specialize it.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
name | String (1) | The name of the channel, built-in valid names are "position", "local_position", "world_position", "velocity", "uvw" and "index". Please notice that "position" is equivalent to "world_position" | |
vertices | Vertices (1) | The vertices |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
channel | The channel |
VertexSetChannel
This node sets the channel value for the vertices. The size of the value array must be the same than the number of vertices.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
name | String | The name of the channel, built-in valid names are "position", "local_position", "world_position", "velocity", "uvw" and "index". Please notice that "position" is equivalent to "world_position" | |
vertices | Vertices (1) | out vertices | The vertices where the channel is set |
value | The value to be given to the vertices' channel. The size of the value array must be the same than the number of vertices |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out vertices | PassThrough | vertices | The out vertices |