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

NameDescription
ArrayBoxConcatThis node concatenates the inputs 'array0' and 'array1' into a single 'out' array.
ArrayBoxConstantThis node returns a constant array.
ArrayBoxFilterByMaskThis node returns the elements of the input 'array' at positions specified by the 'mask' parameter.
ArrayBoxFindAllElementIndicesThis node returns all positions in the input 'array', which fit to the input 'element' values.
ArrayBoxFindElementThis 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.
ArrayBoxInsertElementThis 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.
ArrayBoxMixThis 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.
ArrayBoxPushElementThis node appends all the elements from the 'element' at the end of the input 'array'.
ArrayBoxRemoveElementThis 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.
ArrayBoxRemoveIndexThis node removes all input array positions by the 'index' input.
ArrayBoxRemoveRepeatedElementsThis 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.
ArrayBoxResizeThis node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly.
ArrayBoxReverseThis node reverses the order of the input 'array'.
ArrayBoxSliceThis 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.
ArrayMeshCombineComputes a new mesh concatenating all the geometry from all the input meshes.
ArrayMeshConcatThis node concatenates the inputs 'array0' and 'array1' into a single 'out' array.
ArrayMeshConstantThis node returns a constant array.
ArrayMeshFilterByMaskThis node returns the elements of the input 'array' at positions specified by the 'mask' parameter.
ArrayMeshFindAllElementIndicesThis node returns all positions in the input 'array', which fit to the input 'element' values.
ArrayMeshFindElementThis 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.
ArrayMeshInsertElementThis 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.
ArrayMeshMixThis 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.
ArrayMeshPushElementThis node appends all the elements from the 'element' at the end of the input 'array'.
ArrayMeshRemoveElementThis 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.
ArrayMeshRemoveIndexThis node removes all input array positions by the 'index' input.
ArrayMeshRemoveRepeatedElementsThis 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.
ArrayMeshResizeThis node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly.
ArrayMeshReverseThis node reverses the order of the input 'array'.
ArrayMeshSliceThis 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.
ArrayMeshVoxelizationConcatThis node concatenates the inputs 'array0' and 'array1' into a single 'out' array.
ArrayMeshVoxelizationConstantThis node returns a constant array.
ArrayMeshVoxelizationFilterByMaskThis node returns the elements of the input 'array' at positions specified by the 'mask' parameter.
ArrayMeshVoxelizationFindAllElementIndicesThis node returns all positions in the input 'array', which fit to the input 'element' values.
ArrayMeshVoxelizationFindElementThis 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.
ArrayMeshVoxelizationInsertElementThis 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.
ArrayMeshVoxelizationMixThis 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.
ArrayMeshVoxelizationPushElementThis node appends all the elements from the 'element' at the end of the input 'array'.
ArrayMeshVoxelizationRemoveElementThis 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.
ArrayMeshVoxelizationRemoveIndexThis node removes all input array positions by the 'index' input.
ArrayMeshVoxelizationRemoveRepeatedElementsThis 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.
ArrayMeshVoxelizationResizeThis node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly.
ArrayMeshVoxelizationReverseThis node reverses the order of the input 'array'.
ArrayMeshVoxelizationSliceThis 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.
ArrayObjectMeshConcatThis node concatenates the inputs 'array0' and 'array1' into a single 'out' array.
ArrayObjectMeshConstantThis node returns a constant array.
ArrayObjectMeshFilterByMaskThis node returns the elements of the input 'array' at positions specified by the 'mask' parameter.
ArrayObjectMeshFindAllElementIndicesThis node returns all positions in the input 'array', which fit to the input 'element' values.
ArrayObjectMeshFindElementThis 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.
ArrayObjectMeshInsertElementThis 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.
ArrayObjectMeshMixThis 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.
ArrayObjectMeshPushElementThis node appends all the elements from the 'element' at the end of the input 'array'.
ArrayObjectMeshRemoveElementThis 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.
ArrayObjectMeshRemoveIndexThis node removes all input array positions by the 'index' input.
ArrayObjectMeshRemoveRepeatedElementsThis 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.
ArrayObjectMeshResizeThis node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly.
ArrayObjectMeshReverseThis node reverses the order of the input 'array'.
ArrayObjectMeshSliceThis 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.
ArrayRealWaveMeshConcatThis node concatenates the inputs 'array0' and 'array1' into a single 'out' array.
ArrayRealWaveMeshConstantThis node returns a constant array.
ArrayRealWaveMeshFilterByMaskThis node returns the elements of the input 'array' at positions specified by the 'mask' parameter.
ArrayRealWaveMeshFindAllElementIndicesThis node returns all positions in the input 'array', which fit to the input 'element' values.
ArrayRealWaveMeshFindElementThis 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.
ArrayRealWaveMeshInsertElementThis 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.
ArrayRealWaveMeshMixThis 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.
ArrayRealWaveMeshPushElementThis node appends all the elements from the 'element' at the end of the input 'array'.
ArrayRealWaveMeshRemoveElementThis 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.
ArrayRealWaveMeshRemoveIndexThis node removes all input array positions by the 'index' input.
ArrayRealWaveMeshRemoveRepeatedElementsThis 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.
ArrayRealWaveMeshResizeThis node resizes the input 'array'. If the result is bigger than the input array, the last value is repeated accordingly.
ArrayRealWaveMeshReverseThis node reverses the order of the input 'array'.
ArrayRealWaveMeshSliceThis 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.
BoxThis node generates an axis aligned box. The corners are located at the inputs 'min' and 'max' positions.
BoxCopyThis node duplicates the value of 'in' to the output 'copy'.
BoxInfoThis node returns the corners and dimension of a box.
BoxIsPointInsideThis node checks if the input 'position' is inside the input 'box'.
FaceGetChannelThis node copy the data specified at the input "name" from the "faces" to the output "channel".
FaceInterpolatorThis 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.
FacePointToBarycentricCoordinatesThis node computes the barycentric coordinates at an specific point of the triange defined by the three input vertex positions.
FaceSamplerThis 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.
FaceValueFromBarycentricCoordinatesThis node computes an interpolated value of the triangle defined by the three input values based on the input 'barycentric' coordinates Y and Z components.
GetArrayBoxElementThis node returns the elements of the input 'array' at positions specified by the 'index' parameter.
GetArrayMeshElementThis node returns the elements of the input 'array' at positions specified by the 'index' parameter.
GetArrayMeshVoxelizationElementThis node returns the elements of the input 'array' at positions specified by the 'index' parameter.
GetArrayObjectMeshElementThis node returns the elements of the input 'array' at positions specified by the 'index' parameter.
GetArrayRealWaveMeshElementThis node returns the elements of the input 'array' at positions specified by the 'index' parameter.
GetBoxGlobalVariableThis node returns a reference to previously stored variables in global memory (using the SetGlobalVariable-Nodes).
GetFacesThis object returns a reference to the faces of the input 'mesh'.
GetMeshThis 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.
GetMeshGlobalVariableThis node returns a reference to previously stored variables in global memory (using the SetGlobalVariable-Nodes).
GetMeshInfoThis node returns information about the input mesh.
GetMeshVoxelizationGlobalVariableThis node returns a reference to previously stored variables in global memory (using the SetGlobalVariable-Nodes).
GetMultiBodyMeshThis node gets the mesh of the input MultiBody. It also returns the internal name of the mesh.
GetNodeBoundingBoxThis node returns the axis aligned bounding box for a given node.
GetObjectMeshThis node gets the mesh of the input node.
GetVerticesThis object returns a reference to the vertices of the input 'mesh'.
MeshAddVertexChannelThis 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.
MeshClipByDistanceFieldThis node clips the mesh against one or several input distance fields.
MeshClipByVolumeThis node clips the input 'mesh' against input 'volume' axis aligned box (or boxes).
MeshCopyThis node duplicates the input value to the output. If you remove this node the output copy will not exist in the graph anymore.
MeshCreateVoxelizationThis node creates a mesh voxelization.
MeshCubeThis node creates a mesh containing a cube with a side length of 1.
MeshDisplaceFromImageThis node displaces the mesh using an image.
MeshExtrudeThis node extrudes the mesh and reverses its normals.
MeshFindNearestPositionThis node gets the nearest position/s to the mesh.
MeshPlaneThis node creates a mesh containing a plane with a side length of 1.
MeshPlaneFromImageThis 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.
MeshSeparateComponentsSeparates the input mesh into their disjoint groups.
MeshTessellateThis node tessellates the mesh. Any edge of the original mesh that lies partially inside the tessellation region is subdivided if necessary.
MeshTransformThis node transforms the input 'mesh' according to the input transformation matrix.
MeshTransformCopyThis 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.
MeshVoxelizationCopyThis node duplicates the input value to the output. If you remove this node the output copy will not exist in the graph anymore.
SetArrayBoxElementThis node returns the elements of the input 'array' at positions specified by the 'index' parameter.
SetArrayMeshElementThis node returns the elements of the input 'array' at positions specified by the 'index' parameter.
SetArrayMeshVoxelizationElementThis node returns the elements of the input 'array' at positions specified by the 'index' parameter.
SetArrayObjectMeshElementThis node returns the elements of the input 'array' at positions specified by the 'index' parameter.
SetArrayRealWaveMeshElementThis node returns the elements of the input 'array' at positions specified by the 'index' parameter.
SetBoxGlobalVariableThis 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.
SetMeshThis node replaces an existing RealFlow mesh with the input mesh.
SetMeshGlobalVariableThis 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.
SetMeshVoxelizationGlobalVariableThis 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.
VertexGetChannelThis 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.
VertexSetChannelThis 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

