FAQ - C++ Plugins

What is the RealFlow C++ SDK?

It is a programming interface that allows users to create RealFlow plugins. Examples of plugins currently made with the RealFlow C++ SDK are the "Morph", "CrowdFlow", and "Hot 'n' Cold" daemons, but also "CmdSendJob", which has to be loaded in order to use RealFlow's "Job Manager".

Where I can get the C++ SDK?

The documentation for the RealFlow C++ SDK is installed by default in the RealFlow application folder under "sdk".

Are there any examples of plugins included?

Yes. Please take a look under RealFlow's application folder and open sdk > examples.

Does it resemble the Python API?

Absolutely! Every Python class and function has its equivalent in the C++ SDK. There are only minor differences due to the idiosyncrasies of the two languages.

Does the C++ SDK provide the same RealFlow functionalities as Python?

Yes. There is, for example, a method to create scripted daemon and you have the same option with C++ as well.

Is a plugin created with the C++ SDK faster than its Python counterpart?

It depends on the code, but yes. As a rule of thumb a plugin created with C++ will be faster than the same plugin made with Python. Most of the C plugins should run faster, simply because Python cannot be multi-threaded.

Is a plugin created with the C++ SDK multi-threaded?

Not by default, but there are functions in the SDK to make them multi-threaded.

What does it mean when a C++ plugin is multi-threaded?

Many processes can be split and sent to a computer's different CPUs and cores – they are executed by RealFlow in several threads. RealFlow ensures that these threads will not "overlap". You also have a Mutex class that can be used if you want to synchronize your threads.

Why refuses RealFlow to load my plugin?

One possible reason is that you did not use the correct compilation parameters. Please refer to the C++ SDK's user manual to check that you are compiling the plugin properly. With new RealFlow versions, the C++ SDK might change. In this case you have to recompile your plugin with the new SDK version distributed with RealFlow.