HistoryReplace and ReplayHistory


With the last releases we have this new functions in Rhino commands. There is no documentation about it. What is his purpose and how they works?


Rhino.Commands.Command.ReplayHistory repeats an operation of a command.

The C++ SDK documention goes further by explaining that Rhino calls uses the virtual ReplayHistory functions to to remake an objects when inputs have changed. If a command supports history, it must override exactly one of the ReplayHistory functions. Simple commands can use the simple version of replay history that just just generates a new object. Complex commands, like Project and Intersect need to override the complex version of replay history that uses a results[] array to return multiple objects.

If you are looking for a code sample, you can find one here.