gH]kDwP$Rosetta Beta 7.61[VS_O93YJClinton Reese, Clintons 3D Creations`d8pM*#ͺO2PNG  IHDR@@% IDATxُ]וÙ\YUdLjEInm +F$@$O~_txl$(DR*|V{ϸ@e5٦vq}ƍoo9MRv73 D՛oIuמyz㝋oO'Ӽ,VwwmnX\ʲ j%Y+4u}ww{[\\xm]`ƫHuJk`U43ñ$ϹQʟ5kz1`w߹x믽l֍Q`o_>3g\򲎣h?kڽ)-Fe$QGJ Dd "֫zt$*kEM#DXCv l{~)b)BV23 "" >`  d(iMxw?_\ZW2Y<㓢;k)jLΛ94T"bT(MUr+3!_w#"& &pi ~vБq!C+KDr`jE5Y@MS8 tDVK< >/ [ RHMtW.@, (msɬ+H2V9v!`$N fDF} qQL8q$PDD;@D`6^uU$T2GJG_RB/\JI0n4E,xSRRt,JӘ>P`]R $y v.kW9\{gBp"%@BJGQe R<瞹JHF D(E^8?}WWPR88NRj@`,|PHHL{(umۜNr"T"/K%4{DR@Iq8M=02GJGQ9 3 `:wܙف>$^zO@a_΃=ꏂ1Vˆy $gyk ᜣf;\aLU@k3;3K_t{_?bNt0;Gfgg]m+So?nGR3m:@$ieQ2@}&e_~koǕ+R򩲪"%Sb=>:\X]]}x</--f.nC+KQ# $0J@[|:yB"JڑcGD%U]*ғ;:~p8ŭ57FQܛQ~(jT_zg}͛e4nomn+936&uρYC!{}DB8MpX;rĝՏ[}+?~ݭvUk_uB!x2YX?ѧb| 0L0#37u (E&J*^J6@X?\COl^\Xw;OmÞ)>kPnzGRÇ;3yɫǏlo Xbzkuʓ++ `vнrh~ocgkwv0c}u烊Bؘ;8ËgduwYs#+)mmL:O85-&,`os?ï9wv{{s<>RJ""(jg{78888wtvov1,KQ o.MH%JHJ眎#"_WnɭQ1|`vowXZ;ٴq2>V&LQLO_:-8Ļy_t婫W=19w-G fB`ݾP$B*@@U] A'0{f@彃êtf?9mDvƵ{d09܁Ψv[[= o{e5\xpm%gdʘ"n۸uV+ŒNy{ʣyQĭ#I7HmM3\Ǻ*\~xgo:ћ1DuC:U_GC7WօVB`D9;8:ϧyయe1`SׯJǎt(kTii_޻~wMitـDN5;P^^MFyqh:98::" $(Sԭ}`po۬Yju9$J  NPP׾^yg7nLN&?lwEG+ '##o7M7WS'GSb|hǁA)e3ޝGU] 0 C(A+ٲ,bb N$wv_+5NWw_֍tBe<5M@ {o?)]v'qQz"&|4HƐT+_}t'2EɁ )BIa/KO]/XG)Yo_xwo^VWyzQt U;Q։N'-j{W.J/éj/.,[`eqGY(0 t$i4px`yy%Mu}l~.8gϟɫbt8/|s)88M$RJDcau\8:tfaqӗN.?۷N[o%#罐 Lc==`&vuŏR+ҝS`TUӬ>ޝ݋wa:g4NS -!0֢ےbjOW/_xB.|w*({&Fm|` Xqnn{F:ZS~X:[3+ F*˻"vgNi!ePG2(gVN_?__RD-^Zg(jLDJVi! ,JE{!0#Uu 3Ky x|4uNGRJm@SOç:y$NTlON uOά|G^UU>ZF)cj!&Ӊ*y"PJ@c)AR30sf=Gɥ,ͦImLEՔ!: xzJ͝rѝnUm۲N| VuQjRJ23 |R#29됁XDT(}D@@y:cB =J}ȔMmRF}MpToܾ+)Rp?37"3 K%tDVOTRB9HB8? Yb'R{S U`<+,,~hwf"!ToNU($K)bD<64UDGY#FȰgdJ "~'SF'Z#,OARD,Bg=إn!XiEq@(4&P`4RH9P>Eiєi+inw>=rkFQֽAOhc}#sQ'q W9c}N cm~=3ΗSIxRc (2xRQ<7;R ^+)Um!}ft*n !|rzR:/,8 CD)!;[["Nqs4AFc=oE`:e$)T QJRx)LDYTC]{ODNxk1z{{^fƙA9d86&Zk-'E:w‹Q~Zg1`.Ѿ5u 6VODR:.EJZYUkS(UUy88rb䣏9{XY[ke]9wQJn (CP$ibwD\j-~QvPT)@ .QGёcOBx@(/Q=ԇ{̠dt4_L3_W>ևO?Nӟ޼yʕg}w/_{擪 "}IENDB`/tfѭ8Lwb"qC܂dKu=$DWorkspace Layers 2 auto-installer8p.;]kI 忞@.;]kI 忞@"SubObject*Encapsulated objects"`o(uK v4W}@O{4W}@O{$ Owner4Owner of the Encapsulator$(XFҦV(XFҦV"LE2Data$LE2 Data for node >g'JNjn*p" zFAa| zFAa|DhelpText\vRm)EC!avRm)EC!aD leftClickScript\1V {E!Y1V {E!YD name\!K0}q!K0}qD"rightClickScript\-1OSM n-1OSM n"LayoutLayout 럆L<_ї"1V {E!YsayHello!K0}q2System.Alert("goodbye");(XFҦV>g'JNjn*pFC&Ch@O@CB?vRm)EC!a<System.Alert("hello there!"); zFAa|say hello-1OSM n 럆L<_їˡDefault GFʠN=h !}}Z`Ez]UO}}w,h"#`._E#ބ6 ^CustomFrame(η.;]kI 忞@" ʲ4W}@O{$*O΢C}*O΢C} WinIDWindow ID蹷-pϗO 0)t-pϗO 0)PositionShelf Position mz!OHwcطط>-MD'zZt>-MD'zZRectangle"Screen Rectangle THj6F 2s*RÒGbDeC tRÒGbDeC  WidthWindow widthطh[FB%n*jt[FB%n*jHeightWindow heightط [GDJM [GDJMMin Width$Min. Window width%]GJ7ψ%]GJ7ψMin Height&Min. Window height^^Dy^^DyMax Width$Max. Window widthv43N tv43N tMax Height&Max. Window height~൱D@ j#^c~൱D@ j#^cMaximized(Window Is Maximized 9@'s9@'sRootNodeRootNode{Q !aOt {Q !aOt  TitleTitle Text6*Mv46*Mv4View Index$View window indexf$I `7f$I `7Frame TypeFrame Typej^G@!,j^G@!,"ViewersViewers array 2bOdA)f "I)LL !I)LL ! Def1D Default 1D GUID8M0cry8M0cry Def2D Default 2D GUIDF L$3F L$3 Def3D Default 3D GUIDobFFJL}obFFJL}SnappedTo$Snapped To WindowBXPjKɸtEBXPjKɸtE SnappedToTarget@Snapped To Window Target CornerkJHx(V@WkJHx(V@W SnappedToSource@Snapped To Window Source CornerKTLA7~fKTLA7~f"SnappedToOffsetX6Snapped To Window Offset XK8Y8O#=gtMK8Y8O#=gtM"SnappedToOffsetY6Snapped To Window Offset Ymk~_Lb.mk~_Lb.SnappedToWidth0Snapped To Window Width|7EId |7EId  SnappedToHeight2Snapped To Window HeightKXtO LKXtO L,StartSnappedToOffsetXBStart Snapped To Window Offset XVG))jHETVG))jHET,StartSnappedToOffsetYBStart Snapped To Window Offset Y?V{N7l?V{N7lSnappedToRatio,Snapped To Ratio Mode 86*n^HD9t 86*n^HD9t OwnedByOwned By|_ D|_ DTabsAsButtons Tabs As Buttons _N>G1_N>G1HiddenHidden Flag \q^2FII3w\q^2FII3wPreference,View Preference Panel >=жaMpT>=жaMpT&HideDockedTitlebarJHide Title bar when window is docked N'D)L-N'D)L-MinimizedBHJWindow Is Minimized into Blue Handle ϕ`&FSx9wϕ`&FSx9wSizeLockPrevent horizontal and/or vertical size change. 0x01 - horizontal, 0x02 - vertical˽OS˽OSDispTitleText,Display Titlebar Text Ī8mݧC>!7Ī8mݧC>!7SmallerTabs*Display smaller Tabs (XFҦV"&BXPjKɸtEkJHx(V@W|_ D8M0cryN{485B725E-A69D-4AD5-A876-B3BBA72D2C0A}mk~_Lb.[FB%n*jRÒGbDeC 1 [GDJM6*Mv4K8Y8O#=gtM\q^2FII3w{Q !aOt f$I `7v43N t I)LL !obFFJL}Ī8mݧC>!7^^Dy(XFҦV>g'JNjn*pFBCX@1@?*O΢C}N{5FDDFE6E-518F-464A-B4B9-8D24B556E36C}9@'s_N>G1-pϗO 0)mz!OHwc ˽OSF L$3>=жaMpTϕ`&FSx9w>-MD'zZ%]GJ7ψj^G@!,2bOdA)f 6^r[HJv-, ^r[HJv-, KXtO LVG))jHET?V{N7l ~൱D@ j#^cKTLA7~f|7EId 86*n^HD9t N'D)L-^r[HJv-, Toolbar.;]kI 忞@" ʲ4W}@O{$n_<&KES Qn_<&KES Q NameItem nameo(K ]p do(K ]p dHelpTextHelp text8Cechg8Cechg RowsToolbar RowsNL {NL {$Dimension$Toolbar dimension$Z_IFL!OSZ_IFL!OSHorizontal Horizontal Flag .S)A2UЍc.S)A2UЍcIsSubToolbar$IsSubToolbar Flag =JM@hM Q3=JM@hM Q3IsImportant2IsImportant Toolbar Flag .UuwO e.UuwO eIDToolbar ID'0#ԪC'X/9}'0#ԪC'X/9}$ IndexItem Index$_N>G1JdWJc~JdWJc~PrototypePrototype name<9BH@b\<9BH@b\IsMinimizedPTrue/False flag if toolbar is minimized m O1Wwm O1Ww$IsAspectT(Aspect Toolbar Flag $(XFҦV".UuwO e'0#ԪC'X/9}=JM@hM Q3 m O1Ww(XFҦV>g'JNjn*pFBCb@ f@?NL {Z_IFL!OS _N>G18CechgJdWJc~n_<&KES Q.S)A2UЍc o(K ]p d<9BH@b\ R/$ķKniaW? wsLayers2Button'0#ԪC'X/9}]8teO?s]8teO?s"MaxItemTxtHeight.Maximal item text size% sH?DC sH?DCTagTag%IlfāA>ˁwIlfāA>ˁwTagAliasTag Alias%/ru|GF0/ru|GF0AgentIDUpdate agentID(XFҦVLE2Data, 1"-1OSM n".;]kI 忞@"`4W}@O{$n_<&KES Qo(K ]p dQm6l3Ll/V^Qm6l3Ll/V^CommandAction commandN="QEj%:N="QEj%:RClickCommand,RClick Action Command$ܿORE bi$ܿORE biPreview2D8Item preview 2D resource id*S]?G[~x;*S]?G[~x;Preview3D8Item preview 3D resource idSr)B8Sr)B8Package"Package class idDNOQsP'ѭDNOQsP'ѭBitmap.Item preview 3D bitmap eSBgciDsL[wiDsL[wRadio Group(Radio buttons group4E*4E*ControlID2D&User Control ID 2Dh>ǑJ]@<h>ǑJ]@<ControlID3D&User Control ID 3D+fyOA7XC+fyOA7XC MaxItemBmpWidth2Maximal item bitmap sizeTl@fC.^&GZTl@fC.^&GZ"MaxItemBmpHeight2Maximal item bitmap sizeh0OY~ C h0OY~ C  MaxItemTxtWidth.Maximal item text size%?Aυ D)7t?Aυ D)7tGrayPercentxGray icon about specified percents if it is not highlighted][D+Iv(][D+Iv( MenuAct As Menu 8{Nm(!8{Nm(!IsMenuButtonIs Menu Button ko6/WЋT48@J g'JNjn*pceZU@䑧rceZU@䑧r$_scriptData*Internal Script data [җJs@ %o4W}@O{$(XFҦVLE2Data, 1#J@#QLJ@#QLLE2Data$LE2 Data for node >g'JNjn*pLE2Data, 3MT^RwL~YYTMT^RwL~YYTޢLE2Data$LE2 Data for node >g'JNjn*pLE2Data, 22|=Bynj2|=Bynj Control OutTransitionOutz@Hoz@Ho Control InTransitionIn 2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand // Execute // Called to execute the command function Execute(params) { // TODO: put your action code here owner = System.ThisOwner(); button1 = "wsLayers2Button"; theScript = "wsLayersGroup"; // if(Node.Exists("/Project/Windows Manager Space/CustomFrame/Toolbar/" + button1)) Node.Delete("/Project/Windows Manager Space/CustomFrame/Toolbar/" + button1); //check for and create customframe if(!Node.Exists("/Project/Windows Manager Space/CustomFrame")) Node.Copy(owner + "/CustomFrame","/Project/Windows Manager Space"); //copy buttons to custom frame oldButt = Node.Copy(owner + "/" + button1,"/Project/Windows Manager Space/CustomFrame/Toolbar"); //copy script to custom commands //create CustomCommands if(!Node.Exists("/Scripts/CustomCommands")) { temp = Node.Create("Kernel Package/Object","/Scripts"); custcom = Node.Rename(temp,"CustomCommands"); } if(Node.Exists("/Scripts/CustomCommands/" + theScript)) Node.Delete("/Scripts/CustomCommands/" + theScript); Node.Copy(owner + "/" + theScript,"/Scripts/CustomCommands"); //activate it WindowsManager.Activate(); WindowsManager.UpdateWindowsStructure(); //reset the toolbar //1D Aspect WindowsManager.SetWindowAspect('/Project/Windows Manager Space/CustomFrame', 1); //2D Aspect WindowsManager.SetWindowAspect('/Project/Windows Manager Space/CustomFrame', 2); } NScript Object Package/jScript language 4W}@O{(XFҦV>g'JNjn*pn7C`b@H@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ Ca8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0 Ca:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho܂dKu=wsLayersGroupX.;]kI 忞@"H`Ε(u4W}@O{$(XFҦV"(XFҦV>g'JNjn*pFvCmCX@1@8BB?܂dKu="workspaceLayers2.d.;]kI 忞@"TN A x(}Xh}CX[ț(YjFkEtxW/>YjFkEtxW/Dname, 7Th8(:FpE:FpEBnumObj, 7R$ Ǡ(IPI Ǡ(IPIB id, 6RՒЧ@+e:ܥ.ՒЧ@+e:ܥ.BnumObjRqe Md{qe Md{BnumObjnumObj, 1RDBJfbkDBJfbkBnumObjnumObj, 2RhmuHr\lhmuHr\lBnumObjnumObj, 3RpDӲ@:wDӲ@:wBnumObjnumObj, 4R@ߠF5^ߠF5^Dwirecolor -n,NjlpgT``c:0\3A2c:0\3A2Dwirecolor -n,Njlpgwirecolor, 1T`(^brh<$`Ffۂbrh<$`FfۂDwirecolor -n,Njlpgwirecolor, 2T`'I`S&/LCUi&/LCUiDwirecolor -n,Njlpgwirecolor, 3T``7m٧ E_GK7m٧ E_GKDwirecolor -n,Njlpgwirecolor, 4T`X,I" wxKL]" wxKL]DfirstLayerT`}!dKym}!dKymDname, 5TH*P_kA1~kA1~Dwirecolor, 5 -n,NjlpgT`H.p^HaF.HaF.B id, 5RNeAVLSrIeAVLSrIBnumObj, 5RH@\?|O+C5@\?|O+C5B id, 7RIƌ6F$_7ƌ6F$_7Dname, 6T5ѸI[[MM.ཇI[[MM.ཇDwirecolor, 6 -n,NjlpgT`@A*$4=M}W*$4=M}WDstatusT bp.I#JYX0FA }{JYX0FA }{Dstatusstatus, 1T b 1N8'kKSZɮyz8'kKSZɮyzDstatusstatus, 2T b8*IgF3lL}p'<F3lL}p'2 ?(>?3 "NeYtDX_layer 1rnKSoD;mdlayer 0HaF.&/LCUi-n,Njlpg&O<>? Sa>?qe Md{>YjFkEtxW/layer 7DBJfbkXLvM {bPF3lL}p'<eAVLSrI8'kKSZɮyzVKۤu*$4=M}Wƌ6F$_7layer 6eJO dLI[[MM.ཇ-n,Njlpg-J>2?^??:FpE/AN:9@\QՒЧ@+e:ܥ.O=C{}2 zo;=E7/^PN#DuL-1OSM n 럆L<_їPDefault Notese1釥GP>a e" 0 vurnKSoD;mdƄvR^I҂{iks1釥GP>a=M e" lut"Tahoma!13 "NeYtDX_ƄvR^I҂{iks1釥GP>am} e" 0 ~N7&=QƄvR^I҂{iks1釥GP>a e" 0 fMrH5 U*ƄvR^I҂{iks1釥GP>a e" 0 zlAvmg):ƄvR^I҂{iks1釥GP>a e" 0 VKۤuZ`Ez]UO1釥GP>a=M e" 0 ^PN#DuLZ`Ez]UO1釥GP>am} e" 0 eJO dLZ`Ez]UO1釥GP>a e" 0 ޕ :Iߔ1.Z`Ez]UO1釥GP>a e" 0 /AN:9@\QZ`Ez]UO[~K^3s e" 6 0*$4=M}WƄvR^I҂{iks[~K^3s  e" 6 1*$4=M}WƄvR^I҂{iks[~K^3s 0 e" 6 2*$4=M}WƄvR^I҂{iks[~K^3s-= e" 2 0JYX0FA }{Z`Ez]UO[~K^3s- = e" 2 1JYX0FA }{Z`Ez]UO[~K^3s -0= e" 2 2JYX0FA }{Z`Ez]UO[~K^3s]m e" 2 08'kKSZɮyzZ`Ez]UO[~K^3s] m e" 2 18'kKSZɮyzZ`Ez]UO[~K^3s ]0m e" 2 28'kKSZɮyzZ`Ez]UO[~K^3s e" 2 0F3lL}p'a e" 0 ՒЧ@+e:ܥ.Z`Ez]UO1釥GP>a=M e" 0 qe Md{Z`Ez]UO1釥GP>am} e" 0 DBJfbkZ`Ez]UO1釥GP>a e" 0 hmuHr\lZ`Ez]UO1釥GP>a e" 0 DӲ@:wZ`Ez]UO B>I0P e" %ߠF5^Z`Ez]UO B>I0-P= e" %c:0\3A2ϱZ`Ez]UO B>I0]Pm e" %brh<$`FfۂZ`Ez]UO B>I0P e" %&/LCUiձZ`Ez]UO B>I0P e" %7m٧ E_GKZ`Ez]UOOˁ CRih[h e" \id = Node.Value('%THIS_NAME%' + "/layerData0","id"); Node.Value('%THIS_NAME%' + "/selectLayerObjects","layerID") = id; Activity.Run('%THIS_NAME%' + "/selectLayerObjects");selZ`Ez]UOOˁ CRih[ e" `id = Node.Value('%THIS_NAME%' + "/layerData0","id"); Node.Value('%THIS_NAME%' + "/addSelectionToLayer","layerID") = id; Activity.Run('%THIS_NAME%' + "/addSelectionToLayer");addZ`Ez]UOOˁ CRih[h-= e" \id = Node.Value('%THIS_NAME%' + "/layerData1","id"); Node.Value('%THIS_NAME%' + "/selectLayerObjects","layerID") = id; Activity.Run('%THIS_NAME%' + "/selectLayerObjects");selZ`Ez]UOOˁ CRih[-= e" `id = Node.Value('%THIS_NAME%' + "/layerData1","id"); Node.Value('%THIS_NAME%' + "/addSelectionToLayer","layerID") = id; Activity.Run('%THIS_NAME%' + "/addSelectionToLayer");addZ`Ez]UOOˁ CRih[-= e" did = Node.Value('%THIS_NAME%' + "/layerData1","id"); Node.Value('%THIS_NAME%' + "/removeWorkspaceLayer","layerID") = id; Activity.Run('%THIS_NAME%' + "/removeWorkspaceLayer");xZ`Ez]UOOˁ CRih[i]m e" \id = Node.Value('%THIS_NAME%' + "/layerData2","id"); Node.Value('%THIS_NAME%' + "/selectLayerObjects","layerID") = id; Activity.Run('%THIS_NAME%' + "/selectLayerObjects");selZ`Ez]UOOˁ CRih[]m e" `id = Node.Value('%THIS_NAME%' + "/layerData2","id"); Node.Value('%THIS_NAME%' + "/addSelectionToLayer","layerID") = id; Activity.Run('%THIS_NAME%' + "/addSelectionToLayer");addZ`Ez]UOOˁ CRih[]m e" did = Node.Value('%THIS_NAME%' + "/layerData2","id"); Node.Value('%THIS_NAME%' + "/removeWorkspaceLayer","layerID") = id; Activity.Run('%THIS_NAME%' + "/removeWorkspaceLayer");xZ`Ez]UOOˁ CRih[ e" did = Node.Value('%THIS_NAME%' + "/layerData3","id"); Node.Value('%THIS_NAME%' + "/removeWorkspaceLayer","layerID") = id; Activity.Run('%THIS_NAME%' + "/removeWorkspaceLayer");xZ`Ez]UOOˁ CRih[i e" \id = Node.Value('%THIS_NAME%' + "/layerData3","id"); Node.Value('%THIS_NAME%' + "/selectLayerObjects","layerID") = id; Activity.Run('%THIS_NAME%' + "/selectLayerObjects");selZ`Ez]UOOˁ CRih[ e" `id = Node.Value('%THIS_NAME%' + "/layerData3","id"); Node.Value('%THIS_NAME%' + "/addSelectionToLayer","layerID") = id; Activity.Run('%THIS_NAME%' + "/addSelectionToLayer");addZ`Ez]UOOˁ CRih[i e" \id = Node.Value('%THIS_NAME%' + "/layerData4","id"); Node.Value('%THIS_NAME%' + "/selectLayerObjects","layerID") = id; Activity.Run('%THIS_NAME%' + "/selectLayerObjects");selZ`Ez]UOOˁ CRih[ e" did = Node.Value('%THIS_NAME%' + "/layerData4","id"); Node.Value('%THIS_NAME%' + "/removeWorkspaceLayer","layerID") = id; Activity.Run('%THIS_NAME%' + "/removeWorkspaceLayer");xZ`Ez]UOOˁ CRih[ e" `id = Node.Value('%THIS_NAME%' + "/layerData4","id"); Node.Value('%THIS_NAME%' + "/addSelectionToLayer","layerID") = id; Activity.Run('%THIS_NAME%' + "/addSelectionToLayer");addZ`Ez]UO GFʠN=p` e" 1 " wxKL]Z`Ez]UO1釥GP>a`p e" 0 " wxKL]Z`Ez]UO[~K^3s e" 2 0-e\ FveZ`Ez]UO[~K^3s e" 2 1-e\ FveZ`Ez]UO[~K^3s 0 e" 2 2-e\ FveZ`Ez]UO B>I0P e" %kA1~Z`Ez]UOOˁ CRih[h e" \id = Node.Value('%THIS_NAME%' + "/layerData5","id"); Node.Value('%THIS_NAME%' + "/selectLayerObjects","layerID") = id; Activity.Run('%THIS_NAME%' + "/selectLayerObjects");selZ`Ez]UOOˁ CRih[ e" `id = Node.Value('%THIS_NAME%' + "/layerData5","id"); Node.Value('%THIS_NAME%' + "/addSelectionToLayer","layerID") = id; Activity.Run('%THIS_NAME%' + "/addSelectionToLayer");addZ`Ez]UOOˁ CRih[ e" did = Node.Value('%THIS_NAME%' + "/layerData5","id"); Node.Value('%THIS_NAME%' + "/removeWorkspaceLayer","layerID") = id; Activity.Run('%THIS_NAME%' + "/removeWorkspaceLayer");xZ`Ez]UO1釥GP>a e" 0 HaF.Z`Ez]UO1釥GP>a e" 0 }!dKymƄvR^I҂{iks1釥GP>a e" 0 eAVLSrIZ`Ez]UO[~K^3s. e" . _WpE1}uFZ`Ez]UO[~K^3s . e" 2 1_WpE1}uFZ`Ez]UO[~K^3s 0. e" 2 2_WpE1}uFZ`Ez]UO B>I0P. e" %I[[MM.ཇZ`Ez]UOOˁ CRih[h. e" \id = Node.Value('%THIS_NAME%' + "/layerData6","id"); Node.Value('%THIS_NAME%' + "/selectLayerObjects","layerID") = id; Activity.Run('%THIS_NAME%' + "/selectLayerObjects");selZ`Ez]UOOˁ CRih[. e" `id = Node.Value('%THIS_NAME%' + "/layerData6","id"); Node.Value('%THIS_NAME%' + "/addSelectionToLayer","layerID") = id; Activity.Run('%THIS_NAME%' + "/addSelectionToLayer");addZ`Ez]UOOˁ CRih[. e" did = Node.Value('%THIS_NAME%' + "/layerData6","id"); Node.Value('%THIS_NAME%' + "/removeWorkspaceLayer","layerID") = id; Activity.Run('%THIS_NAME%' + "/removeWorkspaceLayer");xZ`Ez]UO1釥GP>a.> e" 0  Ǡ(IPIZ`Ez]UO1釥GP>a.> e" 0 ƌ6F$_7ƄvR^I҂{iks1釥GP>a.> e" 0 XLvM {bPZ`Ez]UO[~K^3sN^ e" . zo;=E7/бZ`Ez]UO[~K^3sN ^ e" 2 1zo;=E7/бZ`Ez]UO[~K^3s N0^ e" 2 2zo;=E7/бZ`Ez]UO B>I0NP^ e" %<}t˨C@g#Z`Ez]UOOˁ CRih[hN^ e" \id = Node.Value('%THIS_NAME%' + "/layerData7","id"); Node.Value('%THIS_NAME%' + "/selectLayerObjects","layerID") = id; Activity.Run('%THIS_NAME%' + "/selectLayerObjects");selZ`Ez]UOOˁ CRih[N^ e" `id = Node.Value('%THIS_NAME%' + "/layerData7","id"); Node.Value('%THIS_NAME%' + "/addSelectionToLayer","layerID") = id; Activity.Run('%THIS_NAME%' + "/addSelectionToLayer");addZ`Ez]UOOˁ CRih[N^ e" did = Node.Value('%THIS_NAME%' + "/layerData7","id"); Node.Value('%THIS_NAME%' + "/removeWorkspaceLayer","layerID") = id; Activity.Run('%THIS_NAME%' + "/removeWorkspaceLayer");xZ`Ez]UO1釥GP>a^n e" 0 @\?|O+C5Z`Ez]UO1釥GP>a^n e" 0 >YjFkEtxW/ƄvR^I҂{iks1釥GP>a^n e" 0 :FpEZ`Ez]UOOˁ CRih[Q-h= e" hid = Node.Value('%THIS_NAME%' + "/layerData1","id"); Node.Value('%THIS_NAME%' + "/cycleLayerDisplayMode","layerID") = id; Activity.Run('%THIS_NAME%' + "/cycleLayerDisplayMode");rZ`Ez]UO AϠOsX - e" %Z`Ez]UO AϠOsXM] e" %Z`Ez]UOOˁ CRih[Ph e" hid = Node.Value('%THIS_NAME%' + "/layerData0","id"); Node.Value('%THIS_NAME%' + "/cycleLayerDisplayMode","layerID") = id; Activity.Run('%THIS_NAME%' + "/cycleLayerDisplayMode");rZ`Ez]UOOˁ CRih[P]hm e" hid = Node.Value('%THIS_NAME%' + "/layerData2","id"); Node.Value('%THIS_NAME%' + "/cycleLayerDisplayMode","layerID") = id; Activity.Run('%THIS_NAME%' + "/cycleLayerDisplayMode");rZ`Ez]UO AϠOsX e" %Z`Ez]UO AϠOsX} e" %Z`Ez]UO AϠOsX e" %Z`Ez]UO AϠOsX>N e" %Z`Ez]UO AϠOsX e" %Z`Ez]UOOˁ CRih[Ph e" hid = Node.Value('%THIS_NAME%' + "/layerData3","id"); Node.Value('%THIS_NAME%' + "/cycleLayerDisplayMode","layerID") = id; Activity.Run('%THIS_NAME%' + "/cycleLayerDisplayMode");rZ`Ez]UOOˁ CRih[Qi e" hid = Node.Value('%THIS_NAME%' + "/layerData4","id"); Node.Value('%THIS_NAME%' + "/cycleLayerDisplayMode","layerID") = id; Activity.Run('%THIS_NAME%' + "/cycleLayerDisplayMode");rZ`Ez]UOOˁ CRih[Ph e" hid = Node.Value('%THIS_NAME%' + "/layerData5","id"); Node.Value('%THIS_NAME%' + "/cycleLayerDisplayMode","layerID") = id; Activity.Run('%THIS_NAME%' + "/cycleLayerDisplayMode");rZ`Ez]UOOˁ CRih[Ph. e" hid = Node.Value('%THIS_NAME%' + "/layerData6","id"); Node.Value('%THIS_NAME%' + "/cycleLayerDisplayMode","layerID") = id; Activity.Run('%THIS_NAME%' + "/cycleLayerDisplayMode");rZ`Ez]UOOˁ CRih[PNh^ e" hid = Node.Value('%THIS_NAME%' + "/layerData7","id"); Node.Value('%THIS_NAME%' + "/cycleLayerDisplayMode","layerID") = id; Activity.Run('%THIS_NAME%' + "/cycleLayerDisplayMode");rZ`Ez]UOOˁ CRih[p e" fActivity.Run('%THIS_NAME%' + "/addWorkspaceLayer")add layerZ`Ez]UO GFʠN=h e" 1 O=C{}2Z`Ez]UOͽ>fdN*5Ւhh e" , O=C{}2Z`Ez]UOOˁ CRih[p e" bActivity.Run('%THIS_NAME%' + "/loadDataToFnSet")refreshZ`Ez]UO GFʠN=@ [:This version is workspace only and is limited to 8 layers.Z`Ez]UO}!dKymlayer 5<}t˨C@g#-n,Njlpg[>s>@8x??(XFҦV>g'JNjn*pF/Dk@@X@iD@,D?fMrH5 U*layer 3JYX0FA }{brh<$`Ffۂ-n,NjlpgD0?I?|Y>?" wxKL]@\?|O+C5_WpE1}uFDӲ@:wߠF5^-n,Njlpgq`>4E?w=?zlAvmg):layer 47m٧ E_GK-n,NjlpgP>y? '=?~N7&=Qlayer 2kA1~-n,Njlpg/.?_W?f??ޕ :Iߔ1.48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ P NewCommandn function ExploreNode(thePath,layer) { //declare local variables for recusrsive calls var curIndex; var curnumObj; var childPath, MyObj; //System.Trace(thePath); //if render attr and layer matches make visible/invisible if(Node.ConExists(thePath,"Layer index")) if(Node.Value(thePath,"Layer index") == layer) { parent = Node.Owner(thePath);//full path if(sel == "") sel = parent; else sel = sel + ";" + parent; } //get first child curIndex = 0; curnumObj = Node.SubObjectCount(thePath); if(curnumObj > 0) { MyObj = Node.SubObject(thePath,0); childPath = thePath + "/" + MyObj; } //recursion runs here - get the next child while(curnumObj > 0) { ExploreNode(childPath,layer); curIndex = curIndex + 1; if(curIndex < curnumObj) { MyObj = Node.SubObject(thePath, curIndex); childPath = thePath + "/" + MyObj; } else curnumObj = 0; } } // Execute // Called to execute the command function Execute(params) { var layerID = params.ConValue('layerID'); owner = System.ThisOwner(); scene = Space.CurrentScene(); if(Node.Exists("/Status Line")) if(Node.ConExists("/Status Line","Model")) Node.Value("/Status Line","Model") = ""; sel = ""; ExploreNode(scene, layerID); Space.Select(sel); } NScript Object Package/jScript language~൱D#^cintlayerID,c_G띫p4W}@O{(XFҦV>g'JNjn*pnb@@P@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?,c_G띫pz@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ `NewCommand* function ExploreNode(thePath,layer, dispMode) { //declare local variables for recusrsive calls var curIndex; var curnumObj; var childPath, MyObj; //if render attr and layer matches make visible/invisible if(Node.ConExists(thePath,"Layer index")) if(Node.Value(thePath,"Layer index") == layer) { switch (dispMode) { case 0: Node.Value(thePath, "Ignore layer attributes") = false; break; case 1: Node.Value(thePath, "Ignore layer attributes") = true; Node.Value(thePath, "Edges opacity") = 1; Node.Value(thePath, "Surface Opacity") = 1; //copy wire color break; case 2: Node.Value(thePath, "Ignore layer attributes") = true; Node.Value(thePath, "Edges opacity") = 0; Node.Value(thePath, "Surface Opacity") = 0.5; break; case 3: Node.Value(thePath, "Ignore layer attributes") = true; Node.Value(thePath, "Edges opacity") = 1; Node.Value(thePath, "Surface Opacity") = 0.5; break; case 4: Node.Value(thePath, "Ignore layer attributes") = true; Node.Value(thePath, "Edges opacity") = 1; Node.Value(thePath, "Surface Opacity") = 0; break; } } //get first child curIndex = 0; curnumObj = Node.SubObjectCount(thePath); if(curnumObj > 0) { MyObj = Node.SubObject(thePath,0); childPath = thePath + "/" + MyObj; } //recursion runs here - get the next child while(curnumObj > 0) { ExploreNode(childPath,layer, dispMode); curIndex = curIndex + 1; if(curIndex < curnumObj) { MyObj = Node.SubObject(thePath, curIndex); childPath = thePath + "/" + MyObj; } else curnumObj = 0; } } // Execute // Called to execute the command function Execute(params) { var layerID = params.ConValue('layerID'); var displayMode = params.ConValue('displayMode'); //displayMode = 0,1,2,3,4 // no object mode, solid plus wire, transparent, transparent wire, wireframe //displayMode++; //if(displayMode > 4) displayMode = 0; //params.ConValue('displayMode') = displayMode owner = System.ThisOwner(); FnSet = Node.AccessNearFnSet("/jScript Function Set"); dispMode = FnSet.layerDisplayMode[layerID]; dispMode++; if(dispMode > 4) dispMode = 0; FnSet.layerDisplayMode[layerID] = dispMode; //System.Trace(owner + "/layerData" + layerID); Node.Value(owner + "/layerData" + layerID,"displaymode") = dispMode; owner = System.ThisOwner(); scene = Space.CurrentScene(); if(Node.Exists("/Status Line")) if(Node.ConExists("/Status Line","Model")) Node.Value("/Status Line","Model") = ""; ExploreNode(scene, layerID, dispMode); } NScript Object Package/jScript languageBCaCintlayerID,c_G띫pintdisplayMode_#BF&4W}@O{(XFҦV>g'JNjn*pnb@@T@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?_#BF&-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UO,c_G띫pMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ 2NewCommand1 function ExploreSceneId(thePath) { //declare local variables for recusrsive calls var curIndex; var curnumObj; var childPath, MyObj; //if render attr and layer if(Node.ConExists(thePath,"Layer index")) { //System.Trace(thePath); layerI = Node.Value(thePath,"Layer index"); if(layerI > MaxLayer) { MaxLayer = layerI; //System.Trace("new max : " + thePath); } } //get first child curIndex = 0; curnumObj = Node.SubObjectCount(thePath); if(curnumObj > 0) { MyObj = Node.SubObject(thePath,0); childPath = thePath + "/" + MyObj; } //recursion runs here - get the next child while(curnumObj > 0) { ExploreSceneId(childPath); curIndex = curIndex + 1; if(curIndex < curnumObj) { MyObj = Node.SubObject(thePath, curIndex); childPath = thePath + "/" + MyObj; } else curnumObj = 0; } } function ExploreCounts(thePath) { //declare local variables for recusrsive calls var curIndex; var curnumObj; var childPath, MyObj; //if render attr and layer if(Node.ConExists(thePath,"Layer index")) { //System.Trace(thePath); layerI = Node.Value(thePath,"Layer index"); FnSet.layerCount[layerI] = FnSet.layerCount[layerI] + 1; } //get first child curIndex = 0; curnumObj = Node.SubObjectCount(thePath); if(curnumObj > 0) { MyObj = Node.SubObject(thePath,0); childPath = thePath + "/" + MyObj; } //recursion runs here - get the next child while(curnumObj > 0) { ExploreCounts(childPath); curIndex = curIndex + 1; if(curIndex < curnumObj) { MyObj = Node.SubObject(thePath, curIndex); childPath = thePath + "/" + MyObj; } else curnumObj = 0; } } function ExploreSetRender(thePath) { //declare local variables for recusrsive calls var curIndex; var curnumObj; var childPath, MyObj; //if render attr and layer if(Node.ConExists(thePath,"Layer index")) { layerI = Node.Value(thePath,"Layer index"); //get color from ui and set color on object edges color = System.CreateDO('Common Data Package/Color Data'); //color = Node.Value(owner + "/layerData" + layerI, "wirecolor"); color.SetRed( FnSet.layerRed[layerI]); color.SetGreen( FnSet.layerGreen[layerI]); color.SetBlue( FnSet.layerBlue[layerI]); Node.Value(thePath,"Edges Color") = color; //display mode //set visible,lock,invisible if(FnSet.layerStatus[layerI] == 0) Node.Value(thePath,"Invisible") = 0;//visible if(FnSet.layerStatus[layerI] == 1) Node.Value(thePath,"Invisible") = 0;//locked if(FnSet.layerStatus[layerI] == 2) Node.Value(thePath,"Invisible") = -1;//invisible //set display mode switch (FnSet.layerDisplayMode[layerI]) { case 0: Node.Value(thePath, "Ignore layer attributes") = false; break; case 1: Node.Value(thePath, "Ignore layer attributes") = true; Node.Value(thePath, "Edges opacity") = 1; Node.Value(thePath, "Surface Opacity") = 1; //copy wire color break; case 2: Node.Value(thePath, "Ignore layer attributes") = true; Node.Value(thePath, "Edges opacity") = 0; Node.Value(thePath, "Surface Opacity") = 0.5; break; case 3: Node.Value(thePath, "Ignore layer attributes") = true; Node.Value(thePath, "Edges opacity") = 1; Node.Value(thePath, "Surface Opacity") = 0.5; break; case 4: Node.Value(thePath, "Ignore layer attributes") = true; Node.Value(thePath, "Edges opacity") = 1; Node.Value(thePath, "Surface Opacity") = 0; break; } } //get first child curIndex = 0; curnumObj = Node.SubObjectCount(thePath); if(curnumObj > 0) { MyObj = Node.SubObject(thePath,0); childPath = thePath + "/" + MyObj; } //recursion runs here - get the next child while(curnumObj > 0) { ExploreSetRender(childPath); curIndex = curIndex + 1; if(curIndex < curnumObj) { MyObj = Node.SubObject(thePath, curIndex); childPath = thePath + "/" + MyObj; } else curnumObj = 0; } } // Execute // Called to execute the command function Execute(params) { var firstLayer = params.ConValue('firstLayer'); owner = System.ThisOwner(); scene = Space.CurrentScene(); //FnSet = Node.AccessFnSet(owner + "/jScript Function Set"); FnSet = Node.AccessNearFnSet("/jScript Function Set"); color = System.CreateDO("Common Data Package/Color Data"); if(Node.Exists("/Status Line")) if(Node.ConExists("/Status Line","Model")) Node.Value("/Status Line","Model") = ""; //clear out layer text and counts on ui for(i=0;i<8;i++) { Node.Value(owner + "/layerData" + i,"id") = -1; Node.Value(owner + "/layerData" + i,"numObj") = 0; if(i==0) Node.Value(owner,"name") = "invalid"; else Node.Value(owner,"name, " + i) = "invalid"; } FnSet.ClearLayerInfo(); //get maximum layer id from the scene //MaxLayer = 0; //ExploreSceneId(scene); //if(MaxLayer > 7) MaxLayer = 7; MaxLayer = 7; //System.Alert(MaxLayer); //initialize name, id, num objects in db for(i=0;i<=MaxLayer;i++) { FnSet.layerId[i] = i; FnSet.layerName[i] = "layer " + i; FnSet.layerCount[i] = 0; FnSet.layerRed[i] = Math.random(); FnSet.layerGreen[i] = Math.random(); FnSet.layerBlue[i] = Math.random(); FnSet.layerStatus[i] = 0; FnSet.layerDisplayMode[i] = 0; } ExploreCounts(scene); //update ui for(i=0;i<=MaxLayer;i++) { color.SetRed( FnSet.layerRed[i]); color.SetGreen( FnSet.layerGreen[i]); color.SetBlue( FnSet.layerBlue[i]); //can set id and numObj but not string for name on internal nodes Node.Value(owner + "/layerData" + i,"numObj") = FnSet.layerCount[i]; Node.Value(owner + "/layerData" + i,"id") = FnSet.layerId[i]; if(i==0) { Node.Value(owner,"name") = FnSet.layerName[i]; Node.Value(owner,"wirecolor") = color; } else { Node.Value(owner,"name, " + i) = FnSet.layerName[i]; Node.Value(owner,"wirecolor, " + i) = color; } Node.Value(owner + "/layerData" + i,"displaymode") = FnSet.layerDisplayMode[layerI]; } ExploreSetRender(scene); numValidLines = 8; if(firstLayer > numValidLines - 7) firstLayer = numValidLines - 7; UserInterface.OpenToolPanelViewEx2("" , "" ,owner, 3,1,0); } NScript Object Package/jScript language~൱Dd!#^cintfirstLayer" wxKL]" wxKL]4W}@O{(XFҦV>g'JNjn*pn?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@HojJ)MR |*jScript Function SetceZU@䑧r$4W}@O{$(XFҦV"-1OSM n"ceZU@䑧r[җJs@ \ NewFunctionSet // This is a jScript Function Set // Put usefull functions, constants, enumerators here and share them across your project // Use Node.AccessFnSet / Node.AccessNearFnSet to get access here from your script commands // Hint: do not use commands like System.ThisOwner, System.ThisName or Node.NearValue here, as they reffer to caller's command location layerName = new Array(); layerId = new Array(); layerCount = new Array(); layerRed = new Array(); layerGreen = new Array(); layerBlue = new Array(); layerStatus = new Array(); layerDisplayMode = new Array(); function ClearLayerInfo() { num = layerName.length; if(num > 0) for(i=0;i<num;i++) layerName.pop(); num = layerId.length; if(num > 0) for(i=0;i<num;i++) layerId.pop(); num = layerCount.length; if(num > 0) for(i=0;i<num;i++) layerCount.pop(); num = layerRed.length; if(num > 0) for(i=0;i<num;i++) { layerRed.pop(); layerGreen.pop(); layerBlue.pop(); } num = layerStatus.length; if(num > 0) for(i=0;i<num;i++) layerStatus.pop(); num = layerDisplayMode.length; if(num > 0) for(i=0;i<num;i++) layerDisplayMode.pop(); } function PopLastLayer() { layerName.pop(); layerId.pop(); layerCount.pop(); layerRed.pop(); layerGreen.pop(); layerBlue.pop(); layerStatus.pop(); layerDisplayMode.pop(); } NScript Object Package/jScript languageȽL (XFҦV>g'JNjn*pFCDX@>@?-1OSM n 럆L<_ї0 5@(l Watch Dog Event 2|=Bynj@?`8ffNzw̮8ffNzw̮Change detect.Change detection inputz@Hox4W}@O{%J@#QL(XFҦVLE2Data, 1#-1OSM n" asvHhTG asvHhTG$NodeIconNodeIcon eSBgc$2|=Bynj4W}@O{(XFҦV>g'JNjn*pFC`@H@? asvHhTGeSBgc|< 浭I+I,\;|<<x}XT9`1~ޘx{[b7j{oXb/REAT@AP`TD{y˙s55<9032]]e3g-HH4k W޾ ?oߊ^}[:t~[b͘ '7/d7hQ hGQ+$&rL2 Q'P`FƢmTs<S_^⊊t7P|WJMɨunF&w5w,l7ݏ#Q5> Q@2m9On#gh4W JZ$5T"*I5(URUJPt{¿,Pv/?Id"ʅ@PtQ+0z"-0e t6ч#WPh?9`޼aIxVD֭u0~YA`2͛wt9' AӁQ{'Svmҍ*95o{B(eʇBٞۃ1 c] dk=)T8 l~h F|^E}Xs#vpj(wD?Fd+;B`klV+Xk6yR٘j:ٌwcr(ߤt(ţ䁳(v6a59k.tۅa x&}4 b} f +og$9$H1ܺ͛;qv\4\83q,a.AX[a,ẍ́F ,wg0f Cߑ!PK.(=g1> EQaOu߆ W|#QE;*m G>W?Z5ń8x8 ^w")8${?Vz7pw3p{t內7A'H/N&Xp4N^Xi ǣ(V _e|Hxo)|wo" 4$d[E65nɫr t9$wIҐ;FheA$ېs97M/<ēkxtq_uS9>ĕGY 6:9[; ߍ_ׅ(ܡ'>\I((ލ)LoL[NPTK6Cm-ԪSp‘OHgzO .=w 疷 s)^Lz>ӕʽ w\](>0= SdЏ(Tr*Pvt Cɽ2 /]bQlj%|0~qٳ"7pg~pN'9Aǐ죧wC<GoN{M{1뫮¯\:{N [I,1a*icBQnޗbêC엮ױ)rP~Uk?լ'#|A0Jr$N {Ǔ?<ݽ/l?sٿW zu@҅'\;C׏O ,voGJ9ٗQ~ ŃDGծjk&1gPTYEs` HF!|@;u  /W>qkw6)w\5xYe6 Cὐx4ڴӭ|M-㖭EC~*y@ ~k7w$3>:l~[ؼƢ«q.e3h݉J(5t"ʐ >L),<<Umi<[kɟc/ 'uIu$/Ӌu S>`z2>hXj(b'Qocq_lhyj_F(R>. ͳq܈i8poys{g>yoÖSHOw:Rs:`; [xȫ ^ s(NZFیy(֡Jq~o˔pԹ5#6lޓbYؿ۹ƽZkkvϰߗvqx3~|!{ (g5")>0?Սy‹:q[\m3?3 N̮8dhiPj8Vy΂+&H o剺 @B(o`,cI5<|gr@ ` gk:VRʬ߆'߽YV4 Db*Uu ??|Nz30m^E:CfeA{Ⱦp8a1_Oo5Ɵsݳ^SUNeR|/Nυ>&U>9;LHrxluUbc3ݸszY`}`anՇBTX7m Sٝ/_^,c3˜I$yQRct:ҁl _#d}u,p_̾b1f cWtg7tLZ)Pco4.,xll}к=5dk6ad{n;8ZJ>qk4anui)$'0慯z26N^3k\_(UE)ەPB}f >`F~%E ,r6nXWp3{x3>ʀ7LH.:z%׊izŇ}<~[Xg<<|F6RiF`֡JGX99b@Jj]ѡtyp4l%پX#VOy8{5><)pzl]Or1<>!z@ԃ3@ rs? P>8 ?/Qr&96n[1|ͯ1!$KrZ8~J{Q#r뀎sz`#0^u@ZnW^}.]W Qj5!x{s9`ž0Թ|l-~rYH[Fkgkk,f9 r.u쨴Dz|$0p\~|:0@> }-+estY1} R7RB̏h &X9!;Y/2b`QaGwM&ʄ$# bvD>3+fke7X=:>Z&Lrb>00ϔ|97e8.c,DXf8Xx_^\u}ӝq,دjDAQb@m&O _w S4-zD¡xvS>w/R|5Bh Ov}C\c3tUz,}ygtb.ވDpߣmތozyx,<a,|ݩ%[vA̞q@y 1i){pgu|_E^yHʃe/[$wܕW =5Wt Y~II;Ba>gƹĀ|g aæY3PmJ+ךyK-4R}b_5 w/jZY}7xOMޖX^.ާ]>qh}@?~#1Ыօ_dylLuB5;ߓ7}Ȧ[oZ2ƫ>[lOek>i cGHMr<9:0KybXӅF:`R%H s& &dwyվ@~3"/ OÇ${!`S|]aMקF@[R$ĐPXK> GߨՄi 5~P2(omr<_WF{ *n?j8}lsƱw-zm_#]Ws=⟎ CS#+Uy8+rB;FJ;ɺ0G~IMkċ\'_k4'^CQlaTbr<_K'D韎hգ%\8<^̏y |.s/8]iƳNgqb])1>C]HGAy ,|g{W& O({~7=eb!ʯ؈~ûkdwټlAc8qg~9-?~ Oܑsd_'ھ#/bփ/倯?pj8m 1Pf[P~w,FShI`=~,q3iu?g>15S/}x=#yE5Ȗ:8]7j>@5`1b @ټ!vp:@nu'v'tùc͟ݡ!QSN'q?Y~uх9Oo5.1 !rtVe>,?ܒ%Lp@2n8`@#sfy逻aOy0=;0i,#ipFE{4o  -)!~^Ca6tt{xNsM{7?[mzIZւd_zSSYDx?in;r Qw95xfF"0ؿ^9'x^1h#?ress O [ b%zY\fo?{ ޗ"/ˋ!C[.B,èsP (ۢEALv6=hI.  =doK_էOg c 9#F~93p۳C͂ـ0A٠C|q} d|"];WR7[D/=;%1 z'sݫ~Xb??χ sq'&9iJ( qe1|5 8 ͯej)|ӿ =,p!iM_{Ntt W}9`?/~ zQ_g\yjU? G8BW PtWy}_ Ehu &Wa8yd9y|r/X,I:9gu\.H␻'yC3ܸ_h2k*T(|vRttͯnhDE:++eG`\bL:G~f =@la̸/z}]UʄPVtpC_c,~q=A2_g{/- d+oE8xKϒ|={0MG/K&{_b|'vN/f@GwWwksܓ En:aT}# /z:s8y::P<(*l 79V,VC;hp>5NDtf} >_uF>@= }=XwA. K_`< v[W= 7#m =b'~?yl}N{>@̧ kj>!;FoDKl؅»c?fYg E3 ϕ|αUكዧb=>x_@8L8To1G-_ٻ1rco˳A}t/콞(q(ttބF^3T^v=x= uA}]$,ϑz }K,0M"N/pkzg~~}_fPu:ZN†U8$`n?? 87Y.-OY7>WPZyƏh>}̯|b3nNkbFlFQgڙwDjcߔYv +gQ>H\pZ+l\\q8'̫/vov3e !HCiC,Ƚ\9Gq!~=U}epxoRZWK;0 j=A`qqit灲0ݫ$K=y"|Y?6H\Yfgx3>I%{vϰt+ؚNɻt%W~AL^W~ۋjF cU; t<1Yົ[y aP BN;]}:=F߿2sg]p~t>!6?:c!8Cev [8pD W&u #0>^w[ECqtG~Rm"`GWfK?c {/+}G`/~gz@VnݙH|c(+c·hOc[uḆw:(OX߄2 M݇lYu(_x&&P9wQ |z!'@wPtJ! ڲaɍȼgW)yE]uOW2w؀˙v3l4GQӀW_+w8e9{GR:Mʼn4/ܡi ٝ Q\Jؾo矾 OO2Y|q=c(E>o5-uyw,~&'W(=g(t`IV,20ԑϞP:.An(LKO8̺0j,FۏI7Q]T<1=NǶ#/ӽp֞*׏<|j8=qy̍yXd!U t57PmoQ[vmt\ .wu|ǜ~Z.WlWCny⻰ nwfA ",6f] P(9CZ_hrTAitP=/ԃّghy,1BI<d@ ]v[ P~ ˏ(֪ ?fzt ܏'/xA>p;,c᜴ v$^+<&?G8#5 G̍Hꏸ;zvpNŜ̫B̓Ot1'sÈ%o/פ7>w}>,&Y *Uesg9:`8-(YgL>el@*(PQė㗯Ex8'HGGvocpIمiC!f\[cujZp}z \/!n$"$"WR.fi 9N؟@='YH,ʴ9 ͻeCaό-1oz~=$^E>+v^+9(,2bۡws5+QR:fY3l/zEšj|~,<*{b5< vDV[^x_܋Cr9Wv":#3'$3k!!8B"8 _ú[W0:=raN%)zƁIOy7fͱG+0*pe/EY .>:]m;g{KRP|o(6識2(]h=w3{~- MATT>P<GT#)?d|/W4 B0qz ]?&fGοs8;gyz<+:; fSQ2mP~q9>@M{2JZ$@ut80(wAGG(=wW4gZ%cY׬ðj Go􋉀El FcTnELZGUjZɫVbrLf_&,׳އBvDf΅<̹2{~&P:ɇP{ (Ln>ǝ||?WNPUjePw&jP[Mx(ڽA0{",Auhn]ax.HJ:%*nN߂aF>q;'{Gw|9PgxρfSx5 >Pk+$--+p9߄5KdX.7r#03vf`y6M{#n/qg];ioAi:l~8Ԇ JnP-$ͭv=8;Io+=>MbH6OÔGl~꠭b;۩m,M!'R'웏"Gp4EݠTi5Z?1sY /Wlo^cpBxtc)2tAFw[Bn:̅t`à4PFZF&_w][.gև)_^`GbK"sgvʸP(W)+lk*Xߕao'x &}|՛l+ԪmQRsL:.Ŝyr^4J.U.H eqzemgk:*a +ZJ|Qhyץ \xxG=2<_{#ys~{Jy6LSݫP^bl.2:Uۣб ͻ.X: p^߽# {;Gg#L{^*s'_Avx^yFrFC3_+Pr}t3k }y~y,P~|>{o?@ Oٽt$j!ud5o7a/_/ (g:<ݦa uE1Av(S {uDݞk:^'{jdƓ'Q~ǰgu Pj@<+*j f|]Ms|}*qϱ2Jui> {oyn/!P*Ǿ+@f \mO>;^{KgqZ= p ۹+{:,W[ܞVg>a?8^QkuZ#*}Fb"n'Wݒ=L.ݟ|f<o|jP:C^^m;QQ[^%Y]G#;ZZtws}P[~0{^keMo'r{ľhNuڣtz$=lQގ^=|uyg矢xgsU^\O-'jzr'rq<rq|*ImI&YD14Y}^^Qٽ2.gqy~.gaثH& _E~;Pi+L2w6bn m3e'u}+SOu]pWX=c-g\o0c5=ۋnyyW =}Nn&_s\ﱜV,SX꺓Ϗ%^+}]/qxϓ8PoеOQ&]JG1{sSy} y~~T96PȅBU޿{8Z-׬r[Tn#M5:*Rnk]yAð#{9b.mٌu&Zg yS Tnmz`Xo*ibvj<f؟&Y}':b*(lVsNi68prkZ;y-ǂޝ)+ ^^_=>a;K>_bJ;x=W{n ެj|UKw^@XV{xw?{ {{0ݫ=a/빬7&ox^QӡX_j+c'oLeh`,ϟ'汘oV՛kL ,8fu{E=Ǟf3Ay-W=Qj[Ti jyoJ7*%Dg%:[Di(f-FD(xJo@3/8ffNzw̮J@#QL>g'JNjn*pFBB`@P@?-1OSM n 럆L<_їActivity GFʠN=1 }}8ffNzw̮Z`Ez]UO GFʠN= = }} Control Out2|=BynjZ`Ez]UOz@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ 0 NewCommand function ExploreSetColor(thePath) { //declare local variables for recusrsive calls var curIndex; var curnumObj; var childPath, MyObj; //if render attr and layer if(Node.ConExists(thePath,"Layer index")) { layerI = Node.Value(thePath,"Layer index"); //get color from ui and set color on object edges //color = System.CreateDO('Common Data Package/Color Data'); color = Node.Value(owner + "/layerData" + layerI, "wirecolor"); Node.Value(thePath,"Edges Color") = color; FnSet.layerRed[layerI] = color.GetRed(); FnSet.layerGreen[layerI] = color.GetGreen(); FnSet.layerBlue[layerI] = color.GetBlue(); } //get first child curIndex = 0; curnumObj = Node.SubObjectCount(thePath); if(curnumObj > 0) { MyObj = Node.SubObject(thePath,0); childPath = thePath + "/" + MyObj; } //recursion runs here - get the next child while(curnumObj > 0) { ExploreSetColor(childPath); curIndex = curIndex + 1; if(curIndex < curnumObj) { MyObj = Node.SubObject(thePath, curIndex); childPath = thePath + "/" + MyObj; } else curnumObj = 0; } } // Execute // Called to execute the command function Execute(params) { FnSet = Node.AccessNearFnSet("/jScript Function Set") color = System.CreateDO("Common Data Package/Color Data"); // TODO: put your action code here //System.Trace("color change"); scene = Space.CurrentScene(); owner = System.ThisOwner(); ExploreSetColor(scene); } NScript Object Package/jScript language [" 4W}@O{(XFҦV>g'JNjn*pnb@H@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a: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@ NewCommandfunction ExploreCounts(thePath) { //declare local variables for recusrsive calls var curIndex; var curnumObj; var childPath, MyObj; //layerName = new Array(); //layerId = new Array(); //layerCount = new Array(); //if render attr and layer if(Node.ConExists(thePath,"Layer index")) { //System.Trace(thePath); layerI = Node.Value(thePath,"Layer index"); FnSet.layerCount[layerI] = FnSet.layerCount[layerI] + 1; } //get first child curIndex = 0; curnumObj = Node.SubObjectCount(thePath); if(curnumObj > 0) { MyObj = Node.SubObject(thePath,0); childPath = thePath + "/" + MyObj; } //recursion runs here - get the next child while(curnumObj > 0) { ExploreCounts(childPath); curIndex = curIndex + 1; if(curIndex < curnumObj) { MyObj = Node.SubObject(thePath, curIndex); childPath = thePath + "/" + MyObj; } else curnumObj = 0; } } // Execute // Called to execute the command function Execute(params) { var layerID = params.ConValue('layerID'); FnSet = Node.AccessNearFnSet("/jScript Function Set"); color = System.CreateDO("Common Data Package/Color Data"); // TODO: put your action code here if(layerID==-1) return; owner = System.ThisOwner(); scene = Space.CurrentScene(); // clear status line if(Node.Exists("/Status Line")) if(Node.ConExists("/Status Line","Model")) Node.Value("/Status Line","Model") = ""; sel = System.CreateDO('Kernel Package/Selection Node Data'); sel = Node.Selection(); //cnt = sel.GetCount(); cnt = Node.SelectedCount(); if(cnt == 0) return; for(i=0;i<cnt;i++) { //cursel = sel.GetAt(i); cursel = Node.SelectionGetAt(sel,i); System.Trace(cursel); if(Node.IsRenderable(cursel) || Node.IsCamera(cursel) || Node.IsLight(cursel)) { rendatt = cursel + "/Object Render Attributes"; if(!Node.Exists(rendatt)) { //System.Trace("need to add render attribute node"); D3DView.ShowRenderAttribsForObject('',cursel);//add object render attributes node } } Node.Value(rendatt,"Layer index") = layerID ; color = Node.Value(owner + "/layerData" + layerID , "wirecolor"); Node.Value(rendatt,"Edges Color") = color; //also need to do visibility //display mode //set visible,lock,invisible //System.Trace(FnSet.layerStatus[layerID]); if(FnSet.layerStatus[layerID] == 0) { Node.Value(rendatt,"Invisible") = 0;//visible //System.Trace("set visible"); } if(FnSet.layerStatus[layerID] == 1) { Node.Value(rendatt,"Invisible") = 0;//locked //System.Trace("set locked"); } if(FnSet.layerStatus[layerID] == 2) { Node.Value(rendatt,"Invisible") = -1;//invisible //System.Trace("set invisible"); } //set display mode switch (FnSet.layerDisplayMode[layerID]) { case 0: Node.Value(rendatt, "Ignore layer attributes") = false; break; case 1: Node.Value(rendatt, "Ignore layer attributes") = true; Node.Value(rendatt, "Edges opacity") = 1; Node.Value(rendatt, "Surface Opacity") = 1; //copy wire color break; case 2: Node.Value(rendatt, "Ignore layer attributes") = true; Node.Value(rendatt, "Edges opacity") = 0; Node.Value(rendatt, "Surface Opacity") = 0.5; break; case 3: Node.Value(rendatt, "Ignore layer attributes") = true; Node.Value(rendatt, "Edges opacity") = 1; Node.Value(rendatt, "Surface Opacity") = 0.5; break; case 4: Node.Value(rendatt, "Ignore layer attributes") = true; Node.Value(rendatt, "Edges opacity") = 1; Node.Value(rendatt, "Surface Opacity") = 0; break; } } for(j=0;j<FnSet.layerCount.length;j++) { FnSet.layerCount[j] = 0; } ExploreCounts(scene); for(i=0;i<FnSet.layerCount.length;i++) { //can set id and numObj but not string for name on internal nodes Node.Value(owner + "/layerData" + i,"numObj") = FnSet.layerCount[i]; } //D3DView.Refresh(); //D3DView.Rescan(); } NScript Object Package/jScript language~൱D'#^cintlayerID6["EL䀍4W}@O{(XFҦV>g'JNjn*pnAb@@P@2|=Bynj|?z@Hoۙ>?6["EL䀍J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho 5@(l&Watch Dog Event, 1P2|=BynjhX b8ffNzw̮z@HoX4W}@O{%J@#QL(XFҦVLE2Data, 1#-1OSM n" asvHhTG$2|=Bynj4W}@O{(XFҦV>g'JNjn*pF`@O@? asvHhTGeSBgc8 浭I+I,\;|J@#QL>g'JNjn*pFBB`@P@?8ffNzw̮-1OSM n 럆L<_їActivity GFʠN=1 }}8ffNzw̮Z`Ez]UO GFʠN= = }} Control Out2|=BynjZ`Ez]UOz@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommandfunction LockIt(thePath) { //check for existence of locking code if(!Node.Exists("/Scripts/CustomCommands/unSelectable")) return; if(!Node.ConExists("/Scripts/CustomCommands/unSelectable","active")) return; if(Node.Value("/Scripts/CustomCommands/unSelectable","active") == false) return; node = Node.Owner(thePath); //copy selection locking node if does not exist if(!Node.ConExists(node,"UnSelectable")) { newnode = Node.Copy("/Scripts/CustomCommands/unSelectable/selectionLocking",node); Node.ExportConnector(newnode, "UnSelectable", "", 1, 1); } Node.Value(node,"UnSelectable") = true; } function UnLockIt(thePath) { //check for existence of locking code if(!Node.Exists("/Scripts/CustomCommands/unSelectable")) return; if(!Node.ConExists("/Scripts/CustomCommands/unSelectable","active")) return; if(Node.Value("/Scripts/CustomCommands/unSelectable","active") == false) return; node = Node.Owner(thePath); if(Node.ConExists(node,"UnSelectable")) Node.Value(node,"UnSelectable") = false; } function ExploreVisible(thePath) { //declare local variables for recusrsive calls var curIndex; var curnumObj; var childPath, MyObj; //if render attr and layer if(Node.ConExists(thePath,"Layer index")) { layerI = Node.Value(thePath,"Layer index"); //get color from ui and set color on object edges //color = System.CreateDO('Common Data Package/Color Data'); //color = Node.Value(owner + "/layerData" + layerI, "wirecolor"); //Node.Value(thePath,"Edges Color") = color; status = Node.Value(owner + "/layerData" + layerI, "status"); FnSet.layerStatus[layerI] = status; if(status==0) { Node.Value(thePath,"Invisible") = 0;//visible UnLockIt(thePath); } if(status==1) { Node.Value(thePath,"Invisible") = 0;//locked LockIt(thePath); } if(status==2) { Node.Value(thePath,"Invisible") = -1;//invisible UnLockIt(thePath); } } //get first child curIndex = 0; curnumObj = Node.SubObjectCount(thePath); if(curnumObj > 0) { MyObj = Node.SubObject(thePath,0); childPath = thePath + "/" + MyObj; } //recursion runs here - get the next child while(curnumObj > 0) { ExploreVisible(childPath); curIndex = curIndex + 1; if(curIndex < curnumObj) { MyObj = Node.SubObject(thePath, curIndex); childPath = thePath + "/" + MyObj; } else curnumObj = 0; } } // Execute // Called to execute the command function Execute(params) { FnSet = Node.AccessNearFnSet("/jScript Function Set"); //color = System.CreateDO("Common Data Package/Color Data"); // TODO: put your action code here //System.Trace("color change"); scene = Space.CurrentScene(); owner = System.ThisOwner(); ExploreVisible(scene); } NScript Object Package/jScript language8' 4W}@O{(XFҦV>g'JNjn*pn~b@H@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a: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 // Execute // Called to execute the command function Execute(params) { owner = System.ThisOwner(); scene = Space.CurrentScene(); FnSet = Node.AccessNearFnSet("/jScript Function Set") color = System.CreateDO("Common Data Package/Color Data"); if(Node.Exists("/Status Line")) if(Node.ConExists("/Status Line","Model")) Node.Value("/Status Line","Model") = ""; newindex = FnSet.layerId.length; if(newindex > 7) return; FnSet.layerId[newindex] = newindex; FnSet.layerName[newindex] = "layer " + newindex; FnSet.layerCount[newindex] = 0; FnSet.layerRed[newindex] = Math.random(); FnSet.layerGreen[newindex] = Math.random(); FnSet.layerBlue[newindex] = Math.random(); FnSet.layerStatus[newindex] = 0; FnSet.layerDisplayMode[newindex] = 0; Node.Value(owner + "/layerData" + newindex,"numObj") = FnSet.layerCount[newindex]; Node.Value(owner + "/layerData" + newindex,"id") = FnSet.layerId[newindex]; color.SetRed( FnSet.layerRed[newindex]); color.SetGreen( FnSet.layerGreen[newindex]); color.SetBlue( FnSet.layerBlue[newindex]); Node.Value(owner,"wirecolor, " + newindex) = color; Node.Value(owner,"name, " + newindex) = FnSet.layerName[newindex]; } NScript Object Package/jScript language~൱DI#^c4W}@O{(XFҦV>g'JNjn*pn`@@P@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a: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@ \+NewCommandz*function SetRender(thePath, layid) { //set visible,lock,invisible System.Trace(FnSet.layerStatus[layid]); if(FnSet.layerStatus[layid] == 0) { Node.Value(thePath,"Invisible") = 0;//visible //System.Trace("set visible"); } if(FnSet.layerStatus[layid] == 1) { Node.Value(thePath,"Invisible") = 0;//locked //System.Trace("set locked"); } if(FnSet.layerStatus[layid] == 2) { Node.Value(thePath,"Invisible") = -1;//invisible //System.Trace("set invisible"); } //set display mode switch (FnSet.layerDisplayMode[layid]) { case 0: Node.Value(thePath, "Ignore layer attributes") = false; break; case 1: Node.Value(thePath, "Ignore layer attributes") = true; Node.Value(thePath, "Edges opacity") = 1; Node.Value(thePath, "Surface Opacity") = 1; //copy wire color break; case 2: Node.Value(thePath, "Ignore layer attributes") = true; Node.Value(thePath, "Edges opacity") = 0; Node.Value(thePath, "Surface Opacity") = 0.5; break; case 3: Node.Value(thePath, "Ignore layer attributes") = true; Node.Value(thePath, "Edges opacity") = 1; Node.Value(thePath, "Surface Opacity") = 0.5; break; case 4: Node.Value(thePath, "Ignore layer attributes") = true; Node.Value(thePath, "Edges opacity") = 1; Node.Value(thePath, "Surface Opacity") = 0; break; } } function ExploreMoveBase(thePath) { //declare local variables for recusrsive calls var curIndex; var curnumObj; var childPath, MyObj; //layerName = new Array(); //layerId = new Array(); //layerCount = new Array(); //if render attr and layer if(Node.ConExists(thePath,"Layer index")) { //System.Trace(thePath); layerI = Node.Value(thePath,"Layer index"); //FnSet.layerCount[layerI] = FnSet.layerCount[layerI] + 1; if(layerI == oldlayer) { FnSet.layerCount[0] = FnSet.layerCount[0] + 1;//move to base FnSet.layerCount[oldlayer] = FnSet.layerCount[oldlayer] - 1;//move to base Node.Value(thePath,"Layer index") = 0;// move node to base layer SetRender(thePath, 0); } else if(layerI > oldlayer) { FnSet.layerCount[layerI-1] = FnSet.layerCount[layerI-1] + 1;//add to lower layer, subtract from current layer FnSet.layerCount[layerI] = FnSet.layerCount[layerI] - 1; Node.Value(thePath,"Layer index") = layerI-1;//move node to lower layer SetRender(thePath, layerI-1); } } //get first child curIndex = 0; curnumObj = Node.SubObjectCount(thePath); if(curnumObj > 0) { MyObj = Node.SubObject(thePath,0); childPath = thePath + "/" + MyObj; } //recursion runs here - get the next child while(curnumObj > 0) { ExploreMoveBase(childPath); curIndex = curIndex + 1; if(curIndex < curnumObj) { MyObj = Node.SubObject(thePath, curIndex); childPath = thePath + "/" + MyObj; } else curnumObj = 0; } } // Execute // Called to execute the command function Execute(params) { var layerID = params.ConValue('layerID'); FnSet = Node.AccessNearFnSet("/jScript Function Set"); color = System.CreateDO("Common Data Package/Color Data"); scene = Space.CurrentScene(); owner = System.ThisOwner(); // TODO: put your action code here if(layerID < 1) return; //set all layer nodes in scene to layer 0 oldlayer = layerID; ExploreMoveBase(scene); //set all layer nodes with higher to -1 layer relative //copy layer data in fnset up one index value for name and color for(i=layerID;i<FnSet.layerId.length-1;i++) { //FnSet.layerId[i] = i+1; FnSet.layerName[i] = FnSet.layerName[i+1]; //FnSet.layerCount[i] = FnSet.layerCount[i+1]; FnSet.layerRed[i] = FnSet.layerRed[i+1]; FnSet.layerGreen[i] = FnSet.layerGreen[i+1]; FnSet.layerBlue[i] = FnSet.layerBlue[i+1]; FnSet.layerStatus[i] = FnSet.layerStatus[i+1]; FnSet.layerDisplayMode[i] = FnSet.layerDisplayMode[i+1]; } //adjust the fnset node higher id data -1 layer //pop last layer FnSet.PopLastLayer(); //update ui for(i=0;i<FnSet.layerId.length;i++) { color.SetRed( FnSet.layerRed[i]); color.SetGreen( FnSet.layerGreen[i]); color.SetBlue( FnSet.layerBlue[i]); //can set id and numObj but not string for name on internal nodes Node.Value(owner + "/layerData" + i,"numObj") = FnSet.layerCount[i]; Node.Value(owner + "/layerData" + i,"id") = FnSet.layerId[i]; if(i==0) { Node.Value(owner,"name") = FnSet.layerName[i]; Node.Value(owner,"wirecolor") = color; } else { Node.Value(owner,"name, " + i) = FnSet.layerName[i]; Node.Value(owner,"wirecolor, " + i) = color; } //Node.Value(owner + "/layerData" + i,"name") = FnSet.layerName[i]; //Node.Value(owner + "/layerData" + i,"wirecolor") = color; //System.Trace(FnSet.layerName[i]) Node.Value(owner + "/layerData" + i,"status") = FnSet.layerStatus[i] } if(FnSet.layerId.length < 8) { for(i=FnSet.layerId.length;i<8;i++) { Node.Value(owner + "/layerData" + i,"numObj") = 0; Node.Value(owner + "/layerData" + i,"id") = -1; Node.Value(owner,"name, " + i) = "invalid"; color.SetRed(Math.random()); color.SetGreen(Math.random()); color.SetBlue(Math.random()); Node.Value(owner,"wirecolor, " + i) = color; Node.Value(owner + "/layerData" + i,"status") = 0; } } } NScript Object Package/jScript language~൱D@ j#^cintlayerIDyHHcyHHc4W}@O{(XFҦV>g'JNjn*pnCb@@P@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho 5@(l&Watch Dog Event, 2}2|=Bynja8ffNzw̮z@Ho4W}@O{%J@#QL(XFҦVLE2Data, 1#-1OSM n" asvHhTG$2|=Bynj4W}@O{(XFҦV>g'JNjn*pF(X@>@? asvHhTGeSBgc8 浭I+I,\;|8ffNzw̮J@#QL>g'JNjn*pFBB`@P@?-1OSM n 럆L<_їActivity GFʠN=1 }}8ffNzw̮Z`Ez]UO GFʠN= = }} Control Out2|=BynjZ`Ez]UOz@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand// Execute // Called to execute the command function Execute(params) { owner = System.ThisOwner(); scene = Space.CurrentScene(); FnSet = Node.AccessNearFnSet("/jScript Function Set"); //System.Trace("name changed"); if(Node.Exists("/Status Line")) if(Node.ConExists("/Status Line","Model")) Node.Value("/Status Line","Model") = ""; num = FnSet.layerName.length; for(i=0;i<num;i++) { if(i==0) { FnSet.layerName[i] = Node.Value(owner,"name"); } else { FnSet.layerName[i] = Node.Value(owner,"name, " + i); } } } NScript Object Package/jScript language~൱DL! #^c4W}@O{(XFҦV>g'JNjn*pn b@H@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a: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@ nNewCommandx// Execute // Called to execute the command function Execute(params) { var enableLocking = params.ConValue('enableLocking'); // TODO: put your action code here //System.Trace("locking toggled"); if(!Node.Exists("/Scripts/CustomCommands/unSelectable")) return; if(!Node.ConExists("/Scripts/CustomCommands/unSelectable","active")) return; Node.Value("/Scripts/CustomCommands/unSelectable","active") = enableLocking; } NScript Object Package/jScript language~൱D - #^cbooleanenableLocking O=C{}24W}@O{(XFҦV>g'JNjn*pnb@@P@2|=Bynj|?z@Hoۙ>?O=C{}2 J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho 5@(lҲ&Watch Dog Event, 342|=Bynj8ffNzw̮z@Ho?4W}@O{%J@#QL(XFҦVLE2Data, 1#-1OSM n" asvHhTG$2|=Bynj4W}@O{(XFҦV>g'JNjn*pF@X@>@? asvHhTGeSBgc8 浭I+I,\;|J@#QL>g'JNjn*pFBB`@P@?8ffNzw̮-1OSM n 럆L<_їActivity GFʠN=1 }}8ffNzw̮Z`Ez]UO GFʠN= = }} Control Out2|=BynjZ`Ez]UOz@Hoͤ*EgbĬTlayerData0 2AEHM'ceZU@䑧r%H4W}@O{$(XFҦV#.;]kI 忞@"-1OSM n#4IVKۤuPBrnKSoD;mdpD4I&Ip.I*$4=M}WpD4I&I&IՒЧ@+e:ܥ.PB`ߠF5^pD4I&IַcfHFݽltcfHFݽlDdisplaymodeD4I&I rnKSoD;mdlayer 02AEHM'>g'JNjn*pFBC`@0@?ceZU@䑧r[җJs@ NewObject// OnComputeOutputs // Called to compute values of all output connectors function OnComputeOutputs(params) { var name = params.ConValue('name'); var status = params.ConValue('status'); var wirecolor = params.ConValue('wirecolor'); var displaymode = params.ConValue('displaymode'); // TODO: put your computation here // params.ConValue('id') = ... // params.ConValue('numObj') = ... } NScript Object Package/jScript languageintidVKۤustring namernKSoD;mdintstatus*$4=M}WintnumObjՒЧ@+e:ܥ.>Common Data Package/Color Datawirecolor -n,NjlpgߠF5^intdisplaymodecfHFݽlߠF5^4W}@O{(XFҦV>g'JNjn*pFDb@@\@?VKۤu-1OSM n 럆L<_ї0.;]kI 忞@cfHFݽlՒЧ@+e:ܥ.*$4=M}Wͤ*EgbĬlayerData1 2AEHM'ceZU@䑧r%`4W}@O{$(XFҦV#.;]kI 忞@"-1OSM n#/VKۤuPB@ rnKSoD;mdpD/P0 1JYX0FA }{pD/P0P0qe Md{PBc:0\3A2pD/P0 [J{VI>2~tJ{VI>2~DdisplaymodeD/P0 rnKSoD;mdlayer 12AEHM'>g'JNjn*pFBC`@0@?ceZU@䑧r[җJs@ NewObject// OnComputeOutputs // Called to compute values of all output connectors function OnComputeOutputs(params) { var name = params.ConValue('name'); var status = params.ConValue('status'); var wirecolor = params.ConValue('wirecolor'); var displaymode = params.ConValue('displaymode'); // TODO: put your computation here // params.ConValue('id') = ... // params.ConValue('numObj') = ... } NScript Object Package/jScript languageintidVKۤustring namernKSoD;mdintstatusJYX0FA }{intnumObjqe Md{>Common Data Package/Color Datawirecolor -n,Njlpgc:0\3A2intdisplaymodeJ{VI>2~J{VI>2~qe Md{4W}@O{(XFҦV>g'JNjn*pF~b@@\@?VKۤuc:0\3A2JYX0FA }{.;]kI 忞@-1OSM n 럆L<_ї0ͤ*EgbĬllayerData2 2AEHM'ceZU@䑧r%4W}@O{$(XFҦV#.;]kI 忞@"-1OSM n#2IVKۤuPBP01IrnKSoD;mdpD2I(I8*I8'kKSZɮyzpD2I(I(IDBJfbkPB'Ibrh<$`FfۂpD2I(I&I8u%A%&52t8u%A%&52DdisplaymodeD2I(I rnKSoD;mdlayer 22AEHM'>g'JNjn*pFBC`@0@?ceZU@䑧r[җJs@ NewObject// OnComputeOutputs // Called to compute values of all output connectors function OnComputeOutputs(params) { var name = params.ConValue('name'); var status = params.ConValue('status'); var wirecolor = params.ConValue('wirecolor'); var displaymode = params.ConValue('displaymode'); // TODO: put your computation here // params.ConValue('id') = ... // params.ConValue('numObj') = ... } NScript Object Package/jScript languageintidVKۤustring namernKSoD;mdintstatus8'kKSZɮyzintnumObjDBJfbk>Common Data Package/Color Datawirecolor -n,Njlpgbrh<$`Ffۂintdisplaymode8u%A%&524W}@O{DBJfbkbrh<$`Ffۂ(XFҦV>g'JNjn*pFXBb@@\@?VKۤu-1OSM n 럆L<_ї0.;]kI 忞@8u%A%&528'kKSZɮyzͤ*EgbĬKlayerData3 2AEHM'ceZU@䑧r%4W}@O{$(XFҦV#.;]kI 忞@"-1OSM n#pՆVKۤuPBPBrnKSoD;mdpDpՆXF3lL}p'g'JNjn*pFBC`@0@?ceZU@䑧r[җJs@ NewObject// OnComputeOutputs // Called to compute values of all output connectors function OnComputeOutputs(params) { var name = params.ConValue('name'); var status = params.ConValue('status'); var wirecolor = params.ConValue('wirecolor'); var displaymode = params.ConValue('displaymode'); // TODO: put your computation here // params.ConValue('id') = ... // params.ConValue('numObj') = ... } NScript Object Package/jScript languageintidVKۤustring namernKSoD;mdintstatusF3lL}p'<intnumObjhmuHr\l>Common Data Package/Color Datawirecolor -n,Njlpg&/LCUiintdisplaymodeQ:/I@F7\Q:/I@F7\4W}@O{F3lL}p'<(XFҦV>g'JNjn*pF:Cb@@\@?VKۤu&/LCUi.;]kI 忞@-1OSM n 럆L<_ї0ͤ*EgbĬlayerData4 2AEHM'ceZU@䑧r%4W}@O{$(XFҦV#.;]kI 忞@"-1OSM n#VKۤuPBrnKSoD;mdpD`نh *6ά@cj~pD`ن`نDӲ@:wPBpX,I7m٧ E_GKpD`نv.cDVGtv.cDVGDdisplaymodeD`ن rnKSoD;mdlayer 42AEHM'>g'JNjn*pFBC`@0@?v.cDVGceZU@䑧r[җJs@ NewObject// OnComputeOutputs // Called to compute values of all output connectors function OnComputeOutputs(params) { var name = params.ConValue('name'); var status = params.ConValue('status'); var wirecolor = params.ConValue('wirecolor'); var displaymode = params.ConValue('displaymode'); // TODO: put your computation here // params.ConValue('id') = ... // params.ConValue('numObj') = ... } NScript Object Package/jScript languageintidVKۤustring namernKSoD;mdintstatush *6ά@cj~intnumObjDӲ@:w>Common Data Package/Color Datawirecolor -n,Njlpg7m٧ E_GKintdisplaymodev.cDVG4W}@O{(XFҦV>g'JNjn*pFMCb@@\@?VKۤuDӲ@:w7m٧ E_GKh *6ά@cj~-1OSM n 럆L<_ї0.;]kI 忞@ͤ*EgbĬ5layerData5 2AEHM'ceZU@䑧r%P4W}@O{$(XFҦV#.;]kI 忞@"-1OSM n#)VKۤuPBp^H*rnKSoD;mdpD)-e\ FvepD)DӲ@:wPBNH.7m٧ E_GKpD).R)Ei,;5tR)Ei,;5DdisplaymodeD) -e\ FvernKSoD;mdlayer 52AEHM'>g'JNjn*pFBC`@0@?ceZU@䑧r[җJs@ NewObject// OnComputeOutputs // Called to compute values of all output connectors function OnComputeOutputs(params) { var name = params.ConValue('name'); var status = params.ConValue('status'); var wirecolor = params.ConValue('wirecolor'); var displaymode = params.ConValue('displaymode'); // TODO: put your computation here // params.ConValue('id') = ... // params.ConValue('numObj') = ... } NScript Object Package/jScript languageintidVKۤustring namernKSoD;mdintstatus-e\ FveintnumObjDӲ@:w>Common Data Package/Color Datawirecolor -n,Njlpg7m٧ E_GKintdisplaymodeR)Ei,;54W}@O{(XFҦV>g'JNjn*pFCb@@\@?VKۤuR)Ei,;5DӲ@:w7m٧ E_GK.;]kI 忞@-1OSM n 럆L<_ї0ͤ*EgbĬlayerData6 2AEHM'ceZU@䑧r%H4W}@O{$(XFҦV#.;]kI 忞@"-1OSM n#ĕVKۤuPB$5rnKSoD;mdpDĕA5_WpE1}uFpDĕAADӲ@:wPB/@A7m٧ E_GKpDĕAS0@ַCt0@ַCDdisplaymodeDĕA rnKSoD;mdlayer 62AEHM'>g'JNjn*pFBC`@0@?ceZU@䑧r[җJs@ NewObject// OnComputeOutputs // Called to compute values of all output connectors function OnComputeOutputs(params) { var name = params.ConValue('name'); var status = params.ConValue('status'); var wirecolor = params.ConValue('wirecolor'); var displaymode = params.ConValue('displaymode'); // TODO: put your computation here // params.ConValue('id') = ... // params.ConValue('numObj') = ... } NScript Object Package/jScript languageintidVKۤustring namernKSoD;mdintstatus_WpE1}uFintnumObjDӲ@:w>Common Data Package/Color Datawirecolor -n,Njlpg7m٧ E_GKintdisplaymode0@ַC4W}@O{(XFҦV>g'JNjn*pFCb@@\@?VKۤuDӲ@:w0@ַC7m٧ E_GK_WpE1}uF-1OSM n 럆L<_ї0.;]kI 忞@ͤ*EgbĬlayerData7 2AEHM'ceZU@䑧r%o4W}@O{$(XFҦV#.;]kI 忞@"-1OSM n#HVKۤuPBHh8rnKSoD;mdpDHk8zo;=E7/pDHkkDӲ@:wPB(8l7m٧ E_GKpDHk ]eI 'i7Kt]eI 'i7KDdisplaymodeDHk rnKSoD;mdlayer 72AEHM'>g'JNjn*pFBC`@0@?ceZU@䑧r[җJs@ NewObject// OnComputeOutputs // Called to compute values of all output connectors function OnComputeOutputs(params) { var name = params.ConValue('name'); var status = params.ConValue('status'); var wirecolor = params.ConValue('wirecolor'); var displaymode = params.ConValue('displaymode'); // TODO: put your computation here // params.ConValue('id') = ... // params.ConValue('numObj') = ... } NScript Object Package/jScript languageintidVKۤustring namernKSoD;mdintstatuszo;=E7/intnumObjDӲ@:w>Common Data Package/Color Datawirecolor -n,Njlpg7m٧ E_GKintdisplaymode]eI 'i7Kzo;=E7/4W}@O{(XFҦV>g'JNjn*pF@Db@@\@?VKۤuDӲ@:w7m٧ E_GK]eI 'i7K.;]kI 忞@-1OSM n 럆L<_ї048@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommandfunction ExploreCounts(thePath) { //declare local variables for recusrsive calls var curIndex; var curnumObj; var childPath, MyObj; //if render attr and layer if(Node.ConExists(thePath,"Layer index")) { layerI = Node.Value(thePath,"Layer index"); FnSet.layerCount[layerI] = FnSet.layerCount[layerI] + 1; } //get first child curIndex = 0; curnumObj = Node.SubObjectCount(thePath); if(curnumObj > 0) { MyObj = Node.SubObject(thePath,0); childPath = thePath + "/" + MyObj; } //recursion runs here - get the next child while(curnumObj > 0) { ExploreCounts(childPath); curIndex = curIndex + 1; if(curIndex < curnumObj) { MyObj = Node.SubObject(thePath, curIndex); childPath = thePath + "/" + MyObj; } else curnumObj = 0; } } // Execute // Called to execute the command function Execute(params) { // load data from layer nodes to the fnset data //need to run when load a scene to reinitialize the data owner = System.ThisOwner(); scene = Space.CurrentScene(); //FnSet = Node.AccessFnSet(owner + "/jScript Function Set"); FnSet = Node.AccessNearFnSet("/jScript Function Set"); color = System.CreateDO("Common Data Package/Color Data"); if(Node.Exists("/Status Line")) if(Node.ConExists("/Status Line","Model")) Node.Value("/Status Line","Model") = ""; FnSet.ClearLayerInfo(); for(i=0;i<8;i++) { if(FnSet.layerId[i] != -1) { FnSet.layerId[i] = Node.Value(owner + "/layerData" + i,"id"); FnSet.layerName[i] = Node.Value(owner + "/layerData" + i,"name"); FnSet.layerCount[i] = 0; color = Node.Value(owner + "/layerData" + i,"wirecolor"); FnSet.layerRed[i] = color.GetRed(); FnSet.layerGreen[i] = color.GetGreen(); FnSet.layerBlue[i] = color.GetBlue(); FnSet.layerStatus[i] = Node.Value(owner + "/layerData" + i,"status"); FnSet.layerDisplayMode[i] = Node.Value(owner + "/layerData" + i,"displaymode"); } } //now get counts from the scene ExploreCounts(scene); } NScript Object Package/jScript languaget> 4W}@O{(XFҦV>g'JNjn*pn`@@P@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a: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.// Execute // Called to execute the command function Execute(params) { owner = System.ThisOwner(); scene = Space.CurrentScene(); if(!Node.Exists(scene + "/workspaceLayers2")) { Node.Copy(owner + "/workspaceLayers2", scene); Activity.Run(scene + "/workspaceLayers2/initializePanel"); } else UserInterface.OpenToolPanelViewEx2("" , "" ,scene + "/workspaceLayers2", 3,1,0) } NScript Object Package/jScript language4W}@O{(XFҦV>g'JNjn*pnCB`@@P@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Hou8DMhbEd޹OwnerNameͷ6Vg'JNjn*pFBb@@@?48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand Toggle = 0 function Execute(params) { Toggle = 1 - Toggle; if ((Toggle == 1)) { var PanelName = params.ConValue('PanelName') //Node.Value(System.ThisOwner() + "/U3DAPanelFrame", "RootNode") = PanelName //Node.Value(System.ThisOwner() + "/U3DAPanelFrame/Panel Node", "PanelEditorNode") = PanelName //Node.Delete("/Project/Windows Manager Space/U3DAPanelFrame") //Node.Copy(System.ThisOwner() + "/U3DAPanelFrame", "/Project/Windows Manager Space") //WindowsManager.Activate() //WindowsManager.UpdateWindowsStructure() //UserInterface.OpenToolPanelViewEx2("" , "" ,"/Scripts/CustomCommands/fbxgroup", 3, 1, 0); Activity.Run(System.ThisOwner() + "/doIt"); } params.ConValue("Toggle") = Toggle }NScript Object Package/jScript languageAZzstringPanelNamen|\mJD~intToggle'$@DYB 'n|\mJD~h/Project/Space 3D/Workspace Layers 2 auto-installer4W}@O{(XFҦV>g'JNjn*pndBb@@T@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_ї< GFʠN=PXd1 }}z@HoZ`Ez]UO1釥GP>aPXd0 }}z@HoZ`Ez]UO GFʠN=F Xd1 }}n|\mJD~Z`Ez]UO1釥GP>aF Xd0 }}n|\mJD~Z`Ez]UO GFʠN= P0Xd1 }}2|=BynjZ`Ez]UO1釥GP>aP 0Xd0 }}2|=BynjZ`Ez]UO GFʠN=0P@Xd1 }}'$@DYB 'Z`Ez]UO1釥GP>aP0@Xd0 }}'$@DYB 'Z`Ez]UO'$@DYB 'MT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho}O΍tʹTimer Event X[2|=BynjX҆TK?JFܟ5TK?JFܟ5ActiveActive flag uW}Mzq>uW}Mzq>Period&Timer period in msE;c_J8@E;c_J8@ FrameTime frame:.J NT):.J NT) Time$Time of the framez@Ho 4W}@O{$(XFҦV"-1OSM n"-ɭNaė?-ɭNaė?SessionId>Shared Space session Client ID v MFfw v MFfw NamebName of the participant that controls this timer[ʖ:LU77[ʖ:LU77$Privileges&Network privileges$ asvHhTG$ 2|=Bynj-ɭNaė?:.J NT)tvJ@(XFҦV>g'JNjn*pFCc@ a@?uW}Mzq> asvHhTGeSBgcd 浭I+I,\;|gsdxX6n vX  *HJww#- ݭbwΨtse=F~s6q'YZmmm{Ů]{0slL>3f&.> W޽`dl_ p^i)So߾ӧO>|x_̄8=~՚|mk쇍{?6gghӄfN0`; #F AddlWptro+%VcԘnC`QX+- c x7*R͞~O}}u7$?`XnuuX:AVVBBB>o`݇pX`}؀!}1p>tD6xX|DCO6A{W.'#Mܻb|җ0G6`*$Fİ1fƎC D6b`|<|FF`P %a@f3ۃH"&>8#O6;;go¨Qzr7<# 8DF`Q/>ä˜2WbC|dϟٓ B?4mfC#kO4%e_SS|7#&X?U0.,6 ӈOMI_1sWa9^R Pr>Ka"1L'ߘ:|f !L% PLs FP^0rt }?q|[Mo }q?\lHLi!J}AL{,a3nLi'S&ƌiC1cH_> Kg`զE*5+ !$gaJQI6whL>S@ Oq@9k FQ}0bŊEٻ@ZFÆ sZޗ| cɣ0IC1}`L(a+Bu٤Q}!L5a,գ~|1 #`@0e0,X1bتUV`b,ZGAbf-Ys1s8OI@e z- Xcb 1`LaYXb8^b oX??ӦBq;e,f&̇c1b}ڸA&<SɦcEք!:'eAߏ`sY>Yx2$` خ r;%~b^7KO%b?w2͚;bӆSN(qI0qPL=^&ݯ{TUI_}1?hpL yFcX4k,Mu4?S)D)ާP܉S,' c*]EgS(&EFxI68t]1Uh8=^x0/-Co TubH˯Z酐ıt$,X(1´#0v8GHb0((l4֯]j%ד&ü p53R #?&>9#A~E~1ڟB_z=#`b.(Ci$dBzHիgb  &` !F\aXM@*Bu2%eÇsCs~ ł!L뉓^4NJ99+zJbعK2뮤 }f+a-`# s=iXKF5,Hg6ŅXh Ҏ}34!?F6}6/3UYc:f2!T'`aHZ7w$%!Oΰ^ Kݵp0:Xƚ`)4\K@fGfg(d|z mg, 2!& #CM4+fbA:>mP%E NzV+E|͛93cL"0lQ฼302(l&7|(9 űa(dBjba(KCCe h Lfú`u` ,VZg \Me1(MAyjr\/4yu>rFQ5 w e29xY*x3vH`1Ls`_gB6QRT! 5NUƦMK +7,HIJ)X<R3mfTҩ⣡+McE^-+M q&dD!NJkšJ 2P *3aw,JW VZ/ {}٩ S F(Ow@C4e6h#=QhO:uy8^U8Ӎ!8^ZzLv=\[W,O p!FΟ3w 67s TByb5ӱb9E1wh,3 fe3iƦ':z?rplX KqdK~.$EtqPk COu7bċũ(ϲEK7 ݐC3h.w绡6B"V <9=RWBJ>NbS8*=d_=% QC0`h0g $#lmCmػO{Au*lYE f8V/!Hrs{Qq.Go^ ʫ.P}v'S]cҔ46υʼn뭁jܻ_H? %[ 6TEJQA*ύ[ @ aYS剔x#I!hGqUDkytnF'qV{/U g8Y|Lc$YkCg)X|S7Ǡj*6NcVDy<骩WR/!WK9[Yf!lMTDϜrѪ VlWX-8VXx‰j2^C AA .Fz2|\h҈!}y=>c!)7atӆ [m `p|@U;$,P.5H/57L.4ۨi` B v·龕p1Ͱ!f ɡT׉6ćH%R,h(uDgS_M<~qIH6'JV[p%U±¿'VFpRu5{/6ESS'/RK.Zz Wqd2LXvH $+WO>J#/=pk㝤m6%u%|ƆuX'!{~p\]۴IY0w?Ee0/'#%E*ŰZ wsy} 2<IV-"D1S0\lGē&=UJ\_Jv_O ND^=a@=~<u [_'Y>m5؟F!FĺES?\i##q5 Ɛ?е%J[qL;b7r~|`ؾC>HG!:ka/h;LHW](.$Cq6́2K+{2g`_v)`6blua+W4!Zq9K\Ev&4wS] sUT+=ԍ q䦺`h*G~-׊cpފ2ӐzI˷S?A~g<<0\jKEqX.(Mh,.Uk͓)ԐۧrbO?} D|`.iBS(MF|;#CnE;R=4Ғ]k)8HACcbsfsfM>ElawM[D| EQ;::³2׍ {Dw ,{ȯ oW TP=/u7sKUFR1r;zR}ɣ8|(S>I1w;UE ;\3ފq}x=8^n'*:('XH1`10>HC!K=y퇏^-ۨl6-RP!"'; >8ν}k{|Rp#7;Rp~w:b?7!WNYS8~(6_ #1xjM<=/8!>؜¼u|X֮PSZKSe>({̛# +-t؇k` MI[+Ff 9Dޙԇڅb LȠ\LeY8+T. 2E wL띬z)8M(Nܞ]}\&nj<3Y9sng=#RE+m Q$„pg Éi]S sHaֈ4C>w: g3pT['RF>b#0Sl8&]JBQW o⚮ȊsBZ- OKUX(BG] V?L N=5]5 n q^:8UV6:Eh* W3eZD☭U%;p _1ތ`]g:#5y<'ϩ/mݺd j3mUqPc fsOnG*qAnb6^*"+x|!By%FWo |V,AaKd.? ޤ}<#H7A'⫦: zūkCև54({b?aHդnFS}\Kyn&[:^j;a~*c{Ag<<K9@n>gsq8ֶU8W` ̜*cL2vhjHAKu"@jez \5^vjp4Fu@ 7`禥03237mS}EےPa3m7QA9V#1T](t\9~1}NeVFY[aS?Jzgs~p?4 P8 х,v<}tH!QJB#Z3g<ε%}B.i 'Q&cP?M:j*ښq5|3q6ehGf-"|GCؿs5-M?V*4; V맋eq%/eo"uE:?^jw +en-` *sIgi"9s}4xu=Vs?x w>cvX4.6׎'r{/;GO ;똎:|?O.G2 E&Xk+8{%J>r@:Z)]nO cb2đ}q`zWGR\9NGk2.6&di*S!ă4*lg ~ؗDz>ճqyHGAyYx9(#4x}Ή1"-E ᬶ}>չ㻡 5re|GMeWթoƞ9泜?5^AzM~Xg30}z%O7jz>I?PM8)i즆T۫})O +ۖR ց|N"K$O粙=tQ|ݾ>S=^7ܢplm1sBkz|J?P&:nvq-/]o㛻xuO.tTFFf9 |+gGcCjv$21?.xzv%[xȮ,U os{u_|~辗7_w$!>Q1j8VCp?|~q;p" nH'nHSLDM}]oۛ3c?QPS/_c?\K1Md &.egs}v2Eÿťb@ERB, g Zhptt{{nj+ӭH5tcn@l:¼Tc#} =kãBtFi MF;ag~f3㡠ڨt/.hFv;(#Uru rGyX$؟k\gJ:Ͻ3=8o 8_:s~|C 53OxE bY{}{$}|/{o7c͸c 7W+_7;Si a0ȮF\'_ܮOy>#{J^ŚXfz!=؊6lwv@RckyF8^kD - rȌ0ƙ0ruس~~I2<) G yq(nU+;gy߳;sٺ>۟U}=G!'@j?_Ͻu8Nk̪sڬ3^Çhc z|u8OµIXP fΩt8|jߑڽ6os>va '#E8n:oEzM6+傽 \w3Ȱƨ:ΏH"pQuxOxh=;{k ?=ʝji+`aX4}dLs,~|FpS<_sѨLDj%,z9 +﬉d7 5rT~8c+p1H%?BG kf0u]8g}^},g{;ohmN>Pz< j3Z.-9zg*.-ΤyWwa]IuT矑hS8;q/T BX:k,e?=m'ݯ$\7WCu7ì!̙>o}Ɔ])?AZ6F䧘Ot?Ԕzأjhbhb+=lT'Lod|?ȮKA}vlцJ$%b:1 9~5z>Ǒ޽oku-]}~s]Cn' \? X6g<spL!~b_?僟nwp)~u}@_~8;O8[ٳKap _.a}~6qi+P]BݏteSoσV4Vg y: :CĪ$hc`k :#HEʉxyŠ_UqYزfnw!wgygo1W/o5:\iM4+VRz?w:+cnI!-^gw?Ik1'N6x "q*|2j"y+QMR&~3n a!e"-Tٚ@cg hbk}xG+L7 ]^9GLa/Bk4붷T$zkx$twq9U?yxzf3<R | s=Ʊg~6,ٜÜM\|=VQ~ aHߟ$ކ'Wʰr8|4“z'cXHU ~s0~{3{+i7}ki f_xXFNTh\dqz|- Ug-ƭ%ބ^ `sT3^a{B, AQ2M::gzzզ<mkkxZ99GnW}6 b%i6/|}^Ͽ 2u]vwO=(|6qc/l\3KEf0RW|_ |j Wq؍po=65?-4WB>ϲ:UY!_ N;Q#_~[A-rH/ءZHg^Hng;w+ku0Gd7luC( ۣ{> s|b&I'pIVsp)9Y!|ϫ;TX/NN1VGP5d|O6;͙d9+>3Y1?Tl '$$$ sJ+qs,wY~Ѹt,:hzw\;,w.ۄ?[a\H'~'tm8_|}DmNr>/[{:|n9}X_7Ϛx{_/ǏOcuK&c lsmMSќ SLb=0oj~Td0_J%ഃu $nsG߉oI@v9ң yOὢ(e9ËDn5ʳ}Z/~c v0nA <%N01[<^@yX^քeϧVw=Q'FK 8SKMh?{_=(>]o 02z_QxuFz$a{x7Fc3c/G3xoٺ&M3vه472܉N_ibE<ϗ8 ue:tVL:4$4ݙ >Z#qpVEJ=h(~NY?$Bs,.X,_45oY[WZ+iK|>ޅ$j 9 ~L=_ ϵcsp!j}w}P9~xTq`4Q'm(yc4/Z _$2_L0,mu?Mhi%[!_؞nXͧ_O4@l.P(>p6'_Ey (/EFǙoL(\{t4w}gwȧ0ũqˍT_ z?++GI9>i5o،OÛ*~"Q-. +Bf4lX> Q_ ?W+q&n1#`f?#9p4ZOMpP<p?-KPt#dKgء6$qPwvN&}["n@i#p=g3]a=^n>4Đ~^5GAbp󫅂?7^.O]% AqՃx|Jkz)C!FrűQj5߳5BNG8 g;c\.{flP ^֛mz2v.Sό5kPQM=>e&:vvՁU!mJ$?;$ ][}J xI^`}N㳫<]:==o?Fͅ1VҽmTy`| qnfUF'Cqvns"]}ю98YHko`O?F_x1M}xyOf,׏/BPyzwjܪGC7"}{şLYU>8p2,6h#>69/U;(Xs$F!/jB;oy"3M%h.2`S]Nn ?/p+OD<"^8Nͥ{1|_$^=\|Y q Hl ǵ3)8IDg=/7z4p {;Du8~lwW:%7A:*jZ{Ɵ́!LԂ)2 -KzΗ!/5iȬ U`d ~y^ŧm8SH[ψ#, 7?.8 /5;i yXnBKi {gIƟ!vakEwd=d+h) B{gYp{G'T?6ytgKf/SNx|qnߟ]ϡ.KҀfܯGo^RҍŤ !Rҫ&"+%}9_7~c2f ~ 3ZL{w׀:mҖ"FI(w3~j3d1N8|gl|y?q=-=z_} :?{Oou_l\ev{OO//rxҞȏB>xsOw#6VjpTi\ Um aH$M ñ,ɴ:s_>g:ϓ ~γ^|>P#Y? sAkB:} kO3h,{|3_ҹӑ"c/"}臽qt{ >gGº]B+;QM/ 9how[tF6~U+}7}l8emrKi{jBKfp2ݮb؅vfw_@9@B.ʳN{f|E '/Mf_K̥{%RFPpV/aOWv8ӑb IH4k{G Qgϱ<ue \ v#l{Ne!;ӓ;<8YM0빶hoIB{Mh?]1/ )ijE|NRYǪ~(.EEI$\-%Yۜwׯ|Owq% 9 4nx3̬1lذ^|/\-n 2TU0Yŵ~fJ|}/aO>.=* 4 fBY2_؞V \i!司1LY~2Ւlv#j=pjslz^3q|S˩zmo,b@A/(ׁ͎.ٹedGkKwJ=:R]xP~/;}۹9>l. 4Qi!߹y{og ufs™Tz6 gw#}K|7'7ypeMz/[5z=Ia{~|Ҁ{hBe+b\lg}j3s4G@,*AsLVQ_ h^M=("m,weEi<@rڍ`_Cą6LqA4-@?^7:P{9-\<ۻgzO^υa9j><<Ұ{,7K CQz3H7R]πW'ŅR\BCr,gsll0|^_z9³CaƦ*R_};\ L7@mBQ|8͜?p.g~j%'c񜉘2q,gxuD_ y Ltue{n{{ݍ%`oBF>o9H y/Rb_l>w cOXrtw1vI8Dڎqg3U؞ L?!%n9\8Gs=sG#dc۩^܊Ko`{mV { @ L<$ي<4 iG[߶KR\=ou- س+Rмxz=?it F()IBZ?2qGy`%oWw d5} Lu;(XZ9lv7JiMf8^OY>MX{vY>th =(w3!8Y?Я?GopwBP=Uȩ(JbIq("`ۚqloqXg5;?9)OY7 \X¸u5!sxvsOφOl;Zwk˹ßn8[;!G0;x u6<ܟ0B\dz9ooƗ7$too>ş_=Տ7Tc[{R_5? ggg_)VXEr %IKsѨDA+R&;A1-pzA@lo#Фz1=߯T uao˞ M\?96/Wba$5su3-7qaؙq7o/n&p-bGO ݎ,Pψwz6cG{1(%u~!mPGzV0]`3JhR!9\@&.'0WBܶq{@l co7yPrˑVf0|j7*Ր'J!Funlإ>g^\|0j BebR܏ tFanM[>rNɭm^U7G3;9 >\x4/şF.;>l G/_mMuϺtTŠ՛[U::K[PֲQHMElYrgԔa~VXњk纸?lo3]O\VDŞfrs(|۹_ì?UB3G>]q~SLj[?Q>A9lemƇ[P-7 qg}F|EZnoSb'>Bd<,[C1i~xe_o_~ NoC+0i1t) ' 00id77"j9!sFh2)^f_Wݸtrrt͜:!hO\πi9\`Y@uMpbg_-V4mpy3g6>f;ѭ6|<<+_Qևo)gAŁˤCl x1/J@|<ݏ=?|> ~q xr=lCxks-v*D/)X4O|Ϗ ɥXYX.)F@Yꊃ OSuݤ4#G4 Vrs<>\=V;8rU Ӝ>( # {65R(Ղw.*{>?t ~mMP%Ƀ}n|tmvƔHP n<ۅ?MpA$Ԇф|TbmK:^GHG|l| _\އIl_Y>Ltyf0j&|y`X0ħ(DlY#/P/ޝLީ#m8_~o.)6n=Q3@Y2̸ww#bNYyNuzb~G;ppk 6z8g970a"|Js7mكdV 8wԅ"3cc;s=m"Ô`޷ غ"=rCM*JL9/N uHHDrf8b@5`L# S 8# F_VvVlSgF=+Tc?AOg>D&9!&fB%c`{ RAcn^۹FMY2<85!B,@fVǡ qh>8_^هGgcoP]L9х-58k)q_n #ȮEZAҤ̇p>Jy0ٮ6FSM*.!F>QL۳;k39iٵhoۃOS?(Hljށz "w_܏G؀nE~j= A:?n$ℓPB_2mCE vw/0v|= mçw ;69ًჭ8U`IA{q*jrñ S v#@bn DWj@ .*afL'^[3)tν?S-@v2/ʉJ(: Ǧ5y󻹾FFjVẄ́?7Ί|xc'v/ھSm ޾|ؑ;!p%oda%ظv6jӍu.i=xwW3ٷ͙XY4D k7S@.NDdVOPk O#$ŋQYE~Xd{(fݿO9SOt'ur#.ێKT8މtƣI:q*8A>zF93ckBcdGUbxoÅS}(Ϗ|.-)X`<T]p|RO<ǡ8Jqy&.N2y&]\艌`47k/wwG' AHp1}PB)bH>nkHvhjU8J>ub//ՐNq{@osg::NSpb#]Ղ>N9a+zV+g K[M vЀ@ ~sF)rCг,d; Ap]M8{1W7zܑ9kaqasQ!E:PJ K~?6롣B6`am8yqaddBEbA1#]PYuQ(CR%%!M0iۨ.U}UX7[GqZ!g4Jܠ8|rw1vqnP|f{GlƝ[qdξj6V:Ն@2ΎP}wϱ 7U*_}Tb tQo-E]N8*P䉼HWDG8bq1"3-=-^Ya 01dB9[65\<єc V.;pٌ76b ;{ 4:Lq`H97ES}e ҌڲDDS}*ׅ*38@_K6as[{L(4"Sd/%z0A0"d}mL46. 6d!L^~/7)dR 6%]K1&/˓"++kIukGEZK#QL /ٍ;2)vKĈͫŢE044^6+;#(TokH, q1Xd;]Zjp|=(Ay\:Ox'E.ٍ $ `g Y;V4=q.ІH=l{39Sd(]LZ?XZB]hzP, DuFY-XWdR~O'  ~0BQasc\QM6m9sm/4L5\ @hG!vjBf05`n k WV|6ʹac9Vֳ0FdG<-'ƽ>E&& iM!}Q*âa"k jQ ^I H C# 2sy#S7}'Ceӡc >>N#x8S\; ҝZ ߏ#Pz=d'0x >(KEi7J(91,s>Dgc8o3Đѿ!č)d8*{V0{ _B'ӊr9\L(W;:@(Є5#:BzvqyDDׁ|ߞ4Go1B-'@\ CH !5bxYóc$ȌAL\b\x JjHsDg v1P2ztrz5MHڬ/@}L̆ {+]Xۑvg9o ;la%Smkx6L fxpu0b.62G8Bz?Ff8;sa=G yH cNp3DX2.|:tԃiI1'wF:tx=̘> j3A]m4ơ> ZsA?g:4Uau&(G8Ígw~ěђPAq"!&!݂5瞃& &*6BȐ86 ›4n[ɉSwΌ6*l ?xMC}-L9\u5Vdf,ZB`DT8kj/'j/<Ӄ\XiÓAd1TO8M[Ad:3 6=hT~eqC8X ayE֠UUڄLDqѦofwŋ31c2IIX2Cj-׼OېW##q^~=rBτ#R棩sTW+< ww/:qTUU)Y`ffii 5*I v֤1bb- 8ak;BFF.q6֤cdE;c_J8@;TK?JFܟ5 [ʖ:LU77{LF-dEw-1OSM n 럆L<_їDefault GFʠN=|1 }}TK?JFܟ5Z`Ez]UOͽ>fdN*5Ւh|, }}TK?JFܟ5Z`Ez]UO GFʠN=((7 }}PerioduW}Mzq>Z`Ez]UO1釥GP>ap(0 }}uW}Mzq>Z`Ez]UO GFʠN=hx= }} Control Out2|=BynjZ`Ez]UO GFʠN=(H81 }}E;c_J8@Z`Ez]UO1釥GP>aH(80 }}E;c_J8@Z`Ez]UO GFʠN=8HH1 }}:.J NT)Z`Ez]UO1釥GP>aH8H0 }}:.J NT)Z`Ez]UON\q+nN-K^(p(A\VV.@p@uW}Mzq>Z`Ez]UOY@1釥GP>aHHX0 }} v MFfwZ`Ez]UO GFʠN=HHX< }} Control own v MFfwZ`Ez]UOOˁ CRih[XHhNode.Value('%THIS_NAME%', 'SessionId') = Net.GetNodeSessionId('%THIS_NAME%', 0);Take controlZ`Ez]UOOˁ CRih[HXh̓ZNode.Value('%THIS_NAME%', 'SessionId') = '';Leave controlZ`Ez]UO v MFfwz@Hoͤ*EgbĬ Toggle2AEHM'ceZU@䑧r%4W}@O{$(XFҦV#.;]kI 忞@"-1OSM n#mnJeRHdtmnJeRHdDinValueNo descriptionDbbG;DBZTG;DBZBActiveNo description B҆2AEHM'>g'JNjn*pFBC`@0@?ceZU@䑧r[җJs@ .Toggle var OFF = false; var ON = false; function OnComputeOutputs(params) { var inValue = params.ConValue('inValue') if (inValue == 0) {OFF = true} if (inValue == 1) {ON = true} Active = true; if (OFF && ON) {Active = false} params.ConValue('Active') = Active } function OnPostLoad(params) { params.ConValue('Active') = true; } NScript Object Package/jScript languageintinValueNo descriptionmnJeRHdbooleanActiveNo description G;DBZG;DBZ 4W}@O{(XFҦV>g'JNjn*pFmCb@H@?mnJeRHd.;]kI 忞@-1OSM n 럆L<_ї08ʯȥJH|o7 gH]kDwPMn`d8pM*#ͺO2/tfѭ8Lwb"qC[