XPresso tag



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

    On 25/06/2008 at 12:47, xxxxxxxx wrote:

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

    ---------
    Hi,

    I need to set the priority combobox of my XPresso tag to "Animation". I have this:

    > \> XPressoTag\* xpt = static_cast<XPressoTag\*>(bo->GetTag(Texpresso)); \> if (xpt) \> { \>     GeData d; \>     if (xpt->GetParameter(DescLevel(EXPRESSION_PRIORITY),d,0)) \> { \>     PriorityData \*pd = (PriorityData\* )d.GetCustomDataType(CUSTOMGUI_PRIORITY_DATA); \> \>     if (pd) \>     {      \>        pd->SetPriorityValue(CYCLE_ANIMATION,GeData(TRUE)); \>        pt->SetParameter(DescLevel(EXPRESSION_PRIORITY),d,0); \>        EventAdd(); \>     } \> \>

    etc, etc.
    This does not work. How to do it right ??

    Jan



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

    On 25/06/2008 at 13:53, xxxxxxxx wrote:

    Ok, and how can i access (read) the -used- inputs of the dropped objects in a XGroup?
    I mean like this:

    1)the user drops a cube in the XGroup.
    2)the user connects, say a rangemapper, to one of the inputs of the cube, say, rotation.H.
    3)Now how can i dynamically:
          a)know which objects are dropped in the XGroup
          b)get a pointer to these objects
          c)know which input ports of that object are used,
          d)get the value to which the rotation is set.

    I think 3d is easy if i have the pointer to the object.

    Jan



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

    On 26/06/2008 at 10:29, xxxxxxxx wrote:

    Ok, in the meanwhile I learned the following:
    -How to get a NodeMaster of a XPresso tag.
    -How to get the XGroup of the tag.
    -How to get a pointer to the nodes in the XGroup.
    -How to get the other nodes in the group
    -How to get the Ports of a Node
    -How to get the name etc of the ports.
    -How to know if they are connected

    But.. how do i
    1. find the nodes that represent objects in the object manager(Getname only returns 'Object').
    2. know what kind of track and keyframe i should set dynamically for that port/object
    3.set a keyframe for that port.

    Jan



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

    On 26/06/2008 at 16:34, xxxxxxxx wrote:

    Well, basically: i would be helped if i knew:

    1. the user drops a cube in an XGroup.
    2. When i'm in the node that represents the cube object
       how do i find the connected object (the cube)

    jan



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

    On 27/06/2008 at 15:01, xxxxxxxx wrote:

    Ok, in the meanwhile.... i learned how to do the previous.

    But...now i want to animate the inputs of the object.
    so i need to create a track an set keys, fine.
    I know how to do that, but how do i know what track to create and what key. How do i get the desclevels?

    Jan



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

    On 30/06/2008 at 15:06, xxxxxxxx wrote:

    I'm stuck.

    Is there nobody who knows the following?

    I have a port and i want to set a key for it.
    What i don't know is what kind of port it is, a

    BASEOBJECT_ROTATION or
    BASEOBJECT_POSITION or
    OBJECT_ON
    BASEOBJECT_SCALE etc, etc ????
    where is this info hidden? How can i get it

    Jan



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

    On 30/06/2008 at 17:23, xxxxxxxx wrote:

    I will look into it. Unfortunatly I have to do a bit research on my own since I haven't done much of Xpresso programming.

    So if I understand right you have a node and go through all avaible ports and now you want to know what kind of ports they are?

    cheers,
    Matthias



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

    On 01/07/2008 at 04:21, xxxxxxxx wrote:

    Hallo Matthias,

    Yes here is some code:

    > \> \> if (port) \> { \>      GePrint(port->GetName(n)); // works fine \>      // find the type of value of the ani key to set when recording \>      // GePrint("ValueType: " + LongToString(port->GetValueType())); //works, real,bool etc \>      // so now i know the value type of the key \>      // here i need to find out what kind of key/track i need to set (scale,on/off, pos,rot, etc. \>      .. \>      .. \>      .. \> \>     // check if it is connected \>    if (port->IsIncomingConnected())                     \>       { \>         // do the things needed when the port is connected \>         GePrint("Port Connected"); \>       } \> } \> \>

    I construct a desclevel like this(pretty standard) :
    (1)
    DescID desID = DescID(DescLevel(index,Vtype,0),DescLevel(Vpart,Vtype,0)));
    Then i do the FindTrack, track creation and insertion if needed, and the the key, via the curve.

    But i need to add (and create) all kinds of keys (and tracks) for the objects(On, Position, scale, etc).
    So i need dynamically (from code) what this input is.

    I need to determine 'index', 'Vtype', 'Vpart'. in the DescLevel construction part(1)

    Oh yes, this code resides outside the node class.

    Thanks for doing this.

    Jan



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

    On 01/07/2008 at 06:52, xxxxxxxx wrote:

    By the way, I did not solve the problem in my first (top) post too.

    jan



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

    On 02/07/2008 at 04:00, xxxxxxxx wrote:

    As answer for your first post. You set a wrong value in SetPriorityValue(). Here some working code:

    > \> GeData d; \> if (xpt->GetParameter(DescLevel(EXPRESSION_PRIORITY),d,0)) \> { \>      PriorityData \*pd = (PriorityData\* )d.GetCustomDataType(CUSTOMGUI_PRIORITY_DATA); \>      if (pd) pd->SetPriorityValue(PRIORITYVALUE_MODE,GeData(CYCLE_ANIMATION)); \>           xpt->SetParameter(DescLevel(EXPRESSION_PRIORITY),d,0); \>      xpt->Message(MSG_CHANGE); \>      EventAdd(); \> } \>

    cheers,
    Matthias



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

    On 02/07/2008 at 04:22, xxxxxxxx wrote:

    Aahh, thank you very much Matthias. it works...
    Regards,
    Jan



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

    On 03/07/2008 at 03:58, xxxxxxxx wrote:

    To get the type of the port you could use the GvGetPortGeData() function from the "Graph view data format" chapter of the SDK docu. It returns a GeData from which it is easy to retrieve the type. For the description you have to use the MainID and SubID. Check the top of the GvPort chapter in the docu.

    cheers,
    Matthias



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

    On 03/07/2008 at 10:19, xxxxxxxx wrote:

    Thanks Matthias,

    But where do i get a 'run' outside the node class?

    Jan



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

    On 03/07/2008 at 11:35, xxxxxxxx wrote:

    Use the GetRun() of the GvNodeMaster.

    cheers,
    Matthias



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

    On 04/07/2008 at 05:25, xxxxxxxx wrote:

    Yes, that's it. I think it works. My code crashes for now, but that has something to do with my loop and pointers. I will to look into it.

    So the answer was in the docs all the time.
    My problem is not with the docs, but most of the time one has no clue where to look.

    By the way, can one find out if an object has a gvNode representation(if it is dropped in a XGroup by the user)?

    Anyway, many, many thanks Matthias.

    Jan



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

    On 07/07/2008 at 03:13, xxxxxxxx wrote:

    Hi,

    No luck.
    The crash is caused because the GvNodeMaster->GetRun() returns NULL, as Robert mentioned in: http://www.plugincafe.com/forum/display_topic_threads.asp?ForumID=4&TopicID;=2272&SearchPagePosition;=1&search;=getrun&searchMode;=allwords&searchIn;=Thread&forum;=4&searchSort;=dateDESC&ReturnPage;=Search

    What to do now ??

    Jan



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

    On 07/07/2008 at 03:17, xxxxxxxx wrote:

    And in 2002 Mikael Sterner said:

    http://www.plugincafe.com/forum/display_topic_threads.asp?ForumID=4&TopicID;=125&SearchPagePosition;=1&search;=getrun&searchMode;=allwords&searchIn;=Thread&forum;=4&searchSort;=dateDESC&ReturnPage;=Search

    jan



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

    On 09/07/2008 at 08:40, xxxxxxxx wrote:

    Matthias ? Please i'm really stuck

    Jan



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

    On 14/07/2008 at 04:04, xxxxxxxx wrote:

    Sorry, I have no idea. I asked the developers for help. I let you know when I know more about it.

    cheers,
    Matthias



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

    On 15/07/2008 at 02:13, xxxxxxxx wrote:

    Ok, thanks Matthias,

    I trust we'll get an answer.
    Please don't forget my Q of juli 4.

    Regards,
    Jan


Log in to reply