error C2653: 'SUPER' : no class or na...

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 28/08/2005 at 04:11, xxxxxxxx wrote:

User Information:
Cinema 4D Version:   8.503 
Platform:   Windows  ;   
Language(s) :     C++  ;

---------
Hi,

I just want to add some drawings to my plugin object. The SDK docs tell, one has to add a call to the parent of the draw function by including

return SUPER::Draw(op, drawpass, bd, bh);  

at the end of the function. But this ends with a comiler error (MS VC++ 6) :

error C2653: 'SUPER' : no class or namespace

What am I doing wrong? I didn't find any definition of "SUPER" in the h files...

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 28/08/2005 at 08:26, xxxxxxxx wrote:

you need to use the parent class instead of SUPER. If you have an object then use ObjectData::Draw(...)

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 30/08/2005 at 03:54, xxxxxxxx wrote:

You needed to define the INSTANCEOF in your class, then you can use SUPER. It makes it much easier to do changes later on rather then directly referencing a class name. (see the SDK DoubleCircle example)

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 30/08/2005 at 10:41, xxxxxxxx wrote:

Thanks. But the Draw routine of doublecircle just returns TRUE (as I also always did by now) :

  
Bool DoubleCircleData::Draw(PluginObject *op, LONG type, BaseDraw *bd, BaseDrawHelp *bh)  
{  
     if (type!=DRAWPASS_HANDLES) return TRUE;  
  
     BaseContainer *data = op->GetDataInstance();  
  
     Matrix m = bh->GetMg();  
       
     bd->SetPen(GetWorldColor(COLOR_ACTIVEPOINT));  
  
     bd->Handle3D(GetRTHandle(op,0)*m,HANDLE_BIG);  
     bd->Line3D(GetRTHandle(op,0)*m,m.off);  
       
     return TRUE;  
  

What I mean, is the advice in the sdk docs:

>>
Draw additional information for your object in the editor. Be sure to call the parent version by including this call at the end of the function:

return SUPER::Draw(op, drawpass, bd, bh);
<<

Or do I missunderstand something?

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 30/08/2005 at 14:10, xxxxxxxx wrote:

Take a look at the class definition, I was referring to the INSTANCEOF and how to use it so you can reference the SUPER marco. Generally it is best to call the SUPER::function and leave it as the default unless you want to be sure a certain value (non-default) is returned (i.e. on error etc.).