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