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 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
                                        • H
                                          Helper
                                          last edited by

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

                                          On 22/07/2008 at 06:48, xxxxxxxx wrote:

                                          Hey Matthias how are things going? 😐
                                          I'm working on it also. Do you or someone else know why this resulting DescID depth is zero? Look:

                                          (we allready have a Node(node) and a Port (port).

                                            
                                          long portid = port->GetMainID();  
                                            
                                          GvOperatorData *od = n->GetOperatorData();  
                                          if (!od) break;  
                                            
                                          DescID descid = od->GetDescID(node, GV_PORT_INPUT, portid);  
                                            
                                          GePrint("DescID depth: " + LongToString(descid.GetDepth()));  
                                          =====================================  
                                            
                                          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 22/07/2008 at 06:54, xxxxxxxx wrote:

                                            The previous post should do the trick, because I can use the descid to: FindTrack(descid), and to: CTrack::Alloc(ob, decid).

                                            Or do I see this wrong?

                                            Regards,
                                            Jan

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