Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

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

    SDK Help
    0
    5
    424
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Helper
      last edited by

      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...

      1 Reply Last reply Reply Quote 0
      • H
        Helper
        last edited by

        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(...)

        1 Reply Last reply Reply Quote 0
        • H
          Helper
          last edited by

          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)

          1 Reply Last reply Reply Quote 0
          • H
            Helper
            last edited by

            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?

            1 Reply Last reply Reply Quote 0
            • H
              Helper
              last edited by

              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.).

              1 Reply Last reply Reply Quote 0
              • First post
                Last post