Just iterate through the CRefArray and check each members for siFxTreeID
ClassID..
ahhh - I'd looked at that, but thought it might have efficiency
issues. Hmmm actually that just made me realise - it's only giving the
objects directly under the scene root. FXTrees could be anywhere in
the hierarchy - scanning recursively through the entire scene sounds
bad....
any ideas on a nice way to do it?
I gather I'll still need to use the CComAPIHandler to deal with the
FXTree nodes once I've got them?
Cheers,
Alan.
--
guy rabiller | 3d technical director (at) LaMaison
Alan Jones a écrit :
> Yeah, but I'll already have the CRefArray from the C++ API and the
> CRefArray is what I want to run the filter on, but because there's no
> type in the C++ API I need to run the filter through the
> CComAPIHandler.
>
> Or do I have to start a level up at the GetActiveSceneRoot and use
> that in the CComAPIHandler to get the properties and then use the
> object returned by the CComAPIHandler to run the filter?
>
> Cheers,
>
> Alan.
>
> On 9/5/06, Guy Rabiller <guy(at)alamaison.fr> wrote:
>>
>> If you query for properties you should recieve a CRefArray directly.
>>
>> As the siFxTreeID is exposed you should get a valid CRef but only usable
>> through the CComAPIHandler.
>>
>> --
>> guy rabiller | 3d technical director (at) LaMaison
>>
>>
>> Alan Jones a écrit :
>> > Hi Guy,
>> >
>> > Thanks for the pointer - reading through the docs (aside from having
>> > trouble holding down my lunch while looking at this elephant man code)
>> > am I to read that to implement this
>> > var oFxTrees = ActiveSceneRoot.Properties.Filter("FxTree")
>> >
>> > I need to get a CRef of the CRefArray return by
>> > Application().GetActiveSceneRoot().GetProperties()
>> > (can I even get a CRef to a CRefArray?)
>> > I'll then need to take that and use the call
>> > function from the CComAPIHandler class to run the filter method with
>> > the argument FxTree?
>> >
>> > Cheers,
>> >
>> > Alan.
>> >
>> > On 9/5/06, Guy Rabiller <guy(at)alamaison.fr> wrote:
>> >>
>> >> Hey Alan,
>> >>
>> >> as usual with missing classes from the Cpp SDK, you have to use the
>> >> CComAPIHandler Class.
>> >>
>> >> With it then you can access every properties and methods described in
>> >> the scripting documentation.
>> >>
>> >> --
>> >> guy rabiller | 3d technical director (at) LaMaison
>> >>
>> >>
>> >> Alan Jones a écrit :
>> >> > Thanks to Guillaume for a bit of jscript to kick it off. I'm
>> trying to
>> >> > translate it over to C++ at the moment and it's showing some
>> problems.
>> >> > First one I've hit is trying to use CRefArray's Filter command - I
>> >> > can't find a mention of a type for FXTree nodes anywhere in the
>> docs.
>> >> >> From what I've seen there is no siFXTree - anyone know if there is
>> >> any
>> >> > support for FXTrees in C++?
>> >> >
>> >> > The wiki says the page has tips for C++ and scripting on the FXTree
>> >> > page, but I've only seen scripting examples there.
>> >> >
>> >> > Cheers,
>> >> >
>> >> > Alan.
>> >> >
>> >> > On 9/5/06, Alan Jones <skyphyr(at)gmail.com> wrote:
>> >> >> Hi All,
>> >> >>
>> >> >> Just wanting to check I haven't missed anything obvious, but I
>> >> >> couldn't find anything more than an siClassID for dealing with
>> >> FXTrees
>> >> >> in C++.
>> >> >>
>> >> >> How do the three other C++ XSI coders out there deal with FXTrees?
>> >> >>
>> >> >> Cheers,
>> >> >>
>> >> >> Alan.
>> >> >>
>> >> > ---
>> >> > Unsubscribe? Mail Majordomo(at)Softimage.COM with the following
>> text in
>> >> > body:
>> >> > unsubscribe xsi
>> >> >
>> >>
>> >>
>> >>
>> >> ---
>> >> Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in
>> >> body:
>> >> unsubscribe xsi
>> >>
>> >
>> > ---
>> > Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in
>> > body:
>> > unsubscribe xsi
>> >
>>
>>
>>
>> ---
>> Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in
>> body:
>> unsubscribe xsi
>>
>
> ---
> Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in
> body:
> unsubscribe xsi
>
---
Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in body:
unsubscribe xsi
---
Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in body:
unsubscribe xsi