NameTypesPassThroughDescription
array0Box
 Optional

out array

The array0

array1Box
 Optional

out array

The array1

Outputs

NameTypesPassThroughDescription
out arrayBox
 Optional

array0
array1

The out array

 

ArrayBoxConstant

This node returns a constant array.

Inputs

NameTypesPassThroughDescription
constantBox 

The constant

sizeInteger (1) 

The size

Outputs

NameTypesPassThroughDescription
out arrayBox 

The out array

 

ArrayBoxFilterByMask

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

Inputs

NameTypesPassThroughDescription
arrayBox
 Optional

result

The array

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
resultBox
 Optional

array

The result

 

ArrayBoxFindAllElementIndices

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

Inputs

NameTypesPassThroughDescription
arrayBox 

The array

elementBox 

The value to find in the input array

Outputs

NameTypesPassThroughDescription
indexInteger 

The index

maskBit 

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

NameTypesPassThroughDescription
arrayBox 

The array

elementBox 

The value to find in the input array

start indexInteger 

The first index to search the element from

Outputs

NameTypesPassThroughDescription
indexInteger 

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

NameTypesPassThroughDescription
arrayBox
 Optional

out array

The array

elementBox 

The value to insert

indexInteger (1) 

The position to insert the input element on

Outputs

NameTypesPassThroughDescription
out arrayBox
 Optional

