THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 27/06/2006 at 15:29, xxxxxxxx wrote:
Cinema 4D Version: 9.521
Platform: Windows ;
Language(s) : C++ ;
I would like to create a plugin tag that draws into the editor. For this I would belive that I don't need to have it evaluated as an expression. Is this correct? If so, how can I get rid of all of the expression priority data that is shown in the Basic tab of the AM.
In the 'tlookatcamera.res' file within the container it has: INCLUDE Texpression; would I change this to just 'INCLUDE Tvisible' to make it a regular tag that does not have expression priorities. Thanks in advance for any help.
On 27/06/2006 at 18:57, xxxxxxxx wrote:
You are correct. The plugin tag need not be an expression tag in order to draw into the editor. Just include the TagData::Draw() method in your class and add appropriate drawing code.
There are two places where the tag is indicated as an expression tag. One is the INCLUDE in the res file and the other is in the 'info' argument of the RegisterTagPlugin() method.
For the first, use Tbase instead of Texpression in the INCLUDE. I don't know what Tvisible is, but you cannot derive your plugin tags (or objects) from existing Cinema 4D tag types - Tbase and Obase are as close as it gets (though you can include T<baseclass> of your own base plugin tag to use with your own derivative tag extending it). Although you will get the AM descriptions, any functionality associated with non-base Cinema 4D types will be nonexistent.
For the second, do not include "TAG_EXPRESSION" in the OR'd values.
You may then remove Execute() and AddToExecution() from your plugin tag's methods - as these are only used by expressions.