The methods R3RM_SETCLASSATTR and GETCLASSATTR are class methods. They are sent to a class rather than to an object.
The following shield functions can be used for sending class messsages:
R3DoClassA3();
In fact, R3New() is just a shield to R3RM_CREATE class method. The following code:
spere = R3DoClass(R3CLID_SPHERE, R3RM_CREATE, R3SPHA_Radius, &radius, R3TAG_END);
is equivalent to:
R3CLASS *cl = R3ClassFind(R3CLID_SPHERE); sphere = R3Do(cl, R3RM_CREATE, R3SPHA_Radius, &radius, R3TAG_END);
as we already knew.
The reason why we presented so many class method examples above is that class attributes and methods play very important role in the plugin system of Realsoft 3D. Many classes define class methods and class attributes which allow you to expand the class specification of classes.
For example, the toolbar class allows you to register new tool classes for toolbars. When the toolbar class is instanced, your tools will be instanced with it!