array

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

NameTypesPassThroughDescription
array0Box
 Optional

out array

The array0

array1Box
 Optional

out array

The array1

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
out arrayBox
 Optional

array0
array1

The out array

 

ArrayBoxPushElement

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

Inputs

NameTypesPassThroughDescription
arrayBox
 Optional

out array

The array

elementBox 

The value to append at the end

Outputs

NameTypesPassThroughDescription
out arrayBox
 Optional

array

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

NameTypesPassThroughDescription
arrayBox
 Optional

out array

The array

elementBox 

The value to remove all its instances from the input array

Outputs

NameTypesPassThroughDescription
out arrayBox
 Optional

array

The out array

maskBit 

The mask

 

ArrayBoxRemoveIndex

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

Inputs

NameTypesPassThroughDescription
arrayBox
 Optional

out array

The array

indexInteger 

The positions of the input array to remove

Outputs

NameTypesPassThroughDescription
out arrayBox
 Optional

array

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

NameTypesPassThroughDescription
arrayBox
 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
new to oldInteger 

The new to old

maskBit 

The mask

out arrayBox
 Optional

array

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

NameTypesPassThroughDescription
arrayBox
 Optional

out array

The array

sizeInteger (1) 

The size

Outputs

NameTypesPassThroughDescription
out arrayBox
 Optional

array

The out array

 

ArrayBoxReverse

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

Inputs

NameTypesPassThroughDescription
arrayBox
 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
out arrayBox
 Optional

array

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

NameTypesPassThroughDescription
arrayBox
 Optional

out array

The array

firstInteger (1) 

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

sizeInteger (1) 

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

Outputs

NameTypesPassThroughDescription
out arrayBox
 Optional

array

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

NameTypesPassThroughDescription
mesh arrayMesh 

The mesh array

Outputs

NameTypesPassThroughDescription
out meshMesh 

The out mesh

 

ArrayMeshConcat

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

Inputs

NameTypesPassThroughDescription
array0Mesh
 Optional

out array

The array0

array1Mesh
 Optional

out array

The array1

Outputs

NameTypesPassThroughDescription
out arrayMesh
 Optional

array0
array1

The out array

 

ArrayMeshConstant

This node returns a constant array.

Inputs

NameTypesPassThroughDescription
constantMesh 

The constant

sizeInteger (1) 

The size

Outputs

NameTypesPassThroughDescription
out arrayMesh 

The out array

 

ArrayMeshFilterByMask

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

Inputs

NameTypesPassThroughDescription
arrayMesh
 Optional

result

The array

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
resultMesh
 Optional

array

The result

 

ArrayMeshFindAllElementIndices

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

Inputs

NameTypesPassThroughDescription
arrayMesh 

The array

elementMesh 

The value to find in the input array

Outputs

NameTypesPassThroughDescription
indexInteger 

The index

maskBit 

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

NameTypesPassThroughDescription
arrayMesh 

The array

elementMesh 

The value to find in the input array

start indexInteger 

The first index to search the element from

Outputs

NameTypesPassThroughDescription
indexInteger 

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

NameTypesPassThroughDescription
arrayMesh
 Optional

out array

The array

elementMesh 

The value to insert

indexInteger (1) 

The position to insert the input element on

Outputs

NameTypesPassThroughDescription
out arrayMesh
 Optional

array

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

NameTypesPassThroughDescription
array0Mesh
 Optional

out array

The array0

array1Mesh
 Optional

out array

The array1

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
out arrayMesh
 Optional

array0
array1

The out array

 

ArrayMeshPushElement

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

Inputs

NameTypesPassThroughDescription
arrayMesh
 Optional

out array

The array

elementMesh 

The value to append at the end

Outputs

NameTypesPassThroughDescription
out arrayMesh
 Optional

array

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

NameTypesPassThroughDescription
arrayMesh
 Optional

out array

The array

elementMesh 

The value to remove all its instances from the input array

Outputs

NameTypesPassThroughDescription
out arrayMesh
 Optional

array

The out array

maskBit 

The mask

 

ArrayMeshRemoveIndex

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

Inputs

NameTypesPassThroughDescription
arrayMesh
 Optional

out array

The array

indexInteger 

The positions of the input array to remove

Outputs

NameTypesPassThroughDescription
out arrayMesh
 Optional

array

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

NameTypesPassThroughDescription
arrayMesh
 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
new to oldInteger 

The new to old

maskBit 

The mask

out arrayMesh
 Optional

array

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

NameTypesPassThroughDescription
arrayMesh
 Optional

out array

The array

sizeInteger (1) 

The size

Outputs

NameTypesPassThroughDescription
out arrayMesh
 Optional

array

The out array

 

ArrayMeshReverse

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

Inputs

NameTypesPassThroughDescription
arrayMesh
 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
out arrayMesh
 Optional

array

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

NameTypesPassThroughDescription
arrayMesh
 Optional

