GvNode.OperatorSetData() INVALID IN R21 WHEN WORK ON POSEMORPH TAG' POSE STRENGTH



  • Hi,
    GvNode.OperatorSetData(type, data, mode) invalid in R21 when attempt to add pose strength port on posemorph tag object node. The following script shows this problem. it's the same in C++, and mouse drag also can't add port too( I guess it also uses this API ).

    import c4d
    from c4d import gui
    #project setting: 
    #1: create a baseobject, add posemorph tag, xpresso tag
    #2: choose Points Mode in posemorph tag and switch to Animation Mode,  select xpresso tag
    #3: run script
    def main():
        doc = c4d.documents.GetActiveDocument()
        tag = doc.GetActiveTag()
    
        if not tag.IsInstanceOf(c4d.Texpresso):
            return
    
        master = tag.GetNodeMaster()
    
        objectNode = master.CreateNode(master.GetRoot(), c4d.ID_OPERATOR_OBJECT)
    
        if objectNode is None:
            return
    
        posemorphTag = tag.GetNext()
        if posemorphTag is None or not posemorphTag.IsInstanceOf(c4d.Tposemorph):
            return
    
        if not objectNode.OperatorSetData(c4d.GV_ATOM, posemorphTag, c4d.GV_OP_DROP_IN_BODY):
            return
    
        descID = c4d.DescID(c4d.DescLevel(4000),c4d.DescLevel(1101)) # frist pose port DescID
        data = {"did":descID, "arr":[posemorphTag]}
        if not objectNode.OperatorSetData(c4d.GV_DESCID, data, c4d.GV_OP_DROP_IN_INDOCK):
            print("Error")
            return
    
        c4d.EventAdd()
    if __name__=='__main__':
        main()
    


  • hello,

    I can confirm the bug and I've opened a Bug entry.

    for now there's no workaround.

    Cheers,
    Manuel



  • hello,

    I can confirm the bug and I've opened a Bug entry.

    for now there's no workaround.

    Cheers,
    Manuel



  • @m_magalhaes thanks, looking forward to the next update :)


Log in to reply