THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 09/10/2004 at 11:34, xxxxxxxx wrote:
These lines did well in c4d R7:
Scene3dTag::GetIcon() {
var container = GetContainer();
var i = container->GetInt(3004+offset); // retrieve typeID of the tag - depending on it, the tagicon is changed
return icons _;
}
I did get a valid container in R7 and it was updated automaticly when I change the settings (looked very nice!).
In R9 I got an NULL pointer and I had to add this line:
if (container==NULL) return icons[0];
Meaning, the container is null, so this function is called without an object, means, without object specific data - I can only guess, but I think R7 calls GetIcon whenever it is needed to draw the icon. R9 seems to cache the icons during startup.
I am surprised that RL 9 don't support this in C++ either - This is *very* usefull.
Any suggestion for a workaround? I mean, in my case, I can write 5 types of plugins that only represent an icon and if the maindata is changed the tag is replaced by anotherone.
Btw - will COFFEE die someday? The documentation never seems to change, but the interpreter has changed in some ways (I had/have some serious problems). In R8 they removed (partially) the feature "reload during run" which is in my eyes a step backward - developing for COFFEE is now a pain since I always have to restart C4D completly.