out array

The array

firstInteger (1) 

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

sizeInteger (1) 

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

Outputs

NameTypesPassThroughDescription
out arrayMesh
 Optional

array

The out array

 

ArrayMeshVoxelizationConcat

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

Inputs

NameTypesPassThroughDescription
array0MeshVoxelization
 Optional

out array

The array0

array1MeshVoxelization
 Optional

out array

The array1

Outputs

NameTypesPassThroughDescription
out arrayMeshVoxelization
 Optional

array0
array1

The out array

 

ArrayMeshVoxelizationConstant

This node returns a constant array.

Inputs

NameTypesPassThroughDescription
constantMeshVoxelization 

The constant

sizeInteger (1) 

The size

Outputs

NameTypesPassThroughDescription
out arrayMeshVoxelization 

The out array

 

ArrayMeshVoxelizationFilterByMask

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

Inputs

NameTypesPassThroughDescription
arrayMeshVoxelization
 Optional

result

The array

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
resultMeshVoxelization
 Optional

array

The result

 

ArrayMeshVoxelizationFindAllElementIndices

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

Inputs

NameTypesPassThroughDescription
arrayMeshVoxelization 

The array

elementMeshVoxelization 

The value to find in the input array

Outputs

NameTypesPassThroughDescription
indexInteger 

The index

maskBit 

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

NameTypesPassThroughDescription
arrayMeshVoxelization 

The array

elementMeshVoxelization 

The value to find in the input array

start indexInteger 

The first index to search the element from

Outputs

NameTypesPassThroughDescription
indexInteger 

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

NameTypesPassThroughDescription
arrayMeshVoxelization
 Optional

out array

The array

elementMeshVoxelization 

The value to insert

indexInteger (1) 

The position to insert the input element on

Outputs

NameTypesPassThroughDescription
out arrayMeshVoxelization
 Optional

array

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

NameTypesPassThroughDescription
array0MeshVoxelization
 Optional

out array

The array0

array1MeshVoxelization
 Optional

out array

The array1

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
out arrayMeshVoxelization
 Optional

array0
array1

The out array

 

ArrayMeshVoxelizationPushElement

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

Inputs

NameTypesPassThroughDescription
arrayMeshVoxelization
 Optional

out array

The array

elementMeshVoxelization 

The value to append at the end

Outputs

NameTypesPassThroughDescription
out arrayMeshVoxelization
 Optional

array

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

NameTypesPassThroughDescription
arrayMeshVoxelization
 Optional

out array

The array

elementMeshVoxelization 

The value to remove all its instances from the input array

Outputs

NameTypesPassThroughDescription
out arrayMeshVoxelization
 Optional

array

The out array

maskBit 

The mask

 

ArrayMeshVoxelizationRemoveIndex

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

Inputs

NameTypesPassThroughDescription
arrayMeshVoxelization
 Optional

out array

The array

indexInteger 

The positions of the input array to remove

Outputs

NameTypesPassThroughDescription
out arrayMeshVoxelization
 Optional

array

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

NameTypesPassThroughDescription
arrayMeshVoxelization
 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
new to oldInteger 

The new to old

maskBit 

The mask

out arrayMeshVoxelization
 Optional

array

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

NameTypesPassThroughDescription
arrayMeshVoxelization
 Optional

out array

The array

sizeInteger (1) 

The size

Outputs

NameTypesPassThroughDescription
out arrayMeshVoxelization
 Optional

array

The out array

 

ArrayMeshVoxelizationReverse

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

Inputs

NameTypesPassThroughDescription
arrayMeshVoxelization
 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
out arrayMeshVoxelization
 Optional

array

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

NameTypesPassThroughDescription
arrayMeshVoxelization
 Optional

out array

The array

firstInteger (1) 

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

sizeInteger (1) 

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

Outputs

NameTypesPassThroughDescription
out arrayMeshVoxelization
 Optional

array

The out array

 

ArrayObjectMeshConcat

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

Inputs

NameTypesPassThroughDescription
array0ObjectMesh
 Optional

out array

The array0

array1ObjectMesh
 Optional

out array

The array1

Outputs

NameTypesPassThroughDescription
out arrayObjectMesh
 Optional

array0
array1

The out array

 

ArrayObjectMeshConstant

This node returns a constant array.

Inputs

NameTypesPassThroughDescription
constantObjectMesh 

The constant

sizeInteger (1) 

The size

Outputs

NameTypesPassThroughDescription
out arrayObjectMesh 

The out array

 

ArrayObjectMeshFilterByMask

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

Inputs

NameTypesPassThroughDescription
arrayObjectMesh
 Optional

result

The array

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
resultObjectMesh
 Optional

array

The result

 

ArrayObjectMeshFindAllElementIndices

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

Inputs

NameTypesPassThroughDescription
arrayObjectMesh 

The array

elementObjectMesh 

The value to find in the input array

Outputs

NameTypesPassThroughDescription
indexInteger 

The index

maskBit 

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

NameTypesPassThroughDescription
arrayObjectMesh 

The array

elementObjectMesh 

The value to find in the input array

start indexInteger 

The first index to search the element from

Outputs

NameTypesPassThroughDescription
indexInteger 

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

NameTypesPassThroughDescription
arrayObjectMesh
 Optional

out array

The array

elementObjectMesh 

The value to insert

