GetDEnabling() TypeError on parent-call



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

    On 08/08/2012 at 03:23, xxxxxxxx wrote:

    Hello,

    I'm still confused about the GetDEnabling() thing, where we should include a call to the base-classes' method. There are several topics where the issue I'm currently having appears, and we couldn't find a solution to it.
    Yannick told me he couldn't ever reproduce this error, and as soon as I wanted to show him some code that triggers it, I couldn't reproduce it either. 😂

    But now I have a piece of code that invokes the error, and I don't really understand it. Sometimes the parent-call works, and sometimes it doesn't. 😠

    This is my code so far:

        def GetDEnabling(self, op, descid, data, flags, itemdesc) :  
          rid = descid[0].id  
          value = True  
      
          # Just like the original Cube primitive, we will disable PRIM_CUBE_SEP  
          # when PRIM_CUBE_DOFILLET is active.  
          if rid == c4d.PRIM_CUBE_SEP:  
              value = not op[c4d.PRIM_CUBE_DOFILLET]  
      
          # PRIM_CUBE_FRAD and PRIM_CUBE_SUBF will be disabled when  
          # PRIM_CUBE_DOFILLET is not activeated.  
          elif rid in (c4d.PRIM_CUBE_FRAD, c4d.PRIM_CUBE_SUBF) :  
              value = op[c4d.PRIM_CUBE_DOFILLET]  
      
          # NRPRIM_DCUBE_INNERFOFFSET will be disabled when PRIM_CUBE_DOFILLET  
          # is not activated.  
          elif rid == c4d.NRPRIM_DCUBE_INNERFOFFSET:  
              value = op[c4d.PRIM_CUBE_DOFILLET]  
      
          # Otherwise, ask your parents!  
          else:  
              print "-> Parent Call for id", rid  
              value = super(DoubleCubeData, self).GetDEnabling(op, descid, data,  
                                                               flags, itemdesc)  
      
          return bool(value)
    

    Fine so far. It used to work some minutes ago, and then suddenly, it didn't work for some elements.

    I have made a screencast that is intended to show the error more precisely and understandable.
    At the last part of the video, I do print "Parent call for id xx failed" when the parent-call failed. It will not be printed for some of the elements. That is because no parent-call is made for those elements (for example when I click in the "Seperate Surfaces" element or drag on the "Fillet Radius").
    It seems like only the parent-call for the element that is currently being changed in the AM fails.

    The video is located here.

    Can someone enlighten me about the issue? 😠
    -Niklas



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

    On 08/08/2012 at 06:17, xxxxxxxx wrote:

    Thanks for investigating this.
    Yes, I've now been able to reproduce this issue calling NodeData.GetDEnabling().
    Please submit this bug.


Log in to reply