I cant get parameters of TextureTag



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

    On 22/07/2007 at 11:05, xxxxxxxx wrote:

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

    ---------
    Hi.
    Im trying to get (and set) some parameters of texture tag. And I cant find the way :(
    This code doesnt work:

        
        
        
        
        BaseObject *obj = doc->GetActiveObject() ;
        
        
        
        
        TextureTag *tg = (TextureTag* )obj->GetTag( Ttexture) ;
        
        
        
        
        BaseContainer bs = tg->GetData() ;
        
        
        
        
        BaseList2D *dd = bs.GetString( TEXTURETAG_RESTRICTION) ;
        
        
        
    

    And this doesnt work too:

        
        
        BaseList2D *dd = bs.GetLink( TEXTURETAG_MATERIAL, doc) ;
    

    and this too:

        
        
        
        
        tg->GetDataInstance()->GetString( TEXTURETAG_RESTRICTION)
        
        
        
    

    It seems like I cant get right BaseContainer of tag :(
    Pointer to tag is valid, coz

        
        
        tg->GetMaterial()->GetName()
    

    works well.



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

    On 22/07/2007 at 11:10, xxxxxxxx wrote:

    I just wanted to set "Selection" parameter in texture tag. But then I mentioned that I cant set and GET any parameter through tag's container.
    Help me please. What Im doing wrong?



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

    On 22/07/2007 at 11:16, xxxxxxxx wrote:

    I tryed to write digits instead a constant names.
    e. g. 1006 instead of TEXTURETAG_RESTRICTION
    It not helped.



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

    On 22/07/2007 at 11:41, xxxxxxxx wrote:

    BaseList2D \*dd = bs.GetString( TEXTURETAG_RESTRICTION) ;
    
    
    sorry it is just wrong copy paste. Of cource I checked my code very carefully.
    
    
    I meant 
    
    
    String str = bs.GetString( TEXTURETAG_RESTRICTION) ;
    


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

    On 22/07/2007 at 11:43, xxxxxxxx wrote:

    GeData data;
    TextureTag* ttag = static_cast<TextureTag*>(obj->GetTag(Ttexture);
    if (!ttag) return FALSE; // No texture tags
    ttag->GetParameter(DescID(TEXTURETAG_MATERIAL), data, NULL);
    Material* mat = static_cast<Material*>(data.GetLink(baseDocument, Mbase));
    if (!mat) return FALSE; // No asssociated material?



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

    On 22/07/2007 at 11:50, xxxxxxxx wrote:

    Thank you a lot !!!
    It is works !!!



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

    On 22/07/2007 at 15:22, xxxxxxxx wrote:

    Sometimes you can get data from the BaseContainer (GetDataInstance() is better than GetData()) and sometimes you need to get it from the (Description) parameters (GetParameter() or GetParameterI()). Unless there are examples here or in the cinema4dsdk examples folder, it's mainly trial and error.


Log in to reply