indexInteger (1) 

The position to insert the input element on

Outputs

NameTypesPassThroughDescription
out arrayObjectMesh
 Optional

array

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

NameTypesPassThroughDescription
array0ObjectMesh
 Optional

out array

The array0

array1ObjectMesh
 Optional

out array

The array1

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
out arrayObjectMesh
 Optional

array0
array1

The out array

 

ArrayObjectMeshPushElement

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

Inputs

NameTypesPassThroughDescription
arrayObjectMesh
 Optional

out array

The array

elementObjectMesh 

The value to append at the end

Outputs

NameTypesPassThroughDescription
out arrayObjectMesh
 Optional

array

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

NameTypesPassThroughDescription
arrayObjectMesh
 Optional

out array

The array

elementObjectMesh 

The value to remove all its instances from the input array

Outputs

NameTypesPassThroughDescription
out arrayObjectMesh
 Optional

array

The out array

maskBit 

The mask

 

ArrayObjectMeshRemoveIndex

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

Inputs

NameTypesPassThroughDescription
arrayObjectMesh
 Optional

out array

The array

indexInteger 

The positions of the input array to remove

Outputs

NameTypesPassThroughDescription
out arrayObjectMesh
 Optional

array

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

NameTypesPassThroughDescription
arrayObjectMesh
 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
new to oldInteger 

The new to old

maskBit 

The mask

out arrayObjectMesh
 Optional

array

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

NameTypesPassThroughDescription
arrayObjectMesh
 Optional

out array

The array

sizeInteger (1) 

The size

Outputs

NameTypesPassThroughDescription
out arrayObjectMesh
 Optional

array

The out array

 

ArrayObjectMeshReverse

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

Inputs

NameTypesPassThroughDescription
arrayObjectMesh
 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
out arrayObjectMesh
 Optional

array

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

NameTypesPassThroughDescription
arrayObjectMesh
 Optional

out array

The array

firstInteger (1) 

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

sizeInteger (1) 

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

Outputs

NameTypesPassThroughDescription
out arrayObjectMesh
 Optional

array

The out array

 

ArrayRealWaveMeshConcat

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

Inputs

NameTypesPassThroughDescription
array0RealWaveMesh
 Optional

out array

The array0

array1RealWaveMesh
 Optional

out array

The array1

Outputs

NameTypesPassThroughDescription
out arrayRealWaveMesh
 Optional

array0
array1

The out array

 

ArrayRealWaveMeshConstant

This node returns a constant array.

Inputs

NameTypesPassThroughDescription
constantRealWaveMesh 

The constant

sizeInteger (1) 

The size

Outputs

NameTypesPassThroughDescription
out arrayRealWaveMesh 

The out array

 

ArrayRealWaveMeshFilterByMask

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

Inputs

NameTypesPassThroughDescription
arrayRealWaveMesh
 Optional

result

The array

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
resultRealWaveMesh
 Optional

array

The result

 

ArrayRealWaveMeshFindAllElementIndices

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

Inputs

NameTypesPassThroughDescription
arrayRealWaveMesh 

The array

elementRealWaveMesh 

The value to find in the input array

Outputs

NameTypesPassThroughDescription
indexInteger 

The index

maskBit 

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

NameTypesPassThroughDescription
arrayRealWaveMesh 

The array

elementRealWaveMesh 

The value to find in the input array

start indexInteger 

The first index to search the element from

Outputs

NameTypesPassThroughDescription
indexInteger 

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

NameTypesPassThroughDescription
arrayRealWaveMesh
 Optional

out array

The array

elementRealWaveMesh 

The value to insert

indexInteger (1) 

The position to insert the input element on

Outputs

NameTypesPassThroughDescription
out arrayRealWaveMesh
 Optional

array

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

NameTypesPassThroughDescription
array0RealWaveMesh
 Optional

out array

The array0

array1RealWaveMesh
 Optional

out array

The array1

maskBit 

The mask

Outputs

NameTypesPassThroughDescription
out arrayRealWaveMesh
 Optional

array0
array1

The out array

 

ArrayRealWaveMeshPushElement

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

Inputs

NameTypesPassThroughDescription
arrayRealWaveMesh
 Optional

out array

The array

elementRealWaveMesh 

The value to append at the end

Outputs

NameTypesPassThroughDescription
out arrayRealWaveMesh
 Optional

array

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

NameTypesPassThroughDescription
arrayRealWaveMesh
 Optional

out array

The array

elementRealWaveMesh 

The value to remove all its instances from the input array

Outputs

NameTypesPassThroughDescription
out arrayRealWaveMesh
 Optional

array

The out array

maskBit 

The mask

 

ArrayRealWaveMeshRemoveIndex

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

Inputs

NameTypesPassThroughDescription
arrayRealWaveMesh
 Optional

out array

The array

indexInteger 

The positions of the input array to remove

Outputs

NameTypesPassThroughDescription
out arrayRealWaveMesh
 Optional

array

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

NameTypesPassThroughDescription
arrayRealWaveMesh
 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
new to oldInteger 

The new to old

maskBit 

The mask

out arrayRealWaveMesh
 Optional

array

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

NameTypesPassThroughDescription
arrayRealWaveMesh
 Optional

out array

The array

sizeInteger (1) 

The size

Outputs

NameTypesPassThroughDescription
out arrayRealWaveMesh
 Optional

