On 14/04/2017 at 04:23, xxxxxxxx wrote:
User Information:
Cinema 4D Version: R18
Platform: Windows ;
Language(s) : C++ ;
---------
Hi again,
First of all, the following is only an idea. I am still gathering information for a potential plugin, so far I have not a single line of code.
Assume the plugin is a CommandData plugin with dialog and a UserArea. This user area will display items that the user can select and move/size. These actions could be supported by the native tools (live selection, rectangle selection, move and scale tools). Of course the implementation will need to be mine for performing hit testing and executing the actual moving and scaling. But I could re-use the existing tools, by detecting the returned value of GetAction(). Benefit from doing so would be to be able to use the attributes from the native tools.
Additionally I would also like to provide non-native tools. I guess some of these might need one or two attributes. So, should I create a (Description)ToolData plugin for each of these tools, or is there some sort of alternative? As the tool will only be available for the specific user area, it's kind of overkill to create a complete ToolData, only to:
- be able to provide one or two settings in an attribute manager
- be able to know which tool is active by calling doc->GetAction()
- allow user to customize palettes with these non-native tool icons
Alternative solution would be to provide gadgets in the dialog next to the user area (or separate dialog) to select the different tools, and provide some gadgets for settings. Much simpler to implement probably. But kind of ruins the integration in Cinema, as this means the plugin has its own attribute manager and tool palette.
Just wondering what my options are.