Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
On 16/06/2014 at 03:45, xxxxxxxx wrote:
User Information: Cinema 4D Version: 14 Platform: Mac OSX ; Language(s) : C++ ;
--------- I changed the class type of my plugin from:
class cPolyPaintTool : public ToolData
to
class cPolyPaintTool : public DescriptionToolData
and now, the line:
return RegisterToolPlugin(ID_POLYPAINTTOOL, GeLoadString(IDS_POLYPAINTTOOL),PLUGINFLAG_TOOL_OBJECTHIGHLIGHT,AutoBitmap("icontool.tif"),GeLoadString(IDS_POLYPAINTTOOL_HELP), gNew cPolyPaintTool); }
returns an error of "Allocating an object of abstract class type 'cPolyPaintTool'"
If I get back to ToolData, it builds fine. What can I bo doing wrong?
On 16/06/2014 at 03:55, xxxxxxxx wrote:
You should also see information on what methods are missing an implementation
If you inherit from DescriptionToolData, you _must_ provide an implementation for
virtual Int32 GetToolPluginId() = 0; virtual const String GetResourceSymbol() = 0;
See http://www.maxonexchange.de/sdk/CINEMA4DSDK/index.html
The = 0; part just means that there will be no implementation of this method of the declaring class and makes the class abstract therefore.
Best, -Niklas
PS: You may want to adjust the title, the topic isn't about plugin description files.
On 16/06/2014 at 04:08, xxxxxxxx wrote:
Isn't that for release 15? I'm using release 14 and it tells nothing about it in the SDK.
On 16/06/2014 at 04:13, xxxxxxxx wrote:
Anyway, it is working now, with this:
class cPolyPaintTool : public DescriptionToolData { public: virtual LONG GetToolPluginId() {return ID_POLYPAINTTOOL;} virtual const String GetResourceSymbol() {return "ToolPolyPaintTool";} virtual LONG GetState(BaseDocument* doc); virtual void InitDefaultSettings(BaseDocument *doc, BaseContainer &data;); }
Thank you, Niklas.