array

The out array

 

ArrayRealWaveMeshReverse

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

Inputs

NameTypesPassThroughDescription
arrayRealWaveMesh
 Optional

out array

The array

Outputs

NameTypesPassThroughDescription
out arrayRealWaveMesh
 Optional

array

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

NameTypesPassThroughDescription
arrayRealWaveMesh
 Optional

out array

The array

firstInteger (1) 

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

sizeInteger (1) 

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

Outputs

NameTypesPassThroughDescription
out arrayRealWaveMesh
 Optional

array

The out array

 

Box

This node generates an axis aligned box. The corners are located at the inputs 'min' and 'max' positions.

Inputs

NameTypesPassThroughDescription
minVector3 

The position of the minimum corner of the box

maxVector3 

The position of the maximum corner of the box

Outputs

NameTypesPassThroughDescription
boxBox 

The box

 

BoxCopy

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

Inputs

NameTypesPassThroughDescription
inBox 

The value to duplicate

Outputs

NameTypesPassThroughDescription
copyBox 

A copy of 'in'

 

BoxInfo

This node returns the corners and dimension of a box.

Inputs

NameTypesPassThroughDescription
boxBox 

The box

Outputs

NameTypesPassThroughDescription
minVector3 

The position of the minimum corner of the box

maxVector3 

The position of the maximum corner of the box

dimensionVector3 

The dimension in x,y and z-direction of the box

centerVector3 

The center of the box

 

BoxIsPointInside

This node checks if the input 'position' is inside the input 'box'.

Inputs

NameTypesPassThroughDescription
boxBox 

The box

positionVector3 

The position

Outputs

NameTypesPassThroughDescription
maskBit 

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

NameTypesPassThroughDescription
name
 List (1)

world_normal
index
vertex_world_position_a
vertex_world_position_b
vertex_world_position_c
vertex_local_position_a
vertex_local_position_b
vertex_local_position_c
vertex_index_a
vertex_index_b
vertex_index_c
uvw_a
uvw_b
uvw_c

 

The name of the channel

facesFaces 

The faces

Outputs

NameTypesPassThroughDescription
channel
 Numeric

Integer
Real
Vector3

 

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

NameTypesPassThroughDescription
points per faceInteger 

The number of points per face

pointsVector3 

The point on the face where the interpolation is going to be performed

vertex aVector3 

The world position for the first vertex of the face

vertex bVector3 

The world position for the second vertex of the face

vertex cVector3 

The world position for the third vertex of the face

value a
 Numeric

Integer
Real
Integer64
Vector3
Color4

 

The value for the first vertex

value b
 Numeric

Integer
Real
Integer64
Vector3
Color4

 

The value for the second vertex

value c
 Numeric

Integer
Real
Integer64
Vector3
Color4

 

The value for the third vertex

Outputs

NameTypesPassThroughDescription
result
 Numeric

Integer
Real
Integer64
Vector3
Color4

 

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

NameTypesPassThroughDescription
pointVector3 

The point on the face for which the barycentric coordinates are computed

vertex aVector3 

The world position for the first vertex of the face

vertex bVector3 

The world position for the second vertex of the face

vertex cVector3 

The world position for the third vertex of the face

Outputs

NameTypesPassThroughDescription
resultVector3 

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

NameTypesPassThroughDescription
samplesInteger 

Number of samples/points to be generated

vertex aVector3 

The world position for the first vertex of the face

vertex bVector3 

The world position for the second vertex of the face

vertex cVector3 

The world position for the third vertex of the face

random seedInteger 

The random seed used to generate the points

Outputs

NameTypesPassThroughDescription
pointsVector3 

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

NameTypesPassThroughDescription
barycentricVector3 

The barycentric coordinates of the value to compute

value a
 Numeric

Integer
Integer64
Real
Vector3
Color4

 

The value for the first vertex of the face

value b
 Numeric

Integer
Integer64
Real
Vector3
Color4

 

The value for the second vertex of the face

value c
 Numeric

Integer
Integer64
Real
Vector3
Color4

 

The value for the third vertex of the face

Outputs

NameTypesPassThroughDescription
result
 Numeric

Integer
Integer64
Real
Vector3
Color4

 

The result

 

GetArrayBoxElement

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

Inputs

NameTypesPassThroughDescription
arrayBox 

The array

indexInteger 

The index

Outputs

NameTypesPassThroughDescription
elementBox 

The element

 

GetArrayMeshElement

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

Inputs

NameTypesPassThroughDescription
arrayMesh 

The array

indexInteger 

The index

Outputs

NameTypesPassThroughDescription
elementMesh 

The element

 

GetArrayMeshVoxelizationElement

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

Inputs

NameTypesPassThroughDescription
arrayMeshVoxelization 

The array

indexInteger 

The index

Outputs

NameTypesPassThroughDescription
elementMeshVoxelization 

The element

 

GetArrayObjectMeshElement

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

Inputs

NameTypesPassThroughDescription
arrayObjectMesh 

The array

indexInteger 

The index

Outputs

NameTypesPassThroughDescription
elementObjectMesh 

The element

 

GetArrayRealWaveMeshElement

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

Inputs

NameTypesPassThroughDescription
arrayRealWaveMesh 

The array

indexInteger 

The index

Outputs

NameTypesPassThroughDescription
elementRealWaveMesh 

