gH]kDwP~trueSpace7.51[VS_O93Y*I Clinton Reese, RUR`d8pM*#ͺOcCPNG  IHDR@@%  IDATxZߏdUS=9^4kƳqDF;AYD$^xGGx@<dHHA"b-y;N32SL}=P=GDi{N_w[z?j>?{z~B߿ݮL~&yބJ(_~OtɤL&.ͬ#̚rT8)""r7HTFdio€  P EQHE:7_>I5ML' tmCEu%+|:kwB 5 N1Ar.ޮTd60❧ _x)#wb,8` 뜃>^?̽wb !!ewXeiJJH@Ca0Eu'Ҩ@!FL&HH@`F5y7jD O (JH!q> )d{{;D&HWyP$@|3x$ !5<~ Z(H=^!Fjuv"P`!I)<`pO A|Vg! %@$/+ B`{y2|,%BX}tS $bPa p/"@S JHPl٧+]{6HYjJlZ[`+/ t!bEtw?tOĝ@|GeXL 1eH3@12`T+` 1xXRl˘rXF`R+} +( ` bꟿB#m>^kwoX g )2X?S2Ry(S"x嗮K柽 ~<gL?{{ޚ zٸ.T!FW`X,u2;wo̺T$a5lo5a8X1xOfiJ4򴱪 8e9? lb޶1+/\yg_ | ּɝAAhhA ig[w&[VF=_*MP B}זkln(n>9zft! r~id8oRLJӞt6ʵgKշ>ŭpbs%Sqެ~{rGW0P7=tp&ߟLR2HiLv:O_b(D?07=BJz:[XWpw0 Lws8<91릐Ⱥ8c%[pI>`pޛsc0KcD?ϔڬV$-%ko1b005(Sx,bitKtGSO ;ը=.4,X2rֶӃP1}]1Y7OUCvp,B0|~^y=}PTb @op ax(UUpmoM4JU< WP6)/};q?SC􉈈FI nmoowmskߛo8) "4A37otފv/ `0BX` msiʳSNYgwOʉJ;/_L&;v&{7~eRp*aۄP$P \dؔ<0 QJJG.j.(n)}uNW $e$W +_&b ׁNB'" V$; 'HeG ;/Qٴ46a`S( G`$8#Jʼ@Y^l]w| 1@)V2D}X#4tt'8_ؾu"a$D^r Ҿ6M 7|xj2drk@v0|P#񫯼:kt ,tl6f.G(5IL07V%t@ҙ۞I/@9z4|9*C$@|gwګ͸ p"[CaUɸp !v9DBwJ)&庈<<3P:HZ*FHt $1nx^nL7;}*{6'ͬF@D Ykk$$/ kV7mYw~*=(!bS@!SbJʔcJ`[xҷ;[IP4kG qX;mu™+T/C}PKAx9(R!FF#7{3\sudY<20ٛt13r5V^(Iat~e+L(I a^ y(;cK@ S PS;O,}!Yܹ[9 cqr{C#d"􃏚 5#9@f ى̙Id3m¼L"VD;]ٔyB$OTnջ ܳx%兇0/Jl5@Eրq"/ d[^r@vW0eJ]֙.IػǵrRT[G?4hf _QѦ m䙶Vf@XE7.ix)IFB . "ܬ^W>B@ m֓];vV,'F\1S;PVLu7b07 !J,20A6`PUucHݼ.Vi#5F W%$@M}PREJd\!rNŠ9B2kCw5|"0+lN:ϙ#jwq0@!B5A<ʑVS@5bd<_O.#M$cVcguJtVuO 2rldh Dl0n4BtPy~#i;/|Z @7ooI%lNX}yʣAJF"#RHV?I %BlGe]}P3n)Ԁq0+&ϡ(EZȊIO~$vΑ,˲za} s/|$`дM;a㼗U΋'SCX@5Li؁Tεf>)$9If{;ke!EfF0RD W@60(7ʠB`0D1' 5go&%EUU d8l ac_qYM8 1TU >C3S7#Iw HD+?"~(iR+zOVug"& g']A2vbpuꇮT9*yWOkꇈ?Q7!7wk>)a uWIENDB`/tfѭ8Lwb"q؆܂dKu= F2unSelectable Script v1.13 .;]kI 忞@.;]kI 忞@"SubObject*Encapsulated objects"H1 虪Pc2 /6 x}3 0 H 3 4W}@O{4W}@O{$ Owner4Owner of the Encapsulator$2- 3 (XFҦV(XFҦV"LE2Data$LE2 Data for node >g'JNjn*p"3 TK?JFܟ5TK?JFܟ5ActiveActive flag b2 823 -1OSM n-1OSM n"LayoutLayout 럆L<_ї"(XFҦV>g'JNjn*pF8DCb@c@t?TK?JFܟ5 -1OSM n 럆L<_їZDefault GFʠN=p1 }}TK?JFܟ5Z`Ez]UOͽ>fdN*5Ւhp8 TK?JFܟ5Z`Ez]UOOˁ CRih[0p PActivity.Run("%THIS_NAME%" + "/lockIt")Lock ItZ`Ez]UOOˁ CRih[0Pp TActivity.Run("%THIS_NAME%" + "/unlockIt")Unlock ItZ`Ez]UOOˁ CRih[Ppp \Activity.Run("%THIS_NAME%" + "/clearTheList")Unlock AllZ`Ez]UO0tdvB ͤ*EgbĬCtheData Pj7 2AEHM'2AEHM'LE2Data$LE2 Data for node >g'JNjn*p3 ceZU@䑧rceZU@䑧r$_scriptData*Internal Script data [җJs@ %H1 4W}@O{$3 v(XFҦV# v.;]kI 忞@"H v-1OSM n#&x8h-[I0tHY8h-[I0tHYBtheList R1TKNXIB=iN/xE~iN/xE~BprevSelectionBP7 SFrkI@Mt\SFrkI@Mt\DfirstTime D&x= 2AEHM'>g'JNjn*pFBC`@0@?ceZU@䑧r[җJs@ NewObject// OnComputeOutputs // Called to compute values of all output connectors function OnComputeOutputs(params) { var firstTime = params.ConValue('firstTime'); // TODO: put your computation here // var theList = System.CreateDO('Common Data Package/String Array Data'); // params.ConValue('theList') = theList // params.ConValue('prevSelection') = ... } NScript Object Package/jScript languageH8k |šLCommon Data Package/String Array DatatheList R1TKNXIͽ8h-[I0tHYstringprevSelectioniN/xE~booleanfirstTime SFrkI@Mt\4W}@O{iN/xE~(XFҦV>g'JNjn*pFkDCb@@P@?8h-[I0tHYSFrkI@Mt\ .;]kI 忞@-1OSM n 럆L<_ї(48@J g'JNjn*pLE2Data, 2d7 J@#QLJ@#QLLE2Data$LE2 Data for node >g'JNjn*pLE2Data, 35 -1OSM n# 2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ `NewCommand// processIt // // april 30 2008 // // by Clinton Reese // www.clintons3d.com // // check to see if new selection is allowed // if not allowed the previous selection will be selected // called from the Selection Change Event node // // // Execute // Called to execute the command function Execute(params) { owner = System.ThisOwner(); scene = Space.CurrentScene(); //if freshly loaded then clear the list and initialize the previous selection if(Node.Value(owner + "/theData","firstTime")) { a = System.CreateDO('Common Data Package/String Array Data'); a.Clear(); Node.Value(owner + "/theData","theList") = a; curSel = Node.FirstSelected(); //May 12 2008 // strip away "/Project/scene name" otherwise fails when new scene indx = curSel.indexOf("/",1); msg1 = curSel.slice(indx); indx = msg1.indexOf("/",1); curSel = msg1.slice(indx); Node.Value(owner + "/theData","prevSelection") = curSel; Node.Value(owner + "/theData","firstTime") = false; } //get list of locked items //if current selection is in the list then select previous item a = System.CreateDO('Common Data Package/String Array Data'); a = Node.Value(owner + "/theData","theList"); //get size of list sz = a.GetSize(); if(sz != 0) { curSel = Node.FirstSelected(); i = 0; while(i<sz) { item = a.GetAt(i); // May 12 2008 item = scene + item; //match found so select previous item if(item==curSel) { curSel = Node.Value(owner + "/theData","prevSelection"); curSel = scene + curSel;//May 12 2008 Node.Select(curSel); return; } i++; } } //no match found so save selection as previous selection curSel = Node.FirstSelected(); //May 12 2008 // strip away "/Project/scene name" otherwise fails when new scene indx = curSel.indexOf("/",1); msg1 = curSel.slice(indx); indx = msg1.indexOf("/",1); curSel = msg1.slice(indx); Node.Value(owner + "/theData","prevSelection") = curSel; } NScript Object Package/jScript language~൱D|#^c4W}@O{(XFҦV>g'JNjn*pn@(DBb@H@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_ї˂ControlOˁ CRih[ Cq 8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0 Cq:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@HoxeSwCћ"-2 .SelectionChangeEvent01b2 TK?JFܟ53 5 2|=Bynje7 5 z@HoPc2 4W}@O{$3 5 (XFҦV"5 -1OSM n"5  asvHhTG asvHhTG$NodeIconNodeIcon eSBgc$2|=Bynj(XFҦV>g'JNjn*pFCBf@H@? asvHhTGeSBgcp U4Ksw0x]w]u׶nnVm%jW H:PCPPGbb28; gfı {`;J&bW]2㙓s}}jw{oHss~~wp>|cPbժz:8rN?ĉq's,[0m 0b03g>{{~=nm5/]A]B,fBSS3o?g?={_S_ jcЕU> 6 LD @< n@pa =w PJ/.8h0pl,Kj9s6l~+;U?+yU!e!X҂zp{& Pj}Y3gmWzwhlv^C`E)JZQ/΁khӘY0vd7 ؿ0^ϟGq5әXlPY:@J&ρTq$(`ǐ3NݨF Qc}zl>0D`Yxeh#?g!Xvc0+h46ړ8!N?=Ni<øF0)/iic@{Qr^U| QД[1?SB]̦M[Q7F]ey uBe:{[J"D GA< =1O0B*h?DgpN~Gz C.0T@T`P"C?׏_ʹ(`LcF]̳a77ϓ*Nc Ɣϣo8k2Cm Ѩ#GnsL z4w_ݵ n !br7> cC9p㞿ᰈz+=<]F]XC(6b#B#C U10q2ر yhh%.s9&ghk3Ns!AIB]XQuuu0wֽ~<  YcxC_{{` "ymvt>n.ܶXpqAA@g{\)\x s ( 48X$1U!hnjի"WW ”XrIZR6 ~C *= ch`2D76573WsLlǘ-z/qQg@,?U wQ_Wmhmj` Nsc˖(ߡc|"H5k#4%o VNԁ0th-̚u8pď!2Ϧ\Wq`<Y֧C> KRy<dOa,E_x5ɎwƲKE#<9v|#64cl,_*ցX_xz.^g%[.'$AuUԭSo6h@]pOCtL?2nLӠ/c y Q= "&-Zw\&gq}6g{g|>ۀº@+b`"w<0mBcp؂PQz ZW lAК{_M|"okt)6Y]y3A7bܳ8 B޸fzgOA\m=9#7t\0x Tyڅjqںf׀6@F;{ %k!&\K{u(g+% Tmz`XS@ =a^!(ԧh~戎>y$IP]]56]P=f] I{2nH1@o/Kʾ5h+{Akfx.Ӟrtz?smhS+νj b &S 7_0kڹS({m9hc࠿'_*j dOgO1{\>DmoBts\{Pr+e/2\̣)>q Q";҂"/@棽^n:\qGomq}`0ǁ*]yL}wc|Mڕ{5z.b|c3:rٕ|$g?GNaʾ}o(H۟_A#_wUGz]뎣WSٓ/ Tˠ]TR'&E5 P/hcI7Nϼi<^ } F;"t(Jq>\nr\O^eO;u~ӧ8m5w>K '%>z{` r=Te/=z ?~kP-9@@au[%|M}z0*ңm)Ƶ#ŗh^/Y\9Ak/Fh\{ <@(woU+Ƹ"߅: 0gǼ@aT"dWB埁ތ򧽅&@H1v=Ν{! qmSW Yq>q-H${eHnj=A E&u`hy]_0qd%&O 1 V$$,ȁߢ/[vr 7޸ @34O7ָxkYxZ;끆'=,] ځU(k\|}D0uh'gϢBp}.$_a;`6z-FiOdP7{Š->hFX7b0I06l`-x`HO ٠>R5iN8tb >.|K7oa`>0 &5 *~{9O7'ꬄ/`3f̂HB.ZjWhsR$h/.J: 2tSo\> ڳK` P'{@N}|`Yu+ NB<փ{_t^s|M@8*\L01.}/ s e/PQ$<ѢoF !~ݕ 0zt=9R|< '^OJe-oŮt ƢP?zLQ}!Z?T=Jy@߻;:Oeԁ@F فbӁ_X‘j}v䇐c.U| $ہ~b{`8ݾvvW[jf"QZ<](Ĭ#u`(_@Æ C@xPSS[ݣqF+%wO2(&_@ @z[gh/vkke[lgkZv qu c$I:57X|!Z];"Rk,8wDk+YKϋRG"rN>N?f3JrMk|*(|A2=~?/4;pg8"YS:)FNkPu5J*|!ygD WWQ+-1S;Nvj`U hn:@@~A.9u?hg>LK1,Z*!pBM(̞07@?%gʹB;1b$;ޙd,@ l{IBM,7x׈vf- )?@=HC by+ꟳwڍlv;ީpvwfΜ9;KI ;AgwD: A:ƾq؆сxU@q.|FN>'/>Ȼt>cc9.{!([@Oy; *"0ԟa|ݔç;w;ݗ(RL?[t6œ#ňB{?ܸ N±1S@##[jPUY X-jlN'a߾] H2Owma%fԁ9DtM y-@*Q1C&;i;3f#,{uvj@8sw 5]т >̳t'2 'l'򸝜yf!lPϑXNv7?u&g#`# }^˹3455eYZxTߣ97o b<J t:y^AflPWKRO-ux͝/[s9wli77Os_Fz0Gt { G)j3Rч]ĥϭXs9w :~S#{ӦS2퀛'&zxV#fsr? ͓kn {a'.z~}ev3vA;0tiGW~8){h qtT ݉>38!فh^4?6z{Ӳ?>6Crxt!#vM;RөSezQҁqfPEͩ/%G_Ӳ'=Xx=뻧 ;8y>G*&t8># zձˤeO.iP_jv Q+0?ԁGT]79w;,dڵZ"7(Nb4[r{NEt[kAN쀞ԁ(SZggu0߹{΁4u/X!^iYv#<;LHn 3=|n߅ ʼnztq,P":E۷%4E_F?3@ɿWʸ/8>ŭ^bzN  ZSs\b7Z=,H+0{j<Y9U?/_z+_FiC>ٳ#-;!=YǶ/^a耉> :@;< ڙO=<|_t23 ޗ}~耩n O̽Q?ْwTVeLes|w01gvT+ӈ6y^Js^ޠglA[fZs9>o1{[G]/uQJmO{\A-H)v1| %wrǧU{>ҸcmH@H<}ziՐς|c ^MfHVg=va˜/rw:E;`;Ae?&zx^=dfa\w5>>ݣw$#ڗ}!c5mCv ҹG/KtWta){)y}VXF('dgӧ)'du3"?w (Wi?hf19oNOα5W9ί2?\zWLJ>| TK?JFܟ5 -1OSM n 럆L<_їvDefault GFʠN=xg1 }}TK?JFܟ5Z`Ez]UOͽ>fdN*5Ւhg8 TK?JFܟ5Z`Ez]UO GFʠN= g= }} Control Out2|=BynjZ`Ez]UOz@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand( // lockIt // // april 30 2008 // // by Clinton Reese // www.clintons3d.com // // add current selection to locked items list // // May 12 2008 // fix so still work after scene name changes // // Execute // Called to execute the command function Execute(params) { // first make sure item not already in list owner = System.ThisOwner(); a = System.CreateDO('Common Data Package/String Array Data'); a = Node.Value(owner + "/theData","theList"); //get size of list sz = a.GetSize(); if(sz != 0) { curSel = Node.FirstSelected(); for(i=0;i<sz;i++) { item = a.GetAt(i); if(item==curSel) { return; } } } // add current selection to the list tempList = System.CreateDO('Common Data Package/String Array Data'); tempList = Node.Value(owner + "/theData","theList"); curSel = Node.FirstSelected(); //check for self - do not lock the script item if(curSel==owner) return; //May 12 2008 // strip away "/Project/scene name" otherwise fails when new scene indx = curSel.indexOf("/",1); msg1 = curSel.slice(indx); indx = msg1.indexOf("/",1); selSave = msg1.slice(indx); //System.Trace(neeSave); //tempList.Add(curSel); tempList.Add(selSave); Node.Value(owner + "/theData","theList") = tempList; } NScript Object Package/jScript language}I|4W}@O{(XFҦV>g'JNjn*pn@'DC`@@P@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_ї˂ControlOˁ CRih[ Cq 8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0 Cq:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand6// unlockIt // // april 30 2008 // // by Clinton Reese // www.clintons3d.com // // remove items from list // deactivate the lock and setup to listen for the selection to unlock // // Execute // Called to execute the command function Execute(params) { // TODO: put your action code here owner = System.ThisOwner(); //deactivate locks Node.Value(owner,"Active") = false; //send help message if possible //activate wait for selection change Node.Value(owner + "/SelectionChangeEvent02","Active") = true; } NScript Object Package/jScript languagehߙ &4W}@O{(XFҦV>g'JNjn*pn@(DjC`@@P@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_ї˂ControlOˁ CRih[ Cq 8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0 Cq:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand<// clearTheList // // april 30 2008 // // by Clinton Reese // www.clintons3d.com // // remove all items from the locked list // // Execute // Called to execute the command function Execute(params) { // TODO: put your action code here owner = System.ThisOwner(); a = System.CreateDO('Common Data Package/String Array Data'); a.Clear(); Node.Value(owner + "/theData","theList") = a; } NScript Object Package/jScript languageP ގ 4W}@O{(XFҦV>g'JNjn*pn)DC`@@P@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_ї˂ControlOˁ CRih[ Cq 8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0 Cq:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@HoxeSwCћ"-2 .SelectionChangeEvent02(PTK?JFܟ5P2|=Bynj`ȥ7 z@Ho 4W}@O{$3 a (XFҦV"7 -1OSM n"H7  asvHhTG$2|=Bynj(XFҦV>g'JNjn*pFbDCf@H@? asvHhTGeSBgc8 U4KswTK?JFܟ5 -1OSM n 럆L<_їvDefault GFʠN=x(A1 }}TK?JFܟ5Z`Ez]UOͽ>fdN*5Ւh(A8 TK?JFܟ5Z`Ez]UO GFʠN= (A= }} Control Out2|=BynjZ`Ez]UOz@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ " NewCommand// removeIt // // april 30 2008 // // by Clinton Reese // www.clintons3d.com // // wait for next selection and remove it from the list of locked items // reactive locks after item is removed // activated by the removeIt script // // May 12 2008 // fix work with scene changes // // Execute // Called to execute the command function Execute(params) { owner = System.ThisOwner(); scene = Space.CurrentScene(); //stop waiting for selection to remove Node.Value(owner + "/SelectionChangeEvent02","Active") = false; a = System.CreateDO('Common Data Package/String Array Data'); a = Node.Value(owner + "/theData","theList"); //get size of list sz = a.GetSize(); if(sz != 0) { curSel = Node.FirstSelected(); i = 0; while(i<sz) { item = a.GetAt(i); //May 12 2008 item = scene + item; if(item==curSel) { a.RemoveAt(i); Node.Value(owner + "/theData","theList") = a; break; } i++; } } //reactivate locking system Node.Value(owner,"Active") = true; //send help message if possible } NScript Object Package/jScript language@ <4W}@O{(XFҦV>g'JNjn*pnDCb@H@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_ї˂ControlOˁ CRih[ Cq 8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0 Cq:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho8ʯȥJH|o7 gH]kDwP~`d8pM*#ͺOY~c/tfѭ8Lwb"q؆