Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    XPresso tag

    SDK Help
    0
    31
    14.7k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Helper
      last edited by

      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

      1 Reply Last reply Reply Quote 0
      • H
        Helper
        last edited by

        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

        1 Reply Last reply Reply Quote 0
        • H
          Helper
          last edited by

          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

          1 Reply Last reply Reply Quote 0
          • H
            Helper
            last edited by

            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

            1 Reply Last reply Reply Quote 0
            • H
              Helper
              last edited by

              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

              1 Reply Last reply Reply Quote 0
              • H
                Helper
                last edited by

                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

                1 Reply Last reply Reply Quote 0
                • H
                  Helper
                  last edited by

                  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

                  1 Reply Last reply Reply Quote 0
                  • H
                    Helper
                    last edited by

                    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

                    1 Reply Last reply Reply Quote 0
                    • H
                      Helper
                      last edited by

                      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

                      1 Reply Last reply Reply Quote 0
                      • H
                        Helper
                        last edited by

                        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

                        1 Reply Last reply Reply Quote 0
                        • H
                          Helper
                          last edited by

                          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

                          1 Reply Last reply Reply Quote 0
                          • H
                            Helper
                            last edited by

                            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

                            1 Reply Last reply Reply Quote 0
                            • H
                              Helper
                              last edited by

                              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

                              1 Reply Last reply Reply Quote 0
                              • H
                                Helper
                                last edited by

                                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

                                1 Reply Last reply Reply Quote 0
                                • H
                                  Helper
                                  last edited by

                                  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

                                  1 Reply Last reply Reply Quote 0
                                  • H
                                    Helper
                                    last edited by

                                    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: https://developers.maxon.net/forum/topic/2895

                                    What to do now ??

                                    Jan

                                    1 Reply Last reply Reply Quote 0
                                    • H
                                      Helper
                                      last edited by

                                      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:

                                      https://developers.maxon.net/forum/topic/812

                                      jan

                                      1 Reply Last reply Reply Quote 0
                                      • H
                                        Helper
                                        last edited by

                                        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

                                        1 Reply Last reply Reply Quote 0
                                        • H
                                          Helper
                                          last edited by

                                          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

                                          1 Reply Last reply Reply Quote 0
                                          • H
                                            Helper
                                            last edited by

                                            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

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post