The element

 

GetBoxGlobalVariable

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

Inputs

NameTypesPassThroughDescription
nameString (1) 

The name

Outputs

NameTypesPassThroughDescription
outBox 

The out

 

GetFaces

This object returns a reference to the faces of the input 'mesh'.

Inputs

NameTypesPassThroughDescription
mesh
 MeshBase (1)

Mesh
ObjectMesh
RealWaveMesh

 

The mesh

Outputs

NameTypesPassThroughDescription
facesFaces 

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

NameTypesPassThroughDescription
nodeRealFlow Node 

The node

Outputs

NameTypesPassThroughDescription
meshMesh 

The mesh

 

GetMeshGlobalVariable

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

Inputs

NameTypesPassThroughDescription
nameString (1) 

The name

Outputs

NameTypesPassThroughDescription
outMesh 

The out

 

GetMeshInfo

This node returns information about the input mesh.

Inputs

NameTypesPassThroughDescription
meshMesh 

The mesh

Outputs

NameTypesPassThroughDescription
no of verticesInteger 

The no of vertices

no of trianglesInteger 

The no of triangles

no of normalsInteger 

The no of normals

bounding boxBox 

The bounding box

uv's existBit 

The uv's exist

 

GetMeshVoxelizationGlobalVariable

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

Inputs

NameTypesPassThroughDescription
nameString (1) 

The name

Outputs

NameTypesPassThroughDescription
outMeshVoxelization 

The out

 

GetMultiBodyMesh

This node gets the mesh of the input MultiBody. It also returns the internal name of the mesh.

Inputs

NameTypesPassThroughDescription
nodeMultiBody (1) 

The node

Outputs

NameTypesPassThroughDescription
meshObjectMesh 

The mesh

mesh nameString 

The mesh name

 

GetNodeBoundingBox

This node returns the axis aligned bounding box for a given node.

Inputs

NameTypesPassThroughDescription
nodeRealFlow Node 

The node

Outputs

NameTypesPassThroughDescription
boxBox 

The box

 

GetObjectMesh

This node gets the mesh of the input node.

Inputs

NameTypesPassThroughDescription
nodeObject 

The node

Outputs

NameTypesPassThroughDescription
meshObjectMesh 

The mesh

 

GetVertices

This object returns a reference to the vertices of the input 'mesh'.

Inputs

NameTypesPassThroughDescription
mesh
 MeshBase

Mesh
ObjectMesh
RealWaveMesh

 

The mesh

Outputs

NameTypesPassThroughDescription
verticesVertices 

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

NameTypesPassThroughDescription
meshMeshout mesh

The mesh

nameString (1) 

The name of the channel

type
 List (1)

Vector3
Integer64
Integer
Real
Color4
Vector3D (Vector3)
Vector2F (Vector3)
UInt64 (Integer64)
UInt32 (Integer)
UInt16 (Integer)
UInt8 (Integer)
Bool (Integer)
Double (Real)

 

The type of the channel.Types between parentheses represent the graph type for the selected channel type

Outputs

NameTypesPassThroughDescription
out meshPassThroughmesh

The out mesh

 

MeshClipByDistanceField

This node clips the mesh against one or several input distance fields.

Inputs

NameTypesPassThroughDescription
meshMesh (1) 

The mesh

fieldDistanceField 

The field

remove insideBit 

True to remove geometry inside of the distance field. False to remove geometry outside of the distance field

Outputs

NameTypesPassThroughDescription
clipped meshMesh 

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

NameTypesPassThroughDescription
meshMesh (1) 

The mesh

volumeBox 

The volume

remove insideBit 

True to remove geometry inside of the volume. False to remove geometry outside of the volume

Outputs

NameTypesPassThroughDescription
clipped meshMesh 

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

NameTypesPassThroughDescription
inMesh 

The value to duplicate

Outputs

NameTypesPassThroughDescription
copyMesh 

A copy of the input

 

MeshCreateVoxelization

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

This node creates a mesh voxelization.

Inputs

NameTypesPassThroughDescription
meshMesh 

The mesh

voxel sizeReal 

The voxel size

Outputs

NameTypesPassThroughDescription
voxelizationMeshVoxelization 

The voxelization

 

MeshCube

This node creates a mesh containing a cube with a side length of 1.

Outputs

NameTypesPassThroughDescription
outMeshMesh 

The outMesh

 

MeshDisplaceFromImage

This node displaces the mesh using an image.

Inputs

NameTypesPassThroughDescription
meshMesh (1)out mesh

The mesh

imageImage (1) 

The image

repeat uReal (1) 

The number of tiles in u

repeat vReal (1) 

The number of tiles in v

scaleVector3 

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

NameTypesPassThroughDescription
out meshPassThroughmesh

The out mesh

 

MeshExtrude

This node extrudes the mesh and reverses its normals.

Inputs

NameTypesPassThroughDescription
meshMesh 

The mesh

directionVector3 

The extrusion direction. Ignored if doing the extrusion using the mesh normals. 

thicknessReal 

The amount of extrusion

use mesh normalsBit 

The extrusion will be done using the mesh normals instead of the extrusion direction

Outputs

NameTypesPassThroughDescription
out meshMesh 

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

NameTypesPassThroughDescription
mesh voxelizationMeshVoxelization (1) 

The mesh voxelization

