The OutputSet encapsulates all of the data inputs that are active going into your Output device. Thus if your output takes many inputs and produces a single file, it will be provided with
all of those inputs which can be retrieved by iterating over outset.get(x) where x is in 0…outset.num()
OutputSet &outset should contain a reference to an OutputSet object (defined in IODevices.h) that you can use to retrieve your data for saving, for example:
HField *hf = HF(outset.get(0)); // retrieve a heightfield type input
If your not seeing a valid OutputSet object on the outset parameter, we then have a different issue at hand!
hmm. I just performed a check by essentially copy-pasting your doOutput function and it works successfully for me using the 2.2 PDK and WM 2.2 Pro executable.
The only unaccounted for variable is that different versions of the MSVC compiler can break binary compatibility with libraries – I’ve noticed this in particular with the STL implementation changing between editions. C++'s lack of a native ABI is what really hurts here. If you can get your hands on the VC2005 compiler, my suspicion is that your code will work successfully.