Material Channels on/off missing in Data

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

On 21/09/2003 at 09:53, xxxxxxxx wrote:

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

---------
Hi,

I'm trying to read the on/off settings (MATERIAL_USE_* ) of the material channels from a standard material. However, these are missing in the BaseContainer, while other settings of the material such as MATERIAL_ENVIRONMENT_EXCLUSIVE are present!?

I've tried the following on a scene with a single standard material:

  
Bool MyDialog::CoreMessage(LONG id, const BaseContainer& msg)  
{  
     switch(id)  
     {  
     case EVMSG_CHANGE:  
     {  
          BaseContainer* bc = GetActiveDocument() -> GetFirstMaterial() - >GetDataInstance();  
          Bool a = bc->GetBool(MATERIAL_USE_COLOR);  
          LONG resa = bc->FindIndex(MATERIAL_USE_COLOR);  
          Bool b = bc->GetBool(MATERIAL_ENVIRONMENT_EXCLUSIVE);  
          LONG resb = bc->FindIndex(MATERIAL_ENVIRONMENT_EXCLUSIVE);  
          // and so on  
     }  
// and so on  

resa is always NOTOK, resb is always != NOTOK, and only b correctly reflects the adjustments I make in the attribute editor.

How can I get at the state of the check boxes of the material's first parameter page?

Thanks in advance.

Jörn

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

On 23/09/2003 at 23:46, xxxxxxxx wrote:

It's some days later, but I still didn't find out ...

Jörn

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

On 24/09/2003 at 09:47, xxxxxxxx wrote:

this data is no longer available in this way.
i did it something like this
i f d is false the then this channel is not in use (unchecked)

    
    
    
    
    for (LONG channel=0;channel<MAXCHANNELS;channel++)  
     {
    
    
    
    
      mat->GetParameter(DescID(MATERIAL_USE_COLOR+channel), d, NULL);  
      if (d==false) continue;
    
    
    
    
     
    
    
    
    
     
    
    
    

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

On 25/09/2003 at 01:20, xxxxxxxx wrote:

Great, I'll try that!

Jörn