meshMesh (1) 

The mesh

in positionsVector3 

The positions to test the nearest position to the input mesh

in directionsVector3 

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

birectionalBit (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 distanceReal 

The maximum distance to search the closest position of the mesh

Outputs

NameTypesPassThroughDescription
maskBit 

True if the nearest position was found, False otherwise

out positionsVector3 

The nearest position of the mesh for the input positions.

If the input position is too far, the original position value is returned

out normalsVector3 

The normal of the input mesh at the nearest position.If the input position is too far, the original position value is returned

face indexesInteger 

The index of the face which contains the nearest position of the mesh

barycentricsVector3 

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

NameTypesPassThroughDescription
subdivisions uInteger (1) 

The subdivisions u

subdivisions vInteger (1) 

The subdivisions v

Outputs

NameTypesPassThroughDescription
out meshMesh 

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

NameTypesPassThroughDescription
imageImage (1) 

The image

scale xyzVector3 (1) 

The scale xyz

mapping
 List

None
-1..1 -> 0..1
0..1 -> -1..1

 

The mapping

Outputs

NameTypesPassThroughDescription
outMeshMesh 

The outMesh

 

MeshSeparateComponents

Separates the input mesh into their disjoint groups.

Inputs

NameTypesPassThroughDescription
meshMesh 

The mesh

Outputs

NameTypesPassThroughDescription
mesh arrayMesh 

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

NameTypesPassThroughDescription
meshMeshout mesh

The mesh

max edge lengthReal 

The maximum length of the edge of a tessellated face. Must be higher than 0

regionBox 

The box where the tessellation of the mesh will be applied only. The whole mesh if nothing is connected to this input

Outputs

NameTypesPassThroughDescription
out meshPassThroughmesh

The out mesh

 

MeshTransform

This node transforms the input 'mesh' according to the input transformation matrix.

Inputs

NameTypesPassThroughDescription
meshMesh 

The mesh

matrixMatrix4 

The matrix

Outputs

NameTypesPassThroughDescription
out meshMesh 

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

NameTypesPassThroughDescription
meshMesh 

The mesh

matrixMatrix4 

The matrix

Outputs

NameTypesPassThroughDescription
out meshMesh 

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

NameTypesPassThroughDescription
inMeshVoxelization 

The value to duplicate

Outputs

NameTypesPassThroughDescription
copyMeshVoxelization 

A copy of the input

 

SetArrayBoxElement

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

Inputs

NameTypesPassThroughDescription
arrayBox
 Optional

result

The array

indexInteger 

The index

elementBox 

The element

Outputs

NameTypesPassThroughDescription
resultBox
 Optional

array

The result

 

SetArrayMeshElement

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

Inputs

NameTypesPassThroughDescription
arrayMesh
 Optional

result

The array

indexInteger 

The index

elementMesh 

The element

Outputs

NameTypesPassThroughDescription
resultMesh
 Optional

array

The result

 

SetArrayMeshVoxelizationElement

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

Inputs

NameTypesPassThroughDescription
arrayMeshVoxelization
 Optional

result

The array

indexInteger 

The index

elementMeshVoxelization 

The element

Outputs

NameTypesPassThroughDescription
resultMeshVoxelization
 Optional

array

The result

 

SetArrayObjectMeshElement

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

Inputs

NameTypesPassThroughDescription
arrayObjectMesh
 Optional

result

The array

indexInteger 

The index

elementObjectMesh 

The element

Outputs

NameTypesPassThroughDescription
resultObjectMesh
 Optional

array

The result

 

SetArrayRealWaveMeshElement

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

Inputs

NameTypesPassThroughDescription
arrayRealWaveMesh
 Optional

result

The array

indexInteger 

The index

elementRealWaveMesh 

The element

Outputs

NameTypesPassThroughDescription
resultRealWaveMesh
 Optional

array

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

NameTypesPassThroughDescription
nameString (1) 

The name

inBoxthrough

The in

store copyBit (1) 

The store copy

Outputs

NameTypesPassThroughDescription
throughPassThroughin

The value connected to the input

out copyBox 

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

NameTypesPassThroughDescription
nodeRealFlow Nodeout node

The Particle Mesh or Hybrido Mesh to replace

meshMesh 

The mesh

Outputs

NameTypesPassThroughDescription
out nodePassThroughnode

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

NameTypesPassThroughDescription
nameString (1) 

The name

inMeshthrough

The in

store copyBit (1) 

The store copy

Outputs

NameTypesPassThroughDescription
throughPassThroughin

The value connected to the input

out copyMesh 

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

NameTypesPassThroughDescription
nameString (1) 

The name

inMeshVoxelizationthrough

The in

store copyBit (1) 

The store copy

Outputs

NameTypesPassThroughDescription
throughPassThroughin

The value connected to the input

out copyMeshVoxelization 

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

NameTypesPassThroughDescription
nameString (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"

verticesVertices (1) 

The vertices

Outputs

NameTypesPassThroughDescription
channel
 Numeric

Integer
Integer64
Real
Vector3
Color4

 

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

NameTypesPassThroughDescription
nameString 

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"

verticesVertices (1)out vertices

The vertices where the channel is set

value
 Numeric

Integer
Integer64
Real
Vector3
Color4

 

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

NameTypesPassThroughDescription
out verticesPassThroughvertices

The out vertices