Descriptions: Animation



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

    On 14/08/2003 at 14:11, xxxxxxxx wrote:

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

    ---------
    Hi,

    here is my _very_ last ;-) question about descriptions.

    In GetDDescription I add a parameter via

      
    BaseContainer bc = GetCustomDataTypeDefault(DTYPE_REAL);  
    bc.SetBool(DESC_ANIMATE, DESC_ANIMATE_ON);  
    bc.SetString(DESC_SHORT_NAME, "foobar");  
    bc.SetReal(DESC_MIN, 3.0f);  
    bc.SetReal(DESC_MAX, 15.0f);  
    bc.SetReal(DESC_STEP, 1.0f);  
      
    if(! description->SetParameter(DescLevel(15000, DTYPE_REAL, ID_OF_MY_PLUGIN), bc, DescLevel(ID_OF_MY_PARAM_GROUP)))  
        return FALSE;  
    flags |= DESCFLAGS_DESC_LOADED;  
    return MaterialData::GetDDescription(node, description, flags);  
    

    But the parameter cannot be animated: The animation pop-up menu opens on right mouse click, and "Add Keyframe" can be selected---but nothing happens: no red dot in front of the parameter name, no animation.

    Thanks for any ideas.

    Regards,
    jl



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

    On 14/08/2003 at 14:44, xxxxxxxx wrote:

    Hi,
    hmm, seems all correct. Shouldn´t make any difference but try to set bc.SetLong(DESC_ANIMATE, DESC_ANIMATE_ON); instead of SetBool (though this really shouldn´t matter. But hey, you´ll never know ;)
    Otherwise I don´t know to be honest.



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

    On 15/08/2003 at 01:21, xxxxxxxx wrote:

    Hi,

    I found out that my problem is elsewhere. If one sets a keyframe in the context menu, GetDDescription is called in such a way that bc == NULL in the following situation, although the parameter "is there":

      
    AutoAlloc<AtomArray> ar;  
    if (!ar) return false;  
    BaseContainer* bc = description->GetParameterI(DescLevel(FX_TECHNIQUE), ar);  
    

    My code judged bc == NULL as an error condition.

    Regards,
    Jörn


Log in to reply