Import-Export
These nodes are a perfect addition to RealFlow's comprehensive import and export capabilities, because they provide much more flexibility. The nodes support:
- Fields
- Images
- Meshes
- Particles
Some nodes are also directly connected to RealFlow's "Export Central" dialogue and create an output according to the active export resource. You can also choose from a wide variety of file formats.
Nodes
Name | Description |
---|---|
Color4ReadFromFilePath | This node reads from the input binary 'file path'. If 'read size' is true, the first 4 bytes from 'position' are read and used as the number of elements stored in the file. If 'max count' is not negative the number of elements read is the minimum between 'max count' and the size read. If size was not read, the number of elements is computed using the size of the file. |
FieldRealLoad | This node loads field/s data from a file. File formats supported so far are Field3D (.f3d) and OpenVDB (.vdb ). |
FieldSave | This node saves field data to a file. |
FieldVector3Load | This node loads field/s data from a file. File formats supported so far are Field3D (.f3d) and OpenVDB (.vdb ). |
FilePathInfo | This node returns information about the input file path. |
FolderInfo | This node returns information about the input folder. |
ImageLoad | This node loads images from files. |
ImageSave | This node saves the input 'image' to file. |
Integer64ReadFromFilePath | This node reads from the input binary 'file path'. If 'read size' is true, the first 4 bytes from 'position' are read and used as the number of elements stored in the file. If 'max count' is not negative the number of elements read is the minimum between 'max count' and the size read. If size was not read, the number of elements is computed using the size of the file. |
IntegerReadFromFilePath | This node reads from the input binary 'file path'. If 'read size' is true, the first 4 bytes from 'position' are read and used as the number of elements stored in the file. If 'max count' is not negative the number of elements read is the minimum between 'max count' and the size read. If size was not read, the number of elements is computed using the size of the file. |
Matrix4ReadFromFilePath | This node reads from the input binary 'file path'. If 'read size' is true, the first 4 bytes from 'position' are read and used as the number of elements stored in the file. If 'max count' is not negative the number of elements read is the minimum between 'max count' and the size read. If size was not read, the number of elements is computed using the size of the file. |
MeshLoad | This node loads mesh channel data from a file. The file format is extracted from the file extension and valid file formats are Alembic (.abc), Wavefront (.obj) and RealFlow BIN (.bin). |
MeshSave | This node saves mesh channel data to a file. |
NodeDataExport | Makes the input 'node' to export its data according to its current Export Central settings. |
NodeDataReload | Makes the input 'node' to reload its data according to its current Export Central settings. |
NumWriteToFilePath | This node writes to the specified 'file path' a binary version of the input 'input'. |
ParticleLoad | This node loads particle channel data from a file. The file format is extracted from the file extension and valid file formats are Alembic (.abc), RealFlow Particle Cache (.rpc) and RealFlow BIN (.bin). |
ParticleSave | This node saves particle channel data to a file. |
QuaternionReadFromFilePath | This node reads from the input binary 'file path'. If 'read size' is true, the first 4 bytes from 'position' are read and used as the number of elements stored in the file. If 'max count' is not negative the number of elements read is the minimum between 'max count' and the size read. If size was not read, the number of elements is computed using the size of the file. |
RealReadFromFilePath | This node reads from the input binary 'file path'. If 'read size' is true, the first 4 bytes from 'position' are read and used as the number of elements stored in the file. If 'max count' is not negative the number of elements read is the minimum between 'max count' and the size read. If size was not read, the number of elements is computed using the size of the file. |
SceneLoad | This node loads the input scene, removing the changes of the current one. |
SceneSave | This node saves the current scene at the input 'file path'. |
StringReadFromFilePath | This node reads from the input 'file path' as many bytes at most as the 'max bytes' input, starting from the file byte position specified by 'position', to the output 'string'. |
StringWriteToFilePath | This node writes to the specified 'file path' the input 'string'. |
Vector3ReadFromFilePath | This node reads from the input binary 'file path'. If 'read size' is true, the first 4 bytes from 'position' are read and used as the number of elements stored in the file. If 'max count' is not negative the number of elements read is the minimum between 'max count' and the size read. If size was not read, the number of elements is computed using the size of the file. |
Color4ReadFromFilePath
This node reads from the input binary 'file path'. If 'read size' is true, the first 4 bytes from 'position' are read and used as the number of elements stored in the file. If 'max count' is not negative the number of elements read is the minimum between 'max count' and the size read. If size was not read, the number of elements is computed using the size of the file.
If the 'ok' output is connected, no error is shown. Otherwise, write errors will result in node errors.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The file path to be read | ||
start position | Integer64 (1) | The position of the file in bytes to begin to read from | |
read size | Bit (1) | True to consider the first 4 bytes as the number of elements contained in the file | |
max count | Integer (1) | The maximum number of elements of the type to be read. If negative, there is no limit |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
read count | Integer | The total amount of elements read from the file | |
last position | Integer64 | The last position read from the file, in bytes | |
ok | Bit | True if the output was successfully read from the file. False otherwise | |
color | Color4 | The number read from the file |
FieldRealLoad
This node loads field/s data from a file. File formats supported so far are Field3D (.f3d) and OpenVDB (.vdb ).
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The path for the file to load | ||
name | String | The names of the fields to load. They must be separated with "," ";" or blank space. An empty name means load all available fields |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
field | RealField | The field | |
ok | Bit | True if the file was successfully loaded, False otherwise |
FieldSave
This node saves field data to a file.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The path for the file to save | ||
field | The field | ||
format | The file format | ||
compression hint | The level of compression |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
evaluate | Evaluate | The evaluate | |
ok | Bit | True if the file was successfully saved, False otherwise |
FieldVector3Load
This node loads field/s data from a file. File formats supported so far are Field3D (.f3d) and OpenVDB (.vdb ).
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The path for the file to load | ||
name | String | The names of the fields to load. They must be separated with "," ";" or blank space. An empty name means load all available fields |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
field | Vector3Field | The field | |
ok | Bit | True if the file was successfully loaded, False otherwise |
FilePathInfo
This node returns information about the input file path.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The file path to check the info about |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
exists | Bit | True if the path exists | |
is folder | Bit | True if the path points to a folder | |
is file | Bit | True if the path points to a file | |
is link | Bit | True if the path points to a symbolic link | |
is relative | Bit | True if the path is relative | |
is readable | Bit | True if the path allows reading | |
is writable | Bit | True if the path allows writing | |
is executable | Bit | True if the path can be executed | |
contains macros | Bit | True if the path is composed by a macro like $(SCENEDIR) | |
bytes | Integer64 | The size of the input file path in bytes. If it is a folder it does not compute the size of its content | |
creation seconds | Integer64 | The date of creation of the input file path in seconds from epoc | |
modification seconds | Integer64 | The date of the last modification of the input file path in seconds from epoc | |
parent folder | String | The absolute path to the parent folder of the input path | |
file name | String | The name of the input file, containing the extension | |
base name | String | The name of the input file without the extension | |
extension | String | The extension of the input file | |
absolute path | String | The absolute path that points to the input file path |
FolderInfo
This node returns information about the input folder.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
folder | The folder to check the info about |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
exists | Bit | True if the folder exists | |
is link | Bit | True if the folder path points to a symbolic link | |
is readable | Bit | True if the folder allows reading | |
is writable | Bit | True if the path allows writing | |
is executable | Bit | True if the folder can be executed (opened) | |
total bytes | Integer64 | The size of the input folder content recursively. Keep in mind that computing the whole content of a folder can be an expensive operation | |
available bytes | Integer64 | The current available space in bytes for this folder.
| |
creation seconds | Integer64 | The date of creation of the input folder in seconds from epoc | |
modification seconds | Integer64 | The date of the last modification of the input folder in seconds from epoc | |
parent folder | String | The absolute path to the parent folder of the input folder | |
base name | String | The name of the input folder without the parent folder path | |
absolute path | String | The absolute path that points to the input folder | |
folder files | String | The list of all the file names contained inside this folder at top level | |
folder tree | String | The list of all the file absolute paths contained inside this folder recursively. This operation can be expensive depending on the size and location of the folder |
ImageLoad
This node loads images from files.
Loaded image pixel 0,0 refers to the bottom left pixel of the image.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The file path |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
image | Image | The image |
ImageSave
This node saves the input 'image' to file.
File format is deduced from the input 'file path' extension.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The file path | ||
image | Image | through | The image |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
through | PassThrough | image | The input 'image' |
Integer64ReadFromFilePath
This node reads from the input binary 'file path'. If 'read size' is true, the first 4 bytes from 'position' are read and used as the number of elements stored in the file. If 'max count' is not negative the number of elements read is the minimum between 'max count' and the size read. If size was not read, the number of elements is computed using the size of the file.
If the 'ok' output is connected, no error is shown. Otherwise, write errors will result in node errors.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The file path to be read | ||
start position | Integer64 (1) | The position of the file in bytes to begin to read from | |
read size | Bit (1) | True to consider the first 4 bytes as the number of elements contained in the file | |
max count | Integer (1) | The maximum number of elements of the type to be read. If negative, there is no limit |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
read count | Integer | The total amount of elements read from the file | |
last position | Integer64 | The last position read from the file, in bytes | |
ok | Bit | True if the output was successfully read from the file. False otherwise | |
integer64 | Integer64 | The number read from the file |
IntegerReadFromFilePath
This node reads from the input binary 'file path'. If 'read size' is true, the first 4 bytes from 'position' are read and used as the number of elements stored in the file. If 'max count' is not negative the number of elements read is the minimum between 'max count' and the size read. If size was not read, the number of elements is computed using the size of the file.
If the 'ok' output is connected, no error is shown. Otherwise, write errors will result in node errors.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The file path to be read | ||
start position | Integer64 (1) | The position of the file in bytes to begin to read from | |
read size | Bit (1) | True to consider the first 4 bytes as the number of elements contained in the file | |
max count | Integer (1) | The maximum number of elements of the type to be read. If negative, there is no limit |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
read count | Integer | The total amount of elements read from the file | |
last position | Integer64 | The last position read from the file, in bytes | |
ok | Bit | True if the output was successfully read from the file. False otherwise | |
integer | Integer | The number read from the file |
Matrix4ReadFromFilePath
This node reads from the input binary 'file path'. If 'read size' is true, the first 4 bytes from 'position' are read and used as the number of elements stored in the file. If 'max count' is not negative the number of elements read is the minimum between 'max count' and the size read. If size was not read, the number of elements is computed using the size of the file.
If the 'ok' output is connected, no error is shown. Otherwise, write errors will result in node errors.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The file path to be read | ||
start position | Integer64 (1) | The position of the file in bytes to begin to read from | |
read size | Bit (1) | True to consider the first 4 bytes as the number of elements contained in the file | |
max count | Integer (1) | The maximum number of elements of the type to be read. If negative, there is no limit |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
read count | Integer | The total amount of elements read from the file | |
last position | Integer64 | The last position read from the file, in bytes | |
ok | Bit | True if the output was successfully read from the file. False otherwise | |
matrix | Matrix4 | The number read from the file |
MeshLoad
This node loads mesh channel data from a file. The file format is extracted from the file extension and valid file formats are Alembic (.abc), Wavefront (.obj) and RealFlow BIN (.bin).
The channel filter is a text string where an empty value must be used for loading all the channels. To load one or several channels the names must be separated with "," ";" or blank space.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The path for the file to load | ||
channel | String | The names of the channels to load. They must be separated with "," ";" or blank space. An empty name means load all available channels |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
mesh | Mesh | The mesh loaded from the file | |
ok | Bit | True if the file was successfully loaded, False otherwise |
MeshSave
This node saves mesh channel data to a file.
The channel filter is a text string where an empty value must be used for saving all the channels. To save one or several channels the names must be separated with "," ";" or blank space.
Please notice that even though an array of mesh is accepted as input the BIN format only supports one mesh, so in this particular case only the first mesh of the array will be saved.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The path for the file to save | ||
mesh | Mesh | The mesh | |
channel | String (1) | The names of the channels to save. They must be separated with "," ";" or blank space. An empty name means save all available channels | |
format | The file format | ||
compression hint | The level of compression. Please notice that the BIN and the OBJ file formats ignore this value |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
evaluate | Evaluate | The evaluate | |
ok | Bit | True if the file was successfully saved, False otherwise |
NodeDataExport
Makes the input 'node' to export its data according to its current Export Central settings.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
node | RealFlow Node | The node or nodes |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
evaluate | Evaluate | The evaluate |
NodeDataReload
Makes the input 'node' to reload its data according to its current Export Central settings.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
node | RealFlow Node | through | The node or nodes |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
through | PassThrough | node | The input 'node' |
NumWriteToFilePath
This node writes to the specified 'file path' a binary version of the input 'input'.
If 'write size' is enabled, it will first write a 32 bit integer with the number of elements of 'input'.
If the 'ok' output is connected, no error is shown. Otherwise, write errors will result in node errors.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
input | through | The numeric values to write to the file | |
file path | The file path were to write the binary file | ||
append | Bit (1) | True to append the values to the end of the file if it previously exists. False to overwrite the file if it already exists | |
write size | Bit (1) | If true, it will write at the beginning a 32 bit integer with the number of elements of 'input' |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
bytes written | Integer64 | The total amount of bytes written to the file | |
ok | Bit | True if the input was successfully written to file. False otherwise | |
through | PassThrough | input | The input 'input' |
ParticleLoad
This node loads particle channel data from a file. The file format is extracted from the file extension and valid file formats are Alembic (.abc), RealFlow Particle Cache (.rpc) and RealFlow BIN (.bin).
The channel filter is a text string where an empty value must be used for loading all the channels. To load one or several channels the names must be separated with "," ";" or blank space.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The path for the file to load | ||
channel | String | The names of the channels to load. They must be separated with "," ";" or blank space. An empty name means load all available channels |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
out particles | Particles | The particles loaded from the file | |
ok | Bit | True if the file was successfully loaded, False otherwise |
ParticleSave
This node saves particle channel data to a file.
The channel filter is a text string where an empty value must be used for saving all the channels. To save one or several channels the names must be separated with "," ";" or blank space.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The path for the file to save | ||
particles | Particles | The particles | |
channel | String (1) | The names of the channels to save. They must be separated with "," ";" or blank space. An empty name means save all available channels | |
format | The file format | ||
compression hint | The level of compression. Please note that the BIN file format ignores this value |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
evaluate | Evaluate | The evaluate | |
ok | Bit | True if the file was successfully saved, False otherwise |
QuaternionReadFromFilePath
This node reads from the input binary 'file path'. If 'read size' is true, the first 4 bytes from 'position' are read and used as the number of elements stored in the file. If 'max count' is not negative the number of elements read is the minimum between 'max count' and the size read. If size was not read, the number of elements is computed using the size of the file.
If the 'ok' output is connected, no error is shown. Otherwise, write errors will result in node errors.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The file path to be read | ||
start position | Integer64 (1) | The position of the file in bytes to begin to read from | |
read size | Bit (1) | True to consider the first 4 bytes as the number of elements contained in the file | |
max count | Integer (1) | The maximum number of elements of the type to be read. If negative, there is no limit |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
read count | Integer | The total amount of elements read from the file | |
last position | Integer64 | The last position read from the file, in bytes | |
ok | Bit | True if the output was successfully read from the file. False otherwise | |
quaternion | Quaternion | The number read from the file |
RealReadFromFilePath
This node reads from the input binary 'file path'. If 'read size' is true, the first 4 bytes from 'position' are read and used as the number of elements stored in the file. If 'max count' is not negative the number of elements read is the minimum between 'max count' and the size read. If size was not read, the number of elements is computed using the size of the file.
If the 'ok' output is connected, no error is shown. Otherwise, write errors will result in node errors.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The file path to be read | ||
start position | Integer64 (1) | The position of the file in bytes to begin to read from | |
read size | Bit (1) | True to consider the first 4 bytes as the number of elements contained in the file | |
max count | Integer (1) | The maximum number of elements of the type to be read. If negative, there is no limit |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
read count | Integer | The total amount of elements read from the file | |
last position | Integer64 | The last position read from the file, in bytes | |
ok | Bit | True if the output was successfully read from the file. False otherwise | |
real | Real | The number read from the file |
SceneLoad
This node loads the input scene, removing the changes of the current one.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The file path of the scene to load |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
loaded | Bit | True if the scene was successfully loaded. False otherwise |
SceneSave
This node saves the current scene at the input 'file path'.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The file path to save the scene to |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
saved | Bit | True if the scene was successfully saved. False otherwise |
StringReadFromFilePath
This node reads from the input 'file path' as many bytes at most as the 'max bytes' input, starting from the file byte position specified by 'position', to the output 'string'.
If the 'ok' output is connected, no error is shown. Otherwise, write errors will result in node errors.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The file path to be read | ||
position | Integer64 (1) | The position of the file in bytes to begin to read from | |
max bytes | Integer64 (1) | The maximum amount of bytes allowed to be read from the file. If negative, the whole file will be read |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
bytes read | Integer64 | The total amount of bytes read from the file | |
last position | Integer64 | The last position written in the file. In bytes | |
ok | Bit | True if the output 'string' was successfully read from the file. False otherwise | |
string | String | The characters read from the file |
StringWriteToFilePath
This node writes to the specified 'file path' the input 'string'.
If the input 'string' contains more than one strings, all of them are concatenated one after the other.
If the 'ok' output is connected, no error is shown. Otherwise, write errors will result in node errors.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
string | String | through | The string to write to the file |
file path | The file path were to write the string | ||
append | Bit (1) | True to append the string to the end of the file if it previously exists. False to overwrite the file if it already exists |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
bytes written | Integer64 | The total amount of bytes written to the file | |
ok | Bit | True if the input 'string' was successfully written to file. False otherwise | |
through | PassThrough | string | The input 'string' |
Vector3ReadFromFilePath
This node reads from the input binary 'file path'. If 'read size' is true, the first 4 bytes from 'position' are read and used as the number of elements stored in the file. If 'max count' is not negative the number of elements read is the minimum between 'max count' and the size read. If size was not read, the number of elements is computed using the size of the file.
If the 'ok' output is connected, no error is shown. Otherwise, write errors will result in node errors.
Inputs
Name | Types | PassThrough | Description |
---|---|---|---|
file path | The file path to be read | ||
start position | Integer64 (1) | The position of the file in bytes to begin to read from | |
read size | Bit (1) | True to consider the first 4 bytes as the number of elements contained in the file | |
max count | Integer (1) | The maximum number of elements of the type to be read. If negative, there is no limit |
Outputs
Name | Types | PassThrough | Description |
---|---|---|---|
read count | Integer | The total amount of elements read from the file | |
last position | Integer64 | The last position read from the file, in bytes | |
ok | Bit | True if the output was successfully read from the file. False otherwise | |
vector | Vector3 | The number read from the file |