PoseMixer tag - add,link,set Pose

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

On 03/01/2008 at 16:31, xxxxxxxx wrote:

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

---------
As part of a conversion process, my plugin morphs are being converted to PoseMixer tag w/morph objects (R10 morphs will be worked on next - if possible). I can do all of this.

Adding Poses to the PoseMixer tag is easy enough with a message to it emulating "Add Pose" button clicking.

But then how does one get the dynamic descriptions for the link and slider of each added pose? I am assuming (presumptuously) that since the first values are:

PMIX_DATA_USE    = 3000,
     PMIX_DATA_VALUE = 3001,
     PMIX_DATA_LINK   = 3002,

Then, the next pose would be 3003,3004,3005 and the next 3006,3007,3008, and so on. Is this correct?

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

On 03/01/2008 at 16:55, xxxxxxxx wrote:

Just to add: Using something like this doesn't appear to work (cpose == 3002L and is incremented += 3L each iteration) :

link- >SetLink(mobj);
pmtag->SetParameter(DescLevel(cpose,DTYPE_BASELISTLINK,0L), GeData(link), DESCFLAGS_DONTCHECKMINMAX);
// Set value on PoseMixer from tbc->GetReal(IPPDIAL_STOREDVALUE)
pmtag->SetParameter(DescLevel(cpose-1L,DTYPE_REAL,0L), GeData(tbc->GetReal(IPPDIAL_STOREDVALUE)), DESCFLAGS_DONTCHECKMINMAX);

Not even the included first pose gets set. Should I use GetDescription() and set from the Description or possibly use GetDataInstance()?

Help! :)

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

On 04/01/2008 at 13:02, xxxxxxxx wrote:

I see that each of these values (PMIX_DATA_USE etc) is a subcontainer which stores the data indexed from 1000L, 1001L, and so on in the subcontainer for each pose element. But, I can't seem to get this subcontainer. Tried using pmtag->GetParameter() with no luck. Tried desc->GetParameter(). Tried using the desc->GetNext() loop thingy. Nothing.

Anyone?

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

On 04/01/2008 at 13:31, xxxxxxxx wrote:

For future reference, this works:

pmtag->SetParameter(DescID(DescLevel(PMIX_DATA_LINK),DescLevel(sbcidx)), GeData(link), 0L);

The same general idea should work for the PMIX_DATA_USE and PMIX_DATA_VALUE - about to find out.