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"q܂dKu=2ObjectVertexSnapAutoload.;]kI 忞@.;]kI 忞@"SubObject*Encapsulated objects" 8ѷ<@Wv0 ( '* 4W}@O{4W}@O{$ Owner4Owner of the Encapsulator$(XFҦV(XFҦV"LE2Data$LE2 Data for node >g'JNjn*p"-1OSM n-1OSM n"LayoutLayout 럆L<_ї"(XFҦV>g'JNjn*pFDBCi@@P@XB?-1OSM n 럆L<_ї˯Default GFʠN= %/}}January 7 2012Z`Ez]UO}}l$U u8DMhbEީOwnerName6Vg'JNjn*pFCb@@@?48@J g'JNjn*pceZU@䑧rceZU@䑧r$_scriptData*Internal Script data [җJs@ %<4W}@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, 2@Un|\mJD~n|\mJD~DPanelNameD@V'$@DYB ''$@DYB 'BToggleB2|=Bynj2|=Bynj Control OutTransitionOutWz@Hoz@Ho Control InTransitionIn 2|=Bynj2AEHM'>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') Activity.Run(System.ThisOwner() + "/AutoRunMe"); } params.ConValue("Toggle") = Toggle }NScript Object Package/jScript language\stringPanelNamen|\mJD~intToggle'$@DYB 'n|\mJD~V/Project/Space 3D/ObjectVertexSnapAutoload4W}@O{(XFҦV>g'JNjn*pnDb@@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ͤ*EgbĬ|Toggle2AEHM'ceZU@䑧r%@W4W}@O{$(XFҦV#.;]kI 忞@"-1OSM n#mnJeRHdtmnJeRHdDinValueNo descriptionDG;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*pF@DAb@H@?mnJeRHd.;]kI 忞@-1OSM n 럆L<_ї0}O΍3Timer Event E2|=BynjW@͸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@Ho4W}@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 asvHhTG$NodeIconNodeIcon eSBgc$ 2|=Bynj-ɭNaė?:.J NT)V-/N@(XFҦV>g'JNjn*pFcCc@ a@?uW}Mzq> asvHhTGeSBgcd  TO 1BÕrCWsdxX6n 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@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommandJ // Execute // Called to execute the command function Execute(params) { owner = System.ThisOwner(); button1 = "objectVertexSnapButton"; theScript = "objectVertexSnap"; // 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); System.Trace("Object-Vertex snapping installed."); } 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<_ї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=,Ҹ"objectVertexSnap`w.;]kI 忞@" 0x( Zi ji v4W}@O{$(XFҦV"-1OSM n" =NgXKyB=NgXKyBD affectpivotonly T(YNrFN)YNrFN)Daffectselected T tyMU.PA6k4tyMU.PA6k4D respectAxisLock T+ =NgXKyB tyMU.PA6k4 (XFҦV>g'JNjn*pFDk@ o@*C?YNrFN) -1OSM n 럆L<_ї Default Notes GFʠN= @@$nS}}21. select object or vertices of destination objectZ`Ez]UO GFʠN=@`@$nY}}82. select object or vertices of moving object, the startZ`Ez]UO GFʠN=@$nj}}I4. click the snap button to move selection 2. to location of selection 1.Z`Ez]UO GFʠN=@$n!}}Z`Ez]UO GFʠN=@$n}}note: to snap joints do step 2 then do step 1 in shape skeleton mode. Also use default angle spread of 180 degrees when building the skeleton.Z`Ez]UO GFʠN=`@$na}}@3. Exit point edit mode to move object, remain to move vertices.Z`Ez]UO GFʠN=@$n}}}\If you are in PE mode in step 4 then only the selection (vertices, edges, faces) will move.Z`Ez]UO GFʠN=8@$nq}}PUse the shape skeleton tool to select joints and when snapping their locations.Z`Ez]UO GFʠN= @$nS}}20. Recommend ctrl-drag the panel out of the stack.Z`Ez]UO GFʠN=8h@$n}}ruse selected as start - use the current selection as the start, so step 2 not needed, not a good option for jointsZ`Ez]UO GFʠN=h@$nW}}6affect pivot only - move the pivot instead of the meshZ`Ez]UOOˁ CRih[Hh`џ}}VActivity.Run('%THIS_NAME%' + "/getPoint1"):select start object/point(s)Z`Ez]UOOˁ CRih[(H`џ}}VActivity.Run('%THIS_NAME%' + "/getPoint2")Fselect destination object/point(s)Z`Ez]UOOˁ CRih[`џ}}nif(Node.Value('%THIS_NAME%',"affectselected") && !Node.Value('%THIS_NAME%',"affectpivotonly")) Activity.Run('%THIS_NAME%' + "/getPoint1"); Activity.Run('%THIS_NAME%' + "/moveIt");snap itZ`Ez]UO GFʠN=`џ/}}January 7 2012Z`Ez]UO GFʠN=(`џ_}}>Ctrl-Drag this out of the panel view for any PE manipulations.Z`Ez]UO GFʠN=`џB }}affect pivot only=NgXKyBZ`Ez]UOͽ>fdN*5Ւh`џ, }}=NgXKyBZ`Ez]UO GFʠN=h`џF }}use selected as startYNrFN)Z`Ez]UOͽ>fdN*5Ւhh`џ, }}YNrFN)Z`Ez]UO GFʠN=`џE }}respect axis lockingtyMU.PA6k4Z`Ez]UOͽ>fdN*5Ւh`џ, }}tyMU.PA6k4Z`Ez]UO}}}}48@J g'JNjn*pLE2Data, 239ѵDGrylMu@49ѵDGrylMu@4Bpoint2 (F)ݟ{B 2|=Bynjz@Ho 2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ $NewCommandt#// getPoint2 // April 5 2008 // by Clinton Reese // www.clintons3d.com // // get the average position of the selected vertices for the second mesh // note: can be the same mesh as the first object // // August 23 2008 - use object world matrix option // // // November 2010 - unflattened pivots not working with point edit selections, auto convert to vertices and back // // Execute // Called to execute the command function Execute(params) { // //nov 2010 owner = System.ThisOwner(); xval = "not"; yval = "good"; zval = "selection"; if(Node.Exists("Status Line")) { if(Node.ConExists("Status Line","Model")) { Node.Value("Status Line","Model") = ""; } } //end nov 2010 //get selected object sel = Node.FirstSelected(); //System.Trace(sel); selPointsF = false; selMatrixF = false; //matrix selection action //no no return //no yes use selection //yes no use matrix //yes yes use selection if(Node.ConExists(sel,"WldMatrix")) selMatrixF = true; if(Node.ConExists(sel,"Selection")) { selPointsF = true; selMatrixF = false; //nov 2010 if(Node.ConExists(sel,"Pivot")) ScriptObject.Execute(owner + "/flattenAxis"); ScriptObject.Execute(owner + "/selectVertexMode");//runs immediately pausing the calling script ScriptObject.Execute(owner + "/convertSelection"); } //if not in point edit mode and no world matrix found then return if(!selPointsF && !selMatrixF) { System.Alert("Not a valid selection. Must be object or vertices."); return; } //if not in point edit mode return //if(!Node.ConExists(sel,"Selection")) return; theMatrix = System.CreateDO('Math Package/Matrix Float Data'); newPoint = System.CreateDO('Math Package/Point Data'); if(selMatrixF) { theMatrix = System.CreateDO("Math Package/Matrix Float Data"); if(!Node.ConExists(sel,"Pivot")) theMatrix = Node.Value(sel,"WldMatrix"); else theMatrix = Node.Value(sel,"Pivot"); newPoint.x = theMatrix.GetTransX; newPoint.y = theMatrix.GetTransY; newPoint.z = theMatrix.GetTransZ; xval = newPoint.x; yval = newPoint.y; zval = newPoint.z; System.Trace("destination ( " + xval.toFixed(3) + ", " + yval.toFixed(3) + ", " + zval.toFixed(3) + " )"); } else { //get the mesh and read it's selection data - IRdMeshSelection themesh = Node.Value(sel,"Mesh"); seldata = System.CreateDO('Space 3D Package/Selection Data'); seldata = Node.Value(sel,"Selection"); vertcnt = seldata.GetNumSelectedVertices(); if(vertcnt==0) { System.Alert("Vertices are the only valid selection type in PE mode."); return; } dV = System.CreateDO("Space 3D Package/Vertex Stream Data"); dV = themesh.GetVertices(); xval = 0; yval = 0; zval = 0; for(i=0;i<vertcnt;i++) { vertind = seldata.GetSelectedVertexIndex(i); xval = xval + dV.x(vertind); yval = yval + dV.y(vertind); zval = zval + dV.z(vertind); } xval = xval/vertcnt; yval = yval/vertcnt; zval = zval/vertcnt //theMatrix = System.CreateDO('Math Package/Matrix Float Data'); // //nov 2010 // //if(!Node.ConExists(sel,"Pivot")) // theMatrix = Node.Value(sel,"WldMatrix"); //else // theMatrix = Node.Value(sel,"Pivot"); theMatrix = Node.Value(sel,"WldMatrix"); // //end nov 2010 // oldPoint = System.CreateDO('Math Package/Point Data'); //newPoint = System.CreateDO('Math Package/Point Data'); oldPoint.x = xval; oldPoint.y = yval; oldPoint.z = zval; newPoint = theMatrix.TransformPoint(oldPoint); // //nov 2010 // if(Node.ConExists(sel,"Pivot")) { theMatrix = Node.Value(sel+"/Pivot","Matrix"); oldPoint.x = newPoint.x ; oldPoint.y = newPoint.y ; oldPoint.z = newPoint.z ; newPoint = theMatrix.TransformPoint(oldPoint); } ScriptObject.Execute(owner + "/selectionModeRestore"); ScriptObject.Execute(owner + "/convertSelection"); // //end nov 2010 // xval = newPoint.x; yval = newPoint.y; zval = newPoint.z; System.Trace("destination ( " + xval.toFixed(3) + ", " + yval.toFixed(3) + ", " + zval.toFixed(3) + " )"); } //nov 2010 if(Node.Exists("Status Line")) { if(Node.ConExists("Status Line","Model")) { Node.Value("Status Line","Model") = "destination ( " + xval.toFixed(3) + ", " + yval.toFixed(3) + ", " + zval.toFixed(3) + " )"; } } //end nov 2010 params.ConValue("point2") = newPoint; } NScript Object Package/jScript language$!%DSpace 3D Package/Point Array Datapoint2 (F)ݟ{9ѵDGrylMu@44W}@O{(XFҦV>g'JNjn*pn?CBb@@P@2|=Bynj|?z@Hoۙ>?9ѵDGrylMu@4uMF86F`OuH\A5w?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@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ p&NewCommand%// getPoint1 // April 5 2008 // by Clinton Reese // www.clintons3d.com // // get the average position of the selected vertices for the first mesh and save the node name for snapping // August 23 2008 - use object world matrix option // // November 2010 - unflattened pivots not working with point edit selections, auto convert to vertices and back // // Execute // Called to execute the command function Execute(params) { // //nov 2010 owner = System.ThisOwner(); xval = "not"; yval = "good"; zval = "selection"; if(Node.Exists("Status Line")) { if(Node.ConExists("Status Line","Model")) { Node.Value("Status Line","Model") = ""; } } //end nov 2010 //get selected object sel = Node.FirstSelected(); //System.Trace(sel); selPointsF = false; selMatrixF = false; //matrix selection action //no no return //no yes use selection //yes no use matrix //yes yes use selection if(Node.ConExists(sel,"WldMatrix")) selMatrixF = true; if(Node.ConExists(sel,"Selection")) { selPointsF = true; selMatrixF = false; //nov 2010 if(Node.ConExists(sel,"Pivot")) ScriptObject.Execute(owner + "/flattenAxis"); ScriptObject.Execute(owner + "/selectVertexMode");//runs immediately pausing the calling script ScriptObject.Execute(owner + "/convertSelection"); } //if not in point edit mode and no world matrix found then return if(!selPointsF && !selMatrixF) { System.Alert("No a valid selection. Must be object or vertices."); return; } //if not in point edit mode return //if(!Node.ConExists(sel,"Selection")) return; theMatrix = System.CreateDO('Math Package/Matrix Float Data'); newPoint = System.CreateDO('Math Package/Point Data'); if(selMatrixF) { theMatrix = System.CreateDO("Math Package/Matrix Float Data"); if(!Node.ConExists(sel,"Pivot")) theMatrix = Node.Value(sel,"WldMatrix"); else theMatrix = Node.Value(sel,"Pivot"); newPoint.x = theMatrix.GetTransX; newPoint.y = theMatrix.GetTransY; newPoint.z = theMatrix.GetTransZ; xval = newPoint.x; yval = newPoint.y; zval = newPoint.z; System.Trace("start ( " + xval.toFixed(3) + ", " + yval.toFixed(3) + ", " + zval.toFixed(3) + " )"); } else { //get the mesh and read it's selection data - IRdMeshSelection themesh = Node.Value(sel,"Mesh"); seldata = System.CreateDO('Space 3D Package/Selection Data'); seldata = Node.Value(sel,"Selection"); vertcnt = seldata.GetNumSelectedVertices(); if(vertcnt==0) { System.Alert("Vertices are the only valid selection type in PE mode."); return; } //get mesh vertex data dV = System.CreateDO("Space 3D Package/Vertex Stream Data"); dV = themesh.GetVertices(); xval = 0; yval = 0; zval = 0; //read all selected vertex positions in local coordinates for(i=0;i<vertcnt;i++) { vertind = seldata.GetSelectedVertexIndex(i); xval = xval + dV.x(vertind); yval = yval + dV.y(vertind); zval = zval + dV.z(vertind); } //get center of selection xval = xval/vertcnt; yval = yval/vertcnt; zval = zval/vertcnt //transform from local to world coordinates //theMatrix = System.CreateDO('Math Package/Matrix Float Data'); // //nov 2010 // //if(!Node.ConExists(sel,"Pivot")) // theMatrix = Node.Value(sel,"WldMatrix"); //else // theMatrix = Node.Value(sel,"Pivot"); theMatrix = Node.Value(sel,"WldMatrix"); // //end nov 2010 // oldPoint = System.CreateDO('Math Package/Point Data'); //newPoint = System.CreateDO('Math Package/Point Data'); oldPoint.x = xval; oldPoint.y = yval; oldPoint.z = zval; newPoint = theMatrix.TransformPoint(oldPoint); // //nov 2010 // if(Node.ConExists(sel,"Pivot")) { theMatrix = Node.Value(sel+"/Pivot","Matrix"); oldPoint.x = newPoint.x ; oldPoint.y = newPoint.y ; oldPoint.z = newPoint.z ; newPoint = theMatrix.TransformPoint(oldPoint); } ScriptObject.Execute(owner + "/selectionModeRestore");//runs immediately pausing the calling script ScriptObject.Execute(owner + "/convertSelection"); // //end nov 2010 // xval = newPoint.x; yval = newPoint.y; zval = newPoint.z; System.Trace("start ( " + xval.toFixed(3) + ", " + yval.toFixed(3) + ", " + zval.toFixed(3) + " )"); } //nov 2010 if(Node.Exists("Status Line")) { if(Node.ConExists("Status Line","Model")) { Node.Value("Status Line","Model") = "start ( " + xval.toFixed(3) + ", " + yval.toFixed(3) + ", " + zval.toFixed(3) + " )"; } } //end nov 2010 params.ConValue("point1") = newPoint; params.ConValue("theNode") = sel; } NScript Object Package/jScript languagep?$0DSpace 3D Package/Point Array Datapoint1 (F)ݟ{_D=AD!kmstringtheNode಺POJF4W}@O{಺POJF(XFҦV>g'JNjn*pnCb@@T@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?_D=AD!kmuMF86F`O2NlAw?-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@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand// Execute // Called to execute the command function Execute(params) { // save point edit selection mode params.ConValue("PEselectionMode") = Node.Value('/Preferences/Mesh Editor Settings','PE selection mode'); //change to vertex mode Node.Value('/Preferences/Mesh Editor Settings','PE selection mode') = 'vertex'; MeshModifiers.ActivatePointEditWidget('','','Default'); } NScript Object Package/jScript language 8 string PEselectionModeb/pEj F4W}@O{b/pEj F face(XFҦV>g'JNjn*pnNb@@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) { MeshModifiers.ConvertSelection('',''); } NScript Object Package/jScript language94W}@O{(XFҦV>g'JNjn*pnWCb@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) { var PEselectionMode = params.ConValue('PEselectionMode'); //change mode back to original Node.Value('/Preferences/Mesh Editor Settings','PE selection mode') = PEselectionMode; MeshModifiers.ActivatePointEditWidget('','','Default'); } NScript Object Package/jScript language~൱D@ j#^cstring PEselectionMode/6H𗁻 4W}@O{(XFҦV>g'JNjn*pnN\Bb@@P@2|=Bynj|?z@Hoۙ>?/6H𗁻  faceJ@#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@ zNewCommand// Execute // Called to execute the command function Execute(params) { MeshModifiers.FlattenAxes(''); } NScript Object Package/jScript language~൱Dd]o#^c4W}@O{(XFҦV>g'JNjn*pnW`Cb@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ۙ>?=NgXKyB ceZU@䑧r[җJs@ hNewCommandJ// moveIt // April 5 2008 // by Clinton Reese // www.clintons3d.com // // use 2 stored points to move the node defined by "theNode" // // August 23 2008 - use object world matrix option and use widgets move for more flexibility // // September 5 2011 - add affect pivot only option for moving the pivot of an object // // January 7 2012 - respect axis locking option // // Execute // Called to execute the command function Execute(params) { var point1 = params.ConValue('point1'); var point2 = params.ConValue('point2'); var theNode = params.ConValue('theNode'); var affectpivotonly = params.ConValue('affectpivotonly'); var affectselected = params.ConValue('affectselected'); var respectAxisLock = params.ConValue('respectAxisLock'); // TODO: put your action code here //get difference of point1 and point2 //point2 is the destination, point1 is the start dX = point2.x - point1.x; dY = point2.y - point1.y; dZ = point2.z - point1.z; if(respectAxisLock) { if(Node.Value("/Preferences/Snapping","Enable X") == 1) dX = 0; if(Node.Value("/Preferences/Snapping","Enable Y") == 1) dY = 0; if(Node.Value("/Preferences/Snapping","Enable Z") == 1) dZ = 0; } //read mesh matrix and translate based on difference between point1 and point2 //theMatrix = System.CreateDO('Math Package/Matrix Float Data'); //theMatrix = Node.Value(theNode,"WldMatrix"); //theMatrix.Translate(dX,dY,dZ); //Node.Value(theNode,"Matrix") = theMatrix; //for skeleton joints must enter bone edit mode manually before running this script //if(affectselected && !affectpivotonly) //{ // System.Alert("Selected object only works with the Affect Pivot Only option."); // return; //} //if(affectselected) theNode = Node.FirstSelected(); if(theNode=="") { System.Alert("You must select the start object."); return; } if(affectpivotonly && !Node.ConExists(theNode,"Selection") && Node.ConExists(theNode, 'Matrix')) { dX = point2.x ; dY = point2.y ; dZ = point2.z ; if(respectAxisLock) { if(Node.Value("/Preferences/Snapping","Enable X") == 1) dX = 0; if(Node.Value("/Preferences/Snapping","Enable Y") == 1) dY = 0; if(Node.Value("/Preferences/Snapping","Enable Z") == 1) dZ = 0; } RsTool.ShowAxes(theNode); RsTool.NormalizeLocation(theNode + '/Pivot') Widgets.Move(theNode + "/Pivot",dX,dY,dZ); RsTool.ShowAxes(theNode); } else Widgets.Move(theNode,dX,dY,dZ); Node.Select(theNode); Node.Value(System.ThisOwner() + "/getPoint1","theNode") = ""; } NScript Object Package/jScript language~൱D#^cDSpace 3D Package/Point Array Datapoint1 (F)ݟ{B3II%^DSpace 3D Package/Point Array Datapoint2 (F)ݟ{^AnstringtheNodeeTDO;?6boolean affectpivotonly =NgXKyBbooleanaffectselected YNrFN)boolean respectAxisLock tyMU.PA6k4tyMU.PA6k4 4W}@O{(XFҦV>g'JNjn*pn!Db@ b@2|=Bynj|?z@Hoۙ>?YNrFN) J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?eTDO;?6^An-1OSM n 럆L<_їˇDefaultControl Oˁ CRih[ Ca8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0 Ca:Activity.Stop('%THIS_NAME%') StopZ`Ez]UO GFʠN=P1 }}z@HoZ`Ez]UO1釥GP>aP0 }}z@HoZ`Ez]UO GFʠN= 1 }}B3II%^Z`Ez]UO GFʠN= 01 }}^AnZ`Ez]UO GFʠN=0F@1 }}eTDO;?6Z`Ez]UO1釥GP>aH0@@0 }}eTDO;?6Z`Ez]UO GFʠN=@PP1 }}2|=BynjZ`Ez]UO1釥GP>aP@P0 }}2|=BynjZ`Ez]UOB3II%^MT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@HoR/$ķKniaWTR .objectVertexSnapButton'0#ԪC'X/9}'0#ԪC'X/9}$ IndexItem Index]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 忞@"0 4W}@O{$n_<&KES Qn_<&KES Q NameItem nameo(K ]p do(K ]p dHelpTextHelp textQm6l3Ll/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 ko60`0{]_/x{m"tZlDv3 8xx?ch7DMCfL 4B /ow 8FuA}M {5<.1ZCz1Fq:K䋂%xByS c/wx?ﱙg khc(wMD8Q%q؜AR L*6^ :uA\5$s l>=yXʫUWG.[8fKĖ-_5` 5\y&GV y .+]x}aӓ4m2MX[8s3(ߟA'Jr:ֽ;;/9`Ǔ9U!/L{zhd 5trubLR',ֈTp<Ր/PjND @( ]|V)`-[IPjۆ9wuw%H'k̊h3smqHiV5|nJͬůه&I$꽇&YU6sͮژ_=HVO.vF퉞*{HO[lt]^mا5KeW ƌ{YU )9ꊴ,S%ם.+ Uܑ09~_žN}L%Ҧ}cҾΥql;դ䨺,?՘"U5RRJTN^T]Zh81E^<]-g|k>=L]}Σim_VW]WQx4Zrڢ]3{itlʡs2$J|f>9Üs8ǶXW/ӝ :/;({7;W,w9ԥ:Skfo1IT:Þ)M!OpqgDT'=u V$k%epnrX_ I~|UK9 gş:[s4-&#A8q'H*AZ)yǬypa`g1TWov+ϕvgޙr3++E*M/zD9"h&mY~Zy~,J'.)M%gk2"㒬YWl ihBinsoproO_w<=r U<.PK`^=3M@L/6S'48@J 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(); ownerOwner = Node.Owner(owner); if(ownerOwner == "/Scripts/AutoLoadTEMP") Node.Delete(owner); } NScript Object Package/jScript language4W}@O{(XFҦV>g'JNjn*pneDBb@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@Ho`._E#ބ6ܓ CustomFrame(ϐ.;]kI 忞@"4W}@O{$*O΢C}*O΢C} WinIDWindow IDP-pϗO 0)t-pϗO 0)PositionShelf Position mz!OHwcff>-MD'zZt>-MD'zZRectangle"Screen Rectangle THj6F 2s* RÒGbDeC tRÒGbDeC  WidthWindow widthfީ[FB%n*jt[FB%n*jHeightWindow heightf [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*pFjDX@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-, 1Toolbar.;]kI 忞@"4W}@O{$n_<&KES Qo(K ]p d8Cechg8Cechg 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}$_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\ 8ʯȥJH|o7 gH]kDwP`d8pM*#ͺOY2/tfѭ8Lwb"qd