Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
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
On 23/09/2003 at 23:46, xxxxxxxx wrote:
It's some days later, but I still didn't find out ...
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;
On 25/09/2003 at 01:20, xxxxxxxx wrote:
Great, I'll try that!