In general I have a subset of code, from a larger tree, that I want to turn into an external compound to use in other trees. This compound if extracted verbatim has a set data node in it, applied to a very specific parameter(kine.pathcns.prc), just before execute.
But I have two ways that I would like to design it, one with a set data node, and the other with just a scalar value output which the set data typically receives. I was trying to make it so that both were an option either by a Boolean switch or have both simply exist as outputs. Problem was that the constraint has never been applied to the object receiving this tree, so the parameter doesn't exist and the compound is not validated. I was confused in that I had applied if conditionals just before execute in the past to mute trees or switch between different evaluations to output, what I did not realize was that this worked because the parameter pre-existed. Since the parameter just doesn't exist in this case it fails and there seems to be no "if exists" test. -- Joey Ponthieux LaRC Information Technology Enhanced Services (LITES) Mymic Technical Services NASA Langley Research Center __________________________________________________ Opinions stated here-in are strictly those of the author and do not represent the opinions of NASA or any other party. From: [email protected] [mailto:[email protected]] On Behalf Of Raffaele Fragapane Sent: Wednesday, July 17, 2013 7:26 PM To: [email protected] Subject: Re: set data I'm not 100% sure I understand what you're trying to do, but if it's of any use evaluating and fetching data are completely different things. You can almost always rely on data for checks (I say almost becuase it's even TOO reliable as it lets you use things before you set them, which is a nice trick with arrays, but some times bites), evaluation though is strongly rule driven and you have to think of it as non-transparent, or at least non-manipulatable. You simply can't rely on checking if something will be evaluated a certain way or not, because evaluation itself comes before you could get a result. It'd be different if you had some of the classic parallel programming devices available (barriers, traffic lights, forceful eval ordering and so on), but ICE tries hard to maximize performance while exempting the user from dealing with those details actually. On Thu, Jul 18, 2013 at 3:49 AM, Ponthieux, Joseph G. (LARC-E1A)[LITES] <[email protected]<mailto:[email protected]>> wrote: Grahame, Thanks. I'll try these approaches. I think the thing that confuses me is that I've used If conditionals to mute compounds before, and they've worked. But in this case it won't. -- Joey Ponthieux LaRC Information Technology Enhanced Services (LITES) Mymic Technical Services NASA Langley Research Center __________________________________________________ Opinions stated here-in are strictly those of the author and do not represent the opinions of NASA or any other party. From: [email protected]<mailto:[email protected]> [mailto:[email protected]<mailto:[email protected]>] On Behalf Of Grahame Fuller Sent: Wednesday, July 17, 2013 1:44 PM To: [email protected]<mailto:[email protected]> Subject: RE: set data You can create a compound that just calculates the value, and then let users plug that into a Set Data themselves or alternatively create a second compound that embeds the first one plus a Set Data. I've used that approach several times. Of course, it won't work if the calculation requires an iterative execution (like the curve distance/location compounds). Another possibility is to have output ports for both the value and the set data execution. The "display" compounds in the Debugging category are designed like that. gray From: [email protected]<mailto:[email protected]> [mailto:[email protected]] On Behalf Of Ponthieux, Joseph G. (LARC-E1A)[LITES] Sent: Wednesday, July 17, 2013 12:48 PM To: [email protected]<mailto:[email protected]> Subject: RE: set data I have a compound that I would like to be used to either apply a computed value to a parameter, or alternatively a value to other compounds. I was trying to make the compound do double duty as something useful as a standalone node vs a node useful to a larger tree. -- Joey Ponthieux LaRC Information Technology Enhanced Services (LITES) Mymic Technical Services NASA Langley Research Center __________________________________________________ Opinions stated here-in are strictly those of the author and do not represent the opinions of NASA or any other party. From: [email protected]<mailto:[email protected]> [mailto:[email protected]] On Behalf Of Grahame Fuller Sent: Wednesday, July 17, 2013 12:11 PM To: [email protected]<mailto:[email protected]> Subject: RE: set data No, the references must get resolved before the tree is even evaluated. Can you say anything more about the overall problem you are trying to solve? There may be another way. gray From: [email protected]<mailto:[email protected]> [mailto:[email protected]] On Behalf Of Ponthieux, Joseph G. (LARC-E1A)[LITES] Sent: Wednesday, July 17, 2013 12:05 PM To: [email protected]<mailto:[email protected]> Subject: set data Is there any way to make a set data node ignore a parameter that does not exist because the object it belongs to might not exist? I've tried using first valid but it can't accept execute. I then tried an if conditional to terminate the execute channel as an option but it does not appear to be able to ignore execute whether on or off. -- Joey Ponthieux LaRC Information Technology Enhanced Services (LITES) Mymic Technical Services NASA Langley Research Center __________________________________________________ Opinions stated here-in are strictly those of the author and do not represent the opinions of NASA or any other party. -- Our users will know fear and cower before our software! Ship it! Ship it and let them flee like the dogs they are!

