GeListNode::ChangeNBit()?

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

On 19/07/2010 at 10:24, xxxxxxxx wrote:

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

---------
Howdy,

In R10 and R11, it seems that GeListNode::ChangeNBit() works on Mac but not on PC when called from TagData::Message() when polling for MSG_MENUPREPARE.

I'm trying to set all the key's Zero Angle bit when the tag is first placed on the object with:

if(key) key->ChangeNBit(NBIT_CKEY_ZERO_O,NBIT_SET);

... and it works on Mac but not on PC

How can I get around this?

Adios,
Cactus Dan

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

On 19/07/2010 at 12:50, xxxxxxxx wrote:

Howdy,

Never mind. I found the problem.

It seems that a key cannot be set to Zero Angle with GeListNode::ChangeNBit() without first disabling Auto Tangents.

So, when I changed the code to this:

if(key)   
{   
     key->ChangeNBit(NBIT_CKEY_AUTO,NBIT_DEL);   
     key->ChangeNBit(NBIT_CKEY_ZERO_O,NBIT_SET);   
}

... everything worked fine.

It seems like my test file on the Mac already had Auto Tangents disabled on the keys so the call to GeListNode::ChangeNBit() worked, but my test file on the PC had AutoTangents enabled so it didn't work.

Adios,
